×
单片机 > 单片机程序设计 > 详情

ARM处理器的工作模式(一)

发布时间:2020-08-27 发布时间:
|
实验目的:
1.         掌握ARM的各种工作模式
2.         熟悉ARM各种工作模式下的寄存器
3.         学会使用软件实现ARM工作模式间的切换。
实验内容:
使用MSR/MRS指令切换工作模式,并初始化各工作模式下的堆栈指针。
观察ARM在各种工作模式下寄存器的区别。
观察ARM在各种工作模式间切换时各寄存器的变化情况。
 
 
实验一 使用MSR/MRS指令切换工作模式实验(ARM7)(exp9_exa.s)
                    AREA INIT,CODE,READONLY
                    ENTRY
                    B RESET_HANDLER    ;管理模式SVC
UNDEFINED_HANDLER
                    B UNDEFINED_HANDLER
                    B SWI_HANDLER
PREFETCH_HANDLER
                    B PREFETCH_HANDLER
ABORT_HANDLER
                    B ABORT_HANDLER
                    NOP
IRQ_HANDLER
                    B IRQ_HANDLER
FIQ_HANDLER
                    B FIQ_HANDLER
SWI_HANDLER
                    MOV PC,LR
        
RESET_HANDLER
                    MOV R0,#0X000001F0   ;初始化R0(  IFT=1;用户模式  )          
                    LDR R1,=0xF0000000   
                    STR R0,[R1]            ;保存R0
                    MRS R0,CPSR          ;CPSR——>R0
                    MOV R13,#1            ;写入R13=1
                    MOV R14,#2             ;写入R14=2
                    
                    MRS R0,CPSR           ;CPSR——>R0
LDR R1,=0xF0000000   
                    STR R0,[R1]            ;保存R0
                   
 
BIC R0,R0,#0x1F
                    ORR R0,R0,#0x10         ;改写R0
                    MSR CPSR_c,R0    ;R0——> CPSR (切换至用户模式USR)
                    MOV R13,#3              ;写入R13=3
 
                    MOV R14,#4               ;写入R14=4
                   
STOP          B STOP
                    END
本实验使用MSR/MRS指令完成系统初始化过程中从管理模式到用户模式的切换,采用ARMmulator方式调试,选用ARM7作为目标处理器。
单步运行程序,观察ARM寄存器、存储空间和工作模式的变化情况,并填入表中。
序号 执行指令 指令执行后的变化情况
    寄存器 存储空间 工作模式
    R0 R1 R13_SVC R14_SVC R13_USR R13_USR R15 CPSR 0xF000000  
0                      
1 B RESET_HANDLER                    
2 MOV R0,#0X000001F0                    
3 LDR R1,=0xF0000000                    
4 STR R0,[R1]                    
5 MRS R0,CPSR                    
6 MOV R13,#1                    
7 MOV R14,#2                    
8 MRS R0,CPSR                    
9 BIC R0,R0,#0x1F                    
10 ORR R0,R0,#0x10                    
11 MSR CPSR_c,R0                    
12 MOV R13,#3                    
13 MOV R14,#4                    
                       
 
 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址