作者ohohyeah (欧欧耶)
看板ASM
标题[问题] CMP的问题
时间Sun Nov 29 01:13:13 2009
有一个问题
mov ax ,5h
mov bx ,7h
cmp ax , bx
为何结果出来CF=1
5 = 00000101B, 7 = 00000111B
我一开始的想法是5-7=5+(-7)
5+(-7) = 00000101 + (-00000111) =
00000101 + 11111001 = 11111110 = -00000010 = -2
这样的过程感觉是完全没有进借位的问题
可是如果换一个方法去想
5-7 = 00000101 - 00000111 = (1)00000101
- 00000111 = 11111110 = -00000010 = -2
这样好像就符合条件了
请问各位这样的想法是否有误?
--
@Windows Live Examiner ╳
▇
您的状态设为「逃避现实」,您可以前往参加考试,但教授将知道您完全没念。
▁▁▁▁▁▁▁▁ ▁▁▁▁▁ ▁▁▁▁▁▁▁▁
▏ 继续考试(C) ▏ ▏崩溃(H) ▏ ▏ 学测报名(G) ▏
ψegoweaver▇▇▇▇▇▇▇▇
▇▇▇▇▇
▇▇▇▇▇▇▇▇
ψflylitlig
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.57.31
1F:→ menspower:可否先描述一下是何种架构的组语? 11/29 01:20
2F:→ ohohyeah:是用windows底下的debug程式跑的 应该是8088/8086吧 @@ 11/29 10:45
3F:推 loveflames:它做的事跟sub很像 11/29 12:25
4F:推 wowtiger:jb = jc 所以? 11/29 12:54
5F:推 loveflames:有借位所以有CF 11/29 12:58
6F:推 ksmrt0123:原po把signed加减法跟unsigned搞混了 11/29 14:52
7F:→ ksmrt0123:在unsigned加减 carry(borrow) = overflow, 11/29 14:53
8F:→ ksmrt0123:但这在signed算术中并不是这样 11/29 14:53
9F:→ ksmrt0123:可看instruction set说明或 ALU design的书 11/29 14:54