菜农的超级51反汇编disasm51用着如何

更新时间:02-03 教程 由 安笙々 分享

菜农的超级51反汇编disasm51用着如何?

菜农的51超级反汇编disasm51是在1993年编写的,在DOS上用命令行运行的。

当时发现万利的仿真器自带的intel编写的61反汇编不错,但是代码和数据的分离做的不太好,但优点是可以手工指定从某区域开始反汇编。

菜农是受到还反汇编的启发产生了编写反汇编的念头。

当时需要许多数据格式的转换,所以想练手,故编写了许多转换程序,如hex2bin,bin2hex的这些已经有的命令行程序。

反汇编的要点就是“数据和代码的分离”!

菜农的原则是哪怕反汇编出来的全部是数据区,也能通过编译器再次编译。

由于51开始必须是从“复位中断向量”开始运行的,它运行过的,就是“程序区”,未运行到的地方就叫“数据区”。

51还有其他中断向量,如外部中断向量,定时器中断向量,串口中断向量等,但并非一定执行,即可能不存在,如果强行执行,反汇编的代码肯定不对。

因为程序中存在“散转程序”或函数指针,故指令中隐藏了程序的入口地址,而真的入口地址在“变量”或“数组中隐藏着。

故需要用户自己添加这些“隐藏向量”,即“强制入口地址表”。

disasm51只支持64K以内的程序的反汇编,故地址为两个字节4个16进制数字。

由于现在是windows时代,故命令行已经没人使用也非常不方便,故菜农将其嵌入到HotISP软件内,HotISP的本来工作是用ISP下载程序。

在HotISP,可以选择主菜单“HotWC3”,子菜单“MCS51反汇编”,就会出现disasm51窗口界面。

它需要提供disasm51.exe的安装路径(已经默认安装),用户必须提供BIN格式的文件!

如果是HEX格式,需要在“文件转换”里进行HEX和BIN的自动转换。

disasm51可以和keil文件或keil工程联动。

点击“打开keil文件”,即可在keil里打开用户的反汇编后的A51文件,非常方便地再编辑修改文件。

点击“打开keil工程”,即可在keil里打开用户的工程,直接用keil编译用户的反汇编A51文件,可以生成HEX文件,非常方便。

用户可以包含keil内的芯片INC头文件,但必须先转换为“用户定义”DEF文件并保存。

用户的所以操作就在“用户定义”窗口内,然后只需点击“单次”或“绿色箭头”即可运行反汇编。

其输出为A51文件,可以在disasm51内的“A51文件”窗口内查看,也可以用keil查看,或其他编辑软件查看。

HotISP网上有下载,也可通过头条私信联系菜农。

声明:关于《菜农的超级51反汇编disasm51用着如何》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2188613.html