⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gfd_hal.s

📁 最近在國外網站抓到的作業系統 以Arm為基礎去開發的
💻 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 + -