intidnf_ostimer.s

来自「PXA250嵌入式」· S 代码 · 共 79 行

S
79
字号
	IMPORT	osTimer_OIER
	IMPORT	osTimer_OSSR
	IMPORT	int_ICPR
	IMPORT	ledStatusBuffer


	IMPORT	led_statusSet

	EXPORT	intIdentify

	AREA intIdentify ,CODE ,READONLY

	stmfd r13!,{r4-r7,r11,r14}

	ldr r11,=int_ICPR
	ldr r4,[r11]	
	mov r5,#0x20000000
	mov r6,#0x4

handleIdentifyLoop
	tst r4,r5
	bne handlExecute

	sub r6,r6,#0x1
	cmp r6,#0x0
	beq handleIdentifyError

	mov r5,r5,LSR #1
	b handleIdentifyLoop

;//////////

handlExecute
	sub r6,r6,#0x1
	mov r0,#0x1	
	mov r0,r0,LSL r6
	mov r6,r0

	ldr r11,=ledStatusBuffer
	ldr r4,[r11]
	orr r0,r0,r4
	str r0,[r11]

	mov r14,pc
	;$$$$$
	;input:r0--value
	;
	ldr pc,=led_statusSet
	;
	;output:null
	;$$$$$


	ldr r11,=osTimer_OIER
	ldr r4,[r11]

	bic r4,r4,r6
	str r4,[r11]

	ldr r11,=osTimer_OSSR
	ldr r4,[r11]
	and r4,r4,r6
	str r4,[r11]

	mov r0,#0x0
	b handleIdentifyEnd

;///////////

handleIdentifyError
	mov r0,#0x1

;////////

handleIdentifyEnd
	ldmfd r13!,{r4-r7,r11,pc}
	END
	

⌨️ 快捷键说明

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