|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
OF标志位书上的解释好繁琐,还得计算在不在指定位数能容纳的有符号数的范围内。
我无意间发现这样一个问题,自己验证是没问题的,有没有大佬指点一下对不对?
同符号数的计算,如果符合位置发生变化 OF标志位 就会发生变化!
例如:
1,同为负数
mov al, 0C0H
add al, al
--------------
1100 0000
+ 1100 0000
---------------
1 1000 0000 ; 8位寄存器 al 最高位还是1,OF = 0
-----------------------------1.1---------------------------------------
mov al, 80H
add al, al
--------------
1000 0000
+ 1000 0000
---------------
1 0000 0000 ; 8位寄存器 al 最高位变成了0,OF = 1
green1
=====================================
2, 同为正数
mov al, 40H
add al, al
--------------
0100 0000
+ 0100 0000
---------------
1000 0000 ; 8位寄存器 al 最高位变成了1,OF = 1
----------------------------2.1----------------------------------------
mov al, 20H
add al, al
--------------
0010 0000
+ 0010 0000
---------------
0100 0000 ; 8位寄存器 al 最高位还是0,OF = 0
=====================================
3、符号位置不同时
mov al, 0C0H
add al, 40H
--------------
1100 0000
+ 0100 0000
---------------
1 0000 0000 ; 8位寄存器 al 最高位变成了0,但是 OF = 0(这个跟1.1对比,计算结果都为0,但是一个溢出一个不溢出)
red1
|
|