start.s

来自「基于ARM7微控制器AT91X40开发板的定时器程序」· S 代码 · 共 58 行

S
58
字号
/*
 * start.S 
 * very simple code for ARM 7TDMI 
 *
 * author: Kexin (kexin28@126.com) Tel:+8613714451195
 * date:   2007-11-22	
 */
 

	
.text
	.align 4
	.global begin
	.type begin, function

begin:
	@set up irq stack
	mov 	r0, #0xd2                @ make irq mode with all irqs disabled
	msr 	cpsr, r0
	ldr 	sp, =irq_stack           @ set sp_irq = irq_stack
	
	mov     r0,#0xd3
	msr     cpsr,r0
	ldr     sp, =svc_stack

	@ldr     lr,=__main

	mov     r0,#0x13
     	msr     cpsr,r0

	@mov	pc,lr
	b	maintest
	@b	begin

  	.align  2
        .global irq_handler
	.type   irq_handler,function
irq_handler:
        SUB     lr,lr,#4
        STMFD   sp!,{r0-r12,lr}
 	MRS	r4,spsr
	STMFD	sp!,{r4}
	
	BL	do_irq

	LDMFD	sp!,{r4}
	MSR	spsr,r4
	LDMFD	sp!,{r0-r12,pc}^			

.data
	.align  4
irq_stack:
        .word  0
	.space	4096
svc_stack:
 	.word  0
        .space  4096

⌨️ 快捷键说明

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