汇编知识点

call和jmp

call:FF15 + 绝对地址   、 E8 + 相对偏移     (先push eip ,再jmp)

jmp:  FF25 + 绝对地址  、  E9 + 相对偏移    (在x64下 FF25也是按相对偏移算的)

 寻址方式

指令寻址:

  • 顺序寻址   程序的顺序执行过程就是顺序寻址

  • 跳跃寻址   jmp  call 等类型的寻址过程

数据寻址:

  • 立即寻址   指令的地址字段是操作数本身    mov eax, 1h

  • 直接寻址   指令的地址字段是操作数的内存地址  mov  eax,[2000h]

  • 间接寻址  指令的地址字段是存有操作数的内存地址的地址  mov eax,[[2000h]] 

  • 寄存器寻址 指令的地址字段是存有操作数的寄存器  mov eax,ebx

  • 寄存器间接寻址  指令的地址字段是存有操作数内存地址的寄存器    mov eax,[ebx]

  • 基址寻址        指令的地址字段是相对偏移   EA = A +(BR)      BR:基址寄存器

  • 变址寻址        指令的地址字段是相对偏移   EA = A +(IX)       IX:变址寄存器

  • 相对寻址        指令的地址字段是相对偏移   EA = A +(PC)      PC:当前指令地址

 标志寄存器

寄存器名称备注
CF进位标志位无符号数,运算产生进位时置为1
PF奇偶标志位结果的低8位中1的个数,偶数置为1,奇数置为0
AF辅助进位标志位低四位与高四位之间有进位或者错位,置为1
ZF零标志位运算结果为0,置为1;不为0,置为0
SF符号标志位有符号数,运算结果为负,置为1;结果为正,置为0
TF定时器溢出标志位对于CPU来说,当检测到TF为1时,产生单步中断
IF中断运行标志位IF为1时,cpu会响应中断
DF方向标志位控制串错做指令时,si、di的增减,DF=0,递增,DF=1,递减
OF溢出标志位有符号数,运算无溢出,OF置为0;有溢出,OF置为1

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值