arm的中断及模式:
1.中断:模式
msr
mrs
上面两条只与cpsr,读cpsr中的低5位来知道到当前的模式
mrsr0,cpsr 将cpsr存到r0
msr cpsr,r0
2.
从一个模式进入另一个模式:将当前模式的cpsr保存到我们要进入的模式的spsr
将当前模式的pc保存到我们要进入的模式的lr
当我们从另一个模式回到之前的那一个模式时:
mov sp,#56000000
ldmdb sp,{r0-r12,pc}^ 其中的^代表cpsr与pc同时还回去
3.
undefine 与swi是在译码阶段发生异常,其它异常发在执行阶段
取指,译码,执行,访存,回写
4.
我们的程序存储在代码段,在链接的时候,是从低地址开始(因为电脑是小端的)链接的。
5.
存在即合理
链接地址:vma ->visual memory address
导入地址:Lma ->load memory address
ldr==>编译时生成一个.word 记录地址==>链接时把地址 (绝对地址)
adr==>相对地址,不能跨越段(相对地址)
arm-objdump -D test > aa//反汇编查看。