[发明专利]二进制翻译方法和系统在审
申请号: | 201811403520.1 | 申请日: | 2018-11-16 |
公开(公告)号: | CN111273914A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 林正浩 | 申请(专利权)人: | 上海芯豪微电子有限公司 |
主分类号: | G06F8/52 | 分类号: | G06F8/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 翻译 方法 系统 | ||
本发明提供了一种二进制目标码翻译的方法和系统,可以以软件或以硬件实现,将一种二进制目标码翻译成第二种二进制目标码。使得只能执行第二种目标码的计算机或处理器不需改动,能直接执行翻译得到的第二种二进制目标码。
技术领域
本发明涉及计算机软件及硬件领域。
背景技术
用高级语言编写的代码编译后成为机器码(machine code),也称为二进制目标码(binary object code)。用一种汇编语言编写的汇编码经汇编后也成为机器码。
一种机器码需经过二进制翻译(binary translation)才能在可执行另一种机器码的计算机或处理器上执行。二进制翻译现实中有很大需求。但现有的二进制翻译技术或者会带来显著的性能损失,例如模拟器(emulator);或者翻译效率不高,如将二进制目标码反编译为高级语言,再从高级语言编译为另一种二进制目标码,比如专利US7765539;或者需要改变现有计算机或处理器的结构,如中国专利申请201410697780.X。
本发明提出的方法与系统装置能直接解决上述或其他的一个或多个困难。
发明内容
本发明提出了一种二进制目标码翻译的方法和系统,其特征在于,包括:将一个计算机可读存储介质(computer readable storage medium)中单数或复数行第一种二进制目标码翻译成第二种二进制目标码存入第二个计算机可读存储介质中的单数或复数行,其单或复数第一种二进制目标码行中的字节数与单或复数第二种二进制目标码行中的字节数成特定比例关系。如翻译得到的第二种二进制目标码未占据单数或复数行第二种二进制目标码行的全部,在最后一条第二种二进制目标码后增添无条件分支第二种二进制目标码,或不影响执行状态的第二种二进制目标码。根据所述第一种二进制目标码分支偏移量与所述比例关系等计算第二种二进制目标码的分支偏移量存入相应的第二种分支二进制目标码。使得现有的计算机或处理器等器件能直接执行第二个计算机可读存储介质中存储的,由翻译得到的第二种二进制目标码。
本发明所述二进制目标码翻译的方法和系统简单,高效,可预测;翻译得到的二进制目标码的执行效率较其他二进制翻译方法和系统高;可以以软件或硬件的形式实现。现有的计算机或处理器等器件可直接执行本二进制目标码翻译方法和系统翻译得到的二进制目标码,不需任何改动。
对于本领域专业人士而言,本发明的其他优点和应用是显见的。
附图说明
图1是第一存储中的第一行组与第二存储中的第二行组的实施例;
图2是增添一条无条件分支第二目标码的实施例;
图3是计算第二偏移量的过程;
图4是计算第二偏移量的实施例;
图5是目标码长度表的实施例
图6是行组偏移表的实施例;
图7是二进制翻译器与处理器协同工作的实施例;
图8是二进制翻译器与处理器协同工作的另一个实施例。
具体实施方式
以下结合附图和具体实施例对本发明提出的二进制目标目标码翻译方法和装置,系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯豪微电子有限公司,未经上海芯豪微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811403520.1/2.html,转载请声明来源钻瓜专利网。