首页 > 编程知识 正文

arm str(汇编语言ldr)

时间:2023-05-04 06:50:05 阅读:71036 作者:3376

目录str和stur存储指令ldr和ldur读取指令

虽然经常看到xcode切换中出现stur和ldur等命令,但是网上的资料并不多,所以今天总结做:

str和stur存储命令

这是用于将寄存器的内容存储在右侧地址的一对存储器指令,使用形式为以下:

str寄存器、[存储器地址]

sur寄存器、[存储器地址]

例如,以下汇编代码

str w11,[x10,#0xa0]

stur w12,[x29,#-0x18]

出于功能的原因,这两个指令一般相对应,存储数值,并且例如向变量指派:

int a=3; 将c赋值给局部变量对应于以下程序集代码:

mov w12、#0x3stur w12、[x29,#-0x18] mov首先将3分配给寄存器w12,然后stur存储命令将w12寄存器的内容写入存储器地址x29、#-0x18。

全局变量int g_a=0;

g_a=10; mov w11、#0xastr w11、[x10、#0xa0] mov首先将10=16进制0xa代入w11

str存储命令将w11的内容写入存储器地址x10、#0xa0。

ldr和ldur读取命令跟在上面的代码之后

int c1=g_a; 上面g_a的内容已经由str写入地址:x10、#0xa0中,

然后,要将g_a的值指定给c1,需要以下命令:

ldr w12、[x10,#0xa0]stur w12、[x29,#-0x14] ldr将内存x10、#0xa0的内容读取到w12中,

sur将w12的内容写入x29、#-0x14存储器,x29、#-0x14是变量c1的地址

ldur的功能与ldr相同,均为读取,但寄存器的使用不同

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。