基于51单片机的反汇编要点

2021-01-28 11:56:27 浏览
  从一个现有的单片机应用系统中读出目标代码进行单片机反汇编,可以分析原程序的设计思想,然后加以改进和创新,这是单片机爱好者学习单片机、开发新产品的一个重要途径。但是,很多单片机爱好者在时常会失败,怎样才能正确进行反汇编呢?下面就以为例,谈谈反汇编的要点。

  怎样正确获取程序的目标代码

  要正确获取程序的目标代码,首先要明确程序代码的存放地点。的程序存储器最大空间为64KB,在一个实际的应用系统中,程序存储器的分布情况可能有以下几种:

  (1)只使用了片内程序空间。而没有使用片外的程序空间。

  其硬件特征为:/EA引脚接VCC;/PSEN引脚为空脚。

  这种情况比较简单,全部应用程序都在单片机内部的程序存储器中,我们只要使用编程器将程序代码读出来,保存为一个目标代码文件就可以了。要注意的是,有一些新型的单片机具有加密功能,如果进行了加密,其中的程序代码就是不能读出。

  (2)没有使用片内程序空间,片外程序空间由单个存储芯片构成。

  其硬件特征为:/EA引脚接GND;/PSEN引脚接到一个存储芯片上。

  这种情况下,全部应用程序都在单片机外部的程序存储器中,原则上我们只要使用编程器将程序代码读出来,保存为一个目标代码文件就可以了。但要注意的是,这样得到的并不一定是真正的目标代码,因为,为了防止程序代码被读取、反汇编,很多设计人员都采取跳接线的方法,将某些地址线跳接或将某些数据线跳接或将地址线、数据线都进行跳接,从而保护自己的程序不被反汇编。这样一来,我们从存储器中读取的就不是真正的程序目标代码,必须进行某种变换,将其转换为真正的程序目标代码,才能进行反汇编。

文章标签: 单片机反汇编要点 单片机反汇编作用

本文链接地址: 基于51单片机的反汇编要点:http://www.mcucd.com/dfb/59.html
联系信息:单片机疑难问题咨询:方先生 手机:15328075932 QQ:67828115

版权声明 本文部分文字和图片来源于互联网,如有侵犯您的权利请发送内容至:173323810@qq.com,我们将立即删除!