button_statusfetch.s

来自「arm基础实验代码」· S 代码 · 共 65 行

S
65
字号
	IMPORT	switch_dummyAddress
	IMPORT	buttonScanDelay
	IMPORT	buttonStatus


	EXPORT	button_statusFetch

	AREA button_statusFetch ,CODE ,READONLY

	stmfd r13!,{r4,r5,r10,r11,r14}
	ldr r10,=buttonStatus
	ldr r11,=switch_dummyAddress
	ldr r4,[r11]
	mvn r4,r4
	and r4,r4,#0xff
	cmp r4,#0x0
	beq statusGetNoHit

	ldr r0,[r10]
	cmp r0,#0x0
	bne statusGetHitted

	ldr r0,=buttonScanDelay

buttonReadDelay
	sub r0,r0,#0x1
	cmp r0,#0x0
	bne buttonReadDelay	

	ldr r4,[r11]
	mvn r4,r4
	and r4,r4,#0xff
	cmp r4,#0x0
	beq statusGetNoHit

	mov r0,#0x1
	str r0,[r10]
	
	mov r5,#0x1

statusGetLoop
	and r0,r4,r5
	cmp r0,#0x0
	bne statusGetEnd

	mov r5,r5,LSL #1
	b statusGetLoop

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

statusGetNoHit
	mov r0,#0x0
	str r0,[r10]
	b statusGetEnd

statusGetHitted
	mov r0,#0x0

statusGetEnd
	ldmfd r13!,{r4,r5,r10,r11,pc}

	END


	

⌨️ 快捷键说明

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