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, #1
	MOV R1, #2
	MOV 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,READONLY
	ENTRY   
	CODE32   
START
	MOV R0, #0x12800   
  	MOV R1, #1 
  	MOV R2, #0
LOOP  
  	ANDS R3, R0, R1 
  	CMP R3, #0 
  	ADDEQ R2, R2, #1
  	MOV R1, R1, LSL #1
	CMP R1, #0
	BNE LOOP   
STOP
	B STOP   
	END	 
	  	 

实验收获

通过动手实践,发现了ARM程序设计其实并没有理论课听起来的那么无聊,还是挺有意思的,只要我们用心去做,就会完成。

发布了10 篇原创文章 · 获赞 2 · 访问量 254

猜你喜欢

转载自blog.csdn.net/Tong89_xi/article/details/105565646