1樓:本末終始
1.進位
假設a暫存器是8位的,最大的數是"11111111",現在加1,應該變成「100000000」,但只能放8位,怎麼辦?--->用cf參與進來,a中則放「00000000」。
2.借位
道理一樣.
2樓:匿名使用者
計算機中是補碼運算的,減法是用補碼加法來實現,所以就內部而言只有進位一說,都是有則置位cf,沒有則置零cf。但對我們使用者來講,加法運算產生的進位就叫「進位」,而減法運算產生的進位就叫「借位」。
3樓:匿名使用者
mov ax 0xff
inc ax
這時ax=0進位了所以 cf=1
mov ax 2
add ax 3
這時ax=5不進位cf=0
mov ax 0
dec ax
0減1需要借位(這個知道吧,小學學
版豎式運算)...借位了所以cf=1
明瞭沒?就是凡是進權位或者借位cf置1
呵呵...最後很猥瑣的問下...
能不能加點分啊?這知識無價呀...呵荷...
組合語言進位與借位的問題。
4樓:匿名使用者
你這裡混淆了兩個概念,無符號數和有符號數。
如果你希望得到2-3=-1,那麼你應該認為2和-3都是有符號數,既然是有符號數,是否產生借位要看of標誌位,即溢位標誌位;
如果你認為2和-3的補碼對應的無符號數253都是無符號數,那麼它們之和為255,沒有產生進位。
所以,當你判斷有符號數的時候,不應該看cf來判斷是否有借位。
不管怎樣,機器中的運算是00000010+11111101,結果為11111111,cf為0,of為1。
5樓:匿名使用者
王爽《組合語言》第二版是這麼說的:
一般情況下,在進行無符號數運算的時候,它(cf)記錄了運算結果的最高有效位向更高位的進位值,或從更高位的借位值。
也就是說,在2-3的時候,它產生了借位,cf為1;而2+(-3)的時候,計算機把它當作2+fch的運算來影響cf,所以cf為0
8086標誌暫存器中標誌的作用,通過示例說明如何設定標誌位的值以及設定標
標誌暫存器只有低八位是可操作的,使用lahf,將標誌暫存器中的低八位的值送到ah中 sahf,將ah中的內容送到標誌暫存器中的低八位使用復位鍵,可以將標誌暫存器中的所有位全部清零cli,sti,分別是if位清零和置1 clc,stc,分別是cf位清零和置1 cld,std,分別是df位清零和置1 以...
彙編中的R1R2R6是什麼意思與暫存器有關係嗎
組合語言中r1,r2.r6是工作暫存器。arm9處理器共有37個32位長的暫存器,這些暫存器包括 ro r12 均為32位通用暫存器,用於資料操作。但是注意 絕大多數16位thumb指令只能訪問r0 r7,而32位thumb 2指令可以訪問所有暫存器。cortex a8處理器有40個32位長的暫存器...