組合語言進位與借位的問題

2021-03-03 20:55:56 字數 468 閱讀 8840

1樓:匿名使用者

你這裡混淆了兩個概念,無符號數和有符號數。

如果你希望得到2-3=-1,那麼你應該認為2和-3都是有符號數,既然是有符號數,是否產生借位要看of標誌位,即溢位標誌位;

如果你認為2和-3的補碼對應的無符號數253都是無符號數,那麼它們之和為255,沒有產生進位。

所以,當你判斷有符號數的時候,不應該看cf來判斷是否有借位。

不管怎樣,機器中的運算是00000010+11111101,結果為11111111,cf為0,of為1。

2樓:匿名使用者

王爽《組合語言》第二版是這麼說的:

一般情況下,在進行無符號數運算的時候,它(cf)記錄了運算結果的最高有效位向更高位的進位值,或從更高位的借位值。

也就是說,在2-3的時候,它產生了借位,cf為1;而2+(-3)的時候,計算機把它當作2+fch的運算來影響cf,所以cf為0

微控制器組合語言的程式設計問題

首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...

組合語言的DW是什麼意思,組合語言中的DW怎麼用,能舉個例子說明一下嗎

dw 是定義2位元組空間的意思。dw屬於彙編的一個偽指令,dw定義字型別變數,一個字資料佔2個位元組單元,讀完一個,偏移量加2。db定義位元組型別變數,一個位元組資料佔1個位元組單元,讀完一個,偏移量加1。dd定義雙字型別變數,一個雙字資料佔4個位元組單元,讀完一個,偏移量加4。彙編指令既不控制機器...

彙編子程式的問題,組合語言子程式是如何定義的

這不是返回自己本身迴圈執行,而是跳轉到子程式的第一行迴圈而已,有什麼不可以的,迴圈結構,任何地方都可以的。但有一點,子程式不論迴圈多少次,最終必須執行一行返加指令ret,也就是子程式必須要有一條ret指令,你的子程式最後是缺少一行ret指令的,加上了就可以的。組合語言子程式是如何定義的?這樣定義的 ...