Follow Excellent, Success will Chase you

0%

ARM64基本的汇编语法

记录常用到的arm64汇编语法,参考libjpeg-turbo

常见语法

语法说明备注/示例
.req寄存器重命名DATA .req x0: DATA是寄存器x0的别名
.unreq取消重命名定义.unreq DATA
.balign字节对其.balign 16 :十六字节对其
b跳转到标号处执行b 40 <main+0x40>
cmp比较cmp w0, #0x6e, 不会改变两个寄存器的值即两个寄存器不会变化,但是其结果会影响cpsr状态寄存器的标记值(nzcv)
b.le小于等于(less than or equal to),执行标号,否则不跳转b.le 24 <main+0x24>
b.ge大于等于(great than or equal to),执行标号,否则不跳转
b.gt大于(greater than),执行标号,否则不跳转
b.lt小于(less than),执行标号,否则不跳转
b.eq等于(equal to),执行标号,否则不跳转
b.hi无符号大于,执行标号,否则不跳转

示例

参考

-------------本文结束感谢您的阅读-------------
  • 本文作者: Winddoing
  • 本文链接: https://winddoing.github.io/post/5543.html
  • 作者声明: 本博文为个人笔记, 由于个人能力有限,难免出现错误,欢迎大家批评指正。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!