单片机4.4习题.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  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文档。上传文档
查看更多
单片机4.4习题

第四章 汇编语言程序设计 ------习题 4.16 已知一内部RAM以BLOCK1和BLOCK2为起始地址的存储区中分别有5字节无符号被减数和减数(低位在前,高位在后)。请编写减法子程序令它们相减,并把差放入以BLOCK1为起始地址的存储单元。 BLOCK1 EQU 30H BLOCK2 EQU 40H ORG 0000H LJMP START START:MOV R0,#BLOCK1 MOV R1,#BLOCK2 LP:MOV R6,#5 CLR C LP1:MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R6,LP1 SJMP $ END 4.18 设内部RAM30H单元有两个非零的BCD数,请编写求两个BCD数的积,并将积以压缩型BCD数形式送入31H单元的程序。 ORG 0000H MOV A, 30H ANL A, #0F0H SWAP A MOV B, A MOV A, 30H ANL A, #0FH MUL A, B MOV B, #0AH DIV AB SWAP A ORL A, B MOV 31H, A SJMP $ 4.24 设在MA和MB单元中有两个补码形式的8位二进制带符号数。请编写求两数之和并把它放在SUML和SUMH单元(低8位在SUML单元)的子程序。 提示:在两个8位二进制带符号数相加时,其和很可能会超过8位数所能表示的范围,从而需要采用16位数形式来表示。因此,在进行加法时、可以预先把这两个加数扩张成16位二进制补码形式,然后对它完成双字节相加。 ORG 0000H LJMP START START: MOV A,MA JB ACC.7,LLA MOV R7,#00H SJMP LLL LLA: MOV R7,#0FFH LLL: MOV A,MB JB ACC.7,LLB MOV R6,#00H SJMP LADD LLB: MOV R6,#0FFH LADD:MOV A,MA ADD A,MB MOV SUML,A MOV A,R6 ADDC A,R7 MOV SUMH,A SJMP$ 4.25 设外部RAM1000H~10FFH数据区中的数均为无符号数。试编写程序,找出该区域中的数的最大值,并放入内部RAM30H单元中。 方法1: ORG 0000H LJMP START START:MOV DPTR,#1000H MOV R7,#0FFH MOVX A,@DPTR LOOP: MOV B,A INC DPTR MOVX A,@DPTR CJNE A, B, LOOP1 LOOP1: JNC LOOP2 MOV A, B LOOP2: DJNZ R7,LOOP MOV 30H,A SJMP $ 方法2: MOV DPTR,#1000

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档