逆向基础知识-汇编和PE文件

锦通  金牌会员 | 2022-10-6 03:11:27 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 554|帖子 554|积分 1662

汇编基础知识

1.    九个寄存器(32位)
  1. 寄存器                                                                       编号
  2. eax:累加器(accumulator), 它是很多加法乘法指令的缺省寄存器。                        0
  3. ecx:计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。                1
  4. edx:总是被用来放整数除法产生的余数。                                           2
  5. ebx:"基地址"(base)寄存器, 在内存寻址时存放基地址。                              3
  6. esp:存储堆栈的最顶端                                                         4
  7. EBP:是"基址指针",不是必须的                                                    5
  8. esi:                                                                      6
  9. edi:变址寄存器,主要用于存放存储单元在段内的偏移量,作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。                                                                      7
  10. eip:存储当前CPU马上要执行的指令
复制代码
  1. 寄存器32位可以拆分为两个16位寄存器 eax拆分成ax(低16位)  ax还可以拆分为ah(高位)和al(低位)
复制代码
2.    八个标志位
  1. CF(进位标志位):运算时最高位产生进位或借位时为1        #  针对无符号数的运算
  2. ZF(零标志位):若当前运算结果为0,标志位为1    xor eax,eax ZF置1   mov eax,0 不会修改标志位的值
  3. SF(符号标志位):该标志位与运算结果二进制的最高位相同,运算结果为负,则标志位为1   
  4. OF(溢出标志位):如果运算结果超过了机器能表示的范围则标志位为1    # 针对有符号数的运算 正+正=负 / 负+负=正 表示溢出
  5.                 符号位有进位:1,最高有效位有进位:1        最终OF位为1 xor 1 = 0 (计组的溢出判断)
  6. PF(奇偶标志位):运算结果的最低有效字节中(即低八位)含1的个数为偶数则标志位为1   
  7. AF(辅助进位标志):运算结果的低4位向高4位有进位或借位时为1
  8. 次要
  9. TF(跟踪标志):为方便程序调试而设置,若TF=1,则CPU处于单步工作方式,在每条指令结束后产生中断
  10. DF(方向标志位):用来控制串处理指令(movsd)的处理方向,DF为1则串处理过程中地址自动递减,否则自动递增
复制代码


溢出判断
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表