-
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 x0, [x0, x8] 將寄存器 x0 中的值保存到棧內存 [x0 + x8]處
ldr x0, [x1, x2] 將寄存器 x1 和寄存器x2的值相加作為地址,取該內存地址的值放入寄存器 x0 中
-
cbz: 和 0 比較,如果結果為零就轉移(只能跳到后面的指令)
-
cbnz: 和非 0 比較,如果結果非零就轉移(只能跳到后面的指令)
-
cmp: 比較指令
-
blr: (branch)跳轉到某地址(無返回)
-
bl: 跳轉到某地址(有返回)
-
ret: 子程序(函數(shù)調用)返回指令,返回地址已默認保存在寄存器 lr (x30) 中
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。