- 63
- 0
- 约1.19千字
- 约 5页
- 2016-03-03 发布于重庆
- 举报
ARM微控制器工作模式实验.doc
ARM微控制器工作模式实验
实验内容
使用MRS/MSR指令切换工作模式,并初始化各种模式下的堆栈指针
观察ARM微控制器在各种模式下寄存器的区别
实验程序
实验步骤
《1》启动ADS1.2,使用ARM Executable Image 工程模版建立一个工程MODE。
《2》建立汇编源文件TEST7.S,编写实验程序,然后添加到工程中。
《3》根据上一次实验的步骤设置工程连接地址
《4》写程序,编写完程序后,进行错误检查,若无误,则进行软件仿真调试。
《5》点击,打开寄存器窗口,选择Current项监视各寄存器的值。
《6》单步运行程序,观察寄存器值的变化
观察的过程中显示大写字母表示该位为1;显示小写字母表示该位为0
条件码标志位MZCVQ;
中断禁止标志位IF;
状态标志位T;
工作模式:User(用户模式)、FIQ(FIQ中断模式)、IRQ(IRQ中断)、SVC(管理模式)、Abort(中止模式)、Undef(未定义模式)和SYS(系统模式)
思考
在用户模式或系统模式下读取SPSR寄存器会有何结果?
由于用户模式和系统模式不是异常中断,所以它们没有SPSR.因此在用户模式和系统模式中不要访问SPSR,否则将会产生不可预知的结果。
在非特权模式下能否对CPSR寄存器设置?能否读取CPSR寄存器的值?
只有在特权模式下才允许对当前程序状态寄存器CPSR的所有控制位直接进行读/写
原创力文档

文档评论(0)