漏洞银行/逆向工程学习日记(5)-标志寄存器
2017-09-07 20:51
232 查看
影响标志寄存器的指令: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
相关文章推荐
- 漏洞银行/逆向工程学习日记(2)-8086指令系统之通用寄存器
- 漏洞银行/逆向工程学习日记(6)- 80386寄存器组
- 漏洞银行/逆向工程学习日记(1)-汇编基础
- 漏洞银行/逆向工程学习日记(4)-跳转指令&指令跳转原理
- 逆向工程核心原理学习笔记(四):检索API方法2-设置断点
- 【学习逆向工程,分析机器代码】(一)(C语言篇)
- MyBatis学习七:spring和MyBatis整合、逆向工程
- 逆向工程核心原理学习笔记(十五):栈帧2:设置局部变量
- 逆向工程核心原理学习笔记(八):小端序标记法1
- 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取
- 逆向工程核心原理学习笔记(二):字符串检索法查找main函数
- 逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串
- Mybatis学习(14)-MyBatis的逆向工程生成代码
- 逆向工程核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)
- 逆向工程核心原理学习笔记(二十):栈帧7:删除函数add()的栈帧&函数返回
- 逆向工程核心原理学习笔记(二十二):栈帧9:调用printf()函数
- 逆向工程核心原理学习笔记(六):实战开辟新内存区域写入缓冲区跳转修改字符串
- 逆向工程核心原理学习笔记(二十七):abex'crackme #2 破解算法
- Android逆向学习日记(一) 初学smail
- 逆向工程核心原理学习笔记1-通过IAT手工定位notepad.exe中的导入函数