[發明專利]指令集模擬器及其模擬器生成方法有效
| 申請號: | 201680055109.2 | 申請日: | 2016-07-22 |
| 公開(公告)號: | CN108027748B | 公開(公告)日: | 2019-09-10 |
| 發明(設計)人: | 一色剛 | 申請(專利權)人: | 國立大學法人東京工業大學 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 邸萬奎 |
| 地址: | 日本*** | 國省代碼: | 日本;JP |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 模擬器 及其 生成 方法 | ||
1.一種指令集模擬器,其將機器語言程序轉換為程序源代碼而生成,其特征在于,包括:
子例程檢測部件,檢測所述機器語言程序中包含的子例程;
分支指令檢測部件,檢測所述機器語言程序中包含的指令字之中具有分支目的地地址的分支指令;
子例程調用指令檢測部件,檢測所述機器語言程序中包含的指令字之中具有子例程調用目的地地址的子例程調用指令;
子例程源代碼輸出部件,輸出由所述子例程檢測部件檢測所述機器語言程序所得的各子例程單位的程序源代碼;
識別符附加部件,在所述程序源代碼的分支目的地的指令中附加表示所述分支目的地地址的識別符;
無條件分支指令輸出部件,將所述機器語言程序的所述分支指令作為對具有所述程序源代碼的所述識別符的指令的無條件分支指令輸出;以及
子例程調用指令輸出部件,將所述機器語言程序的子例程調用指令作為所述程序源代碼的子例程調用指令輸出。
2.如權利要求1所述的指令集模擬器,其特征在于,
所述分支指令檢測部件具有:
簡單分支指令檢測部件,檢測所述機器語言程序中包含的指令字之中可以指定分支目的地地址的簡單分支指令;以及
數據依賴分支指令檢測部件,檢測以寄存器值或存儲器值確定所述機器語言程序中包含的分支目的地地址的數據依賴分支指令。
3.如權利要求2所述的指令集模擬器,其特征在于,還包括:
轉移表記錄部件,將所述機器語言程序的所述數據依賴分支指令的分支目的地地址記錄在轉移表信息存儲單元中;以及
數據依賴分支指令生成部件,基于所述數據依賴分支指令的所述分支目的地地址,從所述轉移表信息存儲單元檢索相應的轉移表信息,使用檢索出的轉移表信息,生成所述程序源代碼的所述無條件分支指令。
4.如權利要求1所述的指令集模擬器,其特征在于,
所述子例程調用指令檢測部件具有:
簡單子例程調用指令檢測部件,檢測所述機器語言程序中包含的指令字之中可以指定調用目的地地址的簡單子例程調用指令;以及
數據依賴子例程調用指令檢測部件,檢測由寄存器值或存儲器值確定所述機器語言程序中包含的調用目的地地址的數據依賴子例程調用指令。
5.如權利要求4所述的指令集模擬器,其特征在于,
所述子例程調用指令輸出部件包括:
子例程機器語言地址表生成部件,生成將與子例程名和子例程機器語言地址形成對的信息有關的子例程機器語言地址表;
子例程地址檢索處理指令生成部件,從子例程機器語言地址檢索所述程序源代碼上的子例程,生成獲取所述程序源代碼上的子例程地址的子例程地址檢索處理的程序;以及
數據依賴子例程調用指令生成部件,根據所述子例程地址檢索處理的指令,指定所述程序源代碼的數據依賴子例程調用指令的調用目的地子例程,對該子例程進行調用處理。
6.如權利要求1至權利要求5中任意一項所述的指令集模擬器,其特征在于,還包括:
寄存器變量展開部件,將所述機器語言程序的寄存器值作為所述程序源代碼上的子例程自變量變量或局部變量來描述。
7.如權利要求1至權利要求5中任意一項所述的指令集模擬器,其特征在于,
所述程序源代碼是C語言的程序,不使用有關程序計數器的switch語句和有關各指令地址的case語句的代碼結構,而使用對具有程序源代碼上的識別符的指令的無條件分支指令和子例程調用指令,所述機器語言程序的子例程和所述程序源代碼的子例程對應,所述機器語言程序中的子例程的分層被復原為所述程序源代碼中的子例程的分層。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國立大學法人東京工業大學,未經國立大學法人東京工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680055109.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:鍺表面的鈍化
- 下一篇:一種層狀超細晶雙相鐵素體/馬氏體鋼及其制備方法





