x64汇编要点总结

	int a = 1;                 mov dword ptr [ebp - 8], 1
    int b = 2;                 mov dword ptr [ebp - 14h],2
  	int c = a + b;          mov eax, dword ptr [ebp - 8]
                                 add eax, dword ptr [ebp - 14h]
                                 mov dword ptr [ebp - 20h], eax
   
   汇编语言:8086汇编(16bit),x86汇编(32bit),x64汇编(64)bit (汇编语言不区分大小写)
   AT&T汇编 vs Intel汇编
   
   寄存器命名   %eax                               eax                Intel的不带%
   操作数顺序   movl %eax,%edx      mov edx, eax        将eax的值赋值给edx
   常数\立即数  movl $3,%eax           mov eax,3             将3赋值给eax
   
   jmp指令    jmp *%edx          jmp edx
               jmp *0x4001002     jmp 0x4001002       在AT&T的jmp地址前面要加星号*
                  jmp *(%eax)        jmp [eax]
   
   操作数长度  movl %eax, %edx    mov edx, eax
                       movb $0x10, %al    mov al, 0x10
                     leaw 0x10(%dx),%ax  lea ax, [dx + 0x10]
   // b=byte(8-bit)
      s=short(16
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值