关于汇编指令ldr和str的理解
2018-03-16 22:01
302 查看
(1)..ldr指令:(load装载) 外存--->>>内存 ldr 指令传数据(将数据传入寄存器) 无论是否是立即数,都可以进行传 格式:ldr 寄存器,=数字 若数字式立即数:ldr 指令(ldr 寄存器,=数字)和 mov指令功能相同(mov 寄存器, #数字) 若数字不是立即数:要想传数据只能选择ldr 指令
(2)..ldr格式:(keil测试下 ) 格式1:ldr 寄存器,=32位字数据 ======>>>> 取地址(有等号) 格式2:ldr 寄存器,32位字数据 =======>>> 取内容(无等号)(3)..str指令: (内--->>外 keil中用 memory windows 查看写入外存的数据) 从源寄存器 将32字数据写到存储器(寄存器(内存) --->>>> 外部存储器(外存))str r0,[r1],#8 (-->>)== *(++p) 内 外 r1 = r1 + 8将r0中的字数据写入到以r1为地址的存储器中,并将新地址r1+8写入到r1str r0,[r1,#8] (-->>) == *(p+1) 内 外 将r0中的字数据写入到以r1+8为地址的存储器中
这是学习汇编指令时对ldr指令和str指令的理解,欢迎各位探讨!
(2)..ldr格式:(keil测试下 ) 格式1:ldr 寄存器,=32位字数据 ======>>>> 取地址(有等号) 格式2:ldr 寄存器,32位字数据 =======>>> 取内容(无等号)(3)..str指令: (内--->>外 keil中用 memory windows 查看写入外存的数据) 从源寄存器 将32字数据写到存储器(寄存器(内存) --->>>> 外部存储器(外存))str r0,[r1],#8 (-->>)== *(++p) 内 外 r1 = r1 + 8将r0中的字数据写入到以r1为地址的存储器中,并将新地址r1+8写入到r1str r0,[r1,#8] (-->>) == *(p+1) 内 外 将r0中的字数据写入到以r1+8为地址的存储器中
这是学习汇编指令时对ldr指令和str指令的理解,欢迎各位探讨!
相关文章推荐
- ARM中关于绝对寻址相对寻址LDR,ADR的理解
- arm 汇编指令:内存访问方式 、STR 、LDR 指令
- 关于adr和ldr指令的理解
- 关于LDR指令的理解
- ARM中关于绝对寻址相对寻址LDR,ADR的理解
- ARM中关于绝对寻址相对寻址LDR,ADR的理解
- 关于self.str = [[nsstring alloc]initwithformater:@"**"]; 和 self.str = @"abc"; 理解
- 关于ldr和adr的理解
- 关于 UnixDomaiSocket 中 send(; ; ; ) 的第二个参数使用 char *str 的可行性验证
- SWING 中关于UI线程的理解 ver 0.8
- objective-c中关于协议protocol的一些理解
- 深入理解7816(2)---关于ATR
- 关于Vertebi算法的理解以及程序实现
- 关于linux进程、lwp、线程的理解
- 关于JavaScript中 arguments 的理解
- 汇编LDR、LDM和STR、STM的区别
- 关于加载地址和运行地址理解
- 关于C++中常量的理解
- 关于adr指令的理解
- 关于WSDL的理解