[发明专利]在X86电脑超高速解释执行TMS320C25芯片汇编指令的方法有效
申请号: | 201710609948.0 | 申请日: | 2017-07-25 |
公开(公告)号: | CN107402799B | 公开(公告)日: | 2020-07-21 |
发明(设计)人: | 杨波;李敏;李伟 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F8/51 | 分类号: | G06F8/51;G06F8/30;G06F8/41;G06F11/36 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | x86 电脑 超高速 解释 执行 tms320c25 芯片 汇编 指令 方法 | ||
1.一种在X86电脑超高速解释执行TMS320C25芯片汇编指令的方法,其特征在于,包括以下步骤:
S1、把需要翻译的汇编语言文件中的代码翻译成C语言,所述代码为汇编指令或其对应的二进制代码:读取需要翻译的汇编语言文件,先对代码进行规则化,去掉无效代码,然后对有效代码进行分析,提取变量对应的数值,把变量的地址定义为宏,识别模块的起始位置和结尾位置,把模块设定为函数,提取操作指令和操作数,提取标号,按要求进行翻译,并用goto语句替代程序中的跳转,输出翻译好的C代码,并把汇编语言文件中的代码以注释的方式按行插入所述C代码中,形成翻译好的C代码文件;
S2、利用Microsoft Visual Studio编译环境将C代码文件中的代码编译成可在Windows环境下执行的代码并调试或者全速执行,在执行过程可随时查看变量或者寄存器的值和变化情况;
步骤S1中,根据操作指令寻址方式的不同,对操作指令执行不同的翻译方式:
立即寻址方式中,操作指令中包含立即操作数,翻译时将立即操作数直接与寄存器进行运算;
直接寻址方式中,操作指令包含数据存储器地址的低7位,这7位与数据存储器页指针DP寄存器的9位连接形成完全的16位数据存储器地址,这样DP寄存器指向512页中的某一页,每页128个字,指令中的7位指向该页的特定单元;
间接寻址方式是用辅助寄存器AR提供寻址地址,可直接获取8个辅助寄存器AR0-AR7中16位地址返回的数据,翻译成C代码时,把内存定义成为2维数组Unsigned short MEM[512][128],模拟间接寻址时对地址进行变换。
2.如权利要求1所述的方法,其特征在于,步骤S1之前还包括区分数据区和程序区的步骤,所述程序区的指令包括顺序执行指令、直接跳转指令或条件跳转指令,汇编指令的代码均直接翻译成C语言,跳转采用标号形式,用goto语句实现,二进制代码的跳转仍然采用标号,把每条二进制代码均翻译成C代码,并附上编号;对于程序区中的数据,翻译过程中,直接把程序区中的数据写到定义好的数组中,并把数据的标号定义为宏,以便模拟执行时直接从数组中读取;对于数据区,利用数组来模拟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710609948.0/1.html,转载请声明来源钻瓜专利网。