能力值:
( LV2,RANK:10 )
|
-
-
2 楼
一、数据传送指令
1. 通用数据传送指令
MOV Move 传送 8086/8088
格式: MOV DST,SRC
执行操作:(DST)<-(SRC)
即将SRC中的数值复制到DST中。
注意:
1、DST不可以是立即数也不可以是CS(代码段寄存器)。
2、不允许在两个存储单元中直接传送数据。
3、不允许直接在两个段寄存器之间传送数据。
4、MOV不影响标志位。
---------------------------------------------------------
PUSH Push data onto stack 8086/8088
格式: PUSH SRC
执行操作:(SP)<-(SP)-2 ((SP)+1,(SP))<-(SRC)
即将SRC中的数值压到堆栈栈顶。
PUSH只能作字操作。
PUSH不影响标志位。
--------------------------------------------------------
POP Pop data from stack 8086/8088
格式: POP DST
执行操作:(DST)<-((SP)+1,(SP)) (SP)<-(SP)+2
将堆栈栈顶的数值弹出到DST中。
POP只能作字操作。
并且DST不能是立即数寻址方式,也不能是CS。
POP不影响标志位。
--------------------------------------------------------
XCHG Exchange data 8086/8088
格式: XCHG OPR1,OPR2
执行操作:(OPR1)<-->(OPR2)
交换OPR1,OPR2中的值。
允许字或字节操作.不影响标志位.
可以在寄存器之间,寄存器和存储器之间交换数据.不允许使用段寄存器.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
2. 输入输出端口传送指令.
IN Input from port 8086/8088
长格式为:
IN AL,PORT(字节)
IN AX,PORT(字)
执行操作:(AL)<-(PORT)(字节) (AX)<-(PORT+1,PORT)(字) 端口号PORT只能<256.
短格式为:
IN AL,DX(字节)
IN AX,DX(字)
执行操作:(AL)<-((DX))(字节) (AX)<-((DX)+1,(DX))(字) (DX)就是端口号.
不影响标志位.
-------------------------------------------------
OUT Output to port 8086/8088
引用:
长格式为:
OUT PORT,AL(字节)
OUT PORT,AX(字)
执行操作:(AL)->(PORT)(字节) (AX)->(PORT+1,PORT)(字) 端口号PORT只能<256.
短格式为:
OUT DX,AL(字节)
OUT DX,AX(字)
执行操作:(AL)->((DX))(字节) (AX)->((DX)+1,(DX))(字) (DX)就是端口号.
不影响标志位.
--------------------------------------------------------------
XLAT Table look-up translation 8086/8088
引用:
格式为:
XLAT OPR
XLAT
执行操作:(AL)<-((BX)+(AL))(字节)
不影响标志位.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
3. 目的地址传送指令.
LEA Load Effective Address 8086/8088
格式为:LEA REG,SRC
执行的操作为:(REG)<-SRC
指令把SRC的有效地址送到寄存器REG中。
REG不能是段寄存器
SRC不能是立即数方式和寄存器方式寻址。
不影响标志位。
------------------------------------------------------
LDS Load pointer using DS 8086/8088
格式为:LDS REG,SRC
执行的操作为:(REG)<-(SRC) (DS)<-(SRC+2)
指令把SRC指定的4个相继字节送到指定的寄存器REG及DS寄存器中。
REG不能是段寄存器
SRC不能是立即数方式和寄存器方式寻址。
不影响标志位。
---------------------------------------------------------------
LES Load ES with pointer 8086/8088
格式为:LES REG,SRC
执行的操作为:(REG)<-(SRC) (ES)<-(SRC+2)
指令把SRC指定的4个相继字节送到指定的寄存器REG及ES寄存器中。
REG不能是段寄存器
SRC不能是立即数方式和寄存器方式寻址。
不影响标志位。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
4. 标志传送指令.
LAHF Load flags into AH register 8086/8088
格式:LAHF
执行的操作:(AH)<-(PSW的低字节) PSW标志的低字节送AH.
----------------------------------------------------------------
SAHF Store AH into flags 8086/8088
格式:SAHF
执行的操作:(AH)->(PSW的低字节) AH中的值送到PSW标志的低字节.
是给标志赋值的操作.
-----------------------------------------------------------------
PUSHF Push flags onto stack 8086/8088
格式:PUSHF
执行的操作:(SP)<-(SP)-2 ((SP)+1,(SP))<-(PSW) PSW标志进栈.
-------------------------------------------------------------------
POPF Pop data into flags register 8086/8088
格式:POPF
执行的操作:((SP)+1,(SP))->(PSW) (SP)<-(SP)+2 AH中的值送到PSW标志的低字节.
是给标志赋值的操作.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
未完,完整版请看原文链接。没时间整理啦。
|
|
|