第四章 基础汇编指令
不同于mov和xchg这类只是转移数值的指令,add,inc,dec和neg会影响EFLAGS。SF,ZF,0F,PF和AF会根据其
运算的结果改变。例如,如果结果是负数,SF将被置为1;如果结果为0,ZF被置为1。CF可能会被除了inc和dec的
其他指令影响数值.
加法指令
add 目的,源
目的=目的+源
减法指令
sub 目的,源
目的=目的-源
AX:00 75 add ax,cx 结果 ax 02 17
CX:01 A2 cx 01 A2
SF和结果的最高位相同
bx:00 01 dec bx 结果 bx 00 00
SF 0 ZF 1 OF 0
edx:7F FF FF FF inc edx 结果 edx 80 00 00 00
SF 1 ZF 0 OF 1
neg xx的效果如果是00 00位的寄存器,相当于 1 00 00 - xx的值
bx:01 A2 neg bx 结果 bx FE 5E
不同于mov和xchg这类只是转移数值的指令,add,inc,dec和neg会影响EFLAGS。SF,ZF,0F,PF和AF会根据其
运算的结果改变。例如,如果结果是负数,SF将被置为1;如果结果为0,ZF被置为1。CF可能会被除了inc和dec的
其他指令影响数值.
加法指令
add 目的,源
目的=目的+源
减法指令
sub 目的,源
目的=目的-源
AX:00 75 add ax,cx 结果 ax 02 17
CX:01 A2 cx 01 A2
SF和结果的最高位相同
bx:00 01 dec bx 结果 bx 00 00
SF 0 ZF 1 OF 0
edx:7F FF FF FF inc edx 结果 edx 80 00 00 00
SF 1 ZF 0 OF 1
neg xx的效果如果是00 00位的寄存器,相当于 1 00 00 - xx的值
bx:01 A2 neg bx 结果 bx FE 5E