8086組合語言題目,關於ADD,指令的

時間 2021-05-05 17:21:04

1樓:

mov al,40h --- al =40h, 標誌位保持此前的值不變

add al,al --- al=al+al=40h+40h=80h,cf=0, of=1, zf=0, sf=0

adc al,al --- al=al+al+cf=80h+80h+0(cf)= 00h, cf=1, of=1, zf=1, sf=0

adc al,al --- al =al+al+cf = 00h + 00h + 1 = 01h cf=0, of=0, zf=0, sf=0

2樓:

與ycjscn2008回答略不同:

add al,al --- al=al+al=40h+40h=80h,cf=0, of=1, zf=0, sf=1(僅此一處)

3樓:匿名使用者

指令adc是把源運算元和進位標誌位cf的值一起加到目的運算元。

假設你的「mov al,40h」是第5條指令,後面的三條指令依次為第6,7,8條指令。

由於mov指不影響cf標誌位,所第5條指令對第7條指令不影響又由於第6條指令沒有發生進位或借位,所以cf標誌位也不改變。

因此第7條指令的結果取決於 第5條指令之前的指令執行時對標誌位cf產生的影響

組合語言的ADC和ADD怎麼理解

add是正常的加 adc是正常加,但是要帶近位的,比如你現在要加4位的16進位制,而且加的是前兩位的值,但是後兩位相加的值有進位,所以你就要把進位也加上去 crackme資源 add oprd1,oprd2 加法運算.oprd1 oprd2 adc oprd1,oprd2 帶進位加法運算.oprd1...

關於組合語言中的loop指令,關於組合語言中的LOOP指令

這個程式迴圈一次,是由cx存放的。cx中存放的是迴圈的次數 程式設計計算2 12 assume cs code code segment mov ax,2 mov cx,11 s add ax,ax loop s mov ax,4c00h int 21h code ends end執行loop s時...

8086組合語言指令的定址方式有哪幾類

水木年華 主要是立即定址,暫存器定址,直接定址,暫存器間接定址,暫存器相對定址,基址變址定址,相對基址變址,還有隱含定址,i o埠定址,轉移類定址。 可軒 80x8組合語言尋求方式 立即定址 直接定址 暫存器定址 暫存器間接定址 相對定址 變址定址。定址方式舉例如下 mov ax,20b5h 立即定...