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 立即定...