swi_led.s

来自「在s3c2440开发板裸板上模拟软中断处理程序」· S 代码 · 共 30 行

S
30
字号
	AREA Swi, CODE, READONLY
	EXPORT SWI_Handler	;声明全局变量,供外部函数调用
	IMPORT swi_led_on ;声明外部定义的变量
	IMPORT swi_led_off ;声明外部定义的变量
	
SWI_Handler  ;;;中断处理程序入口
	STMFD	sp!,{r0-r3,r5,lr}  ;保护环境
	MRS		r1,spsr
	STMFD	sp!,{r1}
	
	TST		r5,#0x20     ;;取中断号
	LDRNEH  r5,[lr,#-2]
	BICNE	r5,r5,#0xff00
	LDREQ	r5,[lr,#-4]
	BICEQ	r5,r5,#0xff000000
	
	TEQ		r5,#0x0
	BLEQ	swi_led_on  ;swi_led子程序处理亮灯模式,switch
	
	TEQ		r5,#0x1
	BLEQ	swi_led_off  ;swi_led子程序处理熄灯模式,switch
	
	LDMFD	sp!,{r1}  ;恢复环境
	MSR		spsr_cf,r1
	MOV		r1,sp
	STR		r0,[r1]
	LDMFD	sp!,{r0-r3,r5,pc}^
	
	END
	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?