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

📄 head.s

📁 2440 中断实例 按键盘键点亮LED灯
💻 S
字号:


.text
.global _start
_start:
	b Reset

@ 0x04: 未定义指令中止模式的向量地址
HandleUndef:
    b   HandleUndef 
 
@ 0x08: 管理模式的向量地址,通过SWI指令进入此模式
HandleSWI:
    b   HandleSWI

@ 0x0c: 指令预取终止导致的异常的向量地址
HandlePrefetchAbort:
    b   HandlePrefetchAbort

@ 0x10: 数据访问终止导致的异常的向量地址
HandleDataAbort:
    b   HandleDataAbort

@ 0x14: 保留
HandleNotUsed:
    b   HandleNotUsed

@ 0x18: 中断模式的向量地址
    b   HandleIRQ

@ 0x1c: 快中断模式的向量地址
HandleFIQ:
    b   HandleFIQ


Reset:
	ldr	sp,=4096
	bl	disable_watch_dog
	
	msr	cpsr_c,#0xd2
	ldr	sp,=3072

	msr	cpsr_c,#0xdf
	ldr	sp,=4096

	bl	init_led
	bl	init_irq
	msr	cpsr_c,#0x5f

	ldr	lr,=halt_loop
	ldr	pc,=main

halt_loop:
	b	halt_loop


HandleIRQ:
	sub	lr,lr,#4
	stmdb	sp!,{ r0-r12,lr }

	ldr	lr,=int_return
	ldr	pc,=EINT_Handle
int_return:
	ldmia	sp!,{ r0-r12,pc }^


⌨️ 快捷键说明

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