STM32
直播中

孙成红

7年用户 1426经验值
私信 关注
[问答]

怎样去使用一些简单的ARM汇编指令呢

怎样去使用Embest IDE for ARM开发环境及ARM软件模拟器呢?

怎样去使用一些简单的ARM汇编指令呢?

回帖(1)

陈玉筠

2021-11-30 15:45:42
一、实验目的
1.初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器;
2.通过实验掌握简单ARM汇编指令的使用方法。
二.实验设备
1.硬件:PC机;
2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。
三.实验内容
1.熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元。
2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。
四.实验原理
ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。
1.ARM通用寄存器
通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。
存储器格式
ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节0~3存放第一个字,字节4~7存放第2个字,以此类推。
ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
GNU基础知识
Embest IDE集成了GNU汇编器as、编译器gcc和链接器ld。因此,编写程序要符合CNU的语法和规则。关于as.gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm。
五.实验操作步骤
1. 实验A
(1)新建工程:先建一个文件夹如: test1。然后运行ADS1.2集成开发环境,选择File→New 菜单项,”test1”,点击确定,同时创建一个与工程名相同的工作区。菜单项ew”,弹出一个对话框,”,在“file name ”中输入编辑完后,()添加源文件:选择Project→Add To Project→File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件.s。”对话框中选择“DebugRel”
(4)基本设置:(5)生成目标代码:按下生成目标代码。(6)调试设置:按下。首先编译和链接之后,在工程test1所在的目录下生成一个名为“test_data的目录,同时打开对话框使用Debugrel目标,选择生成的test.axf用于调试。
()打开存储器窗口,观察地址0x000~0x101F的内容()单步执行程序并观察和记录寄存器与存储器值的变化。
()结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令2.实验B
(1) 在工作区窗口工作区名称上右击鼠标,在弹出的快捷菜单中选择“Add New Project to Workspace…”。
(2)参照实验A及相应的实验参考程序,建立工程(3)参照实验A的步骤完成目标代码的生成与调试。
六.实验参考程序
1. 实验A参考程序
七.实验报告
(1)画出程序A、程序B的实现框图,并说明实验A、B程序实现的功能是什么?(2)记录程序A和程序B单步运行时有关寄存器与存储器的值,并分析有关结果是否正确。
实验B
地址:
0x2D20放在0x1000的地址中,0x77 放在R1中,0x2D21放在R0中,0x2D5C放在R2中
实验二 ARM汇编指令实验2
一、实验目的
通过实验掌握使用LDM/STM、B和BL等指令完成较为复杂的存储区访问和程序分支,学习使用条件码,加强对CPSR的认识。
二、实验设备
1.硬件:PC机;
2.软件:Embest IDE 2004集成开发环境。Windows98/2000/NT/XP。
三、实验内容
1.熟悉开发环境的使用并完成一块存储区的拷贝;
2.完成分支程序设计,要求判断参数,根据不同参数,调用不同的子程序。
四、实验原理
1.ARM程序状态存储器
在所有处理器模式下,都可以访问当前程序状态寄存器CPSR。CPSR包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态。CPSR和SPSR的格式如下:
31 30 29 28 27 26 8 7 6 5 4 3 2 1 0
N Z C V QDNM(RAZ) IFTMMMMM2.本实验涉及到得as语法及规则
1)标号的使用
标号由一个符号后跟一个冒号组成,它表示程序中当前的指令或者数据地址。如果在程序中出现两个相同的标号,汇编器
举报

更多回帖

发帖
×
20
完善资料,
赚取积分