[发明专利]一种单片机反汇编的方法有效

专利信息
申请号: 201110400040.1 申请日: 2011-12-05
公开(公告)号: CN102591698A 公开(公告)日: 2012-07-18
发明(设计)人: 卢琼辉 申请(专利权)人: 福建二菱电子有限公司
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 厦门市首创君合专利事务所有限公司 35204 代理人: 连耀忠
地址: 363000*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种单片机反汇编的方法,根据汇编语言指令系统的操作码逐层分析指令,能清晰、快速分析指令,并对被跳转的地址和被调用的地址加入地址标号,有利于程序的阅读,且可使用汇编器重新汇编,同时采用两次分析机器码,同时生成LST列表文件和ASM可再汇编文件。采用本发明,有助于源代码编译后机器码的检查和优化编译,也可用于找回丢失的源代码。
搜索关键词: 一种 单片机 汇编 方法
【主权项】:
一种单片机反汇编的方法,其特征在于:包括以下步骤:步骤A,PC机的显示界面显示输入框,向输入框输入待分析的机器码文件名、待生成的反汇编目标LST文件名和待生成的反汇编目标ASM文件名;步骤B,PC机的处理器建立临时文件并将所述的临时文件初始化为0,同时设置指令长度计算器并将所述的指令计算器初始化为0,PC的处理器将临时文件的地址和机器码文件的地址均置为0;步骤C,PC机的处理器将机器码文件转化成二进制格式后开始第一遍分析机器码文件并获得该机器码文件的总指令长度,PC机的处理器将临时文件的地址和机器码文件的地址均加1;步骤D,PC机的处理器开始分析机器码文件的地址所对应的指令并获得该指令的指令长度,同时将该指令长度加入指令长度计数器中;步骤E,PC机的处理器分析步骤D所述机器码文件的地址所对应的指令,如果该指令是跳转指令或者调用指令,将跳转标志或者调用标志写入临时文件对应的地址处后转到步骤F,否则直接转到步骤F;步骤F,PC机的处理器将步骤D所述机器码文件的地址所对应的指令的地址、机器码和该指令反汇编出来的汇编指令写入反汇编目标LST文件中;步骤G,PC机的处理器将步骤D所述的机器码文件对应的地址与步骤D所述的指令长度相加,得到机器码文件下一条指令的起始地址,PC机的处理器将步骤C所述的临时文件对应的地址与步骤D所述的指令长度相加,得到临时文件下一条指令的起始地址,PC机的处理器判断指令计算器中的数值是否等于总指令长度,如果是则转到步骤H,否则转到步骤D;步骤H,PC机的处理器将临时文件的地址、机器码文件的地址和指令计算器重新均置为0,并第二遍分析机器码文件并获得该机器码 文件的总指令长度,PC机的处理器将临时文件的地址和机器码文件的地址均加1,PC机的处理器获得机器码文件的地址所对应指令的指令长度,同时将该指令长度加入指令长度计数器中;步骤I,PC机的处理器开始分析所述机器码文件的地址处所对应的机器码指令并同时查询临时文件中对应的地址处是否有跳转标志或者调用标志,如果是调用标志或者跳转标志则均转到步骤J,否则转到步骤K;步骤J,PC机的处理器将任意一个字母和步骤I所述机器码文件的地址写入反汇编目标ASM文件中;步骤K,PC机的处理器将步骤I所述机器码文件的地址所对应的机器码指令反汇编出来的汇编指令写入反汇编目标ASM文件中;步骤L,PC机的处理器将步骤I所述的机器码文件对应的地址与步骤H所述的指令长度相加,得到机器码文件下一条指令的起始地址,PC机的处理器将步骤I所述的临时文件对应的地址与步骤H所述的指令长度相加,得到临时文件下一条指令的起始地址,PC机的处理器判断指令计算器中的数值是否等于总指令长度,如果是结束反汇编,否则转到步骤I。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建二菱电子有限公司,未经福建二菱电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201110400040.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top