ARM嵌入式实验ARM微处理器指令系统
程序员文章站
2022-06-08 22:56:07
...
实验三 ARM微处理器指令系统
一、实验目的
- 掌握ARM微处理器指令集的书写格式;
- 掌握ARM指令的寻址方式;
- 掌握基本的ARM指令的用法;
二、实验内容
使用RealView MDK集成开发环境,编写汇编语言程序,使用基本的ARM指令以及不同寻址方式,通过查看结果掌握指令的功能。
三、实验要求
- 能够熟悉使用RealView MDK集成开发环境建立工程和汇编源文件;
- 能够编写完整的汇编语言程序段,并能够设置编译参数完成程序编译;
- 能够正确书写基本的指令,能够查看寄存器和存储器的内容;
- 至少书写10条基本的ARM指令,并记录下运行的结果。
四、示例程序
AREA ARMex,CODE,READONLY
ENTRY
START
MOV R1,#0x12
MOV R1,R1,LSL #2
MOV R0,#0x40000000
STR R1,[R0]
LDR R2,[R0]
STOP
B STOP
END
五、实验过程及结果
一、示例程序
首先按照老师上课所讲对环境进行设置,然后按照老师所给代码运行,一开始出现了一些问题,后调整了缩进后得以成功运行,编译成功后一步步调试查看运行结果,并进行分析,理解了相应Arm指令,运行结果如下:
指令分析:
MOV R1,#0x12 R1=#0x12
MOV R1,R1,LSL #2 R1=R1<<2
MOV R0,#0x40000000 R0=#0x40000000
STR R1,[R0] 将R1寄存器的值,传送到地址值为R0的存储器内存中
LDR R2,[R0] 将存储器地址为R0的字数据读入寄存器R2
二、11条arm指令程序
MOV R1,#0x12 R1=#0x12
MOV R1,R1,LSL #2 R1=R1<<2
MOV R0,#0x40000000 R0=#0x40000000
STR R1,[R0] 将R1寄存器的值,传送到地址值为R0的存储器内存中
LDR R2,[R0] 将存储器地址为R0的字数据读入寄存器R2
MOV R2 #0x24 R2=#0x24
ADD R2,R1,R0 R2=R1+R0
SUB R1,R2,R0 R1=R2-R0
MUL R0,R1,R2 R0=R1*R2
MVN R1,#0 R1=0xFFFFFF
TST R0,R1 R0,R1按位与运算,并更新标志位的值
运行结果如下: