📄 gfd_hal.s
字号:
AREA ASIX_ARM, CODE, READONLY
IMPORT g_pCurTsk
EXPORT save_current_sp
save_current_sp
ldr r0, =g_pCurTsk
ldr r0, [r0]
str r13, [r0,#16]
mov pc, lr
EXPORT restore_current_sp
restore_current_sp
ldr r0, =g_pCurTsk
ldr r0, [r0]
ldr r13, [r0,#16]
mov pc, lr
EXPORT get_current_value_from_stack
get_current_value_from_stack
ldmfd r13!, {r1}
mov pc, lr
EXPORT push_null
push_null
sub r13, r13, #4
mov pc, lr
EXPORT pop_null
pop_null
add r13, r13, #4
mov pc, lr
EXPORT push_all_comm_reg
push_all_comm_reg
stmfd sp!, {r0-r12}
mov pc, lr
EXPORT pop_all_comm_reg
pop_all_comm_reg
ldmfd sp!, {r0-r12}
mov pc, lr
EXPORT pop_all_comm_reg_and_int_reti
pop_all_comm_reg_and_int_reti
ldmfd sp!, {r0-r12}
ldmfd sp!, {r14}
msr spsr_cxsf, r14
ldmfd sp!, {r14}
ldmfd sp!, {pc}^
EXPORT push_callee_saved_reg
push_callee_saved_reg
stmfd sp!, {r2-r12}
mov pc, lr
EXPORT pop_callee_saved_reg
pop_callee_saved_reg
ldmfd sp!, {r2-r12}
mov pc, lr
EXPORT push_cpsr
push_cpsr
mrs r0,CPSR
stmfd sp!, {r0}
mov pc, lr
EXPORT pop_cpsr
pop_cpsr
msr CPSR_c,r0
ldmfd sp!, {r0}
mov pc,lr
NOINT EQU 0xc0
EXPORT ent_cri
ent_cri
mrs r0,CPSR
orr r1,r0,#NOINT
msr CPSR_c,r1
mov pc,lr
EXPORT ret_cri
ret_cri
msr CPSR_c,r0
mov pc,lr
EXPORT reti
reti
ldmfd r13!,{r4,pc} ;for release
;ldmfd r13!,{r3,pc} ;for debug
EXPORT int_reti
int_reti
ldmfd sp!, {r14}
msr spsr_cxsf, r14
ldmfd sp!, {r14}
ldmfd sp!, {pc}^
EXPORT move_r1tor0
move_r1tor0
mov r0, r1
mov pc, lr
END
AREA DATA_SECTION, DATA, READWRITE
KEEP
PSR_R0 DCD 0X0
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -