形6饼并8086指令系统( 20060,24(星期二 可以分成6个功能组 数据传送 Data transfer 算术运算( Arithmetic) 3.逻辑运算和移位指令( Logic& Shift) 串操作( String manipulation) 5.控制转移( Control transfer) 6.处理器控制( Processor Control)
第6讲 8086指令系统(续) 2006.10.24(星期二) 可以分成6个功能组: 1. 数据传送(Data transfer) 2. 算术运算(Arithmetic) 3. 逻辑运算和移位指令(Logic& Shift) 4. 串操作(String manipulation) 5. 控制转移(Control Transfer) 6. 处理器控制(Processor Control)
数据传送( Data transfer) (一)通用传送指令( General Purpose Transfer) (二)输入输出指令( Input and Output) (三)目的地址传送指令( Address-object transfer) (四)标志传送指令( Flag register transfer
1. 数据传送(Data transfer) (一)通用传送指令(General Purpose Transfer) (二)输入输出指令(Input and Output) (三)目的地址传送指令(Address-object transfer) (四)标志传送指令(Flag register transfer)
()目的地址传送指令( Address-object transfer) 808618088提供三条: 地址指针写入指定寄存器或寄存器对指令。 1、LEA( Load effective address)熟练掌握内容) 格式: LEA regl6,mem16;EA→>(reg16 功能:加载有效地址,用于写近地址指针。 把指令中指定的存储器操作数有效地址装入指定的寄存器。 例 已知变量DDR对应一内存单元DS:EA1000H:2000H) LEA BX. DDR表明把DDR的偏移量2000H送入BX寄存器。 LEA BX,ISI得到什么?
1、LEA(Load Effective Address)(熟练掌握内容) 格式: LEA reg16 , mem16 ;EA→(reg16) 功能:加载有效地址,用于写近地址指针。 把指令中指定的存储器操作数有效地址装入指定的寄存器 。 (三)目的地址传送指令(Address-object transfer) 8086 /8088 提供三条: 地址指针写入指定寄存器或寄存器对指令。 已知变量DDR对应一内存单元DS :EA (1000H:2000H) LEA BX,DDR表明把DDR的偏移量2000H送入BX寄存器。 LEA BX,[SI]得到什么? 例:
例:设(BX)=0400H,(S)=003cH LEA BX,[BX+SI+OF62H 存储器 (DS)BUFFER 3000H:1000H 40H 31001H0OH 执行指令后 EA=(BX)+(S|)+0F62H=0400H+003cH+0F62H 139EH,(BX)=139EH 注意:设()表示对应寄存器的内容,不妨设 DS)=3000H BUFFER=1000H 31000H)=0040H
例:设(BX)=0400H,(SI)=003CH LEA BX,[BX+SI+0F62H] 执行指令后: EA=(BX)+(SI)+0F62H=0400H+003CH+0F62H =139EH,(BX)=139EH 注意:设()表示对应寄存器的内容,不妨设 (DS)=3000H BUFFER=1000H (31000H)=0040H 40H 00H ... 3000H:1000H (DS) BUFFER 31001H ... 存储器
LEA指令与MoV的区别 LEA BX, BUFFER ;(BX)=1000H MOV BX BUFFER (BX)=0040H LEA指令与MOV等价: LEA BX BUFFER ;(BX)=1000H MOV BX, OFFSET BUFFER; (BX)1000H (2)LEA指令中的目标寄存器必须是16位的通用寄存器, 源操作数必须是一个存储器。 (3)请思考下列指令的正、误 LEA DX, BETABXIIS(对) LEA DX,AX(错)
(1) LEA 指令与MOV 的区别 LEA BX , BUFFER ;(BX)=1000H MOV BX , BUFFER ; (BX)=0040H LEA 指令与MOV等价: LEA BX , BUFFER ; (BX)=1000H MOV BX , OFFSET BUFFER ; (BX)=1000H (2)LEA 指令中的目标寄存器必须是16位的通用寄存器, 源操作数必须是一个存储器。 (3)请思考下列指令的正、误 LEA DX ,BETA[BX][SI] (对) LEA DX , AX(错)