文档介绍:第5章 8086 CPU指令系统
主讲:×××
本章内容
32位CPU扩展的指令
数据传送指令负责数据在CPU、内存单元和端口之间的传递,起到信息交流的作用。它们又可分为四小类:
通用传送指令
累加器专用传送指令
地址传送指令
标志传送指令
标志位传送指令
通用传送指令负责CPU内部的寄存器以及内存单元之间的数据传递,是传送指令中用的最多的一组指令。
包含4个:
MOV、PUSH、POP、XCHG
.
格式:MOV DST , SRC
执行的操作:(DST) ←(SRC)
操作数:该指令为双操作数指令,源操作数SRC和目的操作数DST的寻址方式必须满足以下规定:
(1)源操作数可采用7种寻址方式中的任何一种;而目的操作数不能采用立即数寻址。
(2)若源操作数SRC采用立即数寻址,则目的操作数DST不能使用段寄存器。
(3)若源操作数SRC不采用立即寻址,则源操作数SRC和目的操作数DST中必须至少有一个采用寄存器寻址。
(4)DST不能为CS寄存器和IP寄存器。
注意事项:源操作数和目的操作数的操作类型必须明确且一致;当指令中只有一个操作数的类型明确时,另一个操作数被视为同一类型;当两操作数类型均不明确时,必须用“BYTE PTR”(字节属性)或“WORD PTR”(字属性)将一个存储器操作数定义为字节或字类型。
格式:PUSH SRC
执行的操作:
操作数:
该指令为双操作数指令,其中,目的操作数DST是隐含的,即堆栈顶部的一个字单元,源操作数不能采用立即数寻址。
该指令不影响所有的条件码标志
注意:操作必须以字为单位,不允许以字节为单位。
(SP) ←(SP)-2
((SP)+1,(SP)) ←(SRC)
格式:POP DST
执行的操作:
(DST)←((SP)+1,(SP))
(SP) ←(SP)+2
操作数:
该指令为双操作数指令,其中,源操作数SRC是隐含的,即堆栈顶部的一个字单元。
注意:目的操作数必须以字为单位,不允许以字节为单位。
交换指令
格式:XCHG OPR1 , OPR2
执行的操作:
(OPR1)←(OPR2)
(OPR2)←(OPR1)