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

📄 abort.s

📁 s3c44b0 arm工作模式实验
💻 S
字号:
#*********************************************************************************************
# NAME:		ARMmode.s																		 *
# Author: 	Embest																			 *
# Desc:		ARM instruction examples														 *
#           Example for Abort mode												 *
# History:	shw.He 2005.02.22																 *
#*********************************************************************************************

/*------------------------------------------------------------------------------------------*/
/*	 								constant define						 				    */
/*------------------------------------------------------------------------------------------*/
.global _start

/*------------------------------------------------------------------------------------------*/
/*	 								code								 				    */
/*------------------------------------------------------------------------------------------*/
.text
_start:

/*------------------------------------------------------------------------------------------*/
/* Setup interrupt / exception vectors														*/
/*------------------------------------------------------------------------------------------*/
		b		Reset_Handler
Undefined_Handler:
		b		Undefined_Handler
		b		SWI_Handler
Prefetch_Handler:
		b		Prefetch_Handler
Abort_Handler:
		b 		Abort_Handler
		nop										/* Reserved vector */
IRQ_Handler:
		b		IRQ_Handler
FIQ_Handler:
		b		FIQ_Handler

SWI_Handler:
		mov pc, lr
       
Reset_Handler:

visitmen:
		ldr  r1,=0xf0000000 					/* R1 = 0xf0000000 */
		ldr  r2,[r1]							/* read the value in 0xf0000000 into R2 */
/*------------------------------------------------------------------------------------------*/
/* 	the non-exist memory access will cause cpu into Abort mode (only a real hardware)		*/
/*------------------------------------------------------------------------------------------*/
		mrs r0,spsr								/* read CPSR value							*/
		mov r13, #1								/* initialization the register in Abort mode*/
		mov r14, #2

/*------------------------------------------------------------------------------------------*/
/* 	into User mode													                    	*/
/*------------------------------------------------------------------------------------------*/
		mrs r0,cpsr								/* read CPSR value */
		bic r0,r0,#0x1f							/* clear low 5 bit */
		orr r0,r0,#0x10							/* set the mode as User mode */
		msr cpsr,r0								/* write the data into CPSR */
		mov r13, #3								/* initialization the register in User mode */	
		mov r14, #4
stop:
		b	stop

.end

⌨️ 快捷键说明

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