欢迎来到天天文库
浏览记录
ID:6643887
大小:191.50 KB
页数:3页
时间:2018-01-21
《指令对标志寄存器的影响总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、指令类型助记符对标志寄存器的影响备注ZFCFPFSFOFAFDFIFTF数据传送类通用MOV不影响标志位交换XCHG堆栈操作PUSHPOP地址传送LEALDSLES累加器专用INOUTXALT标志寄存器LAHFSAHF标志寄存器低八位的内容由AH的值决定CF,AF,ZF,SF,PF的值会被影响PUSHF不影响标志位POPF标志寄存器的内容由装入的具体值决定可能影响所有标志位算术运算类加法指令ADD√√√√√√ADC√√√√√√INC√√√√√INC指令不影响CFAAA?√???√?表示不确定或者未定义DAA√√√√?√减法指令SUB√√√√√√SBB√√√√√√DEC√√√√√DEC指令不
2、影响CFAAS?√???√DAS√√√√?√DAA指令不影响OF乘法指令MUL?√??√?IMUL?√??√?AAM√?√√??除法指令DIV??????√√此指令可能会产生中断,故影响IF,TFIDIV??????√√同上AAD√?√√??符号位扩展CBW不影响标志位CWD不影响标志位比较指令CMP由计算结果确定标志位的值不会影响到DF,IF,TF逻辑运算类单操作数逻辑指令求反NOT不影响标志位移位SAL√√√√见备注?OF标志位只在移位次数是1时有效,AF未定义SHL√√√√?SAR√√√√?SHR√√√√?循环移位ROL√√?循环移位指令影响OF和CF,AF未定义ROR√√?RCL√
3、√?RCR√√?指令类型助记符对标志寄存器的影响备注ZFCFPFSFOFAFDFIFTF双操作数与AND√置0√√置0或OR√置0√√置0异或XOR√置0√√置0检测TSET√置0√√置0字符串操作传送MOVS不影响标志位比较CMPS由计算结果确定标志位的值不会影响DF,IF,TF搜索SCAS由计算结果确定标志位的值不会影响DF,IF,TF装入LODS不影响标志位填充STOS不影响标志位前缀REP不影响标志位程序控制类无条件JMP不影响标志位条件转移指令单个标志位JS/JNSSF=1/0,则转移到目的地址JZ/JNZZF=1/0,则转移到目的地址JP/JNPPF=1/0,则转移到目的地址J
4、B/JNBCF=1/0,则转移到目的地址JO/JNOOF=1/0,则转移到目的地址若干标志位的逻辑组合JA两个无符号数比较,A>BJBE两个无符号数比较,A<=BJG两个带符号数比较,A>BJGE两个带符号数比较,A>=BJL两个带符号数比较,A5、此指令置IF=1空操作NOP不影响标志位暂停HLT等待WAIT’交权ESC总线锁定前缀LOCKCF(CarryFlag):进位标志。当指令执行的结果(8位或16位)在最高位上产生了一个进位或借位时,CF=1。AF(AuxiliaryCarryFlag):辅助进位标志。当一个8位数(或16位数)的低四位向高四位(即b3向b4)有进位或借位时,AF=1。常用于十进制算术运算指令。OF(OverflowFlag):溢出标志。在算术运算中,带符号数的运算结果超出了8位或16位符号数所能表示的范围时,OF=1。ZF(ZeroFlag):零标志。当运算结果为全零时,ZF=1。SF(SignFlag):6、符号标志。当运算结果为正数,即结果的最高位为0时,SF=1。PF(ParityFlag):奇偶标志。当算术逻辑运算的结果中1的个数为偶数时,PF=1,为奇数时,PF=0。DF(DirectionFlag):方向标志。用于控制数据串操作指令的步进方向,当DF=1时,表示从高地址向低地址以递减的顺序对数据串中的数据进行处理。IF(Interrupt-enableFlag):中断允许标志。当IF=1时,CPU可以响应外部可屏蔽中断请求。该标志可以用指令设置为1或0。TF(TrapFlag):陷阱标志。当TF=1时,CPU进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。7、当TF=0时,正常执行程序。
5、此指令置IF=1空操作NOP不影响标志位暂停HLT等待WAIT’交权ESC总线锁定前缀LOCKCF(CarryFlag):进位标志。当指令执行的结果(8位或16位)在最高位上产生了一个进位或借位时,CF=1。AF(AuxiliaryCarryFlag):辅助进位标志。当一个8位数(或16位数)的低四位向高四位(即b3向b4)有进位或借位时,AF=1。常用于十进制算术运算指令。OF(OverflowFlag):溢出标志。在算术运算中,带符号数的运算结果超出了8位或16位符号数所能表示的范围时,OF=1。ZF(ZeroFlag):零标志。当运算结果为全零时,ZF=1。SF(SignFlag):
6、符号标志。当运算结果为正数,即结果的最高位为0时,SF=1。PF(ParityFlag):奇偶标志。当算术逻辑运算的结果中1的个数为偶数时,PF=1,为奇数时,PF=0。DF(DirectionFlag):方向标志。用于控制数据串操作指令的步进方向,当DF=1时,表示从高地址向低地址以递减的顺序对数据串中的数据进行处理。IF(Interrupt-enableFlag):中断允许标志。当IF=1时,CPU可以响应外部可屏蔽中断请求。该标志可以用指令设置为1或0。TF(TrapFlag):陷阱标志。当TF=1时,CPU进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。
7、当TF=0时,正常执行程序。
此文档下载收益归作者所有