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

📄 embesttxt1.s

📁 移植的arm内核芯片 s3c4510 的ucos-ii的源码
💻 S
字号:
	.GLOBAL ArmIRQIsr
#One of the following two routines can be used for non-vectored interrupt.
ArmIRQIsr:				/* using INTOFFSET register. */
    sub	    sp,sp,#4       	/* reserved for PC	  */
    stmfd   sp!,{r8-r10}   

	#IMPORTANT CAUTION
	#Reseted!INTOFFSET'value is 0x000054.
    ldr	    r8,=INTOFFSET_ADDR
    ldr	    r8,[r8]

	cmp		r8, #0x00054			/* If all interrupt pending bits are "0", 	*/
									/* r8 may be 0x00054 sometimes.			*/
	beq		HAVE_NOPENDING
HAVE_PENDING:
	#clear pend bit
	mov		r9, #0x1
	mov r8, r8, lsr #2
	mov r9, r9, lsl r8
	
	mov r8, r8, lsl #2
	
	LDR	r10, =INTPEND
	STR	r9, [r10]
	#interrupt bx
    ldr	    r9,=_PRIO_ISR_STARTADDR
    add	    r9,r9,r8
    ldr	    r9,[r9]
    str	    r9,[sp,#12]
    ldmfd   sp!,{r8-r10,pc}

HAVE_NOPENDING:
	ldmfd	sp!,{r8-r10}
	add		sp,sp,#4
	subs	pc,lr,#4

⌨️ 快捷键说明

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