- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型企业经典管理资料模板,WORD文档,欢迎下载交流
分享一个苹果,各得一个苹果,分享一种思想,各得两种思想。分享是件快乐的事件,乐于分享的人,事业更容易成功。
经典资料,WORD文档,可下载交流,
A R M 与 嵌 入 式 技 术
实
验
报
告
1、 编写程序将R2的高8位传送到R3的低8位(不考虑R3的其他位)
⑴、程序代码:
.global _start
_start:
ldr R2,=0;将立即储到R2中
ldr R3,=0;储在R3中
mov R2,R2,ROR #24 ;循环移位24位,使R2中的高八位移到第八位
and R2,R2,#0x000000ff ;屏蔽掉R2的高24位,
and R3,R3,#0xffffff00 ;屏蔽掉R2的低8位
orr R3,R3,R2 ;用取或将R2的低8位移到R3得低8位
stop:
b stop
.end
⑵、实验内容:
储在R2中
储在R3中
将R2中的高8位“12”移到R2的低8位,原来的数变为
屏蔽掉R2中的高24位,采用或命令时使其不影响R3中高24位的数值
屏蔽掉R3中的低8位,使使用或命令是能将R2的低8位移到R3的低8位
将R2中的高8位”12”移到R3的低8位而不影响R3中的其他的24位
2、 实现64位的加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中
⑴、程序代码:
.global _start
_start:
ldr R0,=0;将立即储在R0中
ldr R1,=0x8989eeee ;将立即数8989eeee存储在R1中
ldr R2,=0x504ed99d ;将立即数504ed99d存储在R2中
ldr r3,=0x8949556f ;将立即数8949556f 存储在R3中
adds r0,r0,r2 ;使用带标志位的加法指令将R2+R0中的值存到R0
adc r1,r1,r3 ;使用带进位的加法指令将R3+R1的值存到R1中,如果R0+R2产生了进位,则C=1,此时将R1+1
stop:
b stop
.end
⑵、实验内容:
将立即储在R0中
将立即数8989eeee存储在R1中
将立即数504ed99d存储在R2中
将立即数8949556f 存储在R3中
使用带标志位的加法指令将R2+R0中的值存到R0
使用带进位的加法指令将R3+R1的值存到R1中,如果R0+R2产生了进位,则C=1,此时将R1+1
⑶、结果分析
注:以下分析均为16进制计算
【 R1 : R0 】+【 R3 : R2 】=【 R1 : R0 】
【8989eeee+【8949556f :504ed99d】=【12d3445d:97a71f05】
首先低32位相加504ed99d:8+d=5,C=1;6+9+1=0,C=1;5+9+1=f,C=0;
4+d=1,C=1;8+e+1=7,C=1;5+4+1=a,C=0;
7+0=7,C=0;4+5=9 ,C=0。
相加后的结果为504ed99d=97a71f05,可以看出低32位相加得出的结果和实验得出的结果一样。
再是高32位相加:8989eeee+8949556f:e+f=d ,C=1;e+6+1=5,C=1;e+5+1=4,C=1;
e+5+1=4,C=1;9+9+1=3,C=1;8+4+1=d,C=0;
9+9+0=2,C=1;8+8+1=1,C=1。
相加后的结果为:8989eeee+8949556f =12d3445d,可以看出高32位相加得出的结果和实验得出的结果一样。
所以由结果可以看出实验成功!
3、 编写一段程序计算10 !
⑴、程序代码:
.global _start
_start:
mov R0,#10 ;将立即数10存储在R0中
mov R1,#10 ;将立即数10存到R1中,作为循环次数的限
minus : sub R1,R1,#1 ;标记一个minus 子函数,每执行一次R1自减1
mul R0,R1,R0 ;R1自减后与R0相乘,积放在R0中
cmp R1,#0 ;判断R1是不是减到1了,如果没有则继续调用子程序
bne minus ;如果Z不等于1,那么跳转到子程序标记处
stop:
b stop
.end
⑵、实验内容:
跟踪10次后的答案是:0x375f00
⑶、结果分析:
10 !=
您可能关注的文档
最近下载
- 光伏电站运行常见故障及技术解决方案.pdf VIP
- 军队文职考试《公共科目》试题与参考答案(2024年).docx VIP
- 生成式AI在小学英语课堂中的应用:教师教学决策优化研究教学研究课题报告.docx
- 初二物理导学案-全一册.pdf VIP
- 邮政企业快递企业安全生产重大事故隐患判定标准解读.pdf VIP
- 人民大2023学术规范和论文写作PPT第2章 选:论文选题与研究设计.pptx VIP
- 2025年中国食品级碳酸氢钠数据监测报告.docx
- 能源与动力工程研究教授——程林同志事迹材料— .doc VIP
- 高中物理竞赛-话题5:多质点在动态多边形顶点的相遇问题和多解问题.doc VIP
- 《提升基层干部管理能力》课件.ppt VIP
文档评论(0)