首页 > 手机 > 配件 > 美国国防信息系统局,disa

美国国防信息系统局,disa

来源:整理 时间:2022-04-07 15:46:37 编辑:华为40 手机版

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

菜农的超级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文件并保存。

文章TAG:disa信息系统国防

最近更新