彙編關於借位的問題,組合語言進製與借位的問題。

2021-03-04 05:21:38 字數 1162 閱讀 2539

1樓:

97h不夠98h減,向高位借位1,他的高位的權值為100h,借位後就是1*100h+97h=197h!

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

2樓:匿名使用者

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

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

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

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

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

3樓:匿名使用者

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

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

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

彙編中什麼是借位?什麼又是帶借位?

4樓:匿名使用者

做減法運算的時候被減數這一位數小於減數,就要向高的一位「借位」。。。比如300-10=290這裡300的十位就向百位借了一位。

至於帶借位。

普通的減法指令sub al,bl就是al的值減去bl的值而帶借位減法指令subb al,bl是al的值減去bl的值之後再減掉進製標誌cf的值。

舉個例子說

假如ax=1001h,bx=0802h,要你只准使用8位暫存器ah,al,bh,bl來計算ax減去bx的值

那麼執行sub al,bl

sub ah,bh

則al=ffh,ah=02h

即最後ax = 02ffh

如果執行sub al,bl

subb ah,bh

那麼al=ffh,bh=01h

即最後ax = 01ffh

明顯後一種結果才是正確的

5樓:

借位是數學概念,彙編中沒有重新定義

帶借位減法,就是考慮借位,比無借位多減cf

關於組合語言

反彙編 加解密 玩病毒,沒有到這裡提問的,都是自學。那些都是靠著深厚的程式設計功底 極大的好奇心 天馬行空的性格及鍥而不捨的精神,才能達得到的。似這種問題也來問,如何反彙編?這是反彙編。難得是密碼破解 40102a 48 dec eax eax加1 40102b 73 7e jnb short 00...

組合語言程式設計,組合語言程式設計?

嚴格要求輸入 0 7。輸出為分別是 0 2 4 6 8 a c e。下列程式,可滿足題目要求。assume cs cccc segment i y db 02468ace s t mov ax,cc mov ds,axi x mov ah,07h int 21h cmp al,0 jb i x cm...

關於組合語言的編譯器,用什麼樣的組合語言編譯器好

給你個假設的例子看能說明白不 咱國某型計算機研製,指令系統確定後,1 先用機器語言編寫乙個 小彙編 編譯器,它能編譯該機所有的機器指令相對應的彙編符號語言 2 然後用小組合語言編寫該機的彙編編譯器和fortran編譯器 3 再pascal 另,再多說幾句。以上說的是幾十年前是這麼做的,現在用的是交叉...