; 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{条件} 目的寄存器

本文详细解析了XOS源码中PendSV_Handler函数的LDR指令,讲解了LDR指令的作用、格式和不同寻址方式,并通过实例展示了如何在汇编代码中使用LDR指令。同时,文章探讨了LDR伪指令与ARM指令的区别,强调了LDR伪指令在处理大地址或不方便的立即数时的便利性。
最低0.47元/天 解锁文章
583

被折叠的 条评论
为什么被折叠?



