AArch64 ASM
这篇博客介绍了AArch64(ARM64)汇编语言的基础知识,重点讲解了ARM常用寄存器(如栈指针SP)的特点,以及各类指令的分类和用法,包括加载与存储(LDR/STR/LDP/STP及其变种)、算术与移位(ADD/SUB/ADC/SBC/CMP)、位段操作(BFI/UBFX/SBFX)和乘除法指令等,并通过多个练习示例展示了指令的具体应用和注意点(如对齐、伪指令与内存访问指令的区别)。
AArch64 ASM Book
AArch64架构中指令固定为4字节,指针为8字节(有效地址通常为48至52位)。寄存器分为x(64位整数/指针)、w(32位整数)、d(64位浮点)、s(32位浮点)等类型,其中x29为栈帧指针,x30为链接寄存器。浮点与SIMD寄存器使用v(物理寄存器)和q(别名),支持16字节宽度的操作。函数返回值过大时通过间接结果位置传递。
