作者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