【技术实现步骤摘要】
本专利技术属于计算机,特别是涉及一种代码翻译方法、装置、电子设备及可读存储介质。
技术介绍
1、在计算机
中,由于不同架构的指令集不同,为了将一种架构的软件迁移至另一种架构上运行,往往需要对源架构的源程序进行翻译,但很多软件的源程序中均存在汇编代码,这些汇编代码往往只适用于源架构上运行。
2、现有技术中,通常是由人工对源程序中的汇编代码进行翻译,翻译为另一种架构的汇编代码,但人工翻译效率较低。
技术实现思路
1、本专利技术提供一种代码翻译方法、装置、电子设备及可读存储介质,以便解决汇编代码翻译效率较低的问题。
2、为了解决上述技术问题,本专利技术是这样实现的:
3、第一方面,本专利技术提供一种代码翻译方法,所述方法包括:
4、响应于对第一代码的翻译请求,生成寄存器映射表;所述寄存器映射表中包含第一寄存器与第二寄存器的对应关系;所述第一代码为第一架构的汇编代码;
5、基于所述第一架构的指令集获取所述第一代码中的各待翻译函数的语
...
【技术保护点】
1.一种代码翻译方法,其特征在于,所述方法包括:
2.根据权利要求1所述方法,其特征在于,所述目标参数包括所述目标函数的传入参数,和/或,传出参数;所述转换代码包括对应所述传入参数的第一转换代码,和/或,对应所述传出参数的第二转换代码;
3.根据权利要求1所述方法,其特征在于,所述转换代码还用于创建存储所述目标参数的目标堆栈,并将所述目标堆栈的栈指针地址存储至预先设置的目标寄存器中;
4.根据权利要求1所述方法,其特征在于,所述根据所述语义信息以及所述寄存器映射表、所述第二架构的指令集生成所述各待翻译函数对应的翻译后函数,包括:
...【技术特征摘要】
1.一种代码翻译方法,其特征在于,所述方法包括:
2.根据权利要求1所述方法,其特征在于,所述目标参数包括所述目标函数的传入参数,和/或,传出参数;所述转换代码包括对应所述传入参数的第一转换代码,和/或,对应所述传出参数的第二转换代码;
3.根据权利要求1所述方法,其特征在于,所述转换代码还用于创建存储所述目标参数的目标堆栈,并将所述目标堆栈的栈指针地址存储至预先设置的目标寄存器中;
4.根据权利要求1所述方法,其特征在于,所述根据所述语义信息以及所述寄存器映射表、所述第二架构的指令集生成所述各待翻译函数对应的翻译后函数,包括:
5.根据权利要求4所述的方法,其特征在于,所述在所述第二架构的指令集中确定各所述待翻译指令对应的各翻译后指令的操作码,包括:
6.根据权利要求4所述的方法,其特征在于,所述第一寄存器为第一架构的寄存器,所述第二寄存器为第二架构的寄存器;所述基于所述寄存器映射表确定各所述待翻译指令所对应的翻译后寄存器,包括:
7.根据权利要求1所述方法,其特征在于,所述生成寄存器映射表,包括:
8.一种代码翻译装置,其特征在于,所述装置包括:
9.根据权利要求8所述装...
【专利技术属性】
技术研发人员:朱琛,曹惠雄,
申请(专利权)人:龙芯中科技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。