求助!
在M3 权威指南里 第11章 关于SVC 有如下代码:
[CODE]
svc_handler
TST LR, #0x4 ; 测试EXC_RETURN的比特2
ITE EQ ; 如果为0,
MRSEQ R0, MSP ; 则使用的是主堆栈,故把MSP的值取出
MRSNE R0, PSP ; 否则, 使用的是进程堆栈,故把MSP的值取出
LDR R1, [R0,#24] ; 从栈中读取PC的值
LDRB R0, [R1,#-2] ; 从SVC指令中读取立即数放到R0
[CODE]
最后一行 怎么就是读到SVC的指令里的立即数的? 没想明白 这里不是PC指向的地方吗? |