[发明专利]二进制翻译方法和系统在审
申请号: | 201811403520.1 | 申请日: | 2018-11-16 |
公开(公告)号: | CN111273914A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 林正浩 | 申请(专利权)人: | 上海芯豪微电子有限公司 |
主分类号: | G06F8/52 | 分类号: | G06F8/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 翻译 方法 系统 | ||
1.一种二进制目标码翻译方法,将第一存储中的第一目标码翻译为第二目标码存入第二存储;其特征在于,
将第一存储中单数或复数行构成的一个第一行组中的每一条第一目标码翻译成第二目标码,按第一目标码的顺序存入第二存储中单数或复数行的一个第二行组;
将第二行组的总字节数与第一行组的总字节数之间的比例称为行组比;
基于行组比,分支目标第一目标码中的第一分支偏移量,源差以及目标差确定分支第二目标码中的第二分支偏移量;
在第二行组最后一条第二目标码后插入无条件分支第二目标码或不影响执行状态的第二目标码。
2.如权利要求1所述的方法,其特征在于,源差是分支第一目标码的行组偏移量与相应的分支第二目标码的行组偏移量之间的差;
行组偏移量是以行组起始点为原点的行组内地址。
3.如权利要求2所述的方法,其特征在于,目标差是分支目标第二目标码的行组偏移量与相应的分支目标第一目标码的行组偏移量之间的差。
4.如权利要求3所述的方法,,其特征在于,根据分支第一目标码的行组偏移量及分支第一目标码中第一偏移量计算分支目标第一目标码地址;
根据分支第一目标码地址从第一存储取得相应的第一行组,将其中的每条第一目标码翻译为第二目标码;
根据分支第一目标码地址的行组偏移量与相应的分支第一目标码地址的行组偏移量提取目标差。
5.如权利要求3所述的方法,其特征在于,
以第一分支偏移量除以第一存储中一行的长度,得到商及余数;
以所述商,行组比,以及第一存储的行长度相乘得到积;
以所述余数,所述积,所述源差,以及所述目标差的和为第二分支偏移量。
6.如权利要求1所述的方法,其特征在于,
如果翻译所得的第二目标码未占据整个第二行组,在行组中最后一条第二目标码后增添一条无条件分支或跳转第二目标码;
该无条件分支或跳转第二目标码中的跳转目标为顺序下一个第二行组的第一条第二目标码。
7.如权利要求1所述的方法,其特征在于,
如果翻译所得的第二目标码未占据整个第二行组,在行组中最后一条第二目标码后增添不改变执行状态的第二目标码至填满第二行组。
8.如权利要求1所述的方法,其特征在于,
记录各第一目标码的相应第二目标码的长度;
根据第一行组中一条第一目标码之前的各第一目标码种类和数量查所述记录;
根据查记录所得的各第二目标码长度的和得到与所述第一目标码相应的第二目标码的行组偏移量;
根据第一目标码的行组偏移量及相应的第二目标码的行组偏移量计算两者的差,作为源差或目标差。
9.如权利要求8所述的方法,其特征在于,
在翻译分支第一目标码时,根据分支第一目标码的行组偏移量及分支第一目标码中第一偏移量计算分支目标第一目标码地址;
根据分支目标第一目标码之前的各第一目标码的种类和数量查所述记录计算相应的分支目标第二目标码地址;
根据分支第一目标码地址的行组偏移量与相应的分支第一目标码地址中的行组偏移量计算目标差;
根据目标差计算第二分支偏移量。
10.如权利要求3所述的方法,其特征在于,
将一个第一行组中的第一目标码翻译成第二目标码存入第二行组时,计算每条第二目标码的行组偏移量与相应的第一目标码的行组偏移量的之间的差;
将差存入一个第二记录中的一行;
第二记录以第一目标码的行组地址寻址;
需要时以第一目标码的行组地址寻址第二记录中一行,按存入的格式读取目标差;
可通过对目标差取负数得到源差。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯豪微电子有限公司,未经上海芯豪微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811403520.1/1.html,转载请声明来源钻瓜专利网。