mcs51单片机指令系统 与汇编语言程序设计

mcs51单片机指令系统 与汇编语言程序设计

ID:18524352

大小:98.50 KB

页数:9页

时间:2018-09-18

mcs51单片机指令系统 与汇编语言程序设计_第1页
mcs51单片机指令系统 与汇编语言程序设计_第2页
mcs51单片机指令系统 与汇编语言程序设计_第3页
mcs51单片机指令系统 与汇编语言程序设计_第4页
mcs51单片机指令系统 与汇编语言程序设计_第5页
资源描述:

《mcs51单片机指令系统 与汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、思考题与习题部分参考答案MCS51单片机指令系统与汇编语言程序设计1.8051单片机的指令系统有何特点?解:8051的指令系统由111条指令组成。如果按字节数分类,有49条单字节指令46条双字节指令和16条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64条单周期指令、45条双周期指令和2条四周期指令,以单周期指令为主。8051的指令系统具有以下特点:(1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行I/O口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器Rn。这样可以大大提高传送速度和缓解累加器A的瓶颈效应。(2

2、)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定常数或表格字节内容传送到累加器A中。这为编成翻译算法提供了方便。(3)在算术运算指令中设有乘法和除法指令(4)指令系统中一些对I/O口进行操作的指令具有“读——修改——写”的功能。这一功能指:在执行读锁存器的指令时,CPU首先完成将锁存器的值通过缓冲器BUF2度入内部,进行修改、改变,然后重新写到锁存器中去。这种类型指令包含所有的逻辑操作和位操作指令。(5)8051单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。布尔操作类指令有17条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布

3、尔条件转移指令。2.8051单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?解:MCS-51单片机指令系统按功能可分为5类:(1)数据传送指令 (2)算术运算指令 (3)逻辑运算和移位指令 (4)控制转移指令(5)位操作指令MCS-51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表: 寻址方式使用的变量    寻址范围立即寻址程序存储器直接寻址内部RAM低128个字节;特殊功能寄存器SFR寄存器寻址R0~R7;A、B、DPTR、C寄存器间接寻址@R0、@R1、SP内部RAM、堆栈指针SP@R0、@R1、@DPTR外部RAM变址寻址@A

4、+PC、@A+DPTR程序存储器相对寻址PC+偏移量程序存储器位寻址内部RAM低128B位寻址区可位寻址的特殊功能寄存器位3.访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?解:访问特殊功能寄存器,应采用直接寻址、位寻址方式。访问外部数据存储器,应采用寄存器间接寻址方式。在0~255B范围内,可用寄存器R0、R1间接寻址:2思考题与习题部分参考答案MOVXA,@R0或MOVXA,@R1MOVX@R0,A或MOVX@R1,A在0~64KB范围内,可用16位寄存器DPTR间接寻址:MOVXA,@DPTRMOVX@DPTR,A4.“DAA”指令的作用是什么?怎样使用?

5、解:这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD码的加法运算结果自动进行修正的,使其仍为BCD码表达形式。在计算机中,遇到十进制调整指令时,中间结果的修正是由ALU硬件中的十进制修正电路自动进行的。用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DAA”指令即可。5.片内RAM20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?解:虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围00H~7FH形式完全相同,但是在应

6、用中可以通过指令的类型区分单元地址和位地址。位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。2思考题与习题部分参考答案MOVC,bitMOVbit,CCLRbitSETBbitCPLbitANLC,bitANLC,/bitJBbit,relJNBbit,rel6.8051单片机指令系统中有长跳转LJMP,长调用LCALL指令,为何还没有设置了绝对跳转AJMP,绝对调用ACALL指令?在实际使用是应怎样考虑?解:在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指令AJMP、长调用指令LCALL和短调用指令ACALL。长跳转L

7、JMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。长调用LCALL调用位于64KB程序空间的子程序,而短调用ACALL调用位于2KB程序空间范围的子程序。AJMP、ACALL指令代码长度为2个字节;LJMP、LCALL指令代码长度为3个字节。7.SJMP,AJMP和LJMP指令在功能上有何不同?解:指令的转移范围不同。SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP是64KB范围内的无条件长跳转指令。9思考题与习题部分参考答案8.MOVCA,@DPTR与MOVXA,@DPTR指令有何不同?解:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。