汇编中加减法对标志位的影响 汇编语言那些指令会改变标志位?

作者&投稿:哈聪 (若有异议请与网页底部的电邮联系)
在加减法运算时,CF表示最高位向上形成的进位或借位,AF表示半进位或借位(在字运算时,半表示低字节的最高位).
带符号数在计算机中是用补码表示的.(-777fH)的补码为8881H
5394H+(-777fH)在计算时相当于5394H+8881H,所以CF=1,AF=1.
5394H-777fH时CF=0,AF=0.

向高位借位,当作SUB减法运算时(sub
ax,作SUB减法运算时,最高位有无借位,将影响CF.
而AF是辅助进位标志位CF是进位标志位,则AF=1;否则AF=0,bx),如AX的低八位AL作运算时

CF是对首位的影响,具体看是加法,还是加法
AF是次进位的影响
CF为1
AF为1

CF是进位标志位,作SUB减法运算时,最高位有无借位,将影响CF.
而AF是辅助进位标志位,当作SUB减法运算时(sub ax,bx),如AX的低八位AL作运算时,向高位借位,则AF=1;否则AF=0.

汇编,减法指令SUB是怎样影响标志位的?~

SUB影响全部的条件标志:
1.减法的CF反应的是无符号数运算中的借位情况:当减数>被减数是CF=1,否则CF=0
2.OF:如果两个数的符号相反而结果的符号与减数相同,则OF=1,否则OF=0;
3.SF(运算结果<0为1否则为0)、ZF(零标志)、AF(辅助进位标志)、PF(奇偶标志)根据其含义设置

加法指令:ADD、ADC、INC、XADD除了INC不影响CF标志位外,都影响条件标志位。
CF、ZF、SF、OF
CF最高位是否有进位
DF若两个操作数符号相同而结果符号与之相反OF=1,否则OF=0.

减法指令:SUB、SBB、DEC、NEG、CMP、CMPXCHG、CMPXCHG8B
前六种除了DEC不影响CF标志外都影响标志位。CMPXHG8B只影响ZF。
CF说明无符号数相减的溢出,同时又确实是被减数最高有效位向高位的借位。
OF位则说明带符号数的溢出
无符号运算时,若减数>被减数,有借位CF=1,否则CF=0.
OF若两个数符号相反,而结果的符号与减数相同则OF=1.否则OF=0.

乘法指令:MUL、IMUL
MUL:如果乘积高一半为0,则CF和OF位均为0,否则CF和OF均为1.
IMUL:如果高一半是低一半符号的扩展,则CF位和OF位均为0,否则就均为1.

除法指令:DIV、IDIV 对所有条件位均无定义。

逻辑指令:AND、OR、NOT、XOR、TEST
NOT不允许使用立即数,其它4条指令除非源操作数是立即数,至少要有一个操作数必须存放在寄存器中。另一个操作数则可以使用任意寻址方式。
NOT不影响标志位,其余4种CF、OF、置0,AF无定义,SF、ZF、PF位看情况而定。

定位扫描指令:BSF正向位扫描、BSR反向位扫描
源操作数可以是除立即数以外的任一种寻址方式,目的操作数必须是寄存器,影响ZF位。

单片机加1指令为何不影响标志位?
答:因为INC和DEC一般都用在循环控制上,是不考虑符号的,而且用的非常多,所以设计的时候要考虑性能,就把标志位判断给省掉了,做的事情越少做的越快么。上面是我猜的,Intel设计的时候到底为啥没有影响一般人估计这辈子是没...

CPU执行算术运算指令不会影响的标志位是()?
答:有的的影响,要看是什么指令啊?例如ADD、ADC运算就会影响CF、OF、PF、SF、ZF、AF的标志位;而INC、CMP、JMP等就不会。

汇编语言中的加减法~~~困扰我很久了。。有高人吗
答:计算机并不知道一个数有无符号,最好位是1还是0对它还说没任何意义,编程者来根据实际情况确定有无符号,从而选择合适的指令。所以加减指令,既作为无符号数影响标志位CF,AF,又作为有符号数影响标志OF,SF。编程者再跟具...

什么是进位标志位? CYACOV
答:当AC=1时,表示低半字节向高半字节有进位或借位;AC=0时,表示低半字节向高半字节没有进位或借位;OV:溢出标志位,该位表示在进行有符号数的加减法时是否发生溢出;当0V=1时,表示有符号数运算结果发生了溢出,OV=0...

汇编INC指令影响标志位了,如影响则影响哪几个标志位,如何影响
答:根据操作结果修改OF,SF,ZF,AF,PF;CF不影响 OF 溢出标志由最高进位(借位)和次高进位(借位)共同决定 SF 由最高位决定 ZF 不说了 PF 奇数为0,偶数为1 AF 第3至4位上的进位或借位决定 ...

为何汇编语言中要有INC、DEC操作符,高级语言中的自加自减(++、--)又...
答:我们对ax+还感觉到异类,无法理解,再加上汇编语言是以英文为语言,从英文意义即可明白命令的意义,为了理解和推广方便形成了这样的传统。高级语言中的自加自减(++、--)意义不止一个,在不同的语境中有不同的意义,但...

...OR,AND,NOT,TEST逻辑指令的时候标志位如何变化?请举出例子,万分感谢...
答:1、 test al,02h ;若AL中的D1位是‘1’。则ZF=0,否则为1;CF和OF都为0 2、 not 对所有标志位都没有影响 3、xor or and 都使 cf=of=0 其他位 要看具体情况 ...

单片机数值比较转移指令CJNE对标志位CY有没有影响?
答:有影.当第一个参数小于第二个参数时,CY置1,否则置0.如:CJNE A,#5 ;当A<5时,CY=1,当A>=5时,CY=0。

...做汇编有符号数加减的实验,老师要求读出标志位cf,of,z
答:标志位的判断不是依据数值,而是依据于指令。有些指令是不影响标专位的。如MOV等,有些数据的运算会影响如sub等,这些指令是否会影响标志位,你可以查询指令集,每条指令后都对标志位的影响与否给了简单的说明。只要你分清...

jmp指令要影响标志位
答:jmp指令要影响标志位---错的 jmp指令用法总结:1.直接用法(只能在Debug下使用的汇编指令):jmp 段地址:偏移地址功能:修改CS、IP的内容例子:jmp 55BA:8执行后:(CS)=55EAH, (IP)=0008H 2.根据标号进行转移的用法:...