4、经典定长指令_修改ERX

 

定长指的是:

只要Opcode确定,这条指令的长度就确定了,这就是定长

而不是 Opcode 的长度就是指令的长度

 

要记住通用寄存器的顺序,有利于理解硬编码

0 EAX

1 ECX

2 EDX

3 EBX

4 ESP

5 EBP

6 ESI

7 EDI

 

1、PUSH/POP

50 PUSH EAX

51 PUSH ECX

52 PUSH EDX

53 PUSH EBX

54 PUSH ESP

55 PUSH EBP

56 PUSH ESI

57 PUSH EDI

 

58 POP EAX

59 POP ECX

5A POP EDX

5B POP EBX

5C POP ESP

5D POP EBP

5E POP ESI

5F POP EDI

 

2、INC/DEC

0X40 - 0X47 INC ERX

0X48 - 0X4F DEC ERX

 

3、MOV Rb, ib(immediate byte)

0XB0 - 0XB7

 

4、MOV ERb, id(immediate double)

0XB8 - 0XBF

 

5、XCHG EAX, ERX:

90 XCHG EAX, EAX(NOP) //这里就可以说明了NOP是怎么来的了,因为将EAX与EAX交换毫无意义。

91 XCHG EAX, ECX

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值