- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                嵌入式系统应用ex01
                    实验一:汇编指令实验
1.实验目的
了解Keil uVision集成开发环境及软件仿真功能使用。
掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。
掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。
掌握基本的汇编程序调试。
2.实验设备
硬件:PC机一台
软件:WindowsXP系统,Keil uVision 4.0集成开发环境
3.实验内容
(1)使用LDR指令读取0址上的数据,将数据加1。若结果小于10,则使用STR指令把结果写回原地址;若结果大于等于10,则把0写回原地址。
(2)使用Keil uVision软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口监视R0和R1的值,打开存储器观察窗口监视0址上的值。
4.实验预习要求
(1)学习ARM指令系统的内容,重点掌握LDR/STR指令和指令条件执行;
(2)查阅Keil uVision 软件的介绍,了解软件的功能和操作方法。
5.实验步骤
(1)启动Keil uVision,新建一个工程ex01。见图1-1、图1-2、图1-3。
图1-1 建立工程
图1-2 选择目标芯片
图1-3 不需要系统提供的Startup文件
(2)建立汇编源文件ex01.s,编写实验程序,然后添加到工程中。见图1-4、图1-5、图1-6、图1-7。
图1-4 建立新文件
图1-5 保存扩展名为.s的汇编程序文件
图1-6 把文件添加到工程
图1-7 添加文件到工程后
(3)设置工程选项,存储器映射。见图1-8、图1-9。
图1-8 设置工程选项
图1-9 设置存储器映射
(4)编译链接工程。见图1-10。
图1-10 编译工程
(5)进行软件仿真调试。见图1-11、图1-12、图1-13、图1-14。
图1-11 调试运行
图1-12 调试界面
图1-13 设置断点
图1-14 运行程序
6.实验参考程序
汇编指令实验的参考程序见程序清单1.1。
程序清单1.1	汇编指令实验参考程序
COUNT	EQU		0			;定义一个变量,地址为0		AREA	RESET, CODE, READONLY	  		;声明代码段RESET
		ENTRY							;表示程序入口
		CODE32							;声明32位ARM指令
START	LDR		R1,=COUNT					;R1 ← COUNT
		MOV		R0,#0					;R0 ← 0
		STR		R0,[R1]					;[R1] ← R0,即设置COUNT为0
LOOP	LDR		R1,=COUNT
		LDR		R0,[R1]					;R0 ← [R1]
		ADD		R0,R0,#1					;R0 ← R0 + 1
		CMP		R0,#10					;R0与10比较,影响条件码标志
		MOVHS	R0,#0					;若R0 = 10, 则此指令执行,即R0 ← 0
		STR		R0,[R1]					;[R1] ← R0,即保存COUNT
		B		LOOP
		END
7.思  考
(1)若使用LDRB/STRB代替程序清单中的所有加载/存储指令(LDR/STR),程序会得到正确的执行吗?能
(2)LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明?(提示:LDR伪指令的形式为“LDR Rn,=expr”。)
(3)LDR/STR指令的前索引偏移指令如何编写?指令是怎样操作的?
8.选作内容
(1)使用ARM汇编指令实现if条件执行。
(2)使用ARM汇编指令实现for循环结构。
(3)使用ARM汇编指令实现while循环结构。
(4)使用ARM汇编指令实现do…while循环结构。
COUNT	EQU		0			;定义一个变量,地址为0		AREA	RESET, CODE, READONLY	;声明代码段RESET
		ENTRY							;表示程序入口
		CODE32							;声明32位ARM指令
START	LDR		R1,=COUNT			    ;R1 ← COUNT
		MOV		R0,#0					;R0 ← 0
		STR		R0,[R1]					;[R1] ← R0,即设置COUNT为0
	    MOV     R0,#0                   ;R0 ← 0 
  		MOV     R2,#100                 ;R2 ← 100
DO
       ADD  R0,R0,R2       ;R0 ← R0 + R1
       SUBS R2,R2,#1       ;R2 ← R2 
                您可能关注的文档
- 局域网组建维护项目5.ppt
- 局部解剖学10.腕前区掌和手指掌侧面.ppt
- 局域网建与维护项目6.ppt
- 局部解剖学9.肩胛区三角区臂和前臂后区腕后区手背和手指背面.ppt
- 局部解剖学7.胸前外区浅层和腋区.ppt
- 局部解剖学3.颈前区.ppt
- 局部解剖学局操作指导2.0.doc
- 局部解剖学9.肩胛区三角肌区臂和前臂后区腕后区手背和手指背111.ppt
- 局部解剖学局解开课动员.ppt
- 局部解剖学四次课.ppt
- 2025年江苏省盐城市初二英语上册期中考试试卷及答案.docx
- 西师版六级级数学上册月考考试试题及答案.docx
- 2025年宁波市公务员考试《申论》押题卷(东方滨海瓷都热点主题).doc
- 2025年江苏省盐城市高二英语上册期中考试试卷及答案.docx
- 2025年湖南省株洲市九年级政治上册期中考试试卷及答案.docx
- 2025年宁波市公务员考试《申论》押题卷(港口经济案例主题).doc
- 2025年江西省九江市高一物理上册期中考试试卷及答案.docx
- 2025年湖南省张家界市六级语文上册期中考试试卷及答案.docx
- 2025年南宁市公务员考试《申论》押题卷(中国—东盟主题主题).doc
- 2025年江西省九江市九年级物理上册期中考试试卷及答案.docx
最近下载
- 五年级奥数相遇问题及答案.pdf VIP
- 五年级数学奥数讲义.pdf VIP
- 最新××镇村(社区)后备干部考试卷及答案.pdf VIP
- 五年级数学奥数讲义134讲.doc VIP
- 牛羊屠宰兽医卫生检验人员理论考试题库及答案.docx VIP
- 牛品种改良与人工授精技术培训课件.ppt
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选题100道).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选一百题).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选100题合辑).docx VIP
- 马来酸氯苯那敏片详细说明书与重点.docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)