




    AREA |.text|, CODE, READONLY, ALIGN=2
    THUMB
    REQUIRE8
    PRESERVE8

;指针调用会使用LDR指令，通过解析这个指令使用的寄存器
;可以从这个寄存器得到类的基地址
;在调用这个函数之前，调用者会压栈，此时LR已经不是之前的值
;所以只能解析PHSH指令，找到栈中存储的LR值
__self_pointer    PROC
    EXPORT  __self_pointer
    MOV     R0,LR
    LDRH    R0,[R0,#-2]
    BX      LR
    ENDP


__interrupt_disable    PROC
    EXPORT  __interrupt_disable
    MRS     r0, PRIMASK
    CPSID   I
    BX      LR
    ENDP

__interrupt_enable    PROC
    EXPORT  __interrupt_enable
    MSR     PRIMASK, r0
    BX      LR
    ENDP

__set_msp   PROC
    EXPORT __set_msp
    MSR msp, r0
    BX lr
    ENDP



    ALIGN   4

    END




