第三章习题思考题参考答案.docVIP

  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文档。上传文档
查看更多
习题与思考题 3-8 按要求写出相应的指令。 (1)把寄存器R6的内容送到累加器A中。 (2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。 (3)清除内部RAM 3FH 单元的高4位。 (4)使累加器A的最低位置1。 (5)清除进位位。 (6)使ACC.4和ACC.5置1。 (7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。 (8) 把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。 答案: MOV A,R6 MOV DPTR,#1000H MOVX A,@DPTR MOV R0,#30H MOV @R0,A (3) ANL 3FH,#0FH (4) ORL A,#01H (5) CLR C (6) ORL A,#30H (7) CLR A MOV DPTR,#2000H MOVC A,@A+DPTR MOV 20H,A (8) CLR A MOV DPTR,#2000H MOVC A,@A+DPTR MOV DPTR,#3000H MOVX @DPTR,A 3-10 编写程序段完成如下要求。 (1)将寄存器R0中的内容乘以10(积小于256)。 (2)将片内RAM 30H单元开始的15个字节的数据传送到片外RAM 3000H开始的单元中。 (3)将片外RAM 2000H开始的5个字节的数据传送到片内RAM 20H开始的单元中。 (4)有10个字节的二进制数存放在片内RAM以 40H开始的单元内,编程找出其中的最大值并存于内部50H单元中。 (5)将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。 (6)将外部RAM 2040H单元的内容与3040H单元的内容互换。 答案: (1) MOV B,#0AH MOV A,R0 MUL AB MOV R0,A (2) ORG 0000H MOV R0,#30H MOV DPTR,#3000H MOV R7,#0FH LOOP: MOV A,@R0 MOVX @DPRT,A INC R0 INC DPTR DJNZ R7,LOOP SJMP $ END (3) MOV DPTR,#2000H MOV R0,#20H MOV R7,#05H LOOP: MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,LOOP END (4) ORG 0000H MOV A,40H;A寄存器放最大值,且初始化最大值(默认第一个数) MOV R3,#09H;比较次数 MOV R0,#41H START: CJNE A,@R0,LOOP LOOP: JNC LOOP1;如果比A小,则跳转到LOOP1 MOV A,@R0;如果比A大,则更新A的值 LOOP1: INC R0 DJNZ R3 START MOV 50H,A SJMP $ END (5) MOV DPTR,#20000H MOV R1,#0BH LOOP: MOVX A,@DPTR ANL A,#0FH MOVX @DPTR,A INC DPTR DJNZ R1,LOOP SJMP $ (6) MOV DPTR,#2040H MOVX A,@DPTR MOV R0,#20H MOV @R0,A MOV DPTR,#3040H MOVX A,@DPTR XCH @R0,A MOVX @DPTR A MOV A,@R0 MOV DPTR,#2040H MOVX @DPTR,A 3-15 设有一带符号的十六位数以补码形式存放在R2、R3寄存器中,试编制求其原码的程序。 ORG 0000H START: MOV A,R3 JB ACC.7,NEXT;判读符号位,如果是正数则原码与补码一样,如果为负,求原码的方法是符号位不变,其余位取反加1 MOV R3,A HERE: SJMP $ NEXT: XRL A,#7FH;高八位,符号位不变,其余取反 MOV R3,A;放回R3 MOV A,R2;低八位 XRL A,#0FFH;取反 ADD A,#01H;加1 MOV R2,A;放回R2 MOV A,R3;看低八位是否有向高八位进位 ADDC A,#00H MOV R3,A SJMP $ END 3-16 设有一不带符号的十六进制数组,存放在8031单片机片内RAM以BUFFER为首址的连续单元中,其长度为30个字节,要求统计小于10,等于10及大于10的数的个数,并把它们分别存放到片内RAM的

文档评论(0)

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

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

1亿VIP精品文档

相关文档