文档介绍:第三章 86系列微型计算机的指令系统
本章授课内容:
第一部分 寻址方式
第二部分 8086/8088指令系统
数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、 处理器控制指令
标号:
指令助记符
操作数
;注释
,
86系列汇编语言指令语句格式如下示:
例、NEXT:MOV AX,1000H ;立即数1000H送累加器AX
第三章微型机指令系统
第一节 寻址方式
一、立即数寻址
MOV AX ,1090H ;将1090H送AX
(若CS = 1000H ,IP = 100H)
10000H
10100H
10101H
10102H
OP
90H
10H
100H
。。。
。。
。。。
90H
AH
AL
10H
AX
代码段
代码段起址
操作数包含在指令中,紧跟在操作码后放在代码段 。
二、寄存器寻址
MOV AX ,BX
若 AX = 1234H,BX = 4567H
4567H
4567H
AX
BX
操作数包含在CPU的内部寄存器中。
INC CX ;将CX的内容加1
ROL AH,1;AH内容循环左移1位
特点:都不需要执行总线周期
第三章微型机指令系统
三、直接寻址
MOV AX,[ 1070H ]
(若DS = 3000H)
DS 30000
偏移量 1070
+
实际地址 31070H
四、寄存器间接寻址
MOV AX ,[BX]
(若DS = 5000H,BX = 3000H)
段基址 5000
EA(BX) + 3000
操作数地址 53000
5000H
。。。
M
。。。。
。。。。
53000H
操作数
AH AL
30000H
31070H
31071H
OP
70H
10H
代码段
。。
。。。
数据段
54H
7AH
7AH
54H
1070H
数据段起址
第三章微型机指令系统
5、寄存器相对寻址
采用寄存器间接寻址时,允许在指令中指定一个位移量,这样,有效地址通过将一个寄存器的内容加上一个位移量来得到。
EA=
[BX]
[BP]
[SI]
[DI]
+
8位位移量
16位位移量
例:MOV AX,[BX+20H]
第三章微型机指令系统
寄存器间接寻址可分为4种:
(1)以BX寄存器进行间接寻址——数据段基址寻址
如 MOV AX,[BX]
(2)以BP寄存器进行间接寻址——堆栈段基址寻址
如 MOV BX,[BP]
(3)以SI和DI寄存器进行间接寻址——变址寻址
其中 SI为源寄存器、DI为目的寄存器
(4)将BX、BP和SI、DI寄存器组合起来进行间接寻址——基址加变址寻址
如 MOV AX,[BX+SI]
MOV AX,[BX+SI+0050];相对基址加变址寻址
第三章微型机指令系统
第二节 数据传送类指令
一、通用数据传送指令(MOV、PUSH、POP、CHG)1、最基本的传送指令:
MOV DST,SRC ;(SRC) (DST)
寄存器之间传送(除CS 和 IP)
MOV AL ,BL
MOV DL,CH
MOV DX,BX
MOV AX,ES
MOV DS,AX
8位数据传送
16位数据传送
通用REG 通用REG
段REG 通用REG
第三章微型机指令系统
立即数送通用REG或存储器
MOV CL ,4
MOV AX ,03FFH
MOV BYTE PTR [BX] ,5
MOV WORD PTR [100H] ,5678H
MOV MEM ,5 ;MEM是以定义的变量(符号地址)
寄存器(除CS、IP)与存储器之间传送
MOV AX ,[SI]
MOV [DI] ,CX
MOV [1000H] ,AL
MOV DS,DATA[SI+BX]
MOV DST[BP+DI] ,ES
注意的问题:
1、不能在两个存储单元之间传送。MOV [1000H] ,[2000H]
2、