mov: 将某一寄存器的值复制到另一寄存器(只能用于寄存器与寄存器或者寄存器 与常量之间传值,不能用于内存地址),如:
mov x1, x0 将寄存器 x0 赋值到寄存器 x1 中
add: 将某一寄存器的值和另一寄存器的值 相加 并将结果保存在另一寄存器中, 如:
add x0, x1, x2 将寄存器 x1 和 x2 的值相加后保存到寄存器 x0 中
sub: 将某一寄存器的值和另一寄存器的值 相减 并将结果保存在另一寄存器中:
sub x0, x1, x2 将寄存器 x1 和 x2 的值相减后保存到寄存器 x0 中
and: 将某一寄存器的值和另一寄存器的值 按位与 并将结果保存到另一寄存器中, 如:
and x0, x0, #0x1 将寄存器 x0 的值和常量1 按位与后保存到寄存器 x0 中
orr: 将某一寄存器的值和另一寄存器的值 按位或 并将结果保存到另一寄存器中, 如:
orr x0, x0, #0x1 将寄存器x0 和寄存器 1 按位或后保存到寄存器 x0 中
str : 将寄存器中的值写入到内存中,如:
str x0, [x0, x8] ; 将寄存器 x0 中的值保存到栈内存 [x0 + x8] 中
ldr: 将内存中的值读取到寄存器中,如:
ldr x0, [x1, x2] 将寄存器 x1 和寄存器 x2 的值相加作为地址,取改内存地址中的值放入寄存器 x0中
cbz: 和 0 比较,如果结果为零就转移(只能跳到后面的指令) cbnz: 和非 0 比较,如果结果非零就转移(只能跳到后面的指令)
cmp: 比较指令
blr: (branch)跳转到某地址(无返回)
bl: 跳转到某地址(有返回)
ret: 子程序(函数调用)返回指令,返回地址已默认保存在寄存器 lr (x30) 中
常见的汇编指令
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 汇编语言的种类: 1.8086汇编(16bit)2.x86汇编 (32bit)3.x64汇编 (64bit)4.A...