; PendSV_Handler
PendSV_Handler
LDR R2, =OSTcbCurr ; 不必关中断。嵌套中断发生时会自动保存 R0~R3 到 MSP 并恢复
LDR R0, [R2]
PendSV_Handler_1
; ORR LR, LR, #4 ; 要求从 PSP 出栈, 返回后使用 PSP
MOVS R0, #4
MOV R1, LR
ORRS R0, R1, R0
MOV LR, R0
LDR R0, =OSTcbHigh ; OSTcbCurr = OSTcbHigh ;dw LDR RO,=立即数
LDR R0, [R0]
STR R0, [R2]
LDR R3, [R0] ; PSP = OSTcbHigh->StkPtr
LDR指令的格式:
LDR{条件} 目的寄存器 <存储器地址>
作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。
LDR指令的寻址方式比较灵活,实例如下:
LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。
LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。
LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0。
LDR R0,[R1],R2 ;将存储器地址为R1的字数据读入寄存器R0,并将