ARM指令集中,LDR一般都是作加载指令的,可是它也能够作伪指令。
(1)LDR r0,=name,像这种带等号的是伪指令,而不是ARM指令,LDR 伪指令用于加载当即数或一个地址值到指定寄存器.
*假如name是当即数的话:LDR R0,=0X123;//将0X123存入R0
*假如name是个标识符:LDR R0,=NAME; //将NAME的地址存入R0
相当于:
LDR R0,LABEL;
LABEL DCB NAME;//分配内存并用NAME初始化(LABEL为内存的开始地址?)
(2)LDR R1,[R0] ;假如没有等号,LDR 指令用于从内存中读取数据放入寄存器中.该指令是 将R0 地址处的数据读出,保存到R1 中(零偏移)。