uint32* cur_sp = 0, *cur_lr = 0, *cur_pc = 0;
#ifndef __ARMCC_VERSION > 22000
#pragma arm
__asm {
MOV cur_sp __current_sp()
MOV cur_lr , __return_address()
MOV cur_pc , __current_pc()
}
#pragma thumb
__asm {
MOV cur_sp, r13
MOV cur_lr, r14
MOV cur_pc, r15
}
在内联汇编中使用以下内在函数:
-
访问
pc
寄存器。 -
访问
sp
寄存器。 -
访问
lr
寄存器。
__current_pc()
__current_sp()
__return_address()