ARM 实验报告范本.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 !=

文档评论(0)

lidp20080808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档