电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>单片机>51单片机的相对寻址问题的探讨资料说明

51单片机的相对寻址问题的探讨资料说明

2019-08-21 | rar | 0.07 MB | 次下载 | 免费

资料介绍

  MCS-51系列单片机作为经典的单片机应用十分广泛,其指令总共有111条。其指令中对操作数的寻址方式有7种,分别为立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。在学习相对寻址的内容和有关相对寻址的指令时,许多初学者会对于偏移量的值和跳转目的地址的值混淆不清,产生疑惑和不解。许多教材对此问题的解释也不一致,甚至有错误,这加深了初学者的困惑和理解错误。仿真技术电子电路设计中得到了广泛的应用,利用Protues、伟福软件等可以很直观的展示程序的执行过程。为了揭示相对寻址的本质,本文将利用Protues仿真软件和伟福软件的仿真功能对相对寻址进行剖析。

  相对寻址方式是为了程序的相对转移而设计的,其过程是以当前PC的内容为基址,加偏移量作为转移地址,从而实现程序的转移。转移的目的地址取决于表达式:目的地址=转移指令地址+转移指令字节数+偏移量。需要注意的是,偏移量是有正负号之分的,偏移量的取值范围是当前PC值的-128~+127之间。该表达式应这样理解:在执行转移指令语句时,PC的内容是转移指令的下一条指令的地址值,该地址值加上要偏移的地址字节数形成新目的地址,然后程序跳转到新的目的地址,其中要偏移的地址字节数为8位有符号数二进制数,即偏移量在-128~+127之内。那么这个偏移量是如何得到的呢?在许多教材和文章中均以rel作为相对寻址的标志,这些教材和文章对相对寻址的解释都很相似,其解释为:以程序计数器PC的当前值为基址,加上汇编指令中给出的相对偏移量rel,形成新的PC值,即跳转目的地址,相对偏移量rel为一字节补码数,其表示范围为-128~+127[1-8]。举例来说明此问题,如下面的汇编语言程序语句:

  ORG 0200H

  MOV A,#36 ;双字节指令

  JNZ 30H ;双字节指令

  按这些教材和文章中的解释,执行指令JNZ 08H时PC值变为0202H+2,30H就是相对偏移量,该指令执行后程序应该跳转到目的地址=0202H(转移指令地址)+2(转移指令JZ的字节数)+30H(偏移量)=0232H上。事实上这种解释是错误的,该跳转指令执行后程序不会跳转到计算出的目的地址上去。笔者认为应该是:进行相对寻址时,确实是以PC的当前值作为基址,加上相对偏移量形成新的目的地址,但是在汇编指令中并不能直接看出相对偏移量,这个偏移量体现在机器码中;而汇编指令中的rel,不管是数值形式还是符号形式只能是目的地址值,且其距离在当前PC值-128~+127的范围内。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1储能电源市场分析
  2. 7.99 MB  |  10次下载  |  免费
  3. 2储能电源市场分析报告
  4. 2.61 MB   |  6次下载  |  免费
  5. 3磁环电感定制时应该注意什么
  6. 0.32 MB   |  2次下载  |  免费
  7. 4labview文档教程资料(一)
  8. 24.29 MB   |  2次下载  |  免费
  9. 54.5V 至 17V 输入、8A 同步降压 SWIFT™ 转换器TPS568215OA数据表
  10. 1.27MB   |  1次下载  |  免费
  11. 6轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
  12. 0.60 MB   |  1次下载  |  2 积分
  13. 7英集芯IP5353 QFN32 规格书pdf
  14. 2.70 MB  |  1次下载  |  免费
  15. 8采用QFN封装且具有2.95V-6V 输入的LMZ30604 4A电源模块数据表
  16. 1.86MB   |  1次下载  |  免费

本月

  1. 1STM32国内外发展现状
  2. 1.15 MB   |  15次下载  |  免费
  3. 2传感芯片选型指南
  4. 3.60 MB   |  12次下载  |  免费
  5. 3储能电源市场分析
  6. 7.99 MB  |  10次下载  |  免费
  7. 4ATmega8芯片中文手册
  8. 2.45 MB   |  8次下载  |  1 积分
  9. 5TDK电容器产品指南
  10. 11.88 MB   |  7次下载  |  1 积分
  11. 62A多电池高效开关充电器AN_SY6912A中文资料规格书
  12. 1.43 MB   |  7次下载  |  免费
  13. 7STM32F030单片机编程中文参考资料
  14. 15.52 MB   |  6次下载  |  3 积分
  15. 8储能电源市场分析报告
  16. 2.61 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935091次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420050次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233068次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191317次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183316次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73788次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费