首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

请问汇编达人!CF,OF,补码有关问题

2012-04-19 
请教汇编达人!CF,OF,补码问题!moveax,1subeax,2CF,OF是多少?二进制是怎么计算的!CPU的计算过程是转换为加

请教汇编达人!CF,OF,补码问题!
    mov   eax,   1
    sub   eax,   2
;CF,OF是多少?二进制是怎么计算的!CPU的计算过程是转换为加上-2的补码吗?二进制借位怎么看?CPU怎么实现?怎么判断是否需要借位!CPU应该只有加法器!
mov   eax,   1
add   eax,   -2
和上边的CF,OF,计算步骤有什么不同!CPU的计算过程是什么?
mov   bl,64h
sub   bl,03h
CF,OF?补码?
3-C8,怎么计算?无符号情况和有符号情况!谢谢,达人解答!

[解决办法]
2楼插入广告的方法很奇特!
[解决办法]
mov eax, 1 
sub eax, 2 
;CF,OF是多少?二进制是怎么计算的!CPU的计算过程是转换为加上-2的补码吗?二进制借位怎么看?CPU怎么实现?怎么判断是否需要借位!CPU应该只有加法器! 

答:1、对标志的影响CF进位置1,它在做减法有借,对PF奇标志影响当运算结果最低字节中“1”的个数零或偶数,PF=1
对AF辅助进标志影响,运算时D3位(低半字节)有进位或借位时AF=1。
 
2、它对OF影响因为没有溢出。

以下是运算结果:
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFB ES=0AFB SS=0AFB CS=0AFB IP=0100 NV UP EI PL NZ NA PO NC
0AFB:0100 B001 MOV AL,01
-t

AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFB ES=0AFB SS=0AFB CS=0AFB IP=0102 NV UP EI PL NZ NA PO NC
0AFB:0102 2C02 SUB AL,02
-t

AX=00FF BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0AFB ES=0AFB SS=0AFB CS=0AFB IP=0104 NV UP EI NG NZ AC PE CY
[解决办法]
减法运算是通过补码加法实现的,如以4位为例:
1-2=1+(-2)=1加-2的补码=0001+1110=1111=-1
关于CPU的CF标志位是如何实现的,已经超出了汇编语言讨论的范畴。
[解决办法]
加数1 0001的符号位与结果1111的符号的比
不同就算借位了
[解决办法]

探讨

1-2=1+(-2)=1加-2的补码=0001+1110=1111=-1
二进制上怎么看借位?
00000001
11111110
11111111
是加补码,怎么看借位?

[解决办法]
请参考这个网站:
http://www.gg-led.com/thread-749286---.html

热点排行