ldr
常用情况:ldr r0, =0x53000000
就是把一个地址放入寄存器r0中
它常用地址赋值
LDR r, label 和 LDR r, =label的区别:
LDR r, =label 会把label表示的值加载到寄存器中,而LDR r, label会把label当做地址,把label指向的地址中的值加载到寄存器中。
譬如 label的值是 0x8000, LDR r, =label会将 0x8000加载到寄存器中,而LDR r, label则会将内存0x8000处的值加载到寄存器中。
str
常用情况:str r1, [r0]
把r1里的内容放到r0寄存器里存放的地址所指向的空间:寄存器间接寻址
msr这是设置中断异常的指令
msr cpsr_c, #0xd2 @ 进入中断模式
ldr sp, =3072 @ 设置中断模式栈指针
msr cpsr_c, #0xd3 @ 进入管理模式
ldr sp, =4096 @ 设置管理模式栈指针,