ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】

状态寄存器访问过程:读 - 改 - 写

读 CPSR / SPSR 指令【 mrs 】    格式:<opcode><cond> Rn, cpsr/spsr  

    

写 CPSR / SPSR 指令【 msr 】    格式:<opcode><cond> cpsr/spsr , Rn 

mrs r0, cpsr          @ 读取cpsr 中状态放在 r0 中
mov r1, #0x1F     
mvn r1, r1             @ 按位取反在放到 r1 中
and r0, r0, r1      @ r1 和 r0 按位与 结果放到 r0 中   清零r0 中的低 5mov r1, #1       
lsl r1, r1, #4
orr r0, r0, r1    @ 置 15 位 主要改变用户状态 
msr cpsr, r0     @ 把 r0 中修改后的数据写入 CPSR中 , 把SVC模式改为 user模式
        

猜你喜欢

转载自www.cnblogs.com/electronic/p/11021144.html