微机原理与接口技术 课件 第3章 80888086的指令系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 操作数是指令执行的参与者,即各种操作的对象。 – 有些指令不需要操作数,通常的指令都有一个或两
个操作数,也有个别指令有3个甚至4个操作数。
• 指令的表示: 二进制代码 0000001011001111B (机器指令) 助记符 ADD CL,BH (汇编指令)
3.1 8088/8086的寻址方式
3.1 8088/8086的寻址方式
寻址方式有:
1、立即寻址
操作数直接放在指令中。不
需要访问存储器。
例:
MOV AL,34H MOV AX,1234H 需要注意在16位操作时,两个 字节数据的高低位存储位置。立 即数只能是源操作数。
AX 12H 34H AH AL
3.1 8088/8086的寻址方式
3.2.1数据传送指令
⑷ 能实现用立即数给存储单元赋值 MOV BYTE PTR [2000H],25H MOV WORD PTR [SI],35H
立即数
存
通用寄存器
储
AX BX CX DX
器
BP SP SI DI
段寄存器 CS DS ES SS
3.2.1数据传送指令
对于MOV 指令应注意几个问题:
微机原理与接口技术
第三章 8088/8086的指令系统
第三章 8088/8086的指令系统
主要内容
•wenku.baidu.com各种寻址方式 • 8088/8086的指令系统
• 指令系统:一台计算机所能识别和执行的全部 指令的集合。
• 指令的组成: 操作码 操作数
– 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
3.2 8088/8086的指令系统
• Intel 8086/8088指令系统共有117条基本指 令,可分成6个功能组:
① 数据传送类指令 ② 算术运算类指令 ③ 逻辑运算类指令 ④ 串操作类指令 ⑤ 控制转移类指令 ⑥ 处理器控制类指令
3.2.1数据传送指令
1.数据传送MOV指令
一般格式:MOV OPRD1,OPRD2
3.1 8088/8086的寻址方式
6、基址加变址寻址
EA = 基址寄存器(BX或BP)+变址寄存器(SI或DI) [+16位偏移量]
若用BX: 默认操作数在数据段DS中 若用BP: 默认操作数在堆栈段SS中
例: MOV AX, [BX+DI+6]
3.1 8088/8086的寻址方式
寻址方式的书写格式
① MOV传送指令中,不允许对CS和IP进行操作;
② 两个操作数中,除立即寻址之外必须有一个为寄存器寻址方 式,即两个存储器操作数之间不允许直接进行信息传送;
如我们需要把地址(即段内的地址偏移量)为2000H的存储单 元的内容,传送至同一段内的地址为3000H的存储单元中去, MOV指令不能直接完成这样的传送,但我们可以CPU内部寄存 器为桥梁来完成这样的传送:
3、直接寻址
有效地址由指令直接给出,有效地址只包含位移 量。 例: MOV AX,[2000H]
默认的段寄存器是DS,也可以在指令中使用 段 超越前缀来指定段寄存器。 例:MOV AL,ES:[2000H]
有效地址EA=2000H,在指令中直接给出。 物理地址PA=(ES)×10H + 2000H
3.1 8088/8086的寻址方式
• 根据指令内容确定操作数地址的过程,称为寻址。 • 根据寻址计算所得到的操作数地址叫做操作数的有
效地址(EA),也就是段内偏移地址。有效地址还需 要与相应的段基地址组合才是20位的物理地址(PA) , 该工作由CPU完成。 • 操作数的来源:(1)直接包含在指令中;
(2)在CPU的某寄存器中; (3)在内存中。
MOV 是操作码,OPRD1和OPRD2分别是目的操作数 和源操作数。
功能:完成数据传送
具体来说,一条MOV数据传送指令能实现:
⑴ CPU内部寄存器之间数据的任意传送(除了代码段寄存器 CS和指令指针IP以外)。
MOV AL,BL;字节传送 MOV CX,BX;字传送 MOV DS,BX
3.2.1数据传送指令
⑵ 立即数传送至CPU内部的通用寄存器组(即AX、 BX、CX、 DX、BP、SP、SI、DI), MOV CL,4 MOV AX,03FFH MOV SI,057BH
⑶ CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式) 之间的数据传送。 MOV AL,[2000H] MOV AX,[SI] MOV [DI],CX MOV SI,BLOCK[BP] MOV DS,DATA[SI+BX] MOV DEST[BP+DI],ES
3.1 8088/8086的寻址方式
5、变址寻址
在寄存器间接寻址的基础上再加一个16位的偏移 量.
例:MOV AX,[SI+COUNT]
若COUNT=3000H, (DS)=3000H (SI)=2000H,
EA=3000H+2000H =5000H
PA=30000H+5000H =35000H
则物理地址=35000H,
• 1、在方括号内部允许有一个或两个寄存器的名字,如果一 对方括号内部有基址寄存器和变址寄存器,使用“+”作为 连接。
• 2、在方括号内部允许有位移量,使用+或—号作为连接符 号。
• 3、在方括号外部允许有位移量,可以在左边或右边。 MOV AX,[BX+SI+6] MOV AX,[BX+SI]6 MOV AX,6[BX+SI] MOV AX,[BX][SI]6 MOV AX,[BX+6][SI]
4、寄存器间接寻址
操作数的地址在对应的寄存器中称为寄存器间接寻址。
EA取自基址寄存器BX,BP或变址寄存器SI,DI
中的一个,操作数在有效地址对应的存储单元中。
以SI, DI, BX间接寻址: 默认操作数在数据段DS中
以BP间接寻址:
默认操作数在堆栈段SS中
例: MOV AX,[BX] 若(DS)=1492H,(BX)=2000H 则EA=(BX)=2000H 物理地址PA=14920H+2000H=16920H, 执行(AX)=(16920H)
个操作数,也有个别指令有3个甚至4个操作数。
• 指令的表示: 二进制代码 0000001011001111B (机器指令) 助记符 ADD CL,BH (汇编指令)
3.1 8088/8086的寻址方式
3.1 8088/8086的寻址方式
寻址方式有:
1、立即寻址
操作数直接放在指令中。不
需要访问存储器。
例:
MOV AL,34H MOV AX,1234H 需要注意在16位操作时,两个 字节数据的高低位存储位置。立 即数只能是源操作数。
AX 12H 34H AH AL
3.1 8088/8086的寻址方式
3.2.1数据传送指令
⑷ 能实现用立即数给存储单元赋值 MOV BYTE PTR [2000H],25H MOV WORD PTR [SI],35H
立即数
存
通用寄存器
储
AX BX CX DX
器
BP SP SI DI
段寄存器 CS DS ES SS
3.2.1数据传送指令
对于MOV 指令应注意几个问题:
微机原理与接口技术
第三章 8088/8086的指令系统
第三章 8088/8086的指令系统
主要内容
•wenku.baidu.com各种寻址方式 • 8088/8086的指令系统
• 指令系统:一台计算机所能识别和执行的全部 指令的集合。
• 指令的组成: 操作码 操作数
– 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
3.2 8088/8086的指令系统
• Intel 8086/8088指令系统共有117条基本指 令,可分成6个功能组:
① 数据传送类指令 ② 算术运算类指令 ③ 逻辑运算类指令 ④ 串操作类指令 ⑤ 控制转移类指令 ⑥ 处理器控制类指令
3.2.1数据传送指令
1.数据传送MOV指令
一般格式:MOV OPRD1,OPRD2
3.1 8088/8086的寻址方式
6、基址加变址寻址
EA = 基址寄存器(BX或BP)+变址寄存器(SI或DI) [+16位偏移量]
若用BX: 默认操作数在数据段DS中 若用BP: 默认操作数在堆栈段SS中
例: MOV AX, [BX+DI+6]
3.1 8088/8086的寻址方式
寻址方式的书写格式
① MOV传送指令中,不允许对CS和IP进行操作;
② 两个操作数中,除立即寻址之外必须有一个为寄存器寻址方 式,即两个存储器操作数之间不允许直接进行信息传送;
如我们需要把地址(即段内的地址偏移量)为2000H的存储单 元的内容,传送至同一段内的地址为3000H的存储单元中去, MOV指令不能直接完成这样的传送,但我们可以CPU内部寄存 器为桥梁来完成这样的传送:
3、直接寻址
有效地址由指令直接给出,有效地址只包含位移 量。 例: MOV AX,[2000H]
默认的段寄存器是DS,也可以在指令中使用 段 超越前缀来指定段寄存器。 例:MOV AL,ES:[2000H]
有效地址EA=2000H,在指令中直接给出。 物理地址PA=(ES)×10H + 2000H
3.1 8088/8086的寻址方式
• 根据指令内容确定操作数地址的过程,称为寻址。 • 根据寻址计算所得到的操作数地址叫做操作数的有
效地址(EA),也就是段内偏移地址。有效地址还需 要与相应的段基地址组合才是20位的物理地址(PA) , 该工作由CPU完成。 • 操作数的来源:(1)直接包含在指令中;
(2)在CPU的某寄存器中; (3)在内存中。
MOV 是操作码,OPRD1和OPRD2分别是目的操作数 和源操作数。
功能:完成数据传送
具体来说,一条MOV数据传送指令能实现:
⑴ CPU内部寄存器之间数据的任意传送(除了代码段寄存器 CS和指令指针IP以外)。
MOV AL,BL;字节传送 MOV CX,BX;字传送 MOV DS,BX
3.2.1数据传送指令
⑵ 立即数传送至CPU内部的通用寄存器组(即AX、 BX、CX、 DX、BP、SP、SI、DI), MOV CL,4 MOV AX,03FFH MOV SI,057BH
⑶ CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式) 之间的数据传送。 MOV AL,[2000H] MOV AX,[SI] MOV [DI],CX MOV SI,BLOCK[BP] MOV DS,DATA[SI+BX] MOV DEST[BP+DI],ES
3.1 8088/8086的寻址方式
5、变址寻址
在寄存器间接寻址的基础上再加一个16位的偏移 量.
例:MOV AX,[SI+COUNT]
若COUNT=3000H, (DS)=3000H (SI)=2000H,
EA=3000H+2000H =5000H
PA=30000H+5000H =35000H
则物理地址=35000H,
• 1、在方括号内部允许有一个或两个寄存器的名字,如果一 对方括号内部有基址寄存器和变址寄存器,使用“+”作为 连接。
• 2、在方括号内部允许有位移量,使用+或—号作为连接符 号。
• 3、在方括号外部允许有位移量,可以在左边或右边。 MOV AX,[BX+SI+6] MOV AX,[BX+SI]6 MOV AX,6[BX+SI] MOV AX,[BX][SI]6 MOV AX,[BX+6][SI]
4、寄存器间接寻址
操作数的地址在对应的寄存器中称为寄存器间接寻址。
EA取自基址寄存器BX,BP或变址寄存器SI,DI
中的一个,操作数在有效地址对应的存储单元中。
以SI, DI, BX间接寻址: 默认操作数在数据段DS中
以BP间接寻址:
默认操作数在堆栈段SS中
例: MOV AX,[BX] 若(DS)=1492H,(BX)=2000H 则EA=(BX)=2000H 物理地址PA=14920H+2000H=16920H, 执行(AX)=(16920H)