嵌入式系统习题答案.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文字简答、问答类题目见教材 3.2 R0和R1中有两个32位数,若R0>R1,则R0=R0-R1;若R0<R1,则R1=R1-R0;若R0=R1,则R1、R0保持不变。 1)请用CMP、B和SUB指令完成上述操作。 2)请用条件SUB指令完成上述操作。 解答:(已调试通过) 1、用CMP、B和SUB指令 AREA StrCopy, CODE, READONLY ENTRY start MOV R0,#3 MOV R1,#2 CMP R0,R1 BLT Less BGT More B stop Less SUB R1,R1,R0 B stop More SUB R0,R0,R1 stop B stop 2、用条件SUB指令 AREA StrCopy, CODE, READONLY ENTRY start MOV R0,#3 MOV R1,#2 CMP R0,R1 SUBLT R1,R1,R0 SUBGT R0,R0,R1 stop B stop 3.3 用合适的指令实现以下功能 R0 16 mov R0,#16 2)R1 R0 × 4 MOV R1,R0,LSL #2 3)R0 R1/16 Mov r0,r1, LSR #4 4)R1 R2 × 7 SUB R1, R2, R2, LSL #3 3.5 下列指令序列完成什么功能? ADD R0, R1, R1, LSL #1 SUB R0, R0, R1, LSL #4 ADD R0, R0, R1, LSL #7 解答: 1、R0 R0+2*R1 2、R0 R0-16*R1 3、 R0 R0+128*R1 4.7 试编写程序,计算2+4+6+8+…+2N的值 解答:(已调试通过) 方法一 N EQU 3 AREA StrCopy, CODE, READONLY ENTRY start MOV R0,#0 MOV R1,#N L1 MOV R2,R1,LSL #1 ADD R0,R0,R2 SUB R1,R1,#1 CMP R1,#0 BEQ stop B L1 stop B stop 方法二 N EQU 3 AREA StrCopy, CODE, READONLY ENTRY start MOV R0,#0 MOV R1,#1 L1 MOV R2,R1,LSL #1 ADD R0,R0,R2 ADD R1,R1,#1 SUB R2,R1,#1 CMP R2,#N BEQ stop B L1 stop B stop 方法三 EXPORT Add2To2N ; 声明程序可被外部引用 EXPORT START ; 声明程序入口标号 START 可被外部引用 NNUM EQU 10 ; 符号定义伪指令, NNUM 代表问题中的 N ,此处 N 10 AREA Add2To2N, CODE, READONLY ENTRY START MOV R0, #NNUM ; 问题中的加数,从 N 递减至 0 ,初始值为 N MOV R1, #0 ; 问题中的结果保存在 R1 中,初始值为 0 ADDDEC CMP R0, #0 BEQ MUTTWO ; 当 R0 0 时跳出累加例程 ADD R1, R1, R0 ; 将当前的加数 R0 累加到结果 R1 中 SUB R0, R0, #1 ; 加数 R0 递减 B ADDDEC ; 重复累加,直到加数为 0 MUTTWO MOV R0, R1, LSL #1 ; 将 R1 中保存的累加结果左移 1 位,即乘以 2 ,保存到 R0 STOP MOV R0, #0x18 LDR R1, 0x20026 SWI 0x123456 END ; 结束

文档评论(0)

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

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

1亿VIP精品文档

相关文档