JP2010266939A - Reverse assembling system, reverse assembling program, and reverse assembling method - Google Patents

Reverse assembling system, reverse assembling program, and reverse assembling method Download PDF

Info

Publication number
JP2010266939A
JP2010266939A JP2009115766A JP2009115766A JP2010266939A JP 2010266939 A JP2010266939 A JP 2010266939A JP 2009115766 A JP2009115766 A JP 2009115766A JP 2009115766 A JP2009115766 A JP 2009115766A JP 2010266939 A JP2010266939 A JP 2010266939A
Authority
JP
Japan
Prior art keywords
control
name
address
valid
control name
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.)
Withdrawn
Application number
JP2009115766A
Other languages
Japanese (ja)
Inventor
Keiji Ono
圭司 小野
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009115766A priority Critical patent/JP2010266939A/en
Publication of JP2010266939A publication Critical patent/JP2010266939A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide technique for performing displaying by a control name coinciding with an actual usage function, when performing disassembling. <P>SOLUTION: A disassembling system (1) is configured, including a display part; and a reverse assembling part (15) for supplying a performance result, after performing the reverse assembling to the display part. The reverse assembling part (15) specifies an instruction description and an instruction address, based on an analysis result obtained by analyzing an instruction code, extracts collation data corresponding to the instruction description with reference to a control list file (14) having control name effective information, and supplies to the display part the control name as the performance result (16) of the reverse assembling, which is specified based on the collation address to be indicated by the extracted collation data, the instruction address to be indicated by the analysis result, and a predetermined address effective range. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、逆アセンブルシステム、逆アセンブルプログラム、及び逆アセンブル方法に関する。   The present invention relates to a disassembly system, a disassembly program, and a disassembly method.

同一のアドレスに、異なる機能を持つメモリ・マップドI/Oレジスタを割り付けたデバイスが存在する。このようなデバイス用のソフトウェアの開発を支援する技術が知られている(例えば、特許文献1参照)。特許文献1には、1つの命令で複数の処理を行う機能を含むソースプログラムのデバッグ方法に関する技術が記載されている。その技術では、命令のセマンティクス(命令の内部構造)に関する情報に基づいて複数の処理単位に分割している。さらに、命令が使用するデータの格納先を、命令のセマンティクス(命令の内部構造)に関する情報に基づいて抽出している。また、分割された命令を各処理単位毎に実行し、そのソースプログラム、処理単位毎に分割された分割命令、及び命令が使用するデータを表示している。そして、それと共に、そのソースプログラム、分割命令、及び命令が使用するデータのうち、実行段階のソースプログラム、実行段階の分割命令、及び命令が使用するデータを強調して表示している。   There is a device in which memory mapped I / O registers having different functions are allocated to the same address. A technology for supporting the development of software for such a device is known (see, for example, Patent Document 1). Patent Document 1 describes a technique related to a method for debugging a source program including a function of performing a plurality of processes with one instruction. In this technique, the processing is divided into a plurality of processing units based on information on instruction semantics (instruction internal structure). Furthermore, the storage location of the data used by the instruction is extracted based on information on instruction semantics (instruction internal structure). Further, the divided instruction is executed for each processing unit, and the source program, the divided instruction divided for each processing unit, and data used by the instruction are displayed. At the same time, among the source program, the divided instruction, and the data used by the instruction, the source program at the execution stage, the divided instruction at the execution stage, and the data used by the instruction are highlighted.

また、上述のようなデバイス用のソフトウェアの開発をする場合、逆アセンブル方式を適用することがある(例えば、特許文献2参照)。図1は、従来の逆アセンブルシステムの構成を示すブロック図である。従来の逆アセンブルシステムは、マクロライブラリ101と、制御表のアセンブルリスト102と、制御表ファイル103と、リンクファイル104と、逆アセンブル部105と、パラメータファイル107とを備え、ソースリスト106を出力している。   Further, when developing software for devices as described above, a disassembly method may be applied (see, for example, Patent Document 2). FIG. 1 is a block diagram showing a configuration of a conventional disassembly system. The conventional disassembly system includes a macro library 101, a control table assembly list 102, a control table file 103, a link file 104, a disassembly unit 105, and a parameter file 107, and outputs a source list 106. ing.

従来の逆アセンブルシステムは、マクロライブラリ101をアセンブルして、制御表のアセンブルリスト102を作成する。制御表のアセンブルリスト102内には、処理に不要なデータが存在する。そのため抽出プログラムにより、逆アセンブルに必要な情報のみを取り出した情報を制御表ファイル103に出力する。逆アセンブル部105により、命令コードを解析し、命令オペランドに制御名を表示する場合、オペランドのアドレスと制御名表内のアドレスとを照合し、一致した制御名をオペランドに表示する。   The conventional disassembly system assembles the macro library 101 and creates the control table assemble list 102. In the assemble list 102 of the control table, there is data unnecessary for processing. Therefore, the extraction program outputs information obtained by extracting only information necessary for disassembly to the control table file 103. When the instruction code is analyzed by the disassembler 105 and the control name is displayed in the instruction operand, the address of the operand is compared with the address in the control name table, and the matched control name is displayed in the operand.

図2は、従来の逆アセンブルシステムの動作を示すフローチャートである。ステップS1において、メモリ内部の命令コードを読み込む。ステップS2において、得られた命令コードの命令解析を行う。ステップS3において、その命令解析によって得られた解析結果が、オペランドに制御名を記述可能な命令か否かの判断を行う。その判断の結果、オペランドに制御名を記述可能な命令と判断した場合、処理はステップS4に進み、オペランドに制御名を記述可能な命令と判断されなかった場合、処理はステップS8に進む。   FIG. 2 is a flowchart showing the operation of the conventional disassembly system. In step S1, an instruction code in the memory is read. In step S2, instruction analysis of the obtained instruction code is performed. In step S3, it is determined whether or not the analysis result obtained by the instruction analysis is an instruction that can describe a control name in the operand. As a result of the determination, if it is determined that the instruction can describe the control name in the operand, the process proceeds to step S4. If it is not determined that the instruction can describe the control name in the operand, the process proceeds to step S8.

ステップS8において、命令がオペランドに制御名を記述可能な命令でなかった場合、オペランドが表示される。ステップS4において、オペランドに制御名を記述可能な命令なので、制御ファイル内にデータがあるかどうかの判断を行う。その判断の結果、制御ファイル内にデータがある場合、処理はステップS5に進み、制御ファイル内にデータがない場合、処理はステップS9に進む。ステップS9において、制御ファイル内にデータがない場合、オペランドにアドレスを表示する。   In step S8, if the instruction is not an instruction that can describe a control name in the operand, the operand is displayed. In step S4, since the control name can be described in the operand, it is determined whether there is data in the control file. As a result of the determination, when there is data in the control file, the process proceeds to step S5, and when there is no data in the control file, the process proceeds to step S9. In step S9, if there is no data in the control file, an address is displayed in the operand.

ステップS5において、オペランドを制御表ファイルのアドレス欄と照合する。その照合の結果、制御ファイル内のアドレスと一致した場合、処理はステップS6に進む。ステップS6において、オペランドに制御名を表示する。ステップS7において、解析データがあるかの判断行い、なければ処理を終了し、あれば再度、命令コードを読み込む。   In step S5, the operand is checked against the address field of the control table file. As a result of the collation, if the address matches the address in the control file, the process proceeds to step S6. In step S6, the control name is displayed in the operand. In step S7, it is determined whether there is analysis data. If not, the process is terminated, and if it is, the instruction code is read again.

図3は、制御表ファイルを用いた、従来の逆アセンブルシステムの動作を示すブロック図である。図3に示されているように、従来の逆アセンブルシステムは、メモリ900と、制御表ファイル909と、オペランド一覧表910とを含んでいる。また、以下の説明において、逆アセンブルシステムの使用者は、
‘MOV A,TXD’
が表示されることを期待しているものとする。
FIG. 3 is a block diagram showing the operation of a conventional disassembly system using a control table file. As shown in FIG. 3, the conventional disassembly system includes a memory 900, a control table file 909, and an operand list 910. In the following explanation, the user of the disassembly system
'MOV A, TXD'
Is expected to be displayed.

図3を参照すると、メモリ900内の10C番地と10D番地との命令コードを読み込む(ステップS1)。それによって、命令コード9D10(読み込み済み命令コード901)が得られる。得られた命令コードの命令解析を行う(ステップS2)。その命令解析によって、解析結果902として、
‘MOV A, 0x10’
の状態が得られたものとする。‘MOV’命令を、オペランド一覧表910で照合。そして、オペランドに制御名を記述可能な命令か否かの判断を行う(ステップS3)。その判断の結果、オペランド一覧表910には、一覧表記述情報911として、
‘MOV A, 制御名’
が記載されており、
‘MOV A, 0x10’(解析結果902)
は、オペランドに制御名の記述が可能な命令と判断できる。
Referring to FIG. 3, the instruction codes at addresses 10C and 10D in memory 900 are read (step S1). Thereby, the instruction code 9D10 (read instruction code 901) is obtained. Instruction analysis of the obtained instruction code is performed (step S2). As a result of the instruction analysis, an analysis result 902 is obtained.
'MOV A, 0x10'
It is assumed that the state of Match the 'MOV' instruction with the operand list 910. Then, it is determined whether or not the instruction can describe a control name in the operand (step S3). As a result of the determination, the operand list 910 includes list description information 911 as:
'MOV A, control name'
Is listed,
'MOV A, 0x10' (analysis result 902)
Can be determined as an instruction in which a control name can be described in the operand.

なお、‘MOV’命令がオペランドに制御名を記述可能な命令でなかった場合、オペランドに‘0x10’を表示する(ステップS6)。そのため、
‘MOV A, 0x10’
が表示される。
If the 'MOV' instruction is not an instruction that can describe a control name in the operand, '0x10' is displayed in the operand (step S6). for that reason,
'MOV A, 0x10'
Is displayed.

オペランドに制御名の記述が可能な命令なので、制御ファイル内にデータがあるかどうかの判断を行う(ステップS4)。制御ファイル内にデータがある場合、オペランドの‘0x10’を制御表ファイル909のアドレス欄906と照合する(ステップS5)。図3を参照すると、その照合により、第1情報907のアドレスと一致する。これによって、制御名TXDが該当することがわかり、オペランドに制御名TXDを表示する(ステップS6)。したがって、最終的に解析結果(表示結果)902として、
‘MOV A, TXD’
と表示される。図3の動作では、使用者の期待通り、
‘MOV A, TXD’
が表示される。なお、制御ファイル内にデータがない場合、オペランドにアドレスを表示する(ステップS9)。そのため、
‘MOV A, 0x10’
が表示される。その後、解析データがあるかの判断を行い、なければ処理を終了し、あれば再度、命令コードを読み込む。
Since the control name can be described in the operand, it is determined whether there is data in the control file (step S4). If there is data in the control file, the operand “0x10” is checked against the address field 906 of the control table file 909 (step S5). Referring to FIG. 3, the collation matches the address of the first information 907. As a result, it is found that the control name TXD is applicable, and the control name TXD is displayed in the operand (step S6). Therefore, as an analysis result (display result) 902 in the end,
'MOV A, TXD'
Is displayed. In the operation of FIG. 3, as expected by the user,
'MOV A, TXD'
Is displayed. If there is no data in the control file, an address is displayed in the operand (step S9). for that reason,
'MOV A, 0x10'
Is displayed. Thereafter, it is determined whether there is analysis data. If not, the process is terminated, and if it is, the instruction code is read again.

図4は、制御表ファイルを用いた従来の逆アセンブルシステムの他の動作を示すブロック図である。ここにおいて、逆アセンブルシステムの使用者は、
‘MOV A,SIO’
が表示されることを期待しているものとする。メモリ1000内の300番地と301番地との命令コードを読み込む(ステップS1)。それによって、命令コード9D10(読み込み済み命令コード1001)が得られる。得られた命令コードの命令解析を行う(ステップS2)。その命令解析によって、解析結果1002が得られる。以下では、その解析結果1002が、
‘MOV A, 0x10’
の状態となっているものとする。
FIG. 4 is a block diagram showing another operation of the conventional disassembly system using the control table file. Here, the user of the disassembly system
'MOV A, SIO'
Is expected to be displayed. The instruction codes at addresses 300 and 301 in the memory 1000 are read (step S1). Thereby, the instruction code 9D10 (read instruction code 1001) is obtained. Instruction analysis of the obtained instruction code is performed (step S2). An analysis result 1002 is obtained by the instruction analysis. In the following, the analysis result 1002 is
'MOV A, 0x10'
It shall be in the state of.

ここで、‘MOV’命令を、オペランド一覧表1010で照合し、オペランドに制御名の記述が可能な命令か否かの判断を行う(ステップS3)。その判断の結果、オペランド一覧表1010には、一覧表記述情報1011として、
‘MOV A, 制御名’
が記載されており、
‘MOV A, 0x10’(解析結果1002)は、オペランドに制御名の記述が可能な命令と判断できる。なお、‘MOV’命令がオペランドに制御名を記述可能な命令でなかった場合、オペランドに‘0x10’を表示する(ステップS8)。そのため、
‘ MOV A, 0x10’
が表示される。
Here, the 'MOV' instruction is collated with the operand list 1010, and it is determined whether or not the instruction can describe the control name in the operand (step S3). As a result of the determination, the operand list 1010 includes list description information 1011 as
'MOV A, control name'
Is listed,
'MOV A, 0x10' (analysis result 1002) can be determined as an instruction in which a control name can be described in the operand. If the 'MOV' instruction is not an instruction that can describe a control name in the operand, '0x10' is displayed in the operand (step S8). for that reason,
'MOV A, 0x10'
Is displayed.

‘MOV’命令が、オペランドに制御名の記述が可能な命令なので、制御ファイル内にデータがあるかどうかの判断を行う(ステップS4)。制御ファイル内にデータがある場合、オペランドの‘0x10’を制御表ファイル1009のアドレス欄1006と照合する(ステップS5)。その照合により、第1情報1007のアドレスと一致する。   Since the 'MOV' instruction is an instruction in which a control name can be described in the operand, it is determined whether or not there is data in the control file (step S4). If there is data in the control file, the operand “0x10” is checked against the address field 1006 of the control table file 1009 (step S5). The collation matches the address of the first information 1007.

それによって、制御名TXDが該当することがわかり、オペランドに制御名TDXを表示する(ステップS6)。したがって、最終的に、
‘MOV A, TXD’
と表示される。上述のように、図4の動作では使用者の期待に反し、
‘MOV A,TXD’
が表示される。
Thereby, it is found that the control name TXD is applicable, and the control name TDX is displayed in the operand (step S6). So finally,
'MOV A, TXD'
Is displayed. As described above, the operation of FIG. 4 is contrary to the user's expectation,
'MOV A, TXD'
Is displayed.

特開2006−003987号公報JP 2006-003987 A 特開平8−221298号公報JP-A-8-212298

従来の逆アセンブルシステムでは、逆アセンブルを行う命令コードが同じ場合、常に最初に一致した制御名で表示してしまう。そのため、実際の利用機能に合った制御名で表示することが困難である。逆アセンブル方式において、同一アドレスを、異なる機能名を持つメモリ・マップドI/Oレジスタの、どの機能を対応させて使用しているか明確に表示する技術が求められている。   In the conventional disassembly system, when the instruction code for disassembling is the same, the control name always matches first. For this reason, it is difficult to display with a control name that matches the actual use function. In the disassembly method, a technique for clearly displaying which function of a memory mapped I / O register having a different function name is used in correspondence with the same address is required.

以下に、[発明を実施するための形態]で使用される番号を用いて、[課題を解決するための手段]を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   [Means for Solving the Problems] will be described below using the numbers used in [DETAILED DESCRIPTION]. These numbers are added to clarify the correspondence between the description of [Claims] and [Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].

上記の課題を解決するために、表示部と、逆アセンブルを実行した実行結果を前記表示部に供給する逆アセンブル部(15)とを具備する逆アセンブルシステム(1)を構築する。その逆アセンブル部(15)は、命令コードの解析によって得られた解析結果に基づいて、命令記述と命令アドレスとを特定し、制御名有効情報付き制御表ファイル(14)を参照してその命令記述に対応する照合データを抽出し、抽出したその照合データに示される照合アドレスとその解析結果に示される命令アドレスと予め決定しているアドレス有効範囲とに基づいて特定した制御名を、その逆アセンブルの実行結果(16)としてその表示部に供給する。   In order to solve the above-described problems, a disassembly system (1) including a display unit and a disassembly unit (15) that supplies an execution result of executing the disassembly to the display unit is constructed. The disassembly unit (15) specifies an instruction description and an instruction address based on the analysis result obtained by analyzing the instruction code, and refers to the control table file (14) with control name valid information to determine the instruction. The collation data corresponding to the description is extracted, and the control name specified based on the collation address indicated in the extracted collation data, the instruction address indicated in the analysis result, and the address valid range determined in advance is reversed. The result is supplied to the display unit as an assembly execution result (16).

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、1つのアドレスに対し、複数の機能が割り付けられたデバイスの命令コードを逆アセンブルする際に、実際の利用機能に一致した制御名で表示することが可能となる。   The effects obtained by typical ones of the inventions disclosed in this application will be briefly described. When disassembling the instruction code of a device to which a plurality of functions are assigned to one address, It is possible to display the control name that matches the function used.

図1は、従来の逆アセンブルシステムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a conventional disassembly system. 図2は、従来の逆アセンブルシステムの動作を示すフローチャートである。FIG. 2 is a flowchart showing the operation of the conventional disassembly system. 図3は、制御表ファイルを用いた、従来の逆アセンブルシステムの動作を示すブロック図である。FIG. 3 is a block diagram showing the operation of a conventional disassembly system using a control table file. 図4は、制御表ファイルを用いた従来の逆アセンブルシステムの他の動作を示すブロック図である。FIG. 4 is a block diagram showing another operation of the conventional disassembly system using the control table file. 図5は、本実施形態の逆アセンブルシステム1の構成を例示するブロック図である。FIG. 5 is a block diagram illustrating the configuration of the disassembly system 1 of this embodiment. 図6は、本実施形態の逆アセンブルシステム1の動作を例示するフロ−チャートである。FIG. 6 is a flowchart illustrating the operation of the disassembly system 1 of the present embodiment. 図7は、制御名有効情報付制御ファイルを生成する動作を例示するフロ−チャートである。FIG. 7 is a flowchart illustrating an operation of generating a control file with control name validity information. 図8は、制御名有効情報付制御ファイルを生成する具体的な動作を例示するブロック図である。FIG. 8 is a block diagram illustrating a specific operation for generating a control file with control name validity information. 図9は、制御名有効情報付制御ファイルを生成する具体的な動作を例示するブロック図である。FIG. 9 is a block diagram illustrating a specific operation for generating a control file with control name validity information. 図10は、本実施形態の逆アセンブルシステム1の動作を例示するブロック図である。FIG. 10 is a block diagram illustrating the operation of the disassembly system 1 of this embodiment. 図11は、本実施形態の逆アセンブルシステム1の、他の動作を例示するブロック図である。FIG. 11 is a block diagram illustrating another operation of the disassembly system 1 of the present embodiment.

以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

図5は、本実施形態の逆アセンブルシステム1の構成を例示するブロック図である。逆アセンブルシステム1は、マクロライブラリ11と、制御表のアセンブルリスト12と、制御表ファイル13と、逆アセンブル部15と、自動コード生成部17とを備え、ソースリスト16を出力する。また、逆アセンブル部15は、制御名有効情報付き制御表ファイル生成部19と制御名検索機能20とを備えている。   FIG. 5 is a block diagram illustrating the configuration of the disassembly system 1 of this embodiment. The disassembly system 1 includes a macro library 11, a control table assembly list 12, a control table file 13, a disassembly unit 15, and an automatic code generation unit 17, and outputs a source list 16. The disassembly unit 15 includes a control table file generation unit 19 with control name valid information and a control name search function 20.

自動コード生成部17は、コード生成情報21を基に、マクロライブラリ11と制御名有効情報ファイル18とを生成する。逆アセンブル部15の制御名有効情報付き制御表ファイル生成部19は、逆アセンブル時に、制御表ファイル13と制御名有効情報ファイル18から、制御名有効情報付き制御表ファイル14を生成する。逆アセンブル部15の制御名検索機能20は、その制御名有効情報付き制御表ファイル14を基に制御名を検索する。   The automatic code generation unit 17 generates the macro library 11 and the control name valid information file 18 based on the code generation information 21. The control table file with control name valid information 19 of the disassembler 15 generates a control table file 14 with control name valid information from the control table file 13 and the control name valid information file 18 at the time of disassembly. The control name search function 20 of the disassembler 15 searches for a control name based on the control table file 14 with control name valid information.

図6は、本実施形態の逆アセンブルシステム1の動作を例示するフロ−チャートである。ステップS101において、逆アセンブルシステム1は、メモリから命令コードを読み込む。ステップS102において、その命令コードの命令解析を行う。ステップS103において、その命令解析によって得られた命令が、オペランドに制御名の記述が可能な命令か否かの判断を行う。その判断の結果、制御名の記述が可能な命令であれば、処理はステップS104に進み、制御名の記述が可能な命令でない場合、処理はステップS109に進む。ステップS109において、オペランドに制御名を記述できない命令であるので、そのままオペランドを表示する。   FIG. 6 is a flowchart illustrating the operation of the disassembly system 1 of the present embodiment. In step S101, the disassembly system 1 reads an instruction code from the memory. In step S102, instruction analysis of the instruction code is performed. In step S103, it is determined whether or not the instruction obtained by the instruction analysis is an instruction in which a control name can be described in the operand. As a result of the determination, if the instruction can describe the control name, the process proceeds to step S104. If the instruction cannot describe the control name, the process proceeds to step S109. In step S109, since the control name cannot be described in the operand, the operand is displayed as it is.

ステップS104において、制御名有効情報付き制御表ファイル14に照合データが存在するか否かの判断を実行する。その判断の結果、照合データが存在する場合、処理はステップS105に進み、照合データが存在しない場合、処理はステップS110に進む。   In step S104, it is determined whether or not collation data exists in the control table file 14 with control name valid information. As a result of the determination, if collation data exists, the process proceeds to step S105. If collation data does not exist, the process proceeds to step S110.

ステップS105において、照合データが存在すれば、制御名有効情報付き制御表ファイル14のアドレスと照合する。照合の結果、アドレスが一致すれば、処理はステップS106に進み、一致しない場合、処理はステップS104に戻る。   In step S105, if collation data exists, it collates with the address of the control table file 14 with control name valid information. As a result of the collation, if the addresses match, the process proceeds to step S106, and if they do not match, the process returns to step S104.

ステップS106において、有効範囲内か否かの判断を実行する。その判断の結果、有効範囲内であれば、処理はステップS107に進み、オペランドに制御名を表示する。   In step S106, it is determined whether or not it is within the effective range. If the result of the determination is that it is within the valid range, the process proceeds to step S107, and the control name is displayed in the operand.

解析すべき命令コードが存在しなければ、処理を終了する。ステップS106における有効範囲内か否かの判断で、有効範囲外であれば、処理はステップS104に戻り、次の照合データと再度アドレスが一致するものがあるか否かの判断を行う。一致するデータがなければ、処理はステップS110に進み、オペランドにアドレスを表示する。   If there is no instruction code to be analyzed, the process is terminated. If it is determined in step S106 that the address is within the effective range, the process returns to step S104, and it is determined whether or not there is an address whose address matches the next collation data again. If there is no matching data, the process proceeds to step S110 to display an address in the operand.

図7は、本実施形態の逆アセンブルシステム1が、制御名有効情報付制御ファイルを生成する動作を例示するフロ−チャートである。図7を参照すると、ステップS201において、逆アセンブルシステム1は、プログラム開発者の操作に応答して、コード生成情報21を読み出す。コード生成情報21として、使用するデバイス選択、周辺機能選択、詳細機能選択等の情報が入力される。   FIG. 7 is a flowchart illustrating an operation in which the disassembly system 1 of the present embodiment generates a control file with control name validity information. Referring to FIG. 7, in step S201, the disassembly system 1 reads the code generation information 21 in response to the operation of the program developer. As the code generation information 21, information such as device selection, peripheral function selection, and detailed function selection is input.

ステップS202において、コード生成ボタンが押されるまで待機する。ステップS202でコード生成ボタンが押されたと判断されたとき、処理はステップS203に進む。   In step S202, the process waits until the code generation button is pressed. When it is determined in step S202 that the code generation button has been pressed, the process proceeds to step S203.

ステップS203において、コード生成ボタンが押されたら、自動コード生成部17は、入力された情報に誤りがあるかの判断を行う。その判断の結果、誤りがある場合、処理はステップS204に進み、エラーを出力する。   If the code generation button is pressed in step S203, the automatic code generation unit 17 determines whether there is an error in the input information. As a result of the determination, if there is an error, the process proceeds to step S204, and an error is output.

誤りがなければ、ステップS205において、入力された情報を基に、メモリ・マップドI/Oレジスタの初期化等のコードをマクロライブラリ11に出力する。また、誤りがない場合、ステップS210において、制御名有効情報を示す制御名有効情報ファイル18を生成する。   If there is no error, in step S205, based on the input information, a code such as initialization of the memory mapped I / O register is output to the macro library 11. If there is no error, the control name valid information file 18 indicating the control name valid information is generated in step S210.

ステップS206において、マクロライブラリ11をアセンブルする。ステップS207において、制御表のアセンブルリスト12を出力する。ステップS208において、制御表のアセンブルリスト12から、有効情報を抽出プログラムで抽出する。ステップS209において、抽出した有効情報を制御表ファイル13に出力する。   In step S206, the macro library 11 is assembled. In step S207, the assembly list 12 of the control table is output. In step S208, valid information is extracted from the assembly list 12 of the control table by the extraction program. In step S209, the extracted valid information is output to the control table file 13.

ステップS211において、逆アセンブル部15は、出力された制御名有効情報ファイル18と、コード生成情報21から生成された制御表ファイル13を読み出す。逆アセンブル部15は、読み出した制御名有効情報ファイル18と制御表ファイル13とに基づいて、制御名有効情報付き制御表ファイル14を生成し、ステップS212において、その制御名有効情報付き制御表ファイル14を出力する。   In step S <b> 211, the disassembly unit 15 reads the output control name valid information file 18 and the control table file 13 generated from the code generation information 21. The disassembler 15 generates a control table file 14 with control name valid information based on the read control name valid information file 18 and the control table file 13, and in step S212, the control table file with control name valid information. 14 is output.

図8、図9は、本実施形態の逆アセンブルシステム1における、制御名有効情報付制御ファイルを生成する具体的な動作を例示するブロック図である。以下の動作の説明においては、SAU(シリアル・アレイ・ユニット)31の例を用いて説明する。図8の(a)は、SAU(シリアル・アレイ・ユニット)31の構成を例示している。SAU(シリアル・アレイ・ユニット)31は、UART機能32とCSI機能33を備えている。SAU(シリアル・アレイ・ユニット)31は、UART機能32として使用するときに、‘TDX’という名称で扱われ、CSI機能33として使用するときに、‘CSI’という名称で扱われるメモリ・マップドI/Oレジスタ34であるとする。   8 and 9 are block diagrams illustrating specific operations for generating a control file with control name validity information in the disassembly system 1 of the present embodiment. In the following description of the operation, an example of a SAU (serial array unit) 31 will be used. FIG. 8A illustrates the configuration of a SAU (serial array unit) 31. The SAU (Serial Array Unit) 31 has a UART function 32 and a CSI function 33. A SAU (Serial Array Unit) 31 is treated as the name “TDX” when used as the UART function 32, and is a memory mapped I treated as the name “CSI” when used as the CSI function 33. / O register 34 is assumed.

図8の(b)は、自動コード生成部17が提供するデバイス選択ダイアログ35を例示している。デバイス選択ダイアログ35に示される情報に従って、使用するデバイスが選択される。図8の(c)は、自動コード生成部17が提供する周辺機能選択ダイアログ36を例示している。周辺機能選択ダイアログ36に示される情報に従って、使用する周辺機能が選択される。図8の(d)は、自動コード生成部17が提供する詳細機能入力ダイアログ37を例示している。詳細機能入力ダイアログ37に示される情報に従って、コード生成の詳細情報が供給される。   FIG. 8B illustrates a device selection dialog 35 provided by the automatic code generation unit 17. A device to be used is selected according to the information shown in the device selection dialog 35. FIG. 8C illustrates a peripheral function selection dialog 36 provided by the automatic code generation unit 17. The peripheral function to be used is selected according to the information shown in the peripheral function selection dialog 36. FIG. 8D illustrates a detailed function input dialog 37 provided by the automatic code generation unit 17. In accordance with the information shown in the detailed function input dialog 37, detailed information on code generation is supplied.

図9は、マクロライブラリ11と、制御表ファイル13と、制御名有効情報ファイル18の構成を例示するブロック図である。上述のように、自動コード生成部17は、入力された情報に基づいて、マクロライブラリ11に生成コード41を出力する。また、自動コード生成部17は、制御名有効情報ファイル18を出力する。   FIG. 9 is a block diagram illustrating the configuration of the macro library 11, the control table file 13, and the control name valid information file 18. As described above, the automatic code generation unit 17 outputs the generated code 41 to the macro library 11 based on the input information. Further, the automatic code generation unit 17 outputs a control name valid information file 18.

図9に示されているように、UART機能32に関しては、生成コード41として、UART_Send関数42とUART_Recve関数43が、マクロライブラリ11内に出力される。また、制御名有効情報ファイル18内には、制御名のアドレス46、制御名47、制御名有効関数48が出力される。同様に、CSI機能33に関しては、生成コード41として、SCI_Send関数44とSCI_Recve関数45が、マクロライブラリ11内に出力される。また、制御名有効情報ファイル18内には、制御名のアドレス46、制御名47、制御名有効関数48が出力される。   As shown in FIG. 9, for the UART function 32, a UART_Send function 42 and a UART_Recve function 43 are output in the macro library 11 as the generated code 41. Also, in the control name valid information file 18, a control name address 46, a control name 47, and a control name valid function 48 are output. Similarly, for the CSI function 33, an SCI_Send function 44 and an SCI_Recve function 45 are output in the macro library 11 as the generated code 41. Also, in the control name valid information file 18, a control name address 46, a control name 47, and a control name valid function 48 are output.

また、マクロライブラリ11をアセンブルし、制御表のアセンブルリスト12を得る。そして、抽出プログラムを実行することにより、制御表のアセンブルリスト12から、有効情報を抽出する。抽出された有効情報に基づいて、制御名49、制御名のアドレス50、制御名サイズ51、関数名52、関数の開始アドレス53、関数の終了アドレス54が制御表ファイル13内に出力される。制御名有効情報付き制御表ファイル生成部19において、制御名有効情報ファイル18内の制御名有効関数48と、制御表ファイル13の関数名52を照合し、制御名有効関数48の記載を、関数の開始アドレス53と関数の終了アドレス54とに書き換えて、制御名有効情報付き制御表ファイル14として出力する。   Further, the macro library 11 is assembled to obtain an assembly list 12 of the control table. Then, by executing the extraction program, valid information is extracted from the assembly list 12 of the control table. Based on the extracted valid information, a control name 49, a control name address 50, a control name size 51, a function name 52, a function start address 53, and a function end address 54 are output in the control table file 13. In the control table file generating unit 19 with the control name valid information, the control name valid function 48 in the control name valid information file 18 is collated with the function name 52 of the control table file 13, and the control name valid function 48 is described in the function To the control address file 14 with the control name valid information.

図9を参照すると、制御名有効情報ファイル18には、第1制御名有効情報55〜第4制御名有効情報58が保持されている。第1制御名有効情報55において、制御名TXDの有効関数が、UART_Send関数である。制御表ファイル13から、UART_Send関数の開始アドレス53を取得すると、0x100番地である。同様に、UART_Send関数の終了アドレス54を取得すると、0x1bf番地である。   Referring to FIG. 9, the control name validity information file 18 holds first control name validity information 55 to fourth control name validity information 58. In the first control name valid information 55, the valid function of the control name TXD is the UART_Send function. When the start address 53 of the UART_Send function is acquired from the control table file 13, the address is 0x100. Similarly, when the end address 54 of the UART_Send function is acquired, the address is 0x1bf.

この情報に基づいて、制御名有効情報付き制御表ファイル14内の第1情報保持領域59に、
アドレス :‘0x10’
制御名 :‘TXD’
開始アドレス:‘0x100’
終了アドレス:‘0x1bf’
を示す情報を出力する。
Based on this information, in the first information holding area 59 in the control table file 14 with control name valid information,
Address: '0x10'
Control name: 'TXD'
Start address: '0x100'
End address: '0x1bf'
The information indicating is output.

同様に、制御名有効情報ファイル18の第2制御名有効情報56、関数の終了アドレス54、及び第2制御名有効情報56に対し、制御表ファイル13の関数名52との照合から、制御名有効情報付き制御表ファイル14の第2情報保持領域60、第3情報保持領域61、及び第4情報保持領域62の記載が生成される。   Similarly, the control name is checked from the second control name valid information 56 in the control name valid information file 18, the end address 54 of the function, and the second control name valid information 56 with the function name 52 in the control table file 13. Descriptions of the second information holding area 60, the third information holding area 61, and the fourth information holding area 62 of the control table file with valid information 14 are generated.

このように、同一アドレスに複数の制御名を持つメモリ・マップドI/Oレジスタの逆アセンブル表示が、制御名有効情報付き制御表ファイル14と、逆アセンブルを行う命令アドレスを比較し、制御名検索機能20を用いることにより、適切な制御名での表示が可能となる。   As described above, the disassembled display of the memory mapped I / O register having a plurality of control names at the same address compares the control table file 14 with control name valid information with the instruction address to be disassembled, and searches for the control name. By using the function 20, it is possible to display with an appropriate control name.

ここにおいて、制御名有効情報付き制御表ファイル14を用いた逆アセンブルシステム1の動作について説明を行う。図10は、本実施形態の逆アセンブルシステム1の動作を例示するブロック図である。図10に示されているように、逆アセンブルシステム1は、メモリ700と、制御名有効情報付き制御表ファイル14と、オペランド一覧表716とを含んでいる。また、以下の説明において、逆アセンブルシステムの使用者は、
‘MOV A,TXD’
が表示されることを期待しているものとする。
Here, the operation of the disassembly system 1 using the control table file 14 with control name valid information will be described. FIG. 10 is a block diagram illustrating the operation of the disassembly system 1 of this embodiment. As shown in FIG. 10, the disassembly system 1 includes a memory 700, a control table file 14 with control name valid information, and an operand list 716. In the following explanation, the user of the disassembly system
'MOV A, TXD'
Is expected to be displayed.

上述のフローチャートに示されるように、メモリ700内の10C番地と10D番地との命令コードを読み込む(ステップS101)。その読み込み動作によって、読み込み済み命令コード701として命令コード9D10が得られる。   As shown in the above-described flowchart, instruction codes at addresses 10C and 10D in the memory 700 are read (step S101). By the reading operation, the instruction code 9D10 is obtained as the read instruction code 701.

得られた読み込み済み命令コード701の命令解析を行い(ステップS102)、その解析結果702として
‘MOV A, 0x10’
を得た状態となる。
The instruction analysis of the read instruction code 701 obtained is performed (step S102), and the analysis result 702 is “MOV A, 0x10”.
It will be in the state obtained.

解析結果702に示されている‘MOV’命令を、オペランド一覧表716で照合し、オペランドに制御名の記述が可能な命令か否かの判断を行う(ステップS103)。図10を参照すると、解析結果702の
‘MOV A, 0x10’
は、オペランド一覧表716の一覧表記述情報717に示される
‘MOV A, 制御名’
に対応している。したがって、オペランドに制御名を記述可能な命令であると判断される。
The 'MOV' instruction shown in the analysis result 702 is collated with the operand list 716, and it is determined whether or not the instruction can describe a control name in the operand (step S103). Referring to FIG. 10, the analysis result 702 'MOV A, 0x10'
Is “MOV A, control name” shown in the list description information 717 of the operand list 716.
It corresponds to. Therefore, it is determined that the instruction can describe the control name in the operand.

このとき、制御名有効情報付き制御表ファイル14に照合データが存在するとの判断が得られ、オペランドに制御名の記述が可能な命令なので、解析結果702の記述703“0x10”を、制御名有効情報付き制御表ファイル14のアドレス欄705で照合する。この場合、1番目の情報(第1情報保持領域59の情報)のアドレス欄705と一致する。   At this time, it is determined that the collation data exists in the control table file 14 with control name valid information, and since the control name can be described in the operand, the description 703 “0x10” of the analysis result 702 is set to the control name valid The address column 705 of the control table file with information 14 is collated. In this case, it matches the address field 705 of the first information (information of the first information holding area 59).

続いて、制御名が有効範囲内か否かを判断する(ステップS106)。このとき、読み込み済み命令コード701の番地情報715から、0x10C番地を特定し、制御名有効情報付き制御表ファイル14内の開始アドレス707、終了アドレス714で照合する。このとき、0x10C番地は、0x100番地から0x1bf番地の範囲内なので、第1情報保持領域59の開始アドレス707と、第1情報保持領域59の終了アドレス714が対応する。それによって、制御名TXD(制御名欄706)が該当することがわかり、オペランドにTXDを表示する最終出力表示704が生成され、ソースリストに最終出力表示704として、
‘MOV A, TXD’
が表示される。このように、図10の構成・動作では、使用者の期待通り、‘MOV A,TXD’が表示される。
Subsequently, it is determined whether or not the control name is within the valid range (step S106). At this time, the address 0x10C is specified from the address information 715 of the read instruction code 701, and collated with the start address 707 and the end address 714 in the control table file 14 with control name valid information. At this time, since the address 0x10C is within the range from the address 0x100 to the address 0x1bf, the start address 707 of the first information holding area 59 and the end address 714 of the first information holding area 59 correspond to each other. As a result, it can be seen that the control name TXD (control name column 706) is applicable, and a final output display 704 that displays TXD as an operand is generated.
'MOV A, TXD'
Is displayed. As described above, in the configuration / operation of FIG. 10, “MOV A, TXD” is displayed as expected by the user.

図11は、本実施形態の逆アセンブルシステム1の、他の動作を例示するブロック図である。以下の説明において、逆アセンブルシステム1の使用者は、
‘MOV A,SIO’
が表示されることを期待しているものとする。
FIG. 11 is a block diagram illustrating another operation of the disassembly system 1 of the present embodiment. In the following description, the user of the disassembly system 1 is
'MOV A, SIO'
Is expected to be displayed.

メモリ800内の300番地と301番地の命令コードを読み込む(ステップS101)。その読み込み動作によって、読み込み済み命令コード801として命令コード9D10が得られる。得られた読み込み済み命令コード801の命令解析を行い(ステップS102)、解析結果802として
‘MOV A, 0x10’
を得る。
The instruction codes at addresses 300 and 301 in the memory 800 are read (step S101). By the reading operation, the instruction code 9D10 is obtained as the read instruction code 801. The instruction analysis of the read instruction code 801 thus obtained is performed (step S102), and the result of analysis 802 is “MOV A, 0x10”.
Get.

解析結果802に示される‘MOV’命令を、オペランド一覧表716で照合し、オペランドに、制御名の記述が可能な命令か否かの判断を行う(ステップS103)。図11を参照すると、解析結果802の‘MOV A, 0x10’は、オペランド一覧表716の一覧表記述情報717に示される‘MOV A, 制御名’に対応している。そのため、‘MOV A, 0x10’(解析結果802)は、オペランドに制御名の記述が可能な命令であるとの判断がされる。   The 'MOV' instruction shown in the analysis result 802 is collated with the operand list 716, and it is determined whether or not the instruction can describe the control name in the operand (step S103). Referring to FIG. 11, “MOV A, 0x10” in the analysis result 802 corresponds to “MOV A, control name” indicated in the list description information 717 of the operand list 716. Therefore, it is determined that 'MOV A, 0x10' (analysis result 802) is an instruction in which a control name can be described in the operand.

オペランドに制御名の記述が可能な命令なので、解析結果802の記述803(オペランドの0x10)を、制御名有効情報付き制御表ファイル14のアドレス欄705で照合する。この場合、1番目の情報(第1情報保持領域59の情報)のアドレス欄705と一致する。   Since the control name can be described in the operand, the description 803 (operand 0x10) of the analysis result 802 is collated in the address field 705 of the control table file 14 with control name valid information. In this case, it matches the address field 705 of the first information (information of the first information holding area 59).

続いて、制御名が有効範囲内か否かを判断する(ステップS106)。このとき、読み込み済み命令コード801の番地情報815に基づいて得られる300番地を、制御名有効情報付き制御表ファイル14内の開始アドレス707、終了アドレス714で照合する。図11に示されているように、0x300番地は、0x100番地から0x1bf番地の範囲外なので、次の情報(第2情報保持領域60に示される情報)との照合を行う。このとき、解析結果802の記述803に示されるアドレスと開始アドレス707の0x10とが一致する。そのため、制御名が有効範囲内か否かの判断が実行される。   Subsequently, it is determined whether or not the control name is within the valid range (step S106). At this time, the address 300 obtained based on the address information 815 of the read instruction code 801 is collated with the start address 707 and the end address 714 in the control table file 14 with control name valid information. As shown in FIG. 11, address 0x300 is outside the range of addresses 0x100 to 0x1bf, so collation with the following information (information shown in second information holding area 60) is performed. At this time, the address indicated in the description 803 of the analysis result 802 matches the start address 707 of 0x10. Therefore, a determination is made as to whether the control name is within the valid range.

読み込み済み命令コード801の番地情報815に基づいて得られる300番地を、制御名有効情報付き制御表ファイル14内の開始アドレス707、終了アドレス714で照合する。0x300番地は、0x1c0番地から0x21d番地の範囲外なので、さらに次の情報(第3情報保持領域61の情報)との照合を行う。このとき、解析結果802の記述803に示されるアドレスと開始アドレス707の0x10とが一致する。そのため、制御名が有効範囲内か否かの判断が実行される。   The 300 addresses obtained based on the address information 815 of the read instruction code 801 are collated with the start address 707 and the end address 714 in the control table file 14 with control name valid information. Since the address 0x300 is outside the range from the address 0x1c0 to the address 0x21d, collation with the next information (information in the third information holding area 61) is further performed. At this time, the address indicated in the description 803 of the analysis result 802 matches the start address 707 of 0x10. Therefore, a determination is made as to whether the control name is within the valid range.

読み込み済み命令コード801の番地情報815に基づいて得られる300番地を、制御名有効情報付き制御表ファイル14内の開始アドレス707、終了アドレス714で照合する。0x300番地は、0x300番地から0x3df番地の範囲内なので、制御名欄806の制御名SIOが該当することがわかり、オペランドにSIOを表示する。したがって、ソースリストには最終出力表示804として、
‘MOV A, SIO’
と表示される。
The 300 addresses obtained based on the address information 815 of the read instruction code 801 are collated with the start address 707 and the end address 714 in the control table file 14 with control name valid information. Since the address 0x300 is within the range from the address 0x300 to the address 0x3df, it can be seen that the control name SIO in the control name column 806 is applicable, and SIO is displayed in the operand. Therefore, the final output display 804 is displayed in the source list,
'MOV A, SIO'
Is displayed.

図10、図11に示されているように、本実施形態の逆アセンブルシステム1では、同一アドレスに複数の制御名を持つメモリ・マップドI/Oレジスタの逆アセンブル表示が、制御名有効情報付き制御表ファイル14と逆アセンブルを行う命令アドレスを比較する。これによって、適切な制御名での表示が可能となる。   As shown in FIGS. 10 and 11, in the disassembly system 1 of the present embodiment, the disassembled display of the memory mapped I / O register having a plurality of control names at the same address is accompanied by control name valid information. The control table file 14 is compared with the instruction address to be disassembled. This enables display with an appropriate control name.

以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   The embodiment of the present invention has been specifically described above. The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention.

1…逆アセンブルシステム
11…マクロライブラリ
12…制御表のアセンブルリスト
13…制御表ファイル
14…制御名有効情報付き制御表ファイル
15…逆アセンブル部
16…ソースリスト
17…自動コード生成部
18…制御名有効情報ファイル
19…制御名有効情報付き制御表ファイル生成部
20…制御名検索機能
21…コード生成情報
31…SAU(シリアル・アレイ・ユニット)
32…UART機能
33…CSI機能
34…メモリ・マップドI/Oレジスタ
35…デバイス選択ダイアログ
36…周辺機能選択ダイアログ
37…詳細機能入力ダイアログ
41…生成コード
42…UART_Send関数
43…UART_Recve関数
44…SCI_Send関数
45…SCI_Recve関数
46…制御名のアドレス
47…制御名
48…制御名有効関数
49…制御名
50…制御名のアドレス
51…制御名サイズ
52…関数名
53…関数の開始アドレス
54…関数の終了アドレス
55…第1制御名有効情報
56…第2制御名有効情報
57…第3制御名有効情報
58…第4制御名有効情報
59…第1情報保持領域
60…第2情報保持領域
61…第3情報保持領域
62…第4情報保持領域
700…メモリ
701…読み込み済み命令コード
702…解析結果
703…記述
704…最終出力表示
705…アドレス欄
706…制御名欄
707…開始アドレス
714…終了アドレス
715…番地情報
716…オペランド一覧表
717…一覧表記述情報
800…メモリ
801…読み込み済み命令コード
802…解析結果
803…記述
804…最終出力表示
806…制御名欄
815…番地情報
101…マクロライブラリ
102…制御表のアセンブルリスト
103…制御表ファイル
104…リンクファイル
105…逆アセンブル部
106…ソースリスト
107…パラメータファイル
900…メモリ
901…読み込み済み命令コード
902…解析結果
906…アドレス欄
907…第1情報
909…制御表ファイル
910…オペランド一覧表
911…一覧表記述情報
1000…メモリ
1001…読み込み済み命令コード
1002…解析結果
1006…アドレス欄
1007…第1情報
1009…制御表ファイル
1010…オペランド一覧表
1011…一覧表記述情報
DESCRIPTION OF SYMBOLS 1 ... Disassembly system 11 ... Macro library 12 ... Assemble list 13 of control table ... Control table file 14 ... Control table file 15 with control name effective information ... Disassembly part 16 ... Source list 17 ... Automatic code generation part 18 ... Control name Valid information file 19 ... control table file generator with control name valid information 20 ... control name search function 21 ... code generation information 31 ... SAU (serial array unit)
32 ... UART function 33 ... CSI function 34 ... Memory mapped I / O register 35 ... Device selection dialog 36 ... Peripheral function selection dialog 37 ... Detailed function input dialog 41 ... Generated code 42 ... UART_Send function 43 ... UART_Recve function 44 ... SCI_Send function 45 ... SCI_Recve function 46 ... Control name address 47 ... Control name 48 ... Control name valid function 49 ... Control name 50 ... Control name address 51 ... Control name size 52 ... Function name 53 ... Function start address 54 ... End of function Address 55 ... first control name valid information 56 ... second control name valid information 57 ... third control name valid information 58 ... fourth control name valid information 59 ... first information holding area 60 ... second information holding area 61 ... first 3 information holding area 62 ... 4th information holding area 700 ... memory 701 ... already read Instruction code 702 ... analysis result 703 ... description 704 ... final output display 705 ... address field 706 ... control name field 707 ... start address 714 ... end address 715 ... address information 716 ... operand list table 717 ... list table description information 800 ... memory 801 ... read instruction code 802 ... analysis result 803 ... description 804 ... final output display 806 ... control name column 815 ... address information 101 ... macro library 102 ... control table assembly list 103 ... control table file 104 ... link file 105 ... disassembly Unit 106 ... source list 107 ... parameter file 900 ... memory 901 ... read instruction code 902 ... analysis result 906 ... address field 907 ... first information 909 ... control table file 910 ... operand list 911 ... list table description information 1000 ... memory 1 01 ... already read the instruction code 1002 ... analysis results 1006 ... address field 1007 ... the first information 1009 ... control table file 1010 ... operand list 1011 ... list description information

Claims (15)

表示部と、
逆アセンブルを実行した実行結果を前記表示部に供給する逆アセンブル部と
を具備し、
前記逆アセンブル部は、
命令コードの解析によって得られた解析結果に基づいて、命令記述と命令アドレスとを特定し、
制御名有効情報付き制御表ファイルを参照して前記命令記述に対応する照合データを抽出し、
抽出した前記照合データに示される照合アドレスと前記解析結果に示される命令アドレスと予め決定しているアドレス有効範囲とに基づいて特定した制御名を、前記実行結果として前記表示部に供給する
逆アセンブルシステム。
A display unit;
A disassembly unit for supplying the display unit with an execution result of executing the disassembly,
The disassembly part is
Based on the analysis result obtained by analyzing the instruction code, specify the instruction description and instruction address,
Reference data corresponding to the instruction description is extracted with reference to a control table file with control name valid information,
A control name specified based on the collation address indicated in the extracted collation data, the instruction address indicated in the analysis result, and a predetermined address effective range is supplied to the display unit as the execution result. system.
請求項1に記載の逆アセンブルシステムにおいて、
前記逆アセンブル部は、
前記命令コードをメモリから読み出して読み出し命令コードとし、
前記読み出し命令コードが記録されていた前記メモリの番地を特定し、
前記アドレス有効範囲に前記番地が含まれるとき、前記アドレス有効範囲に対応する制御名を、前記実行結果として前記表示部に供給する
逆アセンブルシステム。
The disassembly system according to claim 1, wherein
The disassembly part is
The instruction code is read from the memory as a read instruction code,
Identify the address of the memory where the read instruction code was recorded,
When the address is included in the effective address range, a disassembly system that supplies a control name corresponding to the effective address range to the display unit as the execution result.
請求項2に記載の逆アセンブルシステムにおいて、
前記制御名有効情報付き制御表ファイルは、
前記照合アドレスと、前記制御名と、前記制御名に対応する有効関数の開始アドレスと、前記制御名に対応する有効関数の終了アドレスとを含み、
前記逆アセンブル部は、
前記開始アドレスから前記終了アドレスまでを前記アドレス有効範囲とする
逆アセンブルシステム。
The disassembly system according to claim 2,
The control table file with control name valid information is
Including the collation address, the control name, a valid function start address corresponding to the control name, and a valid function end address corresponding to the control name,
The disassembly part is
A disassembly system in which the address range is from the start address to the end address.
請求項3に記載の逆アセンブルシステムにおいて、さらに、
機械語を前記命令コードに変換してマクロライブラリを生成する自動コード生成部と、
前記マクロライブラリに基づいて制御表ファイルを生成する演算処理部と
を備え、
前記自動コード生成部は、
ユーザの操作に応答して入力されるコード生成情報に基づいて、前記マクロライブラリと制御名有効情報ファイルとを生成し、
前記制御名有効情報ファイルは、
前記制御名と、前記照合アドレスと、前記有効関数名とを関連付けた情報を保持し、
前記制御表ファイルは、
前記制御名と、前記有効関数名と、前記有効関数名に示される関数の開始アドレスと、前記有効関数名に示される関数の終了アドレスとを関連付けて保持し、
前記逆アセンブル部は、
前記制御名有効情報ファイルと前記制御表ファイルとに基づいて、前記制御名有効情報付き制御表ファイルを生成する
逆アセンブルシステム。
The disassembly system of claim 3, further comprising:
An automatic code generator for converting a machine language into the instruction code and generating a macro library;
An arithmetic processing unit that generates a control table file based on the macro library,
The automatic code generator is
Based on the code generation information input in response to a user operation, the macro library and the control name valid information file are generated,
The control name valid information file is
Holding information that associates the control name, the collation address, and the effective function name;
The control table file is
Holding the control name, the valid function name, the start address of the function indicated by the valid function name, and the end address of the function indicated by the valid function name;
The disassembly part is
A disassembly system that generates the control table file with control name valid information based on the control name valid information file and the control table file.
請求項4に記載の逆アセンブルシステムにおいて、
前記逆アセンブル部は、
制御名有効情報付き制御表ファイル生成部を備え、
前記制御名有効情報付き制御表ファイル生成部は、
前記制御名有効情報ファイルに含まれる前記有効関数名と、前記制御表ファイルに含まれる前記有効関数名とが合致するとき、
前記制御表ファイルに含まれる前記開始アドレスと前記終了アドレスとを、前記制御名有効情報ファイルの前記制御名に関連付けて、前記制御名有効情報付き制御表ファイルを生成する
逆アセンブルシステム。
The disassembly system according to claim 4, wherein
The disassembly part is
It has a control table file generator with control name valid information,
The control table file generating unit with control name valid information is
When the valid function name included in the control name valid information file matches the valid function name contained in the control table file,
A disassembly system that generates the control table file with the control name valid information by associating the start address and the end address included in the control table file with the control name of the control name valid information file.
コンピュータを、逆アセンブルを実行した実行結果を表示部に供給する逆アセンブル部を具備する逆アセンブルシステムとして機能させるための逆アセンブルプログラムであって、
(a)命令コードの解析によって得られた解析結果に基づいて、命令記述と命令アドレスとを特定するステップと、
(b)制御名有効情報付き制御表ファイルを参照して前記命令記述に対応する照合データを抽出するステップと、
(c)抽出した前記照合データに示される照合アドレスと、前記解析結果に示される命令アドレスと、予め決定しているアドレス有効範囲とに基づいて特定した制御名を、前記実行結果として前記表示部に供給するステップと
を具備する手順を示す
逆アセンブルプログラム。
A disassemble program for causing a computer to function as a disassemble system including a disassemble unit that supplies an execution result of disassembly to a display unit,
(A) identifying an instruction description and an instruction address based on an analysis result obtained by analyzing an instruction code;
(B) referring to a control table file with control name valid information and extracting collation data corresponding to the instruction description;
(C) A control name specified based on the collation address indicated in the extracted collation data, the instruction address indicated in the analysis result, and a predetermined address effective range, as the execution result, the display unit Disassembling program showing a procedure comprising the steps of:
請求項6に記載の逆アセンブルプログラムにおいて、
前記(a)ステップは、
前記命令コードをメモリから読み出して読み出し命令コードとするステップを含み、
前記(c)ステップは、
前記読み出し命令コードが記録されていた前記メモリの番地を特定するステップと、
前記アドレス有効範囲に前記番地が含まれるとき、前記アドレス有効範囲に対応する制御名を、前記実行結果として前記表示部に供給するステップ
を含む
逆アセンブルプログラム。
In the disassemble program according to claim 6,
The step (a) includes:
Reading the instruction code from the memory into a read instruction code;
The step (c) includes:
Identifying the address of the memory in which the read instruction code was recorded;
When the address is included in the effective address range, a control name corresponding to the effective address range is supplied to the display unit as the execution result.
請求項7に記載の逆アセンブルプログラムにおいて、
前記制御名有効情報付き制御表ファイルは、
前記照合アドレスと、前記制御名と、前記制御名に対応する有効関数の開始アドレスと、前記制御名に対応する有効関数の終了アドレスとを含み、
前記(c)ステップは、
前記開始アドレスから前記終了アドレスまでを前記アドレス有効範囲とするステップを含む
逆アセンブルプログラム。
In the disassemble program according to claim 7,
The control table file with control name valid information is
Including the collation address, the control name, a valid function start address corresponding to the control name, and a valid function end address corresponding to the control name,
The step (c) includes:
A disassembly program comprising the step of setting the address valid range from the start address to the end address.
請求項8に記載の逆アセンブルプログラムにおいて、さらに、
(d)機械語を前記命令コードに変換してマクロライブラリを生成するステップと、
(e)前記マクロライブラリに基づいて制御表ファイルを生成するステップと、
(f)前記制御名有効情報付き制御表ファイルを生成するステップと
を具備し、
前記(d)ステップは、
ユーザの操作に応答して入力されるコード生成情報に基づいて、前記マクロライブラリと制御名有効情報ファイルとを生成するステップ
を含み、
前記制御名有効情報ファイルが、前記制御名と、前記照合アドレスと、前記有効関数名とを関連付けた情報を保持し、前記制御表ファイルが、前記制御名と、前記有効関数名と、前記有効関数名に示される関数の開始アドレスと、前記有効関数名に示される関数の終了アドレスとを関連付けて保持するとき、
前記(f)ステップは、
前記制御名有効情報ファイルと前記制御表ファイルとに基づいて、前記制御名有効情報付き制御表ファイルを生成するステップを含む
逆アセンブルプログラム。
The disassemble program according to claim 8, further comprising:
(D) converting a machine language into the instruction code to generate a macro library;
(E) generating a control table file based on the macro library;
(F) generating a control table file with the control name valid information, and
The step (d) includes:
Generating the macro library and the control name valid information file based on code generation information input in response to a user operation;
The control name valid information file holds information that associates the control name, the collation address, and the valid function name, and the control table file contains the control name, the valid function name, and the valid function name. When storing the start address of the function indicated by the function name and the end address of the function indicated by the valid function name in association with each other,
The step (f)
A disassembly program including the step of generating the control table file with control name valid information based on the control name valid information file and the control table file.
請求項9に記載の逆アセンブルプログラムにおいて、
前記(f)ステップは、
前記制御名有効情報ファイルに含まれる前記有効関数名と、前記制御表ファイルに含まれる前記有効関数名とが合致するとき、前記制御表ファイルに含まれる前記開始アドレスと前記終了アドレスとを、前記制御名有効情報ファイルの前記制御名に関連付けて、前記制御名有効情報付き制御表ファイルを生成するステップを含む
逆アセンブルプログラム。
In the disassemble program according to claim 9,
The step (f)
When the effective function name included in the control name effective information file matches the effective function name included in the control table file, the start address and the end address included in the control table file are A disassembly program comprising the step of generating the control table file with control name validity information in association with the control name of the control name validity information file.
(a)命令コードの解析によって得られた解析結果に基づいて、命令記述と命令アドレスとを特定するステップと、
(b)制御名有効情報付き制御表ファイルを参照して前記命令記述に対応する照合データを抽出するステップと、
(c)抽出した前記照合データに示される照合アドレスと、前記解析結果に示される命令アドレスと、予め決定しているアドレス有効範囲とに基づいて特定した制御名を、前記実行結果として前記表示部に供給するステップと
を具備する
逆アセンブル方法。
(A) identifying an instruction description and an instruction address based on an analysis result obtained by analyzing an instruction code;
(B) referring to a control table file with control name valid information and extracting collation data corresponding to the instruction description;
(C) A control name specified based on the collation address indicated in the extracted collation data, the instruction address indicated in the analysis result, and a predetermined address effective range, as the execution result, the display unit Disassembling method comprising the steps of:
請求項11に記載の逆アセンブル方法において、
前記(a)ステップは、
前記命令コードをメモリから読み出して読み出し命令コードとするステップを含み、
前記(c)ステップは、
前記読み出し命令コードが記録されていた前記メモリの番地を特定するステップと、
前記アドレス有効範囲に前記番地が含まれるとき、前記アドレス有効範囲に対応する制御名を、前記実行結果として前記表示部に供給するステップ
を含む
逆アセンブル方法。
The disassembly method according to claim 11, wherein
The step (a) includes:
Reading the instruction code from the memory into a read instruction code;
The step (c) includes:
Identifying the address of the memory in which the read instruction code was recorded;
When the address is included in the address valid range, a control name corresponding to the address valid range is supplied to the display unit as the execution result.
請求項12に記載の逆アセンブル方法において、
前記制御名有効情報付き制御表ファイルは、
前記照合アドレスと、前記制御名と、前記制御名に対応する有効関数の開始アドレスと、前記制御名に対応する有効関数の終了アドレスとを含み、
前記(c)ステップは、
前記開始アドレスから前記終了アドレスまでを前記アドレス有効範囲とするステップを含む
逆アセンブル方法。
The disassembly method according to claim 12,
The control table file with control name valid information is
Including the collation address, the control name, a valid function start address corresponding to the control name, and a valid function end address corresponding to the control name,
The step (c) includes:
A disassembly method comprising the step of setting the address valid range from the start address to the end address.
請求項13に記載の逆アセンブル方法において、さらに、
(d)機械語を前記命令コードに変換してマクロライブラリを生成するステップと、
(e)前記マクロライブラリに基づいて制御表ファイルを生成するステップと、
(f)前記制御名有効情報付き制御表ファイルを生成するステップと
を具備し、
前記(d)ステップは、
ユーザの操作に応答して入力されるコード生成情報に基づいて、前記マクロライブラリと制御名有効情報ファイルとを生成するステップ
を含み、
前記制御名有効情報ファイルが、前記制御名と、前記照合アドレスと、前記有効関数名とを関連付けた情報を保持し、前記制御表ファイルが、前記制御名と、前記有効関数名と、前記有効関数名に示される関数の開始アドレスと、前記有効関数名に示される関数の終了アドレスとを関連付けて保持するとき、
前記(f)ステップは、
前記制御名有効情報ファイルと前記制御表ファイルとに基づいて、前記制御名有効情報付き制御表ファイルを生成するステップを含む
逆アセンブル方法。
The disassembly method according to claim 13, further comprising:
(D) converting a machine language into the instruction code to generate a macro library;
(E) generating a control table file based on the macro library;
(F) generating a control table file with the control name valid information, and
The step (d) includes:
Generating the macro library and the control name valid information file based on code generation information input in response to a user operation;
The control name valid information file holds information that associates the control name, the collation address, and the valid function name, and the control table file contains the control name, the valid function name, and the valid function name. When storing the start address of the function indicated by the function name and the end address of the function indicated by the valid function name in association with each other,
The step (f)
A disassembly method comprising the step of generating a control table file with control name valid information based on the control name valid information file and the control table file.
請求項14に記載の逆アセンブル方法において、
前記(f)ステップは、
前記制御名有効情報ファイルに含まれる前記有効関数名と、前記制御表ファイルに含まれる前記有効関数名とが合致するとき、前記制御表ファイルに含まれる前記開始アドレスと前記終了アドレスとを、前記制御名有効情報ファイルの前記制御名に関連付けて、前記制御名有効情報付き制御表ファイルを生成するステップを含む
逆アセンブル方法。
The disassembly method according to claim 14, wherein
The step (f)
When the effective function name included in the control name effective information file matches the effective function name included in the control table file, the start address and the end address included in the control table file are A disassembly method comprising the step of generating the control table file with control name validity information in association with the control name of the control name validity information file.
JP2009115766A 2009-05-12 2009-05-12 Reverse assembling system, reverse assembling program, and reverse assembling method Withdrawn JP2010266939A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009115766A JP2010266939A (en) 2009-05-12 2009-05-12 Reverse assembling system, reverse assembling program, and reverse assembling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009115766A JP2010266939A (en) 2009-05-12 2009-05-12 Reverse assembling system, reverse assembling program, and reverse assembling method

Publications (1)

Publication Number Publication Date
JP2010266939A true JP2010266939A (en) 2010-11-25

Family

ID=43363890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009115766A Withdrawn JP2010266939A (en) 2009-05-12 2009-05-12 Reverse assembling system, reverse assembling program, and reverse assembling method

Country Status (1)

Country Link
JP (1) JP2010266939A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247908A (en) * 2011-05-26 2012-12-13 Nec Corp Memory arrangement management device, memory arrangement management method, memory arrangement management program, and program generation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247908A (en) * 2011-05-26 2012-12-13 Nec Corp Memory arrangement management device, memory arrangement management method, memory arrangement management program, and program generation system

Similar Documents

Publication Publication Date Title
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
US20120174061A1 (en) Code suggestion in a software development tool
JP2003050715A (en) Compiler and debugging device
JP2002024029A (en) Compiler, compiling method and computer readable recording medium with compile program recorded thereon
US20110047531A1 (en) Methods and apparatuses for selective code coverage
JPH0728640A (en) Equipment and method for checking instruction operation code
JPH0695312B2 (en) Method and system for processing a computer program
JP2006285707A (en) Business specification creation support system and method
JP2010266939A (en) Reverse assembling system, reverse assembling program, and reverse assembling method
JP2009104252A (en) Debugging support device and debugging support method
US20100070951A1 (en) Generic assembler
JP5163172B2 (en) Software test item editing support apparatus and software test item editing support method
JP5413623B2 (en) Assemble device, syntax analysis method, and assembler program
JP2008176364A (en) Program segmentation support apparatus
Kho et al. MIPSers: MIPS extension release 6 simulator
JP2007257397A (en) Contention state detection process additional program, contention state detection process adding apparatus and contention state detection process adding method
US6782523B2 (en) Parallel configurable IP design methodology
KR20150041541A (en) Method and apparatus for generating test bench for verification of a processor decoder
CN114428630B (en) Chip algorithm upgrading method and device and chip
KR101225577B1 (en) Apparatus and method for analyzing assembly language code
JP2018026067A (en) Simulation device and method of generating connection information in simulation device
TWI269231B (en) Method for reducing boot time under extendable firmware interface structure
CN113703728A (en) Development-assisted micro-component service processing method, device and equipment
JP2007265098A (en) Macro definition information acquisition device
JP2022125690A (en) Information processing device, information processing program, and program development support method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120807