ARM64指令集之加载与存储指令

基于及地址的寻址模式

基地址

LDR    Xt,    [Xn]

加载Xn寄存器所指向的地址的数据到Xt寄存器

STR    Xt,      [Xn]

把Xt寄存器中的内容存储到Xn寄存器所指向的地址中

基地址加偏移量

LDR    Xt,    [Xn offset]
STR    Xt,    [Xn offset]

offset为地址偏移量

基地址扩展模式

LDR    Xt,    [Xn,    Xm    {,    <extend>    {<amount>}}]
STR    Xt,    [Xn,    Xm    {,    <extend>    {<amount>}}]

有点小麻烦,之后补充

变基地址模式

有两种,加载或存储前变基地址,和加载或存储后变基地址
前变基

LDR    Xt    [xn | sp,    #<simm>]
STR    Xt    [xn | sp,    #<simm>]

后变基

LDR    Xt    [xn | sp],    #<simm>
STR    Xt    [xn | sp],    #<simm>]

示例

LDR    X0,    [X1,    #8] !
LDR    X0,    [X1],    #8]

相对地址模式

汇编代码里通常使用标签(label)来标记代码段,LDR还提供一种访问标签的地址模式

LDR		<Xt>,	<label>

示例

label:
	.word 0x40

ldr	x0, label

x0寄存器的值为0x40

LDR伪指令

当第二个参数前有“=”,表示伪指令,没有则是普通的内存访问指令。

压栈和出栈命令

STP
LDP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值