新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 浅谈基于51单片机的反汇编要点

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

作者:时间:2012-10-09来源:网络收藏

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

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

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

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

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

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

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

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

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


上一页 1 2 3 下一页

关键词: 51单片机 反汇编

评论


相关推荐

技术专区

关闭