汇编

一.基础

  1. 汇编语言的种类:
  • 8086汇编:16bit
  • x86汇编:32bit
  • x64汇编:64bit
  • ARM汇编:嵌入式和移动设备
  1. 汇编语言的书写格式
  • Inter:Windows派系
  • AT&T:UNIX派系
  1. IOS开发主要的汇编语言是
  • AT&T汇编 -> mac上的IOS模拟器上的
  • ARM汇编 -> 手机实机
  1. 基础语法:
  • 寄存器命名:%rax
  • 操作数顺序: movq -0x18%rax,%rdx ->将地址为rax - 0x18中的值赋值给rdx
  • 常数:movq $0xa,0x1ff7(%rip) ->将0xa复制给地址为0x1ff7(%rip) 的内存空间
  • 取内存地址:leaq -0x18%rax,%rdx ->将地址]rax - 0x18赋值给rdx
  • jmp和call:jmp后接一个地址,会跳转到那个地址继续往下执行。而call后面一般接的是一个函数的地址,并且和ret(return)配合使用,在函数中遇到ret后,会回到源代码中call的下一条语句继续执行。
  • 间接跳转在jmp和call后面加上*%和寄存器名字。
  1. 操作数长度:
  • b = 8bit
  • s = 整数16或者浮点数32
  • w = 16
  • l = 整数32或浮点64
  • q = 64
  • t = 80
  1. 寄存器长度
  • rax一共64位,他的一半叫eax有32位,再拿一半叫ax有16位,这16位的高八位叫ah,低8位叫al
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值