第三章汇编语言程序设计例题习题.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文档。上传文档
查看更多
第三章 汇编语言程序设计习题 1.“SJMP 08H”的寻址方式是【  】。 A。变址寻址 B。相对寻址 C。寄存器间接寻址 D。 位寻址 2.判断下列指令的正误:5、6、8、9错 MOV 29H,R7 MOV 25H,P1 MOV 56H,#70H MOV 34H,28H MOV R3,R7 MOV @R3,R7 MOV R3,#D2H MOV #34H,28H MOV A,#280H MOV P3,P1 2、MCS-51的转移指令LJMP、AJMP和SJMP有何区别?如何选用? ①转移范围不同:LJMP、AJMP和SJMP转移范围分别为:64K、2K、-128--+127 ②SJMP转移指令后为相对的偏移量,更灵活 4.MCS-51单片机的时钟周期与振荡周期之间有什么关系 一个机器周期的时序如何划分 答:时钟周期是单片机最基本的时间单位.机器周期则是完成某一个规定操作所需的时间.一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1,S1P2,……S6P1,S6P2. 5.8051单片机指令系统中有长跳转LJMP,长调用LCALL指令,为何还没有设置了绝对跳转AJMP,绝对调用ACALL指令?在实际使用是应怎样考虑? 解: 在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指令AJMP、长调用指令LCALL和短调用指令ACALL。 长跳转LJMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。长调用LCALL调用位于64KB程序空间的子程序,而短调用ACALL调用位于2KB程序空间范围的子程序。AJMP、ACALL指令代码长度为2个字节;LJMP、LCALL指令代码长度为3个字节。 6.MCS-51单片机指令系统中,没有停机指令,通常用短转移指令SJMP $ ($为本条指令的首地址)来实现动态停机的操作,试分析这条停机指令的原理。已知SJMP rel 的指令码为80rel 解:rel=(源地址与目的地址差的绝对值)-2 本条指令的首地址 As=$,转移的目的地址是本条指令地址,即Ad=$ 该指令为两字节,即Bn=2, rel= (Ad-As-Bn)补= ($-$-2)补=(-2)补=FEH 所以SJMP $指令的机器码是80FEH。 7.编写一程序将片外数据存储器中7000H~70FFH单元全部清零. ORG 1000H MOV DPTR,#7000H CLR A MOV R0,A LOOP:MOVX @DPTR,A DJNZ R0,LOOP SJMP $ 8.设内部数据存储器的60H、61H中连续存放着四个BCD数A0、A1、A2、A3,编程将其倒序排列 60H 61H 60H 61H A0A1 A2A3 A3A2 A1A0 解: MOV R0,#60H MOV R1,#61H MOV A,@R0 SWAP A XCH A,@R1 SWAP A MOV @R0,A 9. 设单片机的晶振频率fosc=6MHZ,延时程序如下: 机器周期数 DELAY: MOV R1,#100 1 LOOP: MOV R3,#200 1 DJNZ R3,$ 2 DJNZ R1,LOOP 2 RET 2 计算该段延时程序的延时时间(要有计算过程) 答:(1+(1+2*200+2)*100+2)*12/6MHz = (1+(1+2*200+2)*100+2)*2us = 8.0606ms 9. 已知fosc=6MHZ,求下面延时子程序的延时时间。(5分) DELAY: MOV R6,#10 ; D1: MOV R7,#250H ; D2: DJNZ R7,D2 ; DJNZ R6,D1 ; RET ; 解: ((2*592+2+1)*10+2+1)*1 = 11873uS=11.873MS 9.设8031使用12MHz晶振,试设计延迟100ms的延时程序。 解:延时程序的延迟时间就是该程序的执行时间,通常采用MOV 和DJNZ二指令。 T = 12/fosc = 12 /(12×1

文档评论(0)

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

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

1亿VIP精品文档

相关文档