ARM汇编STR和LDR
时间:11-20
来源:互联网
点击:
1.使用单一数据传送指令(STR 和 LDR)来装载和存储单一字节或字的数据从/到内
存。
请问装载(LDR)和存储(STR)有什么区别?我个人理解没有区别.就是向指定的地址写数
据.是么?
LDR是内存数据放到寄存器,即装载,是读
STR是寄存器数据到内存,即存储,是写
2.ldr r0, PtEBIBase
对于这条指令中的PtEBIBase,它是一个地址么?可是它之前的定义是:
PtEBIBase:
.long EBI_BASE
PtEBIBase是一个标号,指向一个long型的数,这个数的值等于EBI_BASE,就是EBI的
基地址
3.ldr r1, [pc,#-(8+.-InitTableEBI)]
#-(8+.-InitTableEBI)这个东西如何计算?比如:
InitTableEBI是一个标号
8 + 当前地址 = 当前PC
8 + 当前地址 - InitTableEBI = 当前PC到InitTableEBI这个标号(即地址)的距
离。
pc - (8 + 当前地址 - InitTableEBI) = InitTableEBI这个标号的地址。
就是说,最后r1的值是InitTableEBI这个标号的地址。
存。
请问装载(LDR)和存储(STR)有什么区别?我个人理解没有区别.就是向指定的地址写数
据.是么?
LDR是内存数据放到寄存器,即装载,是读
STR是寄存器数据到内存,即存储,是写
2.ldr
对于这条指令中的PtEBIBase,它是一个地址么?可是它之前的定义是:
PtEBIBase:
PtEBIBase是一个标号,指向一个long型的数,这个数的值等于EBI_BASE,就是EBI的
基地址
3.ldr
#-(8+.-InitTableEBI)这个东西如何计算?比如:
InitTableEBI是一个标号
8
8
离。
pc
就是说,最后r1的值是InitTableEBI这个标号的地址。
ARM汇编STRLD 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)