-
标志寄存器(flag)有16位,其中存储的信息统称为程序状态字(psw)
-
第六位ZF,零标志位。在指令执行后如果结果为0,则ZF为1,如果不为0,ZF为0 -
第2位为PF(Parity Flag),奇偶标志位。结果所有bit位中1的奇偶个数为偶数PF=1,为奇数 pf=0
-
第7位SF(Sign Flag),符号标志位。如果结果为负,SF=1,如果非负则为0
-
第0位CF(Carry Flag),进位标志位。在进行无符号运算时,记录了运算结果的最高有效位向更高位的进值,或从更高位的借位值。
假想最高位之上还有更高位,如在0-7里,还有8,例如98H+98H超过的一位本应该被丢弃,但是保存在CF中。 -
第11位OF(Overflow Flag),溢出标志位。记录有符号位计算结果是否发生溢出,有溢出则 OF =1,没有为0.
-
第10位DF,方向标志位。控制每次操作后的si,di的增减, df = 0,每次操作后si,di递增;df=0,每次操作后si,di递减。
-
adc带进位加法指令。
格式:adc 对象1,对象2
对象1 = 对象 1 +对象 2 + CF -
sbb借位减法指令。例sub ax,bx 相当于 (ax) = (ax) - (bx) -CF
-
cmp比较指令,相当于减法指令不保存结果。例 cmp 8,3
zf =0,pf=1,cf=0, sf=0,of=0 -
转移是指能够修改ip ;“条件”是指根据某条件决定是否修改ip
-
-
movesb串传送指令
movesw则是递增递减变为2 -
pushf是将标志寄存器的值压入栈中。pushf和popf读取标志寄存器。
相关文章: