- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通用数据传送指令
MOV——传送指令
指令格式:MOV DST,SRC ;(DST)←(SRC)。DST表示目的操作数, SRC表示源操作数
说 明:①.DST为除CS外的各寄存器寻址方式或任意存储器寻址方式。SRC为任意数据寻址方式。
②.DST、SRC不能同时为存储器寻址方式,也不能同时为段寄存器寻址方式,而且在DST为段寄存器时,SRC不能为立即数。
③.MOV指令不影响标志位。
地址传送指令
LEA——有效地址(EA)送寄存器指令
指令格式:LEA REG,SRC ;(REG)←SRC
说 明:①.指令把源操作数(只能是存储器寻址方式)指定的有效地址送到指令指定的16位或32位寄存器(REG)中(但不能是段寄存器)。
②.LEA指令不影响标志位。
加法指令
ADD——加法指令
指令格式:ADD DST,SRC ;(DST)←(DST)+( SRC)
减法指令
SUB——减法指令
指令格式:SUB DST,SRC ;(DST)←(DST) - (SRC)
SBB——带借位减法指令
指令格式:SBB DST,SRC ;(DST)←(DST) - (SRC) - CF
除法指令
DIV——无符号数除法指令
指令格式:DIV SRC ;字节操作:(AL)←(AX)/(SRC),(AH)←(AX)%(SRC)
字 操 作:(AX)←(DX,AX)/(SRC),(DX)←(DX,AX)%(SRC)
双字操作:(EAX)←(EDX,EAX)/(SRC),(EDX)←(EDX,EAX)%(SRC)
逻辑运算指令:可以对双字、字或字节执行按位的逻辑运算。
AND——逻辑与指令
指令格式:AND DST,SRC ;(DST)←(DST)∧(SRC)
OR——逻辑或指令
指令格式:OR DST,SRC ;(DST)←(DST)∨(SRC)
XOR——逻辑异或指令
指令格式:XOR DST,SRC ;(DST)←(DST)⊕(SRC)
PUSH——进栈指令
指令格式:PUSH SRC;16位指令:(SP)←(SP) –2 ((SP)+1,(SP))←(SRC)
32位指令:(ESP)←(ESP) –4 ((ESP)+3, (ESP)+2, (ESP)+1, (ESP))←(SRC)
说 明:①.堆栈:计算机开辟的以“后进先出”方式工作的存储区。它必须存在于堆栈段中,只有一个出入口,所以只有一个堆栈指针SP或ESP。SP或ESP的内容在任何时候都指向当前的栈顶。
②.8086中的SRC不能为立即数寻址方式。286及其后继机型可用立即数寻址方式。
③.PUSH指令不影响标志位。
POPF/POPFD——标志出栈指令
指令格式:POPF ;(FLAGS)←((SP)+1,(SP)),(SP)←(SP)+2
POPFD ;(EFLAGS)←((ESP)+3, (ESP)+2, (ESP)+1, (ESP)),
(ESP)←(ESP) -4
说 明:这组指令中LAHF、PUSHF/PUSHFD不影响标志位。但POPFD指令不影响VM,RF,IOPL,VIF和VIP的值。
移位指令
移位指令
SHL——逻辑左移指令
CFOPR0指令格式:SHL OPR,CNT
CF
OPR
0
SAL——算术左移指令
指令格式:SAL OPR,CNT ;同上
CFOPR
CF
OPR
0
指令格式:SHR OPR,CNT ;
CFOPR
CF
OPR
指令格式:SAR OPR,CNT ;
循环移位指令
CFOPRRO
CF
OPR
指令格式:ROR OPR,CNT ;
CFOPRR
CF
OPR
指令格式:RCR OPR,CNT ;
说 明:①.OPR为除立即数以外的任意寻址方式。移位次数由CNT决定,CNT=1只移位1次;若移位次数超过1次,在8086中则CNT必须用CL代替。而在其他机型中也可用8位立即数指定范围从1~31的移位次数。
②.CF位已在指令中给出其影响情况。OF位只有在CNT=1时有效,一次移位前后的最高有效位(符号位)发生变化则OF=1,否则OF=0。循环指令不影响其它条件。移位指令由结果影响SF、ZF、PF,而AF无定义。
循环指令
LOOP——循环指令
指令格式:LOOP OPR
测试条件:(Count Reg)≠0
JZ (或JE)——结果为零(或相等)则转移
指令格式:JZ (或JE) OPR
测试条件:ZF=1
TEST——测试指令
指令格式:TEST OPR1,OPR2 ;(OPR1)∧(OPR2)
说 明:①.DST、OPR、OPR1不允许使用立即数寻址方式。
CMP——比较指令
指令格式:CMP O
文档评论(0)