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

📄 init-1.s

📁 s3c4510B 的一些实验成功的程序,对初学者有很大帮助
💻 S
字号:

IOPMOD		EQU	0x3FF5000
IOPDATA		EQU	0x3FF5008
TMOD		EQU	0x3FF6000
TDATA0		EQU	0x3FF6004
INTMOD		EQU	0x3FF4000
INTPND		EQU	0x3FF4004
INTMASK		EQU	0x3FF4008

    AREA    Init, CODE, READONLY
    
    ENTRY

	B		Reset_Handler
	B		.
	B		.
	B		.
	B		.	
	NOP			
	B		IRQ_Handler
	B		.
	
;***************************	
;LED Display	
;***************************	
Reset_Handler
	LDR		R1,=IOPMOD
	LDR		R0,=0xFF
	STR		R0,[R1]
	
	LDR		R1,=IOPDATA
	LDR		R0,=0xFE				
	STR		R0,[R1]			;// P0 亮灯  低电平亮灯
	
	LDR     R0,=0x0
LEDDELAY
	ADD		R0,R0,#1
	CMP		R0,#&180000		;// 延时
	BNE		LEDDELAY
	
	LDR		R0,=IOPDATA
	LDR		R1,[R0]
	EOR		R1,R1,#1
	STR		R1,[R0]			;// P0 灭灯
	
;***************************		
;User Stack	
;***************************	
	LDR		R0,=0x3FF0000
	LDR		R1,=0xE7FFFF80
	STR		R1,[R0]
	
	LDR		SP,=0x3FE1000
	
;***************************		
;Interrupt special Registers	
;***************************	
	MRS		R0,CPSR
	BIC     R0,R0,#&80 			;//修改CPSR的控制位I,允许中断
	MSR		CPSR_c,R0
	
	LDR		R1,=INTMOD
	LDR		R0,=&0
	STR		R0,[R1]
	
	LDR		R1,=INTMASK
	LDR		R0,=&1FFbFF
	STR		R0,[R1]

;***************************	
;Timer0 Special Registers	
;***************************	
	LDR		R1,=TDATA0
    LDR		R0,=0x1FFFFFF
	STR		R0,[R1]
	
	LDR		R1,=TMOD
	LDR		R0,=&01
	STR		R0,[R1]
	B		.
	
;***************************		
;Timer0 Interrupt	
;***************************	
IRQ_Handler
	STMFD	SP!,{R0-R6,LR}
	
	LDR		R1,=INTPND
	LDR		R0,=&400
	STR		R0,[R1]
	
	MRS		R0,CPSR
	BIC     R0,R0,#&80 			;//修改CPSR的控制位I,允许中断
	MSR		CPSR_c,R0
	
	LDR		R0,=IOPDATA
	LDR		R1,[R0]
	EOR		R1,R1,#1
	STR		R1,[R0]
	
	LDMFD	SP!,{R0-R6,LR}
	SUBS	PC,LR,#4
	
	END


	
	
			
		

⌨️ 快捷键说明

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