CN102830975A - 一种汇编语言到高级语言的代码转换方法和装置 - Google Patents

一种汇编语言到高级语言的代码转换方法和装置 Download PDF

Info

Publication number
CN102830975A
CN102830975A CN2012102899427A CN201210289942A CN102830975A CN 102830975 A CN102830975 A CN 102830975A CN 2012102899427 A CN2012102899427 A CN 2012102899427A CN 201210289942 A CN201210289942 A CN 201210289942A CN 102830975 A CN102830975 A CN 102830975A
Authority
CN
China
Prior art keywords
function
higher level
assembly
level lanquage
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102899427A
Other languages
English (en)
Other versions
CN102830975B (zh
Inventor
赵勇胜
陈志勇
崔荣涛
文智力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN YIRI TECHNOLOGY CO LTD
Original Assignee
SHENZHEN YIRI TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN YIRI TECHNOLOGY CO LTD filed Critical SHENZHEN YIRI TECHNOLOGY CO LTD
Priority to CN201210289942.7A priority Critical patent/CN102830975B/zh
Publication of CN102830975A publication Critical patent/CN102830975A/zh
Application granted granted Critical
Publication of CN102830975B publication Critical patent/CN102830975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种汇编语言到高级语言的代码转换方法,包括获取汇编指令,还包括:步骤S100,建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应处理器运行环境;步骤200,查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;步骤S300,遍历汇编指令,提取包含指令地址、操作符和若干个操作码的数据项;步骤S400,解析出所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;步骤S500,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中;步骤S600,在输出文本中加入使高级语言代码成功执行的辅助代码。该方法可高效的将汇编代码正确地转换为高级语言。

Description

一种汇编语言到高级语言的代码转换方法和装置
技术领域
本发明属于计算机软件编程领域,尤其涉及一种芯片系统底层软件的反汇编技术。
背景技术
SOC和DSP等芯片上的软件一般是以C、C++等高级语言开发的。在开发机上,通过该芯片的专门的编译器,高级语言被编译成二进制的机器指令,然后将二进制的机器指令载入到芯片的内存中,再利用对应的编译器,机器指令可以转换成对应的汇编语言。
因此,针对特定芯片上的软件进行反汇编,就是要将这些机器指令还原成高级语言。不管是使用机器指令转换的,还是人工直接编写的汇编语言,该汇编语言需要在特定的处理器上运行,而不能将该汇编语言移植到其他的处理器上运行的,而且,在代码量大的时候汇编语言也难以读懂。在无法获取这些代码对应的高级语言代码的情况下,将芯片的汇编语言转换成通用的高级语言在很多情况下有着急迫的需求,这样需要一种高效的方法将汇编语言转换成高级语言,来解决移植和阅读的问题。本发明提出了一种用程序来转换的方法来实现这一点。
发明内容
本发明旨在解决现有技术中没有一种高效的方法将汇编语言转换成高级语言的技术问题,提供一种汇编语言到高级语言的代码转换方法,该代码的转换用程序的方法来实现,通过该程序可有效实现汇编语言到高级语言的转换。
本发明提供一种汇编语言到高级语言的代码转换方法,包括获取芯片中的汇编指令,所述代码转换方法还包括以下步骤:
步骤S100,建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
步骤200,查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
步骤S300,遍历汇编指令,提取包含指令地址、操作符和若干个操作码的数据项,并用数据结构表示;
步骤S400,解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
步骤S500,查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中;
步骤S600,在输出文本中加入使高级语言代码成功执行的辅助代码。
优选地,所述步骤S200包括,
若一条汇编指令直接转换成高级语言后,语句超过三句,则将该语句表示成函数,作为基本库函数,并将操作符作为函数名,操作码和相关寄存器的值作为函数的参数,然后参照处理器的指令说明实现这个函数;
否则,直接生成对应的高级语言函数
优选地,步骤S400具体包括,
步骤S410,搜索所有函数的入口地址;
步骤S420,搜索函数的结束地址,将所有的汇编指令的数据结构分割成一个个单独的函数;
步骤S430,判断是否还有未处理的函数,如果是,则返回步骤S410;如果否,则进入步骤S440;
步骤S440,根据记录下来的函数入口地址,自动生成并输出所有函数的声明到高级语言的输出文件中。
优选地,搜索函数的入口地址的具体方法为:从头遍历所有汇编指令的数据结构,寻找函数调用类语句,找到一个函数调用类语句后,根据后面操作码中的地址查找是否记录过该函数,
若否,则记录下来;
若是,则放弃记录并搜索下一个函数调用类语句。
优选地,搜索函数的结束地址的具体方法为:从每个函数的入口地址开始,搜索跳转类语句和返回类语句,找到一个返回类语句后,判断该语句的地址是否在遍历过程中碰到的所有的跳转语句的目的地址之后,
如果是,则这个返回语句就是函数的结尾;
否则,继续往下遍历,直到找到满足条件的返回语句。
优选地,在搜索函数的结束地址时,如果搜索到的是返回语句,则以返回语句所在的语句为函数结尾,如果搜索到的是延迟返回语句,则以该语句后的N个周期的指令为函数结尾,其中N为整数,具体数值根据所述处理器确定。
优选地,所述步骤S500中,将每个函数生成对应的高级语言代码的具体方法为,从每个函数的入口遍历函数,自动生成函数名和函数开始符号,并根据函数内每行的操作符和操作码在高级语言的输出文本中输出转换后对应的高级语言代码,函数结尾处生成函数结尾符号,复杂指令使用预先写好的基本函数库中的函数转换。
优选地,如果在转换过程中遇到未识别的操作符,则在输出文件中直接输出该指令和错误标志。
优选地,在所述步骤S500之后,步骤S600之前,还包括步骤S550,
检查产生的高级语言输出文本,若有错误标志或者有未识别出来的操作符,在步骤S500中加入对该符号的转换方法,直到所有需要的汇编语句都转换成高级语言代码。
本发明还提供一种汇编语言到高级语言的代码转换装置,包括汇编指令获取单元,用于获取芯片中的汇编指令,该汇编语言到高级语言的代码转换装置还包括,
输出模拟单元,用于建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
映射单元,用于查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
数据提取单元,用于提取汇编指令中包含指令地址、操作符和若干个操作码的所有数据项,并将其表示成数据结构;
函数解析单元,用于解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
高级语言转换单元,用于查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中
校验单元,用于在生成的高级语言的输出文本中加入使高级语言代码成功执行的辅助代码。
以上所述技术方案,通过先读取汇编指令文本,建立高级语言的输出文本,并用高级语言代码来模拟汇编指令对应的处理器运行环境,根据芯片指令集的翻译规则,将每汇编指令有用的数据项翻译成对应的高级语言,在对应的高级语言前后通过添加的一些辅助代码,将汇编指令的文本输出成对应的能直接通过编译的高级语言文本。该转换方法在大规模的汇编语言转换成高级语言的过程中,与完全人工转换相比,可以避免人的疏忽出错,减少机械性的劳动,高效的将汇编代码正确地转换为高级语言。
附图说明
图1是本发明一种实施例的汇编语言到高级语言的代码转换方法流程图;
图2是本发明一种实施例的函数解析并输出函数声明的方法流程图;
图3是本发明一种实施例的汇编语言到高级语言的代码转换装置框图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1示出了本发明一种实施例的汇编语言到高级语言的代码转换方法,在所述代码转换前,首先获取芯片中的汇编指令,而本发明重点描述的是在已经获得汇编指令的基础上的后续汇编语言到高级语言的代码转换方法。 当然,该汇编指令也可在所述代码转换方法中用到该汇编指令时进行获取。获取汇编指令的一般方法是:使用专用设备可以从芯片电路或ROM内存中读取芯片运行的机器指令代码,将读取的指令代码改写成规定格式的机器指令输入文件,将机器指令文件按对应的起始地址导入对应的编译器中,得到对应的汇编指令,同时可以得到对应的汇编指令和该指令在内存空间中的存放地址。将全部的汇编指令保存为文本格式,优选地,每条指令一行。
所述汇编语言到高级语言的代码转换方法包括以下步骤:
步骤S100,建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
在高级语言输出文件中,用该高级语言代码来模拟汇编指令对应的处理器运行的环境,代码运行时的堆栈空间和要用到的ROM内存表示成同样大小和类型的数组,CPU寄存器的值可以表示成全局变量,对用到的寄存器中特定的位,单独表示成一个变量,对照运行到特定位置时内存和寄存器的值,将堆栈空间和数组的值初始化。
步骤200,查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
简单的汇编指令都有对应的高级语言函数,而复杂的汇编指令需要重新编写函数,若一条汇编指令直接转换成高级语言后,语句超过三句,则将该语句表示成函数,作为基本库函数,并将操作符作为函数名,操作码和相关寄存器的值作为函数的参数,然后参照处理器的指令说明实现这个函数;否则,直接生成对应的高级语言函数。最后建立各种汇编指令与高级语言函数之间的映射关系表。
步骤S300,遍历汇编指令,提取包含指令地址、操作符和若干个操作码的数据项,并用数据结构表示;
步骤S400,解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
步骤S500,查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中;
步骤S600,在输出文本中加入使高级语言代码成功执行的辅助代码。
以上实施例中,优选地,如图2所示,所述步骤S400具体包括,
步骤S410,搜索所有函数的入口地址;
步骤S420,搜索函数的结束地址,将所有的汇编指令的数据结构分割成一个个单独的函数;
步骤S430,判断是否还有未处理的函数,如果是,则返回步骤S410;如果否,则进入步骤S440;
步骤S440,根据记录下来的函数入口地址,自动生成并输出所有函数的声明到高级语言的输出文件中。
进一步地,在所述步骤S410中,搜索函数的入口地址的具体方法为:从头遍历所有汇编指令的数据结构,寻找函数调用类语句,找到一个函数调用类语句后,根据后面操作码中的地址查找是否记录过该函数,若否,则记录下来;若是,则放弃记录并搜索下一个函数调用类语句。函数调用类语句包括函数调用语句和函数延迟调用语句等。
进一步地,在所述步骤S420中,搜索函数的结束地址的具体方法为:从每个函数的入口地址开始,搜索跳转类语句和返回类语句,找到一个返回类语句后,判断该语句的地址是否在遍历过程中碰到的所有的跳转语句的目的地址之后,如果是,则这个返回语句就是函数的结尾;否则,继续往下遍历,直到找到满足条件的返回语句。
跳转类语句包括直接跳转语句、条件跳转语句、延迟跳转语句等,返回类语句包括返回语句和延迟返回语句等。找到一个返回语句后,判断该语句的地址是否在遍历过程中碰到的所有的跳转语句的目的地址之后,如果是,那么这个返回语句就是函数的结尾;如果不是,说明这只是函数中一个分支的返回语句,不是最后一个返回语句,那么继续往下遍历,直到找到满足条件的返回语句。如果是延迟返回语句,则以该语句后的N个周期的指令为函数结尾,其中N为整数,具体数值根据所述处理器确定。通过这种方法找到每个函数的结尾地址,将所有的汇编指令的数据结构分割成一个个单独的函数。
优选地,在所述步骤S500中,将每个函数生成对应的高级语言代码的具体方法为,从每个函数的入口遍历函数,自动生成函数名和函数开始符号,并根据函数内每行的操作符和操作码在高级语言的输出文本中输出转换后对应的高级语言代码,复杂指令使用预先写好的基本函数库中的函数转换。
根据操作码和已知的汇编表示符号,将数据结构中的项目识别为操作符、地址、寄存器符号、条件判断符号、立即数等,按照指令集,每个操作码对应的操作符总是固定的一种或几种,对有多种操作符情况的操作码,根据操作符的情况判断;扫描识别到的寄存器符号、地址等,转换成预定的全局变量和数组位置,给变量加上适当的括号和强制类型转换,数值转换成能被正确识别的形式;扫描识别到其他的符号,转换成对应的高级语言符号。
要调整语句顺序的指令,如延迟跳转、延迟调用、延迟条件判断、延迟返回等,先转换后面N个指令周期内的指令,然后按普通方式转换跳转、调用或返回指令放到后面。在延迟中执行的指令不影响指令延迟条件判断的判断条件,块循环指令可以全部用do-while形式的语句替换,语句开始的部分用“do{”转换,转换循环块中的所有行后,在结尾的部分插入“}while(…)”来转换,括号中间的“…”是块循环次数;如果指令中有未识别的操作符,在输出文件中直接输出该指令和错误标志。
进一步优选地,所述步骤S500之后,步骤S600之前,还包括步骤S550,
检查产生的高级语言输出文本,若有错误标志或者有未识别出来的操作符,在步骤S500中加入对该符号的转换方法,直到所有需要的汇编语句都转换成高级语言代码。所有语句中出现的操作符和操作参数都有对应的识别和转换方式。
以上转换方法在大规模的汇编语言转换成高级语言的过程中,与完全人工转换相比,可以避免人的疏忽出错,减少机械性的劳动,高效的将汇编代码正确地转换为高级语言。
如图3所示,本发明还提供一种汇编语言到高级语言的代码转换装置,包括汇编指令获取单元10,用于获取芯片中的汇编指令,所述代码转换装置还包括,
输出模拟单元20,用于建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
映射单元30,用于查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
对于简单的汇编指令,映射单元30直接查找对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表。
对于复杂指令,优选地,所述映射单元30还包括函数转换模块35,用于将复杂指令直接转换成高级语言后,则将该语句表示成函数作为基本库函数,并将操作符作为函数名,操作码和相关寄存器的值作为函数的参数,然后参照处理器的指令说明实现这个函数,之后在建立该负责指令与该函数之间的映射关系表。所述负责指令是指,一条汇编指令直接转换成高级语言后,语句超过三句的指令。
数据提取单元40,用于提取有用的数据项,即汇编指令中包含指令地址、操作符和若干个操作码的所有数据项,并将其表示成数据结构;
函数解析单元50,用于解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
高级语言转换单元60,用于查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中
校验单元70,用于在生成的高级语言的输出文本中加入使高级语言代码成功执行的辅助代码。
进一步地,所述解析单元50还包括,
函数入口地址搜索模块52,用于从头遍历所有汇编指令的数据结构,寻找函数调用类语句;
函数结束地址搜索模块54,用于搜索跳转类语句和返回类语句,并判断该返回类语句是否就是函数的结尾;
判断模块56,用于判断是否还有未处理解析的函数;
转换输出模块58,用于根据函数入口地址,自动生成并输出所有函数的声明到高级语言的输出文件中。
更近一步地,所述高级语言转换单元60还包括校对模块65,用于检查产生的高级语言输出文本中的错误标志或者未识别出来的操作符,并加入对该符号的转换方法。
以上技术方案中,通过汇编指令获取单元10获取汇编指令后,通过输出模拟单元20、映射单元30、数据提取单元40、函数解析单元50、高级语言转换单元60及校验单元70可以实现最终高级语言文本的输出,确保转换后的该高级语言代码成果执行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种汇编语言到高级语言的代码转换方法,包括获取芯片中的汇编指令,其特征在于,所述代码转换方法还包括以下步骤:
步骤S100,建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
步骤200,查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
步骤S300,遍历汇编指令,提取包含指令地址、操作符和若干个操作码的数据项,并用数据结构表示;
步骤S400,解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
步骤S500,查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中;
步骤S600,在输出文本中加入使高级语言代码成功执行的辅助代码。
2.根据权利要求1所述的汇编语言到高级语言的代码转换方法,其特征在于,所述步骤S200包括,
若一条汇编指令直接转换成高级语言后,语句超过三句,则将该语句表示成函数,作为基本库函数,并将操作符作为函数名,操作码和相关寄存器的值作为函数的参数,然后参照处理器的指令说明实现这个函数;
否则,直接生成对应的高级语言函数。
3.根据权利要求2所述的汇编语言到高级语言的代码转换方法,其特征在于,步骤S400具体包括,
步骤S410,搜索所有函数的入口地址;
步骤S420,搜索函数的结束地址,将所有的汇编指令的数据结构分割成一个个单独的函数;
步骤S430,判断是否还有未处理的函数,如果是,则返回步骤S410;如果否,则进入步骤S440;
步骤S440,根据记录下来的函数入口地址,自动生成并输出所有函数的声明到高级语言的输出文件中。
4.根据权利要求3所述的汇编语言到高级语言的代码转换方法,其特征在于,搜索函数的入口地址的具体方法为:从头遍历所有汇编指令的数据结构,寻找函数调用类语句,找到一个函数调用类语句后,根据后面操作码中的地址查找是否记录过该函数,
若否,则记录下来;
若是,则放弃记录并搜索下一个函数调用类语句。
5.根据权利要求4所述的汇编语言到高级语言的代码转换方法,其特征在于,搜索函数的结束地址的具体方法为:从每个函数的入口地址开始,搜索跳转类语句和返回类语句,找到一个返回类语句后,判断该语句的地址是否在遍历过程中碰到的所有的跳转语句的目的地址之后,
如果是,则这个返回语句就是函数的结尾;
否则,继续往下遍历,直到找到满足条件的返回语句。
6.根据权利要求5所述的汇编语言到高级语言的代码转换方法,其特征在于,所述步骤S500中,将每个函数生成对应的高级语言代码的具体方法为,从每个函数的入口遍历函数,自动生成函数名和函数开始符号,并根据函数内每行的操作符和操作码在高级语言的输出文本中输出转换后对应的高级语言代码,函数结尾处生成函数结尾符号,复杂指令使用预先写好的基本函数库中的函数转换。
7.根据权利要求6所述的汇编语言到高级语言的代码转换方法,其特征在于,如果在转换过程中遇到未识别的操作符,则在输出文件中直接输出该指令和错误标志。
8.根据权利要求7所述的汇编语言到高级语言的代码转换方法,其特征在于,在所述步骤S500之后,步骤S600之前,还包括步骤S550,
检查产生的高级语言输出文本,若有错误标志或者有未识别出来的操作符,在步骤S500中加入对该符号的转换方法,直到所有需要的汇编语句都转换成高级语言代码。
9.一种汇编语言到高级语言的代码转换装置,包括汇编指令获取单元,用于获取芯片中的汇编指令,其特征在于,还包括,
输出模拟单元,用于建立高级语言的输出文本,并用该高级语言代码来模拟汇编指令对应的处理器运行环境;
映射单元,用于查找汇编指令对应的高级语言函数,并建立汇编指令与高级语言函数之间的映射关系表;
数据提取单元,用于提取汇编指令中包含指令地址、操作符和若干个操作码的所有数据项,并将其表示成数据结构;
函数解析单元,用于解析出数据结构中的所有函数,自动生成并输出所有函数的声明到高级语言的输出文本中;
高级语言转换单元,用于查找汇编指令与高级语言函数映射表,将每个函数生成对应的高级语言代码,并输出到高级语言的输出文本中
校验单元,用于在生成的高级语言的输出文本中加入使高级语言代码成功执行的辅助代码。
10.根据权利要求9所述的汇编语言到高级语言的代码转换装置,其特征在于,所述映射单元还包括函数转换模块,用于将复杂指令直接转换成高级语言后,则将该语句表示成函数作为基本库函数,并将操作符作为函数名,操作码和相关寄存器的值作为函数的参数,然后参照处理器的指令说明实现这个函数。
CN201210289942.7A 2012-08-15 2012-08-15 一种汇编语言到高级语言的代码转换方法和装置 Active CN102830975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210289942.7A CN102830975B (zh) 2012-08-15 2012-08-15 一种汇编语言到高级语言的代码转换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210289942.7A CN102830975B (zh) 2012-08-15 2012-08-15 一种汇编语言到高级语言的代码转换方法和装置

Publications (2)

Publication Number Publication Date
CN102830975A true CN102830975A (zh) 2012-12-19
CN102830975B CN102830975B (zh) 2015-11-18

Family

ID=47334125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210289942.7A Active CN102830975B (zh) 2012-08-15 2012-08-15 一种汇编语言到高级语言的代码转换方法和装置

Country Status (1)

Country Link
CN (1) CN102830975B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142886A (zh) * 2013-05-10 2014-11-12 华为软件技术有限公司 Arm汇编代码调试处理方法及装置
CN106933554A (zh) * 2015-12-30 2017-07-07 北京国双科技有限公司 类转换方法和装置
CN109189470A (zh) * 2018-08-21 2019-01-11 北京奇虎科技有限公司 代码加固方法及装置
CN109739512A (zh) * 2018-12-28 2019-05-10 江苏极光网络技术有限公司 一种解析型语言文本式分析转换方法
CN110515652A (zh) * 2019-08-30 2019-11-29 腾讯科技(深圳)有限公司 代码摘要的生成方法、装置和存储介质
CN110597554A (zh) * 2019-08-01 2019-12-20 浙江大学 一种指令集模拟器指令函数自动生成优化方法
CN112035710A (zh) * 2020-07-28 2020-12-04 长沙市到家悠享网络科技有限公司 代码检测方法、装置、设备和存储介质
CN112394984A (zh) * 2020-10-29 2021-02-23 北京软安科技有限公司 一种固件代码分析方法及装置
CN112540750A (zh) * 2019-09-23 2021-03-23 无锡江南计算技术研究所 自适应内建函数与指令操作选择翻译方法
CN113282301A (zh) * 2021-07-22 2021-08-20 北京麟卓信息科技有限公司 基于高级语言与汇编语言相关性的汇编指令转换方法
CN114791811A (zh) * 2022-05-17 2022-07-26 中国人民解放军国防科技大学 一种基于元函数模板的汇编器实现方法
CN116501332A (zh) * 2023-06-30 2023-07-28 牛芯半导体(深圳)有限公司 语言转换方法、装置、设备及存储介质
TWI813269B (zh) * 2022-03-22 2023-08-21 瑞昱半導體股份有限公司 程式碼校驗方法及非暫態電腦可讀記錄媒體裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105814A (zh) * 2007-09-11 2008-01-16 金蝶软件(中国)有限公司 一种将Script语言转换成SQL语言的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105814A (zh) * 2007-09-11 2008-01-16 金蝶软件(中国)有限公司 一种将Script语言转换成SQL语言的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周正等: "汇编程序移植的四级映射法", 《合肥工业大学学报(自然科学版)》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142886A (zh) * 2013-05-10 2014-11-12 华为软件技术有限公司 Arm汇编代码调试处理方法及装置
CN104142886B (zh) * 2013-05-10 2017-11-28 华为软件技术有限公司 Arm汇编代码调试处理方法及装置
CN106933554A (zh) * 2015-12-30 2017-07-07 北京国双科技有限公司 类转换方法和装置
CN109189470A (zh) * 2018-08-21 2019-01-11 北京奇虎科技有限公司 代码加固方法及装置
CN109739512B (zh) * 2018-12-28 2022-04-12 江苏极光网络技术有限公司 一种解析型语言文本式分析转换方法
CN109739512A (zh) * 2018-12-28 2019-05-10 江苏极光网络技术有限公司 一种解析型语言文本式分析转换方法
CN110597554A (zh) * 2019-08-01 2019-12-20 浙江大学 一种指令集模拟器指令函数自动生成优化方法
CN110515652A (zh) * 2019-08-30 2019-11-29 腾讯科技(深圳)有限公司 代码摘要的生成方法、装置和存储介质
CN112540750A (zh) * 2019-09-23 2021-03-23 无锡江南计算技术研究所 自适应内建函数与指令操作选择翻译方法
CN112035710A (zh) * 2020-07-28 2020-12-04 长沙市到家悠享网络科技有限公司 代码检测方法、装置、设备和存储介质
CN112394984B (zh) * 2020-10-29 2022-09-30 北京智联安行科技有限公司 一种固件代码分析方法及装置
CN112394984A (zh) * 2020-10-29 2021-02-23 北京软安科技有限公司 一种固件代码分析方法及装置
CN113282301B (zh) * 2021-07-22 2021-11-02 北京麟卓信息科技有限公司 基于高级语言与汇编语言相关性的汇编指令转换方法
CN113282301A (zh) * 2021-07-22 2021-08-20 北京麟卓信息科技有限公司 基于高级语言与汇编语言相关性的汇编指令转换方法
TWI813269B (zh) * 2022-03-22 2023-08-21 瑞昱半導體股份有限公司 程式碼校驗方法及非暫態電腦可讀記錄媒體裝置
CN114791811A (zh) * 2022-05-17 2022-07-26 中国人民解放军国防科技大学 一种基于元函数模板的汇编器实现方法
CN114791811B (zh) * 2022-05-17 2024-04-12 中国人民解放军国防科技大学 一种基于元函数模板的汇编器实现方法
CN116501332A (zh) * 2023-06-30 2023-07-28 牛芯半导体(深圳)有限公司 语言转换方法、装置、设备及存储介质
CN116501332B (zh) * 2023-06-30 2023-09-29 牛芯半导体(深圳)有限公司 语言转换方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN102830975B (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN102830975B (zh) 一种汇编语言到高级语言的代码转换方法和装置
CN106227668B (zh) 数据处理方法和装置
CN104536797B (zh) 一种Java程序预编译方法和预编译器
CN108874396A (zh) 基于hlsl的多平台多目标语言的交叉编译器及编译方法
CN104657189B (zh) 混合式动态码编译装置、方法及其服务系统
CN103077062B (zh) 一种代码改动的检测方法和装置
CN103123590A (zh) 指令表il程序到c语言程序的编译方法
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
CN109491658A (zh) 计算机可执行代码数据的生成方法及装置
CN103077064A (zh) 一种解析并执行程序语言方法及解释装置
CN103914379B (zh) 故障自动注入与故障检测的方法及其系统
CN104134039A (zh) 病毒查杀方法、客户端、服务器以及病毒查杀系统
CN101706734A (zh) 二进制翻译中间接跳转指令的翻译方法及其系统
CN101344855A (zh) 一种基于编译的跟踪代码中特定对象的控制方法及装置
CN114217886A (zh) 一种函数调用方法、计算设备及存储介质
CN112379917A (zh) 浏览器兼容性提升方法、装置、设备及存储介质
CN101980546B (zh) 智能网平台、业务执行方法和分析业务异常的方法
CN103942082B (zh) 一种消除冗余的内存访问操作的编译优化方法
CN103235757B (zh) 基于自动化造数对输入域测试对象进行测试的装置和方法
CN114625371A (zh) 跨操作系统多源融合算法编译方法、编译器及存储介质
CN104991810A (zh) 自动添加apk到安卓系统中的方法及处理系统
CN116484947B (zh) 算子的自动生成方法、装置、设备及介质
CN101339507B (zh) 一种生成嵌入式程序运行符号表的方法
CN101645018B (zh) 多版本的字节码处理方法、系统和装置
CN115629762A (zh) 一种json数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets High-tech Industrial Park South seven road No. 11 Shenzhen Software Park building T3 B District 5 floor

Patentee after: Shenzhen Yiri Technology Co.,Ltd.

Address before: Shenzhen City, Nanshan District high tech Industrial Park in Guangdong province 518000 South six road to Kelon building 15 Floor

Patentee before: Shenzhen Yiri Technology Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 Guangdong Province Nanshan District Yuehai Street High-tech Zone Community High-tech South Road 017 Wan Delai Building North Block 5 Floor 502B

Patentee after: Shenzhen Yiri Technology Co.,Ltd.

Address before: 518000 5 / F, block B, building T3, Shenzhen Software Park, No. 11, gaoxinnan 7th Road, high tech Industrial Park, Yuehai street, Nanshan District, Shenzhen

Patentee before: Shenzhen Yiri Technology Co.,Ltd.