[053][組合語言]adc 帶進位加法 sbb帶進位減法指令

weixin_34249678發表於2018-04-30

adc 帶進位加法指令

adc ax,bx  
等價於 (ax) = (ax) + (bx) + CF

sbb 帶進位減法指令

sbb ax,bx  
等價於 (ax) = (ax) + (bx) - CF

如何看待 add ax,bx

add ax,bx
等價於
add al,bl
adc ah,bh 

低位暫存器用 add 相加
高位暫存器用 adc 相加,加上了CF進位值

使用 adc 可以對更大的資料進行運算

 001E F000 1000 H + 0020 1000 1EF0 H

001E F000 1000 H
-------------------------
高    中    低

高中低分三部
mov ax,001EH
mov bx,0F000H
mov cx,1000H

再從低位 往高位加
0020 1000 1EF0 H
mov cx,1EF0H
mov bx,1000H
mov ax,0020H
 

adc 搭配 inc 以及 loop指令使用

  • inc、loop 不影響 CF位

相關文章