微机原理及应用第三章指令系统Word文档下载推荐.docx
- 文档编号:16159104
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:53
- 大小:52.71KB
微机原理及应用第三章指令系统Word文档下载推荐.docx
《微机原理及应用第三章指令系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理及应用第三章指令系统Word文档下载推荐.docx(53页珍藏版)》请在冰豆网上搜索。
8086CPU的操作码段
一字节操作码
二字节操作码
3:
8086CPU的操作数段
操作数段字节数从0字节到4字节,由寻址方式确定
操作数的存在形式
1):
隐含在操作码段
操作数本身
3):
操作数在寄存器中
4):
操作数在存储器中
C:
指令中的操作数
无操作数,指令中虽未显示给出操作数,但操作数存在
单操作数,指令中仅有源操作数或者目的操作数出现
双操作数,指令中有源操作数,目的操作数出现
二:
8086CPU通用指令格式
计算机中的指令集
复杂指令集——CISC(ComplexInstructionSetComputer)
指令比较复杂,每条指令的字节长度不一致,指令种类多
以Intel公司为代表的CPU,例如8086CPU芯片
精简指令集——RISC(ReducedInstructionSetComputer)
指令比较简单,每条指令的字节长度一致,指令种类少
以IBM公司为代表的CPU,例如POWERPC芯片
2:
8086CPU指令为可变字节机器码,由1~6字节机器码组成
A:
一字节操作码指令格式:
特殊性和规律性
B:
二字节操作码通用指令格式:
由80页图3-1定义
例:
指令助记符机器码字节数操作数存在形式
DAA27H(码)1隐含在操作码中
PUSHAX50H(码)1隐含在操作码中
MOVAL,20HB0H(码),20H(数)2操作数本身
MOVCX,AX8BH,C8H(码)2操作数在寄存器中
MOVAX,3000HB8H(码),00H,30H(数)3操作数本身
ADDAX,[BX+2000H]03H,87H(码),00H,20H(数)4操作数在存储器中
A:
B1字节的定义(基本操作码定义)
b2~b7(OP)2^6=64种基本的操作码头
b1(D)寄存器操作数的位置
注:
D值影响B2中REG的确定
D=0寄存器操作数为源操作数
D=1寄存器操作数为目的操作数
b0(W)操作数的类型
W=0字节操作数,8bit
W=1字操作数,16bit
B2字节的定义(寻址方式定义)
b6~b7(MOD)寻址方式定义
b7,b6=11寄存器寻址方式
b7,b6!
=11存贮器寻址方式
b3~b5(REG)寄存器名编码
b5b4b3
W=0(8位寄存器)
W=1(16位寄存器)
000
AL
AX
001
CL
CX
010
DL
DX
011
BL
BX
100
AH
SP
101
CH
BP
110
DH
SI
111
BH
DI
b0~b2(R/M)寄存器名/存贮器寻址方式编码
寄存器名编码同上
b2b1b0
MOD=00
MOD=01
MOD=10
[BX+SI]
[BX+SI+D8]
[BX+SI+D16]
[BX+DI]
[BX+DI+D8]
[BX+DI+D16]
[BP+SI]
[BP+SI+D8]
[BP+SI+D16]
[BP+DI]
[BP+DI+D8]
[BP+DI+D16]
[SI]
[SI+D8]
[SI+D16]
[DI]
[DI+D8]
[DI+D16]
未用
[BP+D8]
[BP+D16]
111
[BX]
[BX+D8]
[BX+D16]
B3~B6字节的定义(操作数或操作数存放的方式定义)
操作数段的字节数量由操作码功能及操作数位数确定
例:
指令MOVCX,AX的机器码为8BH,C8H,
分析机器码
B1=8BH=10001011B
OP=100010基本操作码头
D=1CX为目的寄存器操作数,CX在B2中的REG编码
W=1CX,AX为字操作数,AX在B2中的R/M编码
B2=C8H=11001000B
MOD=11寄存器寻址方式
REG=001目的寄存器操作数CX的编码
R/M=000源寄存器操作数AX的编码
指令MOVAX,CX的机器码为8BH,C1H,
D=1AX为目的寄存器操作数,AX在B2中为REG编码
W=1AX,CX为字操作数,CX在B2中为R/M编码
B2=C8H=11000001B
REG=000目的寄存器操作数AX的编码
R/M=001源寄存器操作数CX的编码
注:
在寄存器寻址方式(源,目的操作数均为寄存器),
D必为1,即指向目的寄存器,相同指令形式时,
机器码B1字节不变,B2字节变
C:
指令ADDAH,[BX+20H]的机器码为02H,67H,20H,分析机器码
B1=02H=00000010B
OP=000000基本操作码头
D=1AH为目的寄存器操作数,AH在B2中为REG编码
W=0AH为字节操作数,[BX+20H]在B2中为R/M编码
B2=67H=01100111B
MOD=01存储器寻址方式
REG=100目的寄存器操作数AH的编码
R/M=111源存储器操作数[BX+D8]的编码
B3=20H存储器相对寻址中的D8值
D:
指令ADD[BX+20H],AH的机器码为00H,67H,20H,分析机器码
B1=00H=00000000B
D=0AH为源寄存器操作数,AH在B2中为REG编码
W=0AH为字节操作数,[BX+20H]在B2中为R/M编码
REG=100源寄存器操作数AH的编码
R/M=111目的存储器操作数[BX+D8]的编码
在存储器寻址方式(源,目的操作数分别为寄存器及存储器),D可变,并且总是指向寄存器,相同指令形式时,机器码B1字节变,B2字节不变
3.28086CPU的寻址方式
定义:
确定操作数存在的方式,称为寻址方式
寄存器寻址方式
定义:
操作数隐含在寄存器中
1:
一字节操作码形式(与图3-1定义无关)
指令助记符
机器码
功能
PUSHAX
50H(码)
(AX)→[SS:
SP]
POPBX
5BH(码)
(BX)←[SS:
二字节操作码形式(遵循图3-1定义)
功能
MOVAX,BX
8BH,C3H(码)
(AX)←(BX)16位
MOVCL,BH
8AH,CFH(码)
(CL)←(BH)8位
AX―寄存器名,(AX)―寄存器中的值,[]―表示存储器注:
PUSHAL错堆栈操作必须为16位
MOVCL,BX错源,目的操作数数据类型必须一致
二:
立即寻址方式(与图3-1定义无关)
定义:
操作数真实地在操作码后,
既操作数为指令的一部分在代码段中
8位立即数形式
MOVAL,20HB0H(码),20H(数)(AL)=20H
16位立即数形式
MOVAX,2000HB8H(码),00H,20H(数)(AX)=2000H
《例》将立即数2050H赋给寄存器AX,BX的指令编程
立即寻址方式
MOVAX,2050H3字节机器码
MOVBX,2050H3字节机器码,共6字节
寄存器寻址方式
MOVBX,AX2字节机器码,共5字节
三:
存储器寻址方式
操作数段为操作数存放的地址值,而非真实操作数
特点:
(1).寻址方式多样,灵活,应用广泛
(2).需进行地址运算,相对速度较慢
条件:
指令中仅有一个存储器操作数,可以是源或者目的操作数
形式:
存储器操作数助记符表示为[]
直接寻址方式(与图3-1定义无关)
操作数存在于用直接数表示的地址单元中
直接数为隐含段DS内的偏移地址
MOVAX,[2000H]实际地址PA=DS*16+2000H
指令机器码A1H(码),00H,20H(数)
指令的功能(AX)=2000H错
(AX)=[2000H]对
操作数的获得
若在DS段中,偏移地址2000H单元中的值为45H,2001H单元中的值为30H,则(AX)=3045H
段超越前缀
概念:
从DS段外的其它段中寻找操作数
MOVAX,[2000H]省略段符时,隐含为DS段
MOVAX,DS:
[2000H]给出段符时,确定了操作数的段特性
段超越前缀机器码的定义
001b4b3110
b2,b1,b0=110,b7,b6,b5=001为固定值,
b4,b3编码表示段寄存器名
b4b3
段寄存器名
段超越前缀机器码
00100110
ES
26H
00101110
CS
2EH
00110110
SS
36H
00111110
DS
3EH
段超越前缀机器码出现在操作码的前面
MOVAX,[2000H]机器码:
A1H(码),00H,20H(数)
MOVAX,DS:
[2000H]机器码:
3EH(缀),A1H(码),0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 第三 指令系统
![提示](https://static.bdocx.com/images/bang_tan.gif)