漏洞银行/逆向工程学习日记(5)-标志寄存器

来源:互联网 发布:变色镜片 知乎 编辑:程序博客网 时间:2024/05/21 06:29





影响标志寄存器的指令:add,sub,mul,div,inc,or,and不影响标志寄存器的指令:mov,pop,push。

1.ZF:若操作结果为0,则zf=1

eg:mov ax,1    sub ax,1 (ZF=0)

2.PF:检查1的个数

3.SF:若sf=1,表示操作结果为负数

4.OF(只当进行有符号的运算时,无符号数时会产生进位):当发生溢出时,OF=1。


标识寄存器相关的指令:

adc:带上CF的加法
sub:带上CF的减法
cmp:两个数相减,使标志寄存器发生相应改变,但是两个数不会发生变化
test:对两个数进行and操作,使标志寄存器发生改变,但是这两个数不会改变。

test的一个用法是用来测试一个寄存器是否为空:eg:  test ax,ax  jz somewhere 

这里写图片描述