c汇编语言例题,第三章 汇编语言程序设计例题习题

第三章汇编语言程序设计习题

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值