1,为什么我在用户末时下无法修改sp,我用的是sdt调试,程序如下
msr cpsr,#0x10 ldr r0,=usr_stack+1024 mov sp,r0 编译能通过,但是单步运行后发现用户模式下sp=0.用下面的两行程序也是这样: msr cpsr,#0x10 ldr sp,=usr_stack+1024 老是不能修改用户模式的sp,我怎么想都想不通!
2,从中断处理程序退出时,树上说执行 subs pc,r14,#4 我试过的确可用,但是我不明白的是,为什么中断处理退出之前,程序中并没有手动将终端模式更换成其它模式,难道执行subs pc,r14,#4的时候,cpu就知道这个是中断退出的指令?至于用户模式的切换完全是cpu自动完成的?
|