汇编 OF溢出

2025-03-12 09:27:29
推荐回答(5个)
回答1:

如果都是8位操作的话,第一个不溢出,第二个溢出,如果运算器超过8位就都不溢出。
溢出标志OF的判定条件是最高位向C进位,或次高位向最高位进位,但此二者不同时产生进/借位。
实际上用带符号加法判断也很简单,以8位机为例,运算结果大于127或小于-128就是溢出,
第一段,换算成十进制就是-4+5=1,在-128到127之间,不溢出;
第二段,-128+(-128)=-256,不在-128到127之内,肯定溢出。

回答2:

8位机子上的话,都溢出了,前面的溢出的结果是01H,后面的溢出后结果是00H ,但是如果在32位机子上都不溢出,而且指出一点mov al,0fch ,这句肯定是错误的,没法搞呀,正确的做法应该是mov al,fch,因为八位存储器只能这样表示,如果是16位的话就可以这样表示mov ax,0010H,32位的存储器就这样表示mov eax,00000010H,这个是规定,不这样表示编译器会报错的!

回答3:

个人是这么判断的:
第一个是 -4 + 5 = 1,结果正确
第二个 结果为0,明显错误
第二个溢出;

书上的:
两数符号相同,而结果符号相反,则说明溢出;

回答4:

汇编 OF溢出

mov al,0fch

add al,05h----负数加正数,肯定不会溢出。

---------------------

mov al,80h

add al,80h----两个负数相加。

执行后结果为1 0000 0000

----结果是 0000 0000,

----这不是负数,这就是溢出了。

回答5:

执行加法后,看有没有溢出,可以读一下C的值,C=1 有溢出,C=0表示没有溢出,当然也有的单片机是反过来的。