- 1
- 0
- 约1.29千字
- 约 19页
- 2023-02-26 发布于四川
- 举报
4.2 8086/8088指令系统 ;指令类型:
(1)??? 数据传送指令
(2)??? 算术运算指令
(3)??? 逻辑运算指令
(4)??? 移位指令
(5)??? 标志处理指令和CPU控制指令
(6)??? 转移和循环控制指令
(7)??? 调用和返回指令
(8)??? 字符串操作指令
( 9 ) 输入、输出指令 ;缩写与符号;4.2.1 数据传送类指令 ;1. 传送指令(MOV) ;常用的六种格式
(1)通用寄存器之间
(2)通用寄存器和存储单元之间
(3)通用寄存器和段寄存器之间
(4)段寄存器和存储单元之间
(5)立即数传送到通用寄存器
(6)立即数传送到存储单元;例如:
MOV AX,BX
MOV AL,DL
MOV AX,02
MOV SI,[BX]
MOV AL,4[DI]
MOV AX,[BX+2]
MOV [BX][DI],DX ;变量的定义:
DATA1 DW 20H,30H
DATA2 DB 50H,60H,70H
DATA3 DW 10H DUP(?)
相应传送指令:
MOV AX,DATA1
MOV DATA3,BX
;MOV AL,DATA2[DI]
MOV DATA3[SI],DX
MOV CX,LENGTH DATA3
MOV BX,SIZE DATA3
MOV SI,OFFSET DATA2
指令中传送的是一个字还是一个字节,通常由操作数的类型确定。 ;下列指令中,没有确定的类型,是错误的。
MOV DATA3[SI],02H
MOV 2[SI],AL
MOV 4[DI],02
可以采用如下方式纠正:
MOV BYTE PTR 4[DI],02
;如果两个操作数的类型不一致,也是错误的:
DATA1 DW 05H
DATA2 DB 0FH,10H,0AH
DATA3 DB 5 DUP(?)
MOV AX, BL
MOV AL, DATA1
MOV BX, DATA3[SI]
可以采用如下方式纠正:
MOV AL, BYTE PTR DATA1 ;内容归纳;寄存器间接寻址、寄存器相对寻址、基址变址寻址和基址变址相对寻址方式只能使用变址寄存器DI,SI和基址寄存器BX,BP。 ;(3)寄存器相对寻址和寄存器基址变址相对寻址方式的位移量DISP可以是常量、变量,并且有多种书写方式
MOV AX,DISP[BX]
MOV AX,[BX+DISP]
MOV AX,[BX].DISP
MOV AX,[BX]+DISP ;(4) 段寄存器不是DS,而是ES时,用如下方式表示:
MOV AX, ES:[SI]
对BP寄存器
MOV AL, DATA2[BP];对应DS段
MOV AL, 10[BP]; 对应SS段 ;3.2.1 数据传送类指令;3.2.1 数据传送类指令;3.2.1 数据传送类指令;3.2.1 数据传送类指令
原创力文档

文档评论(0)