ARM7汇编语言程序设计
更新时间:2024-03-29 06:52:01 阅读量: 综合文库 文档下载
- ARM7汇编语言程序设计推荐度:
- 相关推荐
西 安 邮 电 大 学
(计算机学院)
课内实验报告
课程名称: 嵌入式系统开发 实验名称: ARM7汇编语言程序设计
专业名称: XXXX 班 级: XXXX 学生姓名: XXX 学号(8位): XXX 指导教师: XXX
实验日期: XXXX 年 XX 月 XX 日
一. 实验目的及实验环境
实验目的:1.了解ADS1.2集成开发环境及ARMulator软件仿真。
2.掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。 3.掌握指令的条件执行以及使用LDR/STR指令完成存储器的访问 实验环境:CodeWarrior for ARM Developer Suite 二. 实验内容
1.编写程序,实现1到10的自然数的累加和。 2.找出10个数中的最大值与最小值。 3.从自然数1开始累加,直到累加和大于3000为止,统计被累加的数的个数和累加和。
4编写程序,将乱序的5个无符号数排序。 三.方案设计
①创建工程
启动ADS1.2,使用ARM Executable Image工程模板建立一个工程Project2。 ②添加源文件,编辑源代码
建立汇编文件TEST2.S,输入源代码,参考源代码附后,然后添加到工程中。 ③链接选项配置
设置工程链接地址RO Base为0x40000000,RW Base为0x40003000。设置调试入口地址Image entry point为0x40000000。
④编译链接工程
选择Project--〉Debug,启动AXD进行软件仿真调试。 ⑤调试工程
打开寄存器窗口,选择Current项监视R0和R1的值。 四.测试数据及运行结果 1.求和
2.求最大值与最小值
3.与3000比较大小
4.排序
五.总结
1.实验过程中遇到的问题及解决办法;
刚开始写完代码的时候,make完以后打不开AXD页面,最后将工程重新打开了一遍; 添加寄存器的时候,其实已经添加上了,但是没有看见,然后就重复添加造成错误;在写代码的时候忘了将结果放在哪个寄存器中,结果在一个一个找,在询问同学后解决了问题; 在做实验的时候,不会加断点,在查询相关书籍后掌握了此部分知识。
2.对设计及调试过程的心得体会 在这次实验中学到了很多知识,但是在实验的过程中遇到了好多问题,写代码的时候总是出错,运行不出来,由于知识掌握的不是很好,不会调试代码,到最后在同学的帮助下完成了实验,所以这次试验后我也明白了合作在实验中起了很重要作用,在遇到困难自己解决不了的时候,要多询问询问同学和老师,这样才能真正学到知识,才能真正的进步。
六.附录:源代码 1.1到10的累加和
AREA SUM2,CODE,READONLY ENTRY CODE32 start
MOV R0,#1 LDR R1,=sum LDR R2,=0 LOOP
ADD R2,R2,R0 ADD R0,R0,#1 CMP R0,#11 BNE LOOP
STREQ R2,[R1] stop
MOV r0,#0x18 LDR r1,=0x20026 SWI 0x123456
AREA Data,DATA,READWRITE
sum DCD 0 END
2.最大值与最小值
AREA max,CODE,READONLY
ENTRY CODE32
num EQU 9 start
LDR R0,=x LDR R1,=y LDR R2,=z
LDR R3,=num LDR R4,[R0] LDR R5,[R0] compare
ADD R0,R0,#4 LDR R6,[R0] CMP R4,R6 MOVCC R4,R6 MOVCS R5,R6
SUBS R3,R3,#1 BNE compare STREQ R4,[R1] stop
MOV r0,#0x18 LDR r1,=0x20026 SWI 0x123456
AREA Data,DATA,READWRITE
x DCD 59,37,13,67,107,12,231,1,42,222 y DCD 0 z DCD 0 END
3. 累加求和到3000
AREA SUM,CODE,READONLY ENTRY CODE32 Start
LDR R0,=n LDR R1,=sum LDR R3,=0 LDR R4,=0 LDR R5,=3000 continue
ADD R4,R4,#1
ADD R3,R3,R4 CMP R3,R5 BCC continue STRCS R3,[R1] STRCS R4,[R0] stop
MOV r0,#0x18 LDR r1,=0x20026
SWI 0x123456 AREA Data,DATA,READWRITE n DCD 0 sum DCD 0 END 4.排序:
AREA Bibble,CODE,READONLY ENTRY start
LDR R1,=num MOV R2,#0 LDR R4,[R1] SUB R4,R4,#1 SUB R1,R1,#4 outer
LDR R0,=src inner
LDR R5,[R0] LDR R6,[R0,#4] CMP R5,R6 STRGT R6,[R0] STRGT R5,[R0,#4] ADD R0,R0,#4 CMP R0,R1 BNE inner ADD R2,R2,#1 SUB R1,R1,#4 CMP R2,R4 BNE outer stop
MOV R0,#0X18 LDR R1,=0X123456
AREA BlockData,DATA,READWRITE src DCD 18,16,4,2,12,5,6,8,1,3 num DCD 10 END
正在阅读:
ARM7汇编语言程序设计03-29
钢构吊装方案06-04
2022新高考衡水名师原创生物专题卷 专题十六 《实验与探究》04-11
CIP系统的PLC控制系统设计12-14
美国1787年宪法全文(中、英文版)10-10
被遗忘的爱作文600字06-20
浅谈静电学发展历程及思维方法的演变108-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇编语言
- 程序设计
- ARM7
- 2015年中考53篇古诗文特殊句式归类题例
- 统一建模语言UML实验报告
- 2009-2012中级经济师经济基础真题
- 英语课堂教学三维目标有效整合的策略
- 高一(必修1)物理教材
- 污水处理模型(最终版)
- 根据2013年第23号令修改后的4号令招标公告发布暂行办法
- 个人租房合同免费下载
- 集成运算放大器的应用实验报告 - 图文
- 浙江省2019年中考语文模拟试卷(一)附答案
- 重庆大学研究生在校期间发表高水平论文奖励申报实施办法
- 关于印刷业务相关事宜的通知(DOC) - 图文
- 2017-2022年中国汽车盘式制动器产业深度调研与投资前景评估报告
- 员工基本心理需要与工作态度的关系研究
- 生理学名词解释
- 物料提升机生产安全事故应急救援预案
- 财务管理主要内容
- 冀教版六年级科学下册复习资料
- 化工原理课后思考题上册(管国锋)
- 2012年成都市初中名校数学竞赛班选拔考试模拟试题(含答案)