程序: AREA Work_mode_switch,CODE,READONLY ; ENTRY CODE32 ;入口
;************************************************** ;now_in_svc_mode
;ARM处理器默认工作在SVC模式M=10011
;切换原理:CPSR最低8位I、F、T、M位用作控制位,当异常出现时改变控位。 ; ;
其中,中断标志位I、F;指令状态标志T;工作模式位M[4:0] 通过软件控制模式位M即可控制ARM工作状态。 ;************************************************ ;into_Sys_mod
;系统模式下可运行具有特权的操作系统任务,与用户模式类似,但可以直接切换到其他模式。 MRS R0,CPSR ;复制CPSR到R0 ;into_Fiq_mode
;用于高速数据传输或通道处理,Fiq异常响应时进入此
模式
MRS R0,CPSR BIC R0,R0,#0x1F ORR R0,R0,#0x11 MSR CPSR_c,R0 MOV R13,#2
;复制CPSR到R0 ;清楚R0的后5位 ;设定R0的最后5位为10001
;把R0装在到CPSR,切换到快中断模式 ;对快中断模式下的R13赋值(R8-R14)
BIC R0,R0,#0x1F ORR R0,R0,#0x1F MSR CPSR_c,R0 MOV R13,#1
;清除R0的后5位 ;设定R0的最后5位为11111
;把R0装在到CPSR,切换到系统模式 ;对系统模式下的R13赋值(R0-R14) ;into_Svc_mode
;操作系统使用的保护模式,系统复位和软件中断响应时进入此模式 (R13-R14) ;into_Abt_mode
;可用于虚拟存储及存储保护,当数据或指令预取终止
时进入该模式
MRS R0,CPSR BIC R0,R0,#0x1F ORR R0,R0,#0x17 MSR CPSR_c,R0 MOV R13,#4
;复制CPSR到R0 ;清楚R0的后5位 ;设定R0的最后5位为10111
;把R0装在到CPSR,切换到数据访问终止模式 ;对快数据访问终止模式下的特有缓冲器R13赋
MRS R0,CPSR BIC R0,R0,#0x1F ORR R0,R0,#0x13 MSR CPSR_c,R0 MOV R13,#3
;复制CPSR到R0 ;清楚R0的后5位
;设定R0的最后5位为10011 ;把R0装在到CPSR,切换到管理模式 ;对快管理模式下的特有缓冲器R13赋值 值(R13-R14) ;into_Irq_mode
;用于通用的中断处理,Irq异常时进入此模式 (R13-R14)
;into_Und_mod
;可用于支持硬件协处理器的软件仿真,当未定义的指
令执行时进入该模式 (R13-R14)
MRS R0,CPSR BIC R0,R0,#0x1F ORR R0,R0,#0x1b MSR CPSR_c,R0 MOV R13,#6
;复制CPSR到R0 ;清楚R0的后5位 ;设定R0的最后5位为11011
;把R0装在到CPSR,切换到未定义模式 ;对未定义模式下的特有缓冲器R13赋值
MRS R0,CPSR BIC R0,R0,#0x1F ORR R0,R0,#0x12 MSR CPSR_c,R0 MOV R13,#5
;复制CPSR到R0 ;清楚R0的后5位 ;设定R0的最后5位为10010
;把R0装在到CPSR,切换到外部中断模式 ;对快外部中断模式下的特有缓冲器R13赋值 篇二:XX完整ARM嵌入式系统实验报告 郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20第
赵成,张克新 编著 院 姓 专 学
系: 名: 业: 号: 电子通信工程系 XX年3月制
实验一 ARM体系结构与编程方法 一、实验目的
了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容
1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A):
(1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换;
arm嵌入式实验报告完整版



