本文主要是介绍ADS arm程序设计实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#实验指导 ADS arm程序设计实验
####学习目的
Arm程序设计
熟悉ADS集成环境
实验内容
在ADS中新建工程,并设置开发环境。
在AXD中调试汇编程序
实验环境
硬件: PC机
软件:ADS
操作系统:windows7
实验流程
1)ADS编译系统工程建立配置步骤描述
a)新建工程:先建一个文件夹如:D:\test1(可以用自己的名字缩小命名)。然后运行ADS1.2集成开发环境,选择File->New菜单项,弹出一个对话框,然后出来下图,工程类型选择对话框所示选择Project,在“Project name”
中输入工程文件名,点击确定,同时创建一个与工程名相同的工作区。
为当前工程添加源程序文件:ARM汇编程序源文件后缀名为S大小写均可。选择Debug,DebugRel Release. 按照同样步骤建立test2.s。
c)添加源文件:选择Project→Add To Project→File项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源并添加到文件test1.s。在“Add Files”对话框中选择“DebugRel”按照同样步骤建立test2.s。
d)基本设置:设置中只需设置“entry point”
e)生成目标代码:按下图标 生成目标代码。
f)调试设置:按下图标首先编译和链接之后,在工程test1所在的目录下生成一个名为“test_data的目录,同时打开对话框使用Debugrel目标,选择生成的test.axf用于调试。
g)打开存储器窗口,观察地址的内容.
h)单步执行程序并观察和记录寄存器与存储器值的变化。
i)结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令
2)完成程序设计:X=|X|+|Y|+|Z|,其中R0=X=1,R1=Y=2,R2=Z=3,用子程序调用的方法,入口参数为R3,出口参数为R4
a)一个*.s文件实现
b)写出完整的代码
AREA Fctrl,CODE,READONLY
ENTRY
CODE32
START
MOV R0, #1MOV R1, #2MOV R2, R3
MOV R3,R0
BL SUBPRO 跳转到子程序
MOV R0,R4
MOV R3,R1
BL SUBPRO
ADD R0,R0,R4
MOV R3,R2
BL SUBPRO
ADD R0,R0,R4
SUBPRO
CMP R3,#0
BGE ENDP 有符号数大于或等于
RSB R3,R3,#0
ENDP
MOV R4,R3
MOV PC,LR 从子程序返回STOP
B STOP
END
3)完成程序设计:编制程序,统计寄存器R0中数据中,各位中是0的个数,将结果存放在寄存器R2中.
a)一个*.s文件实现
b)写出完整的代码
AREA zeronum,CODE,READONLYENTRY CODE32
STARTMOV R0, #0x12800 MOV R1, #1 MOV R2, #0
LOOP ANDS R3, R0, R1 CMP R3, #0 ADDEQ R2, R2, #1MOV R1, R1, LSL #1CMP R1, #0BNE LOOP
STOPB STOP END
实验收获
通过动手实践,发现了ARM程序设计其实并没有理论课听起来的那么无聊,还是挺有意思的,只要我们用心去做,就会完成。
这篇关于ADS arm程序设计实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!