JPH04365143A - Program evaluating device - Google Patents
Program evaluating deviceInfo
- Publication number
- JPH04365143A JPH04365143A JP3167548A JP16754891A JPH04365143A JP H04365143 A JPH04365143 A JP H04365143A JP 3167548 A JP3167548 A JP 3167548A JP 16754891 A JP16754891 A JP 16754891A JP H04365143 A JPH04365143 A JP H04365143A
- Authority
- JP
- Japan
- Prior art keywords
- bit range
- processing bit
- module
- consistency
- program
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 280
- 239000000284 extract Substances 0.000 claims abstract description 12
- 238000011156 evaluation Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 description 44
- 238000001514 detection method Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 21
- 238000000354 decomposition reaction Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】この発明は、マイクロプロセッサ
が並列処理できる最大ビット長に対して実際に処理する
ビット範囲を指定する処理ビット範囲指定情報を含んだ
命令を用いて作成されたソースプログラム等のプログラ
ムの処理ビット範囲に係る整合性を評価するプログラム
評価装置に関する。[Industrial Application Field] The present invention relates to a source program, etc. created using instructions containing processing bit range specification information that specifies the bit range to be actually processed with respect to the maximum bit length that can be processed in parallel by a microprocessor. The present invention relates to a program evaluation device that evaluates consistency regarding the processing bit range of a program.
【0002】0002
【従来の技術】マイクロプロセッサ内に処理対象とする
ビット範囲を指定する情報を記憶する処理ビット範囲情
報記憶手段を備え、その処理ビット範囲情報に基づいて
同一の機械語命令であってもデータ処理のビット範囲を
異ならしめるようにしたマイクロプロセッサは実用化さ
れている。2. Description of the Related Art A microprocessor is provided with processing bit range information storage means for storing information specifying a bit range to be processed, and based on the processing bit range information, data is processed even if the same machine language instruction is used. Microprocessors with different bit ranges have been put into practical use.
【0003】このマイクロプロセッサは、機械語命令の
バイト数もしくはビット数を増加させることなく、その
バイト数等で定まる命令種類よりも多くの命令を取り扱
うことができる。したがって、限られたプログラムRO
M容量内でより多くの機能を実現することが可能となり
、例えば、マスクROM等を内蔵した1チップCPU等
を用いた装置の開発に効果を発揮することが多い。[0003] This microprocessor can handle more instructions than the types of instructions determined by the number of bytes, etc., without increasing the number of bytes or bits of machine language instructions. Therefore, the limited program RO
It becomes possible to realize more functions within M capacity, and is often effective in developing devices using, for example, a one-chip CPU with a built-in mask ROM or the like.
【0004】例えば、沖電気製マイクロプロセッサ(型
名MSM66301)は、データディスクリプタ(以下
DDと記す)と称するフラグによって、アキュームレー
タ(以下ACCと記す)に格納されているデータの属性
を示し、DDが1のときACCのデータは16ビット有
効と判断し、DDが0のときACCのデータは下位の8
ビットを有効と判断する。ACCとの演算命令やACC
からの転送命令の実行に際してDDが参照される命令は
、DDが1のときは16ビットを処理単位とするワード
単位演算や転送が行なわれ、DDが0のときは8ビット
を処理単位とするバイト単位の演算や転送が行なわれる
。For example, an Oki Electric microprocessor (model name MSM66301) uses a flag called a data descriptor (hereinafter referred to as DD) to indicate the attribute of data stored in an accumulator (hereinafter referred to as ACC). When DD is 1, 16 bits of ACC data are considered valid, and when DD is 0, ACC data is determined to be 16 bits valid.
Determine the bit as valid. Operation instructions with ACC and ACC
For instructions that refer to the DD when executing a transfer instruction from , when DD is 1, word-by-word operations and transfers are performed using 16 bits as a processing unit, and when DD is 0, 8 bits are used as a processing unit. Operations and transfers are performed in byte units.
【0005】DDのセットやリセットは、ACCへのデ
ータ転送命令実行時に同時に行なわれる。ACCへのワ
ードタイプのロード命令実行時にDDは1にセットされ
、ACCへのバイトタイプのロード命令時にDDは0に
リセットされる。ACCへのロード命令が実行され、D
Dが変更されると、その次の命令がDDを参照する命令
の場合は新たに変更されたDDを参照し実行する。また
、DDを直接命令によって変更することもできる。[0005] Setting and resetting of the DD are performed simultaneously when a data transfer command to the ACC is executed. DD is set to 1 when a word type load instruction to the ACC is executed, and DD is reset to 0 when a byte type load instruction is executed to the ACC. The load instruction to ACC is executed and D
When D is changed, if the next instruction refers to a DD, the newly changed DD is referenced and executed. Furthermore, the DD can also be changed by direct commands.
【0006】[0006]
【発明が解決しようとする課題】このような処理ビット
範囲が異なる命令が混在するプログラムの開発では、通
常のプログラムにおける論理整合性のチェック以外に、
処理ビット範囲の整合性をチェックする必要がある。し
かし、実際のプログラムは、各種の分岐命令に基づく分
岐処理やサブルーチン等のモジュール処理が多重化され
る等、複雑な処理手順となることが多く、このようなプ
ログラムにおける処理ビット範囲の整合性を机上でチェ
ックしていたのでは、極めて開発効率が悪い。[Problem to be Solved by the Invention] In developing a program in which instructions with different processing bit ranges coexist, in addition to checking logical consistency in a normal program,
It is necessary to check the consistency of the processing bit range. However, actual programs often have complex processing procedures, such as multiplexing of branch processing based on various branch instructions and module processing such as subroutines. Checking on paper is extremely inefficient in development.
【0007】この発明はこのような課題を解決するため
なされたもので、その目的は処理ビット範囲の整合性を
自動的にチェックする装置を提供することにある。The present invention has been made to solve the above problems, and its purpose is to provide a device that automatically checks the consistency of processing bit ranges.
【0008】[0008]
【課題を解決するための手段】前記課題を解決するため
請求項1に係るプログラム評価装置は、現在指定されて
いる処理ビット範囲と次に実行される命令に係る処理ビ
ット範囲との整合性を判定する処理ビット範囲整合性判
定手段を備えたことを特徴とする。請求項2に係るプロ
グラム評価装置は、プログラムから処理ビット範囲指定
情報を含んだすべての命令およびすべての分岐命令とそ
れらの分岐先に係る情報を抽出して抜粋リストを生成す
る抜粋リスト生成手段と、生成した抜粋リストに基づい
て現在指定されている処理ビット範囲と次に実行される
命令に係る処理ビット範囲との整合性を判定する処理ビ
ット範囲整合性判定手段を備えたことを特徴とする。[Means for Solving the Problem] In order to solve the above problem, a program evaluation device according to claim 1 verifies the consistency between the currently specified processing bit range and the processing bit range related to the next instruction to be executed. The present invention is characterized by comprising processing bit range consistency determining means for determining. The program evaluation device according to claim 2 includes an excerpt list generating means for generating an excerpt list by extracting all instructions including processing bit range designation information, all branch instructions, and information regarding their branch destinations from the program. The present invention is characterized by comprising processing bit range consistency determining means for determining consistency between the currently specified processing bit range and the processing bit range related to the next instruction to be executed based on the generated excerpt list. .
【0009】なお、処理ビット範囲整合性判定手段は、
各分岐先毎に分岐されてきたときの処理ビット範囲を記
憶する分岐時処理ビット範囲記憶手段と、同一の分岐先
へ同一の処理ビット範囲を指定して分岐したときにはそ
の分岐以降の整合性判定を省略する2重チェック禁止手
段を設けてもよい。[0009] The processing bit range consistency determining means is as follows:
Branch processing bit range storage means for storing the processing bit range when branching to each branch destination, and consistency determination after the branch when branching to the same branch destination with the same processing bit range specified. A double check prohibition means may be provided to omit the double check.
【0010】また、処理ビット範囲整合性判定手段は、
すべての分岐先について整合性判定が実行されたか否か
を記憶する分岐チェック実行履歴記憶手段を備えるとと
もに、この分岐チェック実行履歴手段の記憶内容に基づ
いて整合性判定が実行されていない分岐経路の整合性を
チェックさせる全分岐経路チェック実行手段を備えるの
が望ましい。[0010] Furthermore, the processing bit range consistency determining means includes:
It includes a branch check execution history storage means for storing whether or not consistency judgment has been executed for all branch destinations, and also includes a branch check execution history storage means for storing whether or not consistency judgment has been executed for all branch destinations. It is preferable to include means for checking all branch routes to check consistency.
【0011】請求項5に係るプログラム評価装置は、プ
ログラムからサブルーチン等のすべてのモジュールを抽
出するモジュール抽出手段と、モジュールが呼出された
ときに指定されていた呼出し時処理ビット範囲ならびに
その呼出し時処理ビット範囲を受けてそのモジュール内
の処理を実行し呼出し元のプログラムに復帰する際の処
理ビット範囲とを各モジュール毎に対応付けて記憶する
呼出し・復帰時処理ビット範囲記憶手段と、この呼出し
・復帰時処理ビット範囲記憶手段に既に記憶されたもの
と同一の呼出し条件で再度呼出しがなされたときはその
モジュール内の整合性判定を省略し、呼出し・復帰時処
理ビット範囲記憶手段に記憶されている復帰時処理ビッ
ト範囲を読み出して、読み出した処理ビット範囲と復帰
後の命令に係る処理ビットとの整合性判定を続行させる
モジュール内2重チェック禁止手段を備えたことを特徴
とする。The program evaluation device according to claim 5 includes a module extracting means for extracting all modules such as subroutines from a program, and a bit range to be processed at the time of calling specified when the module is called, and the processing at the time of the call. A call/return processing bit range storage means for storing a processing bit range for each module in association with a processing bit range when receiving a bit range, executing processing in that module, and returning to the calling program; When a call is made again with the same calling conditions as those already stored in the return processing bit range storage means, the consistency determination within that module is omitted and the processing bit range storage means stores the return processing bit range storage means. The present invention is characterized by comprising intra-module double check prohibition means for reading out the processing bit range at the time of return and continuing the consistency determination between the read processing bit range and the processing bits related to the instruction after the return.
【0012】請求項6に係るプログラム評価装置は、プ
ログラムからサブルーチン等のすべてのモジュールを抽
出するモジュール抽出手段と、抽出した各モジュール毎
にそのモジュールが呼出される際に要求される呼出し時
処理ビット範囲およびそのモジュールから呼出し元のプ
ログラムに復帰する際の復帰時処理ビット範囲を予め設
定した命令規則に基づいて検索する呼出し・復帰時処理
ビット範囲検索手段と、この呼出し・復帰時処理ビット
範囲検索手段の出力を各モジュール毎に対応付けて記憶
するモジュール呼出し・復帰時処理ビット範囲記憶手段
と、このモジュール呼出し・復帰時処理ビット範囲記憶
手段に記憶された各処理ビット範囲と呼出し元のプログ
ラムの処理ビット範囲との整合性を判定するモジュール
間整合性判定手段を備えたことを特徴とする。The program evaluation device according to claim 6 includes a module extracting means for extracting all modules such as subroutines from a program, and a call processing bit required for each extracted module when the module is called. A call/return processing bit range search means for searching a range and a return processing bit range when returning from the module to the calling program based on preset instruction rules, and the call/return processing bit range search. A module call/return processing bit range storage means that stores the output of the means in association with each module, and each processing bit range stored in the module call/return processing bit range storage means and the calling program. The present invention is characterized by comprising inter-module consistency determining means for determining consistency with a processing bit range.
【0013】[0013]
【作用】請求項1に係るプログラム評価装置は、現在指
定されている処理ビット範囲と次に実行される命令に係
る処理ビット範囲との整合性を判定する処理ビット範囲
整合性判定手段を備えたので、処理ビット範囲指定に係
るチェックを自動的に行なうことができる。請求項2に
係るプログラム評価装置は、プログラムから処理ビット
範囲指定に関連する命令と分岐および分岐先に係る情報
だけを取り出した抜粋リストを抜粋リスト作成手段で作
成した後に、処理ビット範囲整合性判定手段は抜粋リス
トに基づいて1ステップずつ処理ビット範囲の整合性を
チェックするので、プログラムの実行順序に対応して処
理ビット範囲指定に係るチェックを短時間で正確に評価
できる。[Operation] The program evaluation device according to claim 1 is provided with processing bit range consistency determining means for determining consistency between the currently specified processing bit range and the processing bit range related to the next instruction to be executed. Therefore, a check regarding the processing bit range specification can be automatically performed. The program evaluation device according to claim 2 performs processing bit range consistency determination after creating an excerpt list in which only instructions related to processing bit range designation, branches, and branch destination information are extracted from the program. Since the means checks the consistency of the processing bit range step by step based on the excerpt list, it is possible to accurately evaluate the check related to the specification of the processing bit range in accordance with the execution order of the program in a short time.
【0014】なお、分岐先へ飛込む時の処理ビット範囲
を各分岐先毎に記憶させておき、同一条件で同一分岐先
へ再度分岐する場合は、その分岐後の整合性判定を省略
することで、同一分岐先への分岐が多いプログラムの評
価時間を短縮することができる。[0014] Note that the processing bit range when jumping to a branch destination is memorized for each branch destination, and when branching to the same branch destination again under the same conditions, the consistency check after that branch can be omitted. , it is possible to shorten the evaluation time of a program that has many branches to the same branch destination.
【0015】また、各分岐先について整合性判定が実行
されたことを記憶する実行履歴記憶手段を備えるととも
に、実行されていない分岐経路の整合性判定を実行する
手段を備えることで、すべての経路をもれなく評価する
ことができる。[0015] Furthermore, by providing execution history storage means for storing the execution of consistency determination for each branch destination, and means for executing consistency determination for branch routes that have not been executed, it is possible to can be evaluated thoroughly.
【0016】請求項5に係るプログラム評価装置は、モ
ジュール抽出手段によってプログラムから各モジュール
を抽出し、呼出し・復帰時処理ビット範囲記憶手段は各
モジュール毎に整合性判定を行なった際の結果を記憶す
る。モジュール内2重チェック禁止手段は、既に記憶さ
れたものと同一の呼出し条件で再度呼出しがなされた場
合は、そのモジュール内のチェックを行なわずに既に記
憶されている復帰時処理ビット範囲を読み出して復帰後
の命令に係る処理ビットとの整合性判定を続行する。In the program evaluation device according to claim 5, the module extraction means extracts each module from the program, and the call/return processing bit range storage means stores the results of consistency determination for each module. do. If a module is called again under the same call conditions as those already stored, the intra-module double check prohibition means reads out the already stored return processing bit range without checking within the module. Continues to determine consistency with processing bits related to the instruction after return.
【0017】請求項6に係るプログラム評価装置は、モ
ジュール抽出手段によってプログラムから各モジュール
を抽出し、呼出し・復帰時処理ビット範囲検索手段は各
モジュール毎にそのモジュールが呼出される際に要求さ
れる処理ビット範囲と復帰時の処理ビット範囲を検索し
、呼出し・復帰時処理ビット範囲記憶手段はその検索結
果を記憶する。そして、モジュール間整合性判定手段は
、呼出し元のプログラムの処理ビット範囲と呼出し・復
帰時処理ビット範囲記憶手段に記憶した処理ビット範囲
との整合性を判定する。よって、各モジュール毎にその
整合性を判定することができる。[0017] In the program evaluation device according to claim 6, each module is extracted from the program by the module extraction means, and the call/return processing bit range search means is required for each module when the module is called. The processing bit range and the processing bit range at the time of return are searched, and the processing bit range storage means at the time of call/return stores the search results. Then, the inter-module consistency determining means determines the consistency between the processing bit range of the calling program and the processing bit range stored in the processing bit range storage means at the time of calling/returning. Therefore, the consistency can be determined for each module.
【0018】[0018]
【実施例】以下、この発明の実施例を添付図面に基づい
て説明する。図1は請求項1および2に係るプログラム
評価装置のブロック構成図である。このプログラム評価
装置1は、アッセンブラ言語等で記述されたソースプロ
グラムを評価するもので、入力部2と、抜粋リスト生成
手段としての抜粋ソースリスト生成手段3と、処理ビッ
ト範囲整合性判定手段(以下単に整合性判定手段と記す
)4と、評価結果出力部5とからなる。DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram of a program evaluation device according to claims 1 and 2. This program evaluation device 1 evaluates a source program written in an assembler language or the like, and includes an input section 2, an excerpt source list generation means 3 as an excerpt list generation means, and a processing bit range consistency determination means (hereinafter referred to as It consists of a consistency determining means (simply referred to as consistency determining means) 4 and an evaluation result output section 5.
【0019】ソースプログラム入力部2は、図示しない
プログラム開発装置等で作成されたソースプログラムS
を読み込んで一時記憶するもので、入力装置2aとRA
M等を用いて構成したソースプログラム記憶部2bとを
備える。フロッピィ・ディスクや磁気テープ等の記録媒
体を介してソースプログラムSを入力する場合、入力装
置2aはフロッピィ・ディスクドライブ装置や磁気テー
プ再生装置を備える。データバスやシリアル伝送路を介
して図示しないプログラム開発装置等から直接ソースプ
ログラムSを入力する場合、入力装置2aはそのための
インタフェース回路を備える。The source program input unit 2 inputs a source program S created by a program development device (not shown) or the like.
is read and temporarily stored in the input device 2a and RA.
The source program storage unit 2b is configured using M or the like. When inputting the source program S via a recording medium such as a floppy disk or magnetic tape, the input device 2a includes a floppy disk drive device and a magnetic tape playback device. When the source program S is directly input from a program development device (not shown) or the like via a data bus or serial transmission path, the input device 2a includes an interface circuit for this purpose.
【0020】なお、プログラム開発装置にこのソースプ
ログラム評価装置1を内蔵させ、プログラム開発装置側
の記憶部に記憶されてソースプログラムを読み出して評
価する構成の場合は、ソースプログラム入力部2を設け
なくてもよい。[0020] Note that in the case of a configuration in which the source program evaluation device 1 is built into the program development device and the source program stored in the storage section of the program development device is read out and evaluated, the source program input section 2 may not be provided. You can.
【0021】抜粋ソースリスト生成手段3は、ソースプ
ログラム記憶部2bに格納したソースプログラムを例え
ば1行ずつ読み出すための読み出し制御部31と、読み
出したソースプログラムSSを予め設定したルールに基
づいて、ソースプログラムの行番号情報32a,命令情
報32b,飛び先指定情報32cおよび飛び先情報32
dに分解する分解手段32と、命令情報32bが抽出す
べき命令であるか否かを判断する命令照合部33と、抽
出すべき複数の命令に係る情報が予め登録された抽出命
令指定部34と、命令照合部33から出力される抽出指
令33aに基づいて、RAM等を用いて構成した抜粋ソ
ースリスト記憶部35へ、分解手段32の各分解出力3
2a〜32dを相互の対応を付けて書き込む書き込み制
御部36とを備える。The excerpt source list generating means 3 includes a read control section 31 for reading out the source program stored in the source program storage section 2b, line by line, for example, and a read out source program SS based on preset rules. Program line number information 32a, instruction information 32b, jump destination specification information 32c, and jump destination information 32
a disassembly unit 32 that disassembles the instruction information 32b into commands to be extracted; an instruction matching unit 33 that determines whether the instruction information 32b is an instruction to be extracted; and an extraction instruction specifying unit 34 in which information related to a plurality of instructions to be extracted is registered in advance. Based on the extraction command 33a output from the command matching unit 33, each decomposition output 3 of the decomposition unit 32 is sent to the excerpt source list storage unit 35 configured using a RAM or the like.
A write control unit 36 is provided for writing 2a to 32d in correspondence with each other.
【0022】開発対象であるCPUが1種類でかつソー
スプログラムの開発言語が固定されている場合、抽出命
令指定部34は抽出すべき命令群に係る情報を予め記憶
したROM等で構成してもよいし、RAMおよびこのR
AMへの書き込み制御手段を備え、外部から抽出すべき
命令に係る情報を任意に登録できるようにしてもよい。[0022] When there is only one type of CPU to be developed and the development language of the source program is fixed, the extraction instruction specifying section 34 may be configured with a ROM or the like that stores information related to the instruction group to be extracted in advance. Good, RAM and this R
It may also be provided with a write control means for the AM, so that information related to commands to be extracted from the outside can be arbitrarily registered.
【0023】読み出し制御部31は、抜粋開始指令31
aが与えられると、この読み出し制御部31内の読み出
しアドレスカウンタを初期状態に設定し、読み出しアド
レスを含む読み出し指令31bを出力して、ソースプロ
グラム記憶部2bからソースプログラムの先頭行をまず
読み出す。そして、この読み出し制御部31は、命令照
合部33から抽出不要指令33bが与えられるか、書き
込み制御部36から書き込み完了信号36aが与えられ
ると、読み出し制御部31内に設けた図示しない読み出
しアドレスカウンタ等を歩進させ、ソースプログラムの
次の行を読み出すよう構成している。[0023] The readout control unit 31 receives an excerpt start command 31.
When a is given, the read address counter in the read control unit 31 is set to the initial state, a read command 31b including the read address is output, and the first line of the source program is read from the source program storage unit 2b. When the read control unit 31 receives an extraction unnecessary command 33b from the instruction matching unit 33 or receives a write completion signal 36a from the write control unit 36, the read control unit 31 controls a read address counter (not shown) provided in the read control unit 31. etc., and reads the next line of the source program.
【0024】書き込み制御部36は、抜粋開始指令31
aを受けると書き込み制御部36内に設けた抜粋ソース
行番号カウンタを初期状態に設定するとともに、そのカ
ウンタのカウント値を抜粋リスト行番号情報36aとし
て出力する。抽出指令33aを受けると書き込み制御部
36は、抜粋ソース行番号カウンタのカウント値に基づ
いて予め対応させた書き込みアドレスに対して、各情報
32a,32b,32c,33dを書き込み、一連の書
き込み処理が完了した時点で書き込み完了信号を読み出
し制御部31へ出力するよう構成している。また、書き
込み制御部36は、新たな抽出指令33aを受けると抜
粋ソース行番号カウンタを歩進させる。符号36cは、
書き込みアドレスを含む書き込み指令である。[0024] The write control unit 36 sends an excerpt start command 31
When a is received, the excerpt source line number counter provided in the write control section 36 is set to the initial state, and the count value of the counter is output as excerpt list line number information 36a. Upon receiving the extraction command 33a, the write control unit 36 writes each piece of information 32a, 32b, 32c, and 33d to a write address that has been associated in advance based on the count value of the excerpt source line number counter, and a series of write processing is performed. The configuration is such that a write completion signal is output to the read control section 31 when the write is completed. Furthermore, upon receiving a new extraction command 33a, the write control unit 36 increments the excerpt source line number counter. The code 36c is
This is a write command that includes a write address.
【0025】抜粋ソースリスト記憶部35は、RAMと
その周辺回路とで構成される。記憶すべき情報32a〜
32d,36aに対応してそれぞれRAMを備え、ソー
スリストの行番号情報36aに対応するアドレスに基づ
いて各情報32a〜32d,36aを同時に書き込む構
成としている。なお、1組のRAMに各情報32a〜3
2d,36aをそれぞれアドレスを異ならしめて順次記
憶する構成でもよい。この場合、書き込み制御部36は
、1つの行番号に対して各情報毎に予め対応させた複数
のアドレスを順次指定しながら書き込みを行なう。The excerpt source list storage section 35 is composed of a RAM and its peripheral circuits. Information to be memorized 32a~
32d and 36a are each provided with a RAM, and the information 32a to 32d and 36a are simultaneously written based on the address corresponding to the line number information 36a of the source list. Note that each piece of information 32a to 3 is stored in one set of RAM.
2d and 36a may be sequentially stored at different addresses. In this case, the write control unit 36 performs writing while sequentially specifying a plurality of addresses that are previously associated with each piece of information for one row number.
【0026】整合性判定手段4は、処理ビット範囲に係
る指定の整合性を、抜粋ソースリストを先頭から最後ま
ですべての分岐経路に亘ってチェックするもので、実行
順序制御手段60と、整合性チェック手段70を備える
。The consistency determining means 4 checks the consistency of the specification regarding the processing bit range from the beginning to the end of the excerpt source list over all branch paths, and checks the consistency of the specification regarding the processing bit range. A checking means 70 is provided.
【0027】評価結果出力部5は、整合性チェック手段
70から出力される不整合検出出力70aに基づいて、
不整合と判定されたソースプログラムの行番号情報32
a、命令情報32b、処理ビット範囲に係る情報B等を
一時記憶する不整合情報管理部51と、記憶した不整合
情報をCRT等に表示するモニタディスプレイ、もしく
は、プリントアウトするプリンタ等の出力装置52を備
える。Based on the inconsistency detection output 70a output from the consistency check means 70, the evaluation result output unit 5
Line number information 32 of the source program determined to be inconsistent
a, a mismatch information management unit 51 that temporarily stores the command information 32b, information B related to the processing bit range, etc., and a monitor display that displays the stored mismatch information on a CRT or the like, or an output device such as a printer that prints it out. 52.
【0028】図2は処理ビット範囲整合性判定手段4の
一具体例を示すブロック構成図である。実行順序制御手
段60は、抜粋ソースリスト記憶部35へ読み出しアド
レスを含む読み出し指令61aを与える読み出し制御部
61と、読み出した命令が分岐命令か否かを検出する分
岐条件検出部62と、飛び先指定情報35cを入力とし
てその飛び先に係る抜粋ソースリストの行番号情報(抜
粋ソースリスト記憶部35のアドレス情報に対応する)
63b(以下飛び先情報と記す)を出力する飛び先−行
情報対応手段63と、分岐命令検出部62から出力され
る各種の分岐命令検出出力62b,62cに基づいて分
岐チェック実行履歴記憶部65へ実行履歴に係る各種の
情報を書き込む実行履歴管理手段64と、同一の分岐経
路へ同一の処理ビット範囲指定条件で整合性チェックを
再度行なうのを防止させるための2重チェック禁止手段
66と、分岐チェック実行履歴記憶部65内のチェック
実行履歴に基づいて未チェック経路の整合性チェックを
実行させる全分岐経路チェック実行手段67とを備える
。FIG. 2 is a block diagram showing a specific example of the processing bit range consistency determining means 4. As shown in FIG. The execution order control unit 60 includes a read control unit 61 that provides a read command 61a including a read address to the excerpt source list storage unit 35, a branch condition detection unit 62 that detects whether the read instruction is a branch instruction, and a branch condition detection unit 62 that detects whether the read instruction is a branch instruction or not. Line number information of the excerpt source list related to the jump destination when the specified information 35c is input (corresponding to address information of the excerpt source list storage unit 35)
63b (hereinafter referred to as jump destination information), and a branch check execution history storage section 65 based on various branch instruction detection outputs 62b and 62c output from the branch instruction detection section 62. an execution history management means 64 for writing various information related to the execution history into the execution history, and a double check prohibition means 66 for preventing the consistency check from being performed again on the same branch route under the same processing bit range specification conditions; It also includes an all-branch route check execution means 67 that executes a consistency check of unchecked routes based on the check execution history in the branch check execution history storage unit 65.
【0029】飛び先−行情報対応手段63は、整合性チ
ェックの開始に先立って与えられる変換テーブル作成指
令63aに基づいて、読み出し制御部61を介して抜粋
ソースリストを先頭行から最終行まで行番号順に順次読
み出して、飛び先情報35cとその飛び先に係る抜粋ソ
ースリストの行番号情報35e(図1に示すソースリス
ト生成手段3内の書き込み制御部36が発番した抜粋ソ
ースリスト行番号情報36a)との対応表を例えば変換
テーブルの形態で生成し、一時記憶するよう構成してい
る。なお、この飛び先情報35cと抜粋ソースリストの
行番号情報35eとの対応表は、抜粋ソースリスト作成
時に生成する構成でもよい。The jump destination-to-line information correspondence means 63 executes the execution of the excerpt source list from the first line to the last line via the read control unit 61 based on the conversion table creation command 63a given before the start of the consistency check. The jump destination information 35c and the row number information 35e of the excerpt source list related to the jump destination (excerpt source list line number information issued by the write control unit 36 in the source list generation means 3 shown in FIG. 1) are read out sequentially in numerical order. 36a) is generated in the form of a conversion table, for example, and is temporarily stored. Note that the correspondence table between the jump destination information 35c and the line number information 35e of the excerpt source list may be generated at the time of creating the excerpt source list.
【0030】分岐条件検出部62は、分岐命令一覧と各
分岐命令が無条件分岐であるか条件付分岐であるかの情
報を対応させて予め登録した分岐命令−分岐条件対応表
を備える。なお、この分岐命令−分岐条件対応情報は外
部から書き込み可能な構成としてもよいし、分岐命令−
分岐条件対応情報を格納したROM等を交換可能な構成
としてもよい。そして、分岐条件検出部62は、分岐命
令−分岐条件対応表に基づいて、入力された命令情報3
5bが無条件分岐命令であるか条件付分岐命令であるか
の判定を行ない、対応する検出出力62b,62cを出
力するとともに、分岐命令以外の場合は非分岐命令検出
出力62aを出力するよう構成している。The branch condition detection unit 62 includes a branch instruction-branch condition correspondence table in which a list of branch instructions and information as to whether each branch instruction is an unconditional branch or a conditional branch are registered in advance. Note that this branch instruction-branch condition correspondence information may be configured to be writable from the outside, or may be configured to be writable from the outside.
A ROM or the like that stores branch condition correspondence information may be configured to be replaceable. Then, the branch condition detection unit 62 detects the input instruction information 3 based on the branch instruction-branch condition correspondence table.
It is configured to determine whether 5b is an unconditional branch instruction or a conditional branch instruction, output corresponding detection outputs 62b and 62c, and output a non-branch instruction detection output 62a if it is other than a branch instruction. are doing.
【0031】読み出し制御部61は、整合性チェック開
始指令61bが与えられると、抜粋ソースリスト記憶部
35から先頭行をまず読み出す。そして、この読み出し
制御部61は、非分岐命令検出出力62aを受けると、
読み出し行カウンタを+1歩進させ、整合性比較部73
から比較完了信号73bが出力された時点で次の行の読
み出しを行なう。When the readout control unit 61 receives the consistency check start command 61b, it first reads out the first line from the excerpt source list storage unit 35. When the read control unit 61 receives the non-branch instruction detection output 62a,
The read line counter is incremented by +1, and the consistency comparison unit 73
When the comparison completion signal 73b is output from , the next row is read.
【0032】飛び先情報−行情報対応手段63は、無条
件分岐命令検出出力62bを受けると、抜粋ソースリス
ト記憶部35から現在読み出されている飛び先情報35
cを読み込み、読み込んだ飛び先情報35cで指定され
る抜粋ソースリストの行番号情報63bを読み出し制御
部61へ供給する。When the jump destination information-line information correspondence means 63 receives the unconditional branch instruction detection output 62b, the jump destination information-line information correspondence means 63 converts the jump destination information 35 currently read out from the excerpt source list storage section 35.
c is read, and the line number information 63b of the excerpt source list specified by the read destination information 35c is supplied to the readout control unit 61.
【0033】読み出し制御部61は、無条件分岐命令検
出出力62bを受けた時は、飛び先−行情報対応手段6
3から出力される行番号情報63bを読み込んで行カウ
ンタへセットし、整合性比較部73から比較完了信号7
3bが与えられるまで待機する。読み出し制御部61は
、条件分岐命令検出出力62cを受けた時は、抜粋ソー
スリストの読み出し行カウンタ等を+1歩進させ、整合
性比較部73から比較完了信号73bが与えられるまで
待機する。When the readout control unit 61 receives the unconditional branch instruction detection output 62b, the readout control unit 61 executes the jump destination-line information correspondence means 6.
The line number information 63b output from 3 is read and set in the line counter, and the comparison completion signal 7 is sent from the consistency comparison unit 73.
Wait until 3b is given. When the read control unit 61 receives the conditional branch instruction detection output 62c, it increments the read line counter of the excerpt source list by +1 and waits until a comparison completion signal 73b is provided from the consistency comparison unit 73.
【0034】実行履歴管理手段64は、無条件分岐命令
検出出力62bを受けると、その分岐先の飛び先指定情
報35cと、現在の処理ビット範囲情報(飛び先へ移行
する前の処理ビット範囲)72aと、その分岐経路の整
合性チェックを実行したことを示す分岐実行情報64J
とを対応付けて分岐チェック実行履歴記憶部65へ書き
込む。実行履歴管理手段64は、条件分岐命令検出出力
62cを受けると、その分岐先の飛び先指定情報35c
と、現在の処理ビット範囲情報72aと、その分岐経路
の整合性チェックがまだ行なわれていないことを示す分
岐未実行情報64Mとを対応付けて分岐チェック実行履
歴記憶部65へ書き込む。符号64cは、書き込みアド
レスを含む書き込み指令である。When the execution history management means 64 receives the unconditional branch instruction detection output 62b, the execution history management means 64 receives the jump destination designation information 35c of the branch destination and the current processing bit range information (the processing bit range before moving to the jump destination). 72a and branch execution information 64J indicating that the consistency check of the branch route has been executed.
and written into the branch check execution history storage unit 65 in association with each other. When the execution history management means 64 receives the conditional branch instruction detection output 62c, the execution history management means 64 stores the jump destination designation information 35c of the branch destination.
, the current processing bit range information 72a, and branch unexecuted information 64M indicating that the consistency check of the branch route has not been performed yet are written into the branch check execution history storage unit 65 in association with each other. Reference numeral 64c is a write command including a write address.
【0035】2重チェック禁止手段66は、各種分岐命
令検出出力62b,62cが入力されると、抜粋ソース
リスト記憶部35から現在読み出している飛び先情報3
5cと、現在の処理ビット範囲情報72aとを読み込み
、読み込んだ各情報35c,72aをもとに分岐チェッ
ク実行履歴記憶部65を検索し、分岐実行情報Jまたは
分岐未実行情報Mに基づいて、その分岐経路がチェック
済みか否かを判断し、チェック済みの場合はチェック済
出力66aを全分岐路チェック実行手段67へ出力する
よう構成している。When the various branch instruction detection outputs 62b and 62c are input, the double check prohibition means 66 checks the jump destination information 3 currently read from the excerpt source list storage section 35.
5c and the current processing bit range information 72a, the branch check execution history storage unit 65 is searched based on the read information 35c and 72a, and based on the branch execution information J or the branch non-execution information M, It is determined whether or not the branch route has been checked, and if the branch route has been checked, the checked output 66a is output to the all branch route check execution means 67.
【0036】全分岐路チェック実行手段67は、分岐条
件検出部62の各検出出力62a〜62cもしくは整合
性の比較完了出力73bを監視しており、例えば所定の
時間が経過しても新たな出力が発生しないことによって
一連の整合性チェックが完了したことを検出した場合や
、2重チェック禁止手段66から出力されるチェック済
出力66aに基づいて一連の整合性チェックが完了した
ことを検出した場合は、分岐チェック実行履歴記憶部6
5内にリストアップしてある未チェック経路の整合性チ
ェックを開始させる。The all branch path check execution means 67 monitors each of the detection outputs 62a to 62c or the consistency comparison completion output 73b of the branch condition detection unit 62, and for example, even if a predetermined period of time elapses, a new output is not detected. When it is detected that a series of consistency checks have been completed by not occurring, or when it is detected that a series of consistency checks has been completed based on the checked output 66a output from the double check prohibition means 66. is the branch check execution history storage unit 6
Start checking the consistency of the unchecked routes listed in 5.
【0037】全分岐路チェック実行手段67は、分岐チ
ェック実行履歴記憶部65内の分岐未実行情報Mに基づ
いて、チェック未実行の飛び先情報65aを読み出して
飛び先−行情報対応手段63へ未チェック飛び先情報6
7aとして供給するとともに、分岐チェック実行履歴記
憶部65からその分岐先へ飛び込む前の処理ビット範囲
指定情報65bを読み出して、これを処理ビット範囲指
定情報67bとして現在の処理ビット範囲記憶部72へ
与え記憶させる。次に、全分岐路チェック実行手段67
は、未分岐経路チェック指令67cを読み出し制御部6
1へ与え、整合性チェックを開始させるとともに、分岐
チェック実行履歴記憶部65内の分岐未実行情報Mを分
岐実行情報Jへ書き替えるよう構成している。The all-branch route check execution means 67 reads out unchecked jump destination information 65a based on the branch unexecuted information M in the branch check execution history storage section 65, and sends it to the jump destination-line information correspondence means 63. Unchecked destination information 6
7a, and reads processing bit range designation information 65b before jumping to the branch destination from the branch check execution history storage section 65, and supplies this to the current processing bit range storage section 72 as processing bit range designation information 67b. Make me remember. Next, all branching road check execution means 67
reads the unbranched route check command 67c and the control unit 6
1 to start a consistency check, and at the same time, branch unexecuted information M in the branch check execution history storage section 65 is rewritten to branch execution information J.
【0038】また、全分岐路チェック実行手段67は、
2重チェック禁止手段66からのチェック済出力66a
を受けると、抜粋ソースリストの読み出しを中断させる
中断指令67dを読み出し制御部61へ供給した後に、
分岐チェック実行履歴記憶部65内の分岐未実行情報M
を検索する。そして、全分岐路チェック実行手段67は
、分岐未実行情報Mが検出されなくなった時点で、全分
岐路チェック終了出力67eを発生するよう構成してい
る。[0038] Furthermore, the all branch road check execution means 67
Checked output 66a from double check prohibition means 66
When receiving the command, after supplying an interruption command 67d to the reading control unit 61 to interrupt reading of the excerpt source list,
Branch unexecuted information M in branch check execution history storage unit 65
Search for. The all-branch road check execution means 67 is configured to generate an all-branch road check end output 67e when the branch unexecuted information M is no longer detected.
【0039】なお、読み出し制御部61は、未分岐経路
チェック指令67cを受けると、飛び先−行情報対応手
段63から出力されている飛び先行情報63bを読み込
んで、その行番号情報に対応して記憶されている各種の
情報35a〜35eを読み出すよう構成している。When the readout control section 61 receives the unbranched route check command 67c, it reads the jump ahead information 63b outputted from the jump destination-line information correspondence means 63, and performs the jump ahead information 63b corresponding to the line number information. It is configured to read out various kinds of stored information 35a to 35e.
【0040】次に、整合性チェック手段70の構成につ
いて説明する。整合性チェック手段70は、命令−処理
ビット対応手段71と、現在の処理ビット範囲記憶部7
2と、整合性比較部73とを備える。Next, the configuration of the consistency check means 70 will be explained. The consistency check means 70 includes an instruction-processing bit correspondence means 71 and a current processing bit range storage section 7.
2 and a consistency comparison unit 73.
【0041】命令−処理ビット対応手段71は、各種の
命令情報35bとその命令情報35bに割り当てられて
いる処理ビット範囲に係る情報71aとの変換もしくは
対応表を備える。変換もしくは対応表は、デコード回路
やROM,RAM等を用いて構成している。命令−処理
ビット対応手段71は、入力された命令情報35bに対
して、その命令の処理ビット範囲に係る情報71aを整
合性比較部73へ与える。The instruction-processing bit correspondence means 71 includes a conversion or correspondence table between various types of instruction information 35b and information 71a relating to the processing bit range assigned to the instruction information 35b. The conversion or correspondence table is constructed using a decoding circuit, ROM, RAM, etc. The instruction-processing bit correspondence means 71 provides information 71a related to the processing bit range of the input instruction information 35b to the consistency comparison section 73.
【0042】現在の処理ビット範囲記憶部72は、RA
Mまたは並列複数ビットのラッチ回路とその周辺回路と
で構成している。現在の処理ビット範囲記憶部72は、
整合性チェック開始指令61bが与えられると、対象と
するCPUがリセット等によって設定される初期状態の
処理ビット範囲に初期化される。The current processing bit range storage unit 72 stores the RA
It consists of M or parallel multiple bit latch circuits and their peripheral circuits. The current processing bit range storage unit 72 is
When the consistency check start command 61b is given, the target CPU is initialized to the processing bit range of the initial state set by resetting or the like.
【0043】また、現在の処理ビット範囲記憶部72は
、整合性比較部73から次の処理ビット範囲設定情報7
3cが出力されると与えられた処理ビット範囲情報73
cを記憶し、全分岐路チェック実行手段67から処理ビ
ット範囲指定情報67bが出力されるとその指定情報6
7bを記憶する。現在の処理ビット範囲記憶部72は、
記憶している処理ビット範囲情報72aを常に出力する
よう構成している。The current processing bit range storage section 72 also stores the next processing bit range setting information 7 from the consistency comparison section 73.
Processing bit range information 73 given when 3c is output
c is stored, and when the processing bit range designation information 67b is output from the all branch road check execution means 67, the designation information 6
Remember 7b. The current processing bit range storage unit 72 is
It is configured to always output the stored processing bit range information 72a.
【0044】整合性比較部73は、現在の処理ビット範
囲記憶部72から与えられる現在の処理ビット範囲情報
72aと、命令−処理ビット範囲対応手段71から出力
される次の命令に係る処理ビット範囲情報71aとを入
力とし、その整合性をチェックするもので、予め設定も
しくは登録した判定テーブル等を備える。整合性比較部
73は、現在の処理ビット範囲情報72aに対して、次
の命令が要求する処理ビット範囲が矛盾している場合は
、不整合検出出力73aを出力し、その後に比較完了信
号73bを出力する。The consistency comparison section 73 compares the current processing bit range information 72a given from the current processing bit range storage section 72 and the processing bit range related to the next instruction output from the instruction-processing bit range correspondence means 71. It inputs the information 71a and checks its consistency, and includes a judgment table set or registered in advance. If the processing bit range requested by the next instruction is inconsistent with the current processing bit range information 72a, the consistency comparison unit 73 outputs a mismatch detection output 73a, and then outputs a comparison completion signal 73b. Output.
【0045】整合性比較部73は、次の命令が処理ビッ
ト範囲を設定する命令である場合は、その命令によって
要求されている処理ビット範囲情報を次の処理ビット範
囲設定情報73cとして現在の処理ビット範囲記憶部7
2へ与えた後に、比較完了信号73bを出力する。整合
性比較部73は、整合性が適合している場合は、単に比
較完了信号73bを出力するよう構成している。If the next instruction is an instruction to set a processing bit range, the consistency comparison unit 73 uses the processing bit range information requested by that instruction as the next processing bit range setting information 73c for the current processing. Bit range storage section 7
2, a comparison completion signal 73b is output. The consistency comparator 73 is configured to simply output a comparison completion signal 73b when the compatibility is compatible.
【0046】図3は評価結果出力部5のブロック構成図
である。不整合情報管理部51は、RAM等で構成され
た不整合情報記憶部53と、この不整合情報記憶部53
への書き込みならびに読み出しを制御する書き込み・読
み出し制御部54と、キーボード等の入力装置55から
の出力指令55aに基づいて指定された出力装置52P
,52Dへ指定された条件の評価結果を出力インタフェ
ース手段56を介して出力する出力制御部57を備える
。FIG. 3 is a block diagram of the evaluation result output section 5. As shown in FIG. The inconsistency information management section 51 includes an inconsistency information storage section 53 configured with a RAM or the like;
A write/read control unit 54 that controls writing and reading to and from an output device 52P specified based on an output command 55a from an input device 55 such as a keyboard.
, 52D is provided.
【0047】出力装置52は、プリンタ52Pおよびモ
ニタディスプレイ52D等を備える。The output device 52 includes a printer 52P, a monitor display 52D, and the like.
【0048】以上の構成であるから請求項1および2に
係るプログラム評価装置1は、ソースプログラム入力部
2から読み込んだソースプログラムSに対して、抜粋ソ
ースリスト生成手段3は評価に必要なプログラム情報の
みを抜粋し、整合性判定手段4は抜粋ソースリストの実
行経路のすべてについて整合性の判定を行ない、評価結
果出力部5は処理ビット範囲に係る指定が不整合となっ
た箇所の情報を出力することができる。With the above configuration, the program evaluation apparatus 1 according to claims 1 and 2 is configured such that the excerpt source list generation means 3 generates program information necessary for evaluation with respect to the source program S read from the source program input section 2. The consistency determining means 4 determines the consistency of all execution paths in the excerpt source list, and the evaluation result output unit 5 outputs information on locations where the specification regarding the processing bit range is inconsistent. can do.
【0049】なお、図1〜図3に示した請求項1および
2に係るプログラム評価装置1は、処理ビット範囲に係
る命令を直接抽出した抜粋ソースリストを作成した後に
、その抜粋ソースリストに基づいて抜粋プログラムを実
行し、抽出した命令に係る処理ビット範囲情報71aを
命令−処理ビット対応手段71を介して得て、処理ビッ
ト範囲の整合性チェックを行なう構成を示した。[0049] The program evaluation device 1 according to claims 1 and 2 shown in Figs. The extracted program is executed, the processing bit range information 71a related to the extracted instruction is obtained via the instruction-processing bit correspondence means 71, and the consistency check of the processing bit range is performed.
【0050】このような構成にすることによって、抽出
すべき分岐命令の種類のみが異なったり、特定命令に対
応する処理ビット範囲情報のみを変更する場合は、抽出
命令指定部34または命令−処理ビット対応手段71内
に登録した情報のみを変更することで対応できる。また
、このような構成にすることによって、抜粋ソースリス
ト生成手段3で生成した抜粋ソースリストを、他の評価
装置へ出力して各モジュール毎の実行順序が適切である
か等の評価に利用することが可能である。With this configuration, when only the type of branch instruction to be extracted is different or only the processing bit range information corresponding to a specific instruction is changed, the extraction instruction specifying section 34 or the instruction-processing bit This can be handled by changing only the information registered in the handling means 71. Furthermore, with such a configuration, the excerpt source list generated by the excerpt source list generation means 3 can be output to another evaluation device and used for evaluating whether the execution order of each module is appropriate or not. Is possible.
【0051】一方、抜粋ソースリスト記憶部35に命令
情報35aを記憶せずに、その命令に対応する処理ビッ
ト範囲情報(命令−処理ビット対応手段71の出力71
aに相当する)を記憶させ、読み出した処理ビット範囲
情報(71aに相当)を直接整合性比較部73へ与える
構成としてもよい。On the other hand, without storing the instruction information 35a in the excerpt source list storage section 35, the processing bit range information (output 71 of the instruction-processing bit correspondence means 71) corresponding to the instruction is stored.
It is also possible to store the processing bit range information (corresponding to 71a) and directly supply the read processing bit range information (corresponding to 71a) to the consistency comparison unit 73.
【0052】以下、命令に対応する処理ビット範囲情報
を抜粋ソースリスト記憶部35に記憶させる構成におい
て、前述のDDフラグに基づいてワード単位の処理とバ
イト単位の処理を切り替えることのできるCPU用に開
発したソースプログラムを例に、請求項1および2に係
るプログラム評価装置1の要部動作を説明する。Hereinafter, in a configuration in which processing bit range information corresponding to an instruction is stored in the excerpt source list storage section 35, a configuration for a CPU that can switch between word-based processing and byte-based processing based on the above-mentioned DD flag will be described. The operation of the main parts of the program evaluation apparatus 1 according to claims 1 and 2 will be explained using a developed source program as an example.
【0053】図4はソースプログラムの一部を示す説明
図である。このソースプログラムSはアッセンブル言語
で記述されており、ソースプログラムSの行番号情報3
2a、命令情報32b、飛び先指定情報32c、飛び先
情報(ラベル)32d、および、オペランド等を備える
。ソースプログラムSには、各種のコメントが記述され
ていてもよい。FIG. 4 is an explanatory diagram showing a part of the source program. This source program S is written in assembly language, and line number information 3 of the source program S
2a, instruction information 32b, jump destination designation information 32c, jump destination information (label) 32d, and operands. The source program S may include various comments.
【0054】図5は抽出命令指定部に登録された命令の
一部を示す説明図である。抽出命令指定部34には、D
Dフラグに係る命令ならびに分岐に係る命令が、その命
令が有する機能との対応付けがなされて記録されている
。FIG. 5 is an explanatory diagram showing a part of the commands registered in the extraction command designation section. The extraction command designation section 34 includes D.
Instructions related to the D flag and instructions related to branching are recorded in association with the functions of the instructions.
【0055】図5に示した内部コードは各命令情報32
bに対するCPUの処理条件を意味しており、WSはD
Dフラグを1にセットすることを、BSはDDフラグを
0にリセットすることを示す。DDフラグ=1はワード
単位に処理を、DDフラグ=0は下位バイト単位の処理
を示す。内部コードのBRはDD1=0で実行すべき命
令、WRはDD=1で実行すべき命令を意味する。内部
コードのJPは無条件ジャンプ(無条件分岐)を、JC
は条件付ジャンプ(条件付分岐)を意味する。内部コー
ドのCAはサブルーチン呼出しを、RTはサブルーチン
からの復帰を、EDは処理の終了,割込み処理からの復
帰,リスタート命令を意味する。The internal code shown in FIG.
It means the CPU processing condition for b, and WS is D
Setting the D flag to 1 indicates that the BS resets the DD flag to 0. DD flag=1 indicates processing in units of words, and DD flag=0 indicates processing in units of lower bytes. BR in the internal code means an instruction to be executed when DD1=0, and WR means an instruction to be executed when DD=1. JP in the internal code performs an unconditional jump (unconditional branch), JC
means a conditional jump (conditional branch). In the internal code, CA means subroutine call, RT means return from subroutine, and ED means end of processing, return from interrupt processing, and restart instruction.
【0056】内部コードに続く1ビットの情報は、DD
フラグとオペランドとの対応を示しており、この1ビッ
ト情報の0はオペランドに関係なくDDフラグによって
指定されたワードまたはバイト単位の処理がなされるこ
とを示し、この1ビット情報の1はオペランドがアキュ
ームレータを指定している時のみDDフラグの指定に基
づいて処理を行なうことを示す。The 1-bit information following the internal code is DD
This shows the correspondence between flags and operands. 0 in this 1-bit information indicates that the word or byte unit specified by the DD flag is processed regardless of the operand, and 1 in this 1-bit information indicates that the operand is Indicates that processing is performed based on the designation of the DD flag only when an accumulator is designated.
【0057】図5に示す情報を抽出命令指定部34に備
えることで、図1に示す命令照合部33は、ソースプロ
グラム記憶部2bから1行づつ読み出したソースプログ
ラムSSを分解手段32で分解して得られた命令情報3
2bが、抽出すべきものか否かを判断し、抽出すべき命
令の場合は図5に示した内部コードを命令情報32aに
替えて抜粋ソースリスト記憶部35へ与えることができ
る。By providing the information shown in FIG. 5 in the extraction instruction specifying section 34, the instruction matching section 33 shown in FIG. Command information 3 obtained by
2b determines whether the instruction should be extracted, and if the instruction is to be extracted, the internal code shown in FIG. 5 can be provided to the excerpt source list storage section 35 instead of the instruction information 32a.
【0058】図6は抜粋ソースリストの一部を示す説明
図である。前述の動作をソースプログラムSの全行につ
いて行なうことによって、図6に示す抜粋ソースリスト
を抜粋ソースリスト記憶部35内に生成することができ
る。 符号36aは図1に示す書き込み制御部36が
発番した抜粋ソースリストの行番号、符号32dは飛び
先情報、符号32aは元のソースプログラムの行番号情
報である。内部コードに続く情報は、飛び先指定情報3
2cである。なお、元のソースプログラムの行番号情報
32aは、不整合箇所があった時に元のソースプログラ
ムの行番号を出力させるために記憶するもので、元のソ
ースプログラムの行番号情報を評価結果出力部5から出
力しない場合は、記憶する必要がない。FIG. 6 is an explanatory diagram showing a part of the excerpt source list. By performing the above-described operation for all lines of the source program S, the excerpt source list shown in FIG. 6 can be generated in the excerpt source list storage section 35. Reference numeral 36a is the line number of the excerpt source list issued by the write control unit 36 shown in FIG. 1, reference numeral 32d is jump destination information, and reference numeral 32a is line number information of the original source program. The information following the internal code is destination specification information 3
It is 2c. Note that the line number information 32a of the original source program is stored in order to output the line number of the original source program when there is an inconsistency, and the line number information of the original source program is stored in the evaluation result output section. If it is not output from 5, there is no need to store it.
【0059】図7は飛び先情報と抜粋ソースリストの行
番号との対応を示す説明図である。図2においては抜粋
ソースリストを作成した後に、実行順序制御手段60内
の飛び先−行情報対応手段63が図7に示す対応表を生
成し記憶する構成を示したが、この飛び先情報と抜粋ソ
ースリストの行番号対応表は、抜粋ソースリストの生成
と同時に作成してもよい。FIG. 7 is an explanatory diagram showing the correspondence between jump destination information and line numbers of the excerpt source list. In FIG. 2, after creating the excerpt source list, the jump destination-line information correspondence means 63 in the execution order control means 60 generates and stores the correspondence table shown in FIG. 7, but this jump destination information and The line number correspondence table of the excerpt source list may be created at the same time as the excerpt source list is generated.
【0060】図8は処理ビット範囲整合性判定手段4の
動作を示すフローチャートである。図8中のS1,S2
…はフローチャートのステップを示す。図示しない制御
部もしくは入力部(図3に示す不整合情報管理部51内
の入力装置55を利用してもよい)から整合性チェック
開始指令61bが与えられると(S1)、読み出し制御
部61は抜粋ソースリスト記憶部35から抜粋プログラ
ムを1行読み出す(S2)。FIG. 8 is a flowchart showing the operation of the processing bit range consistency determining means 4. S1 and S2 in Figure 8
...indicates a step in the flowchart. When a consistency check start command 61b is given from a control unit or an input unit (not shown) (the input device 55 in the mismatch information management unit 51 shown in FIG. 3 may be used) (S1), the readout control unit 61 One line of the excerpt program is read from the excerpt source list storage section 35 (S2).
【0061】なお、図2に示した現在の処理ビット範囲
記憶部72内の処理ビット範囲情報72aは、整合性チ
ェック開始指令61bに基づいて対象とするCPUの初
期状態に設定される。そのCPUが初期値を命令によっ
て与える構成の場合、現在の処理ビット範囲記憶部72
内の処理ビット範囲情報72aは未確定であることを示
す情報(N)となる。The processing bit range information 72a in the current processing bit range storage section 72 shown in FIG. 2 is set to the initial state of the target CPU based on the consistency check start command 61b. If the CPU has a configuration in which the initial value is given by an instruction, the current processing bit range storage unit 72
The processing bit range information 72a within is information (N) indicating that it is undefined.
【0062】読み出した命令が分岐命令でなければ、そ
の命令の種類に基づいてステップ4〜ステップ7のいず
れかに移行する(S3)。If the read instruction is not a branch instruction, the process moves to one of steps 4 to 7 based on the type of the instruction (S3).
【0063】整合性比較部73は、その行の命令に係る
処理ビット範囲情報71aがバイト単位の処理を設定す
るものであるときは(内部コードBS)、バイト単位に
係る情報(B)を現在の処理ビット範囲記憶部72に設
定する(S4)。同様に、ワード単位の処理を設定する
ものであるときは(内部コードWS)、ワード単位に係
る情報(W)を設定する(S5)。[0063] When the processing bit range information 71a related to the instruction in that line sets processing in byte units (internal code BS), the consistency comparison unit 73 compares the information (B) related to byte units with the current one. is set in the processing bit range storage unit 72 (S4). Similarly, when processing is to be set in word units (internal code WS), information (W) related to word units is set (S5).
【0064】また、その行の命令に係る処理ビット範囲
情報71aがバイト単位またはワード単位で実行すべき
命令であるときは(内部コードBR,WR)、記憶部7
2に設定されている現在の処理ビット範囲情報72aと
一致しているか否かを判定し(S6)、不一致のときは
不整合検出出力73aを発生する(S7)。Further, when the processing bit range information 71a related to the instruction in the row is an instruction to be executed in byte units or word units (internal codes BR, WR), the storage unit 7
It is determined whether or not they match the current processing bit range information 72a set to 2 (S6), and if they do not match, a mismatch detection output 73a is generated (S7).
【0065】そして、次に読み出す行番号を+1して、
ステップ2へ移行する(S8)。[0065] Then, add 1 to the next row number to read,
The process moves to step 2 (S8).
【0066】読み出した命令が分岐命令である場合(S
3)、その分岐命令の種類に基づいてステップ9〜ステ
ップ12のいずれかに移行する。If the read instruction is a branch instruction (S
3) Proceed to any one of steps 9 to 12 based on the type of branch instruction.
【0067】サブルーチンや割り込み処理から復帰する
際に処理ビット範囲を引き継ぐ場合(内部コードRT)
、現在の処理ビット範囲記憶部72内の処理ビット範囲
を変更せずに、呼び出し元のプログラムへ復帰する(S
9)。サブルーチンや割り込み処理から復帰した後は、
処理ビット範囲を新た指定する必要がある場合(内部コ
ードED)、整合性比較部73は処理ビット範囲が未確
定であることを示す情報(N)をセットする(S10)
。When inheriting the processing bit range when returning from a subroutine or interrupt processing (internal code RT)
, returns to the calling program without changing the processing bit range in the current processing bit range storage unit 72 (S
9). After returning from a subroutine or interrupt processing,
If it is necessary to newly specify the processing bit range (internal code ED), the consistency comparison unit 73 sets information (N) indicating that the processing bit range is undefined (S10).
.
【0068】条件付分岐命令(内部コードJC)の場合
、2重チェック禁止手段66によって、その分岐路の整
合性チェックが既に行なわれているか否かが判定される
(S11)。未チェックの場合であっても、直ちにその
分岐先へ分岐せずに、分岐チェック実行履歴記憶部65
へ分岐先に係る情報を書き込み、また、分岐未実行情報
Mを書き込む(S13)。既にチェック済みの場合は、
後述するステップ20へ移行する。In the case of a conditional branch instruction (internal code JC), the double check prohibition means 66 determines whether or not the consistency check of the branch path has already been performed (S11). Even if it is unchecked, the branch check execution history storage unit 65 does not immediately branch to the branch destination.
Information regarding the branch destination is written to the branch destination, and branch unexecuted information M is also written (S13). If you have already checked,
The process moves to step 20, which will be described later.
【0069】そして、処理ビット範囲指定の整合性チェ
ックを行ない(S14)、不整合を検出したときは、不
整合検出出力73aを発生し(S15)、ステップS8
へ移行する。すなわち、分岐条件を満足しなかったもの
として、抜粋ソースプログラムの次の行の整合性チェッ
クに移る。Then, a consistency check of the processing bit range specification is performed (S14), and when a mismatch is detected, a mismatch detection output 73a is generated (S15), and the process proceeds to step S8.
Move to. That is, it is assumed that the branch condition is not satisfied, and the process moves on to checking the consistency of the next line of the excerpt source program.
【0070】無条件分岐命令(内部コードJP)の場合
、ステップS12でその分岐先への整合性チェックが既
になされているか否かが判定される。整合性未チェック
の場合は、その無条件分岐先の行番号を設定し(S16
)、分岐チェック実行履歴記憶部65へ分岐先に係る情
報を書き込むとともに、分岐実行情報Jを書き込む(S
17)。In the case of an unconditional branch instruction (internal code JP), it is determined in step S12 whether or not a consistency check for the branch destination has already been performed. If the consistency has not been checked, set the line number of the unconditional branch destination (S16
), writes information related to the branch destination to the branch check execution history storage unit 65, and writes branch execution information J (S
17).
【0071】そして、処理ビット範囲指定の整合性チェ
ックを行ない(S18)、不整合を検出したときは、不
整合検出出力73aを発生し(S19)、ステップS2
へ移行する。Then, a consistency check is performed on the specified processing bit range (S18), and when a mismatch is detected, a mismatch detection output 73a is generated (S19), and the process proceeds to step S2.
Move to.
【0072】ステップS12でその分岐先への整合性チ
ェックが既に完了していると判定された場合は、ステッ
プS20へ移行する。If it is determined in step S12 that the consistency check for the branch destination has already been completed, the process moves to step S20.
【0073】ステップ20では、整合性チェックがまだ
実行されていない分岐経路があるか否かが、全分岐路チ
ェック実行手段67によって判定される。そして、未チ
ェックの分岐先があれば、その分岐先の行番号を設定す
るとともに(S21)、その分岐先へ飛び込む前の処理
ビット範囲情報73cを現在の処理ビット範囲記憶部7
2へセットし(S22)、その分岐先について分岐実行
情報Jを登録する(S23)。In step 20, the all branch route check execution means 67 determines whether there is any branch route for which consistency check has not been executed yet. If there is an unchecked branch destination, the line number of the branch destination is set (S21), and the processing bit range information 73c before jumping to the branch destination is stored in the current processing bit range storage section 7.
2 (S22), and register execution information J for that branch destination (S23).
【0074】そして、ステップ20で未実行分岐経路が
なくなったことが判定されると、一連の整合性チェック
が完了する(S24)。When it is determined in step 20 that there are no unexecuted branch paths, a series of consistency checks is completed (S24).
【0075】なお、ここでは処理ビット範囲指定の具体
例として、DDフラグに基づいてワード単位の処理と下
位バイト単位の処理を挙げたが、処理ビット範囲の指定
はワード単位、上位バイト、下位バイト、第1〜第4の
各4ビット単位、または、任意のビット単位等でもよく
、さらに、それらの複数種類が組み合わされていてもよ
い。[0075] Here, as a specific example of specifying the processing bit range, processing in units of words and processing in units of lower bytes based on the DD flag was given, but the specification of the processing bit range can be specified in units of words, upper bytes, and lower bytes. , each of the first to fourth 4-bit units, or any bit unit, or a combination of multiple types thereof may be used.
【0076】次に請求項5に係るプログラム評価装置に
ついて説明する。図9は請求項5に係るプログラム評価
装置の全体ブロック構成図である。請求項5に係るプロ
グラム評価装置101は、アッセンブル言語等で記述さ
れたソースプログラムを評価するもので、ソースプログ
ラム入力部2と、抜粋ソースリスト生成手段130と、
モジュール抽出手段110と、モジュール実行管理部1
20と、処理ビット範囲整合性判定手段(以下整合性判
定手段と記す)140と、評価結果出力部5と、評価デ
ータ切り替え手段102からなる。Next, a program evaluation device according to claim 5 will be explained. FIG. 9 is an overall block configuration diagram of a program evaluation device according to a fifth aspect. A program evaluation device 101 according to a fifth aspect is for evaluating a source program written in an assembly language or the like, and includes a source program input section 2, an excerpt source list generation means 130,
Module extraction means 110 and module execution management section 1
20, processing bit range consistency determining means (hereinafter referred to as consistency determining means) 140, evaluation result output section 5, and evaluation data switching means 102.
【0077】ソースプログラム入力部2および評価結果
出力部5の構成は図1に示したものと同じである。The configurations of the source program input section 2 and the evaluation result output section 5 are the same as those shown in FIG.
【0078】抜粋ソースリスト生成手段130は、図1
に示す分解手段32の各分解出力32a〜32dをモジ
ュール抽出手段110へ供給するとともに、モジュール
抽出手段110から抜粋中断指令110aが与えられて
いる間はソースリストの抜粋を中断するよう構成してお
り、その他の構成は図1に示した抜粋ソースリスト生成
手段3とほぼ同じである。[0078] The excerpt source list generation means 130 is shown in FIG.
The decomposition outputs 32a to 32d of the decomposition means 32 shown in FIG. , and other configurations are almost the same as the excerpt source list generation means 3 shown in FIG.
【0079】整合性判定手段140の構成は、図2に示
した整合性判定手段4と基本的に同じである。この整合
性判定手段140内の分岐条件検出部162(図10参
照)は、サブルーチンやモジュールへの呼び出し命令を
検出したときは、モジュール呼び出し命令検出出力14
0aを、また、復帰命令を検出したときは復帰命令検出
出力140bをそれぞれモジュール実行管理部120へ
出力するとともに、図2に示した読み出し制御部61を
介して抜粋ソースリストを読み出す作業を、モジュール
実行管理部120から再開指令120aが与えられるま
で中断するよう構成している。The configuration of the consistency determining means 140 is basically the same as that of the consistency determining means 4 shown in FIG. When the branch condition detection section 162 (see FIG. 10) in this consistency determination means 140 detects a call instruction to a subroutine or module, it outputs a module call instruction detection output 14.
0a and, when a return instruction is detected, a return instruction detection output 140b to the module execution management unit 120, and also performs the task of reading out the excerpt source list via the readout control unit 61 shown in FIG. It is configured to be suspended until a restart command 120a is given from the execution management unit 120.
【0080】また、この整合性判定手段140は、比較
完了信号73b、ならびに、現在の処理ビット範囲情報
72aをモジュール実行管理部120へ供給するととも
に、モジュール実行管理部120から復帰時の処理ビッ
ト範囲指定情報120bが与えられるとその情報120
bを現在の処理ビット範囲記憶部172(図10参照)
へセットするよう構成している。The consistency determining means 140 also supplies the comparison completion signal 73b and the current processing bit range information 72a to the module execution management unit 120, and also supplies the processing bit range at the time of return from the module execution management unit 120. When the specified information 120b is given, the information 120
b as the current processing bit range storage unit 172 (see FIG. 10)
It is configured to be set to
【0081】評価データ切り替え手段102は、整合性
判定手段140ならびに評価結果出力部5へ供給するデ
ータDを切り替えるもので、バスセレクタ等の電子スイ
ッチ回路で構成しており、モジュール実行管理部120
から出力される切り替え指令120cに基づいて、抽出
したモジュールの評価を行なっている間はモジュール抽
出手段110からの各読み出しデータ110Dを選択す
るよう構成している。The evaluation data switching means 102 switches the data D to be supplied to the consistency determination means 140 and the evaluation result output section 5, and is composed of an electronic switch circuit such as a bus selector.
The configuration is such that each read data 110D from the module extraction means 110 is selected based on the switching command 120c output from the module extraction means 110 while the extracted module is being evaluated.
【0082】なお、抜粋ソースリスト記憶部35ならび
に後述するモジュール記憶部114がその出力をハイイ
ンピーダンス状態を取り得る構成の場合は、評価データ
切り替え手段102を設けずに、各記憶部35,114
の出力状態を制御することでデータの切り替えを行なっ
てもよい。Note that if the excerpt source list storage section 35 and the module storage section 114 (to be described later) are configured so that their outputs can take a high impedance state, the evaluation data switching means 102 is not provided and each storage section 35, 114
Data may be switched by controlling the output state of.
【0083】図10はモジュール抽出手段およびモジュ
ール実行手段の一具体例を示すブロック構成図である。
モジュール抽出手段110は、モジュール名検出・記憶
手段111と、モジュール抽出制御手段112と、モジ
ュール書き込み制御部113と、RAM等で構成したモ
ジュール記憶部114を備える。FIG. 10 is a block diagram showing a specific example of module extraction means and module execution means. The module extraction means 110 includes a module name detection/storage means 111, a module extraction control means 112, a module write control section 113, and a module storage section 114 composed of a RAM or the like.
【0084】モジュール名検出・記憶手段111は、評
価対象であるソースプログラムで使用されるモジュール
呼び出し命令のすべてを予め登録したモジュール呼び出
し命令テーブルと、RAM、およびその書き込み読み出
し制御部を備える。モジュール名検出・記憶手段111
は、抜粋ソースリスト生成手段130から出力される命
令情報32bを監視しており、予め登録されたモジュー
ル呼び出し命令を検出すると、その命令に係る飛び先指
定情報32cを呼び出しモジュール名であると判断して
、その飛び先指定情報32cをモジュール名として記憶
する。The module name detection/storage means 111 includes a module call command table in which all module call commands used in the source program to be evaluated are registered in advance, a RAM, and a write/read control unit thereof. Module name detection/storage means 111
monitors the command information 32b output from the excerpt source list generation means 130, and when it detects a module call command registered in advance, it determines that the jump destination designation information 32c related to that command is the name of the calling module. Then, the jump destination designation information 32c is stored as a module name.
【0085】モジュール抽出制御手段112は、抜粋ソ
ースリスト生成手段130から出力される飛び先情報3
2dが、モジュール名検出・記憶手段111に格納され
ているモジュール名と一致するか否かを監視しており、
一致した場合は抜粋中断指令110aを抜粋ソースリス
ト生成手段130へ与えるとともに、モジュール書き込
み制御部113へモジュール抽出指令112aを与える
。The module extraction control means 112 extracts the jump destination information 3 output from the excerpt source list generation means 130.
2d matches the module name stored in the module name detection/storage means 111,
If they match, an excerpt interruption command 110a is given to the excerpt source list generation means 130, and a module extraction command 112a is given to the module writing control section 113.
【0086】また、このモジュール抽出制御手段112
は、評価対象であるソースプログラムで使用されるモジ
ュールからの復帰命令情報(例えばリターン命令等)の
すべてを予め登録した復帰命令テーブルを備え、抜粋ソ
ースリスト生成手段130内の分解手段32から復帰命
令情報が出力されたことを検出すると、その復帰命令情
報をモジュール記憶部114へ書き込んだ後に、抜粋中
断指令110aの出力を停止するとともに、、モジュー
ル抽出指令112aの出力を停止する。[0086] Furthermore, this module extraction control means 112
is equipped with a return command table in which all return command information (for example, return commands, etc.) from modules used in the source program to be evaluated is registered in advance, and the return command table is registered in advance with all the return command information (for example, return commands, etc.) used in the source program to be evaluated. When it is detected that the information has been output, the return command information is written into the module storage section 114, and then the output of the extraction interruption command 110a is stopped, and the output of the module extraction command 112a is also stopped.
【0087】モジュール書き込み制御部113は、モジ
ュール抽出指令112aが与えられている間、抜粋ソー
スリスト生成手段130内の分解手段32から出力され
る各情報32a〜32dを、モジュール記憶部114へ
書き込むとともに、書き込み完了信号113aを抜粋ソ
ースリスト生成手段130内の読み出し制御部131へ
与える。While the module extraction command 112a is being given, the module writing control section 113 writes each piece of information 32a to 32d output from the decomposition means 32 in the excerpt source list generation means 130 to the module storage section 114. , gives a write completion signal 113a to the read control section 131 in the excerpt source list generation means 130.
【0088】なお、モジュール書き込み制御部113は
、モジュール名との対応を取ってモジュール記憶部11
4への書き込みを行なっており、後にそのモジュール名
を指定してモジュール実行管理部120側から読み出し
が可能な構成としている。Note that the module write control section 113 writes the module storage section 11 in correspondence with the module name.
4, and the module name can be specified later and read from the module execution management section 120 side.
【0089】抜粋ソースリスト生成手段130内の書き
込み制御部136は、抜粋中断指令110aが与えられ
ている間は、抜粋ソースリスト記憶部35への書き込み
を停止するよう構成している。抜粋ソースリスト生成手
段130内の読み出し制御部131は、モジュール書き
込み制御部113からの書き込み完了信号113aを受
けると、ソースプログラムの次の行を読み出すよう構成
している。The write control section 136 in the excerpt source list generating means 130 is configured to stop writing to the excerpt source list storage section 35 while the excerpt interruption command 110a is given. The read control section 131 in the excerpt source list generation means 130 is configured to read the next line of the source program upon receiving the write completion signal 113a from the module write control section 113.
【0090】モジュール実行管理部120は、モジュー
ル実行制御手段121と、モジュール実行履歴記憶部1
22と、モジュール内2重チェック禁止手段123とを
備える。The module execution management section 120 includes a module execution control means 121 and a module execution history storage section 1.
22, and intra-module double check prohibition means 123.
【0091】モジュール実行制御手段121は、整合性
判定手段140内の分岐条件検出部162からモジュー
ル呼び出し命令検出出力140aを受けると、その命令
に対応する飛び先指定情報32cを読み込むとともに、
整合性判定手段140内の現在の処理ビット範囲記憶部
72から与えられる現在の処理ビット範囲情報72aを
読み込み、各情報32c,72aをモジュール内2重チ
ェック禁止手段123へ与える。When the module execution control means 121 receives the module call instruction detection output 140a from the branch condition detection section 162 in the consistency determination means 140, it reads the jump destination specification information 32c corresponding to the instruction, and
The current processing bit range information 72a provided from the current processing bit range storage section 72 in the consistency determining means 140 is read, and each piece of information 32c, 72a is provided to the intra-module double check prohibition means 123.
【0092】モジュール内2重チェック禁止手段123
は、与えられた各情報32c,72aに基づいて、モジ
ュール実行履歴記憶部122内の実行履歴情報を検索し
、呼び出されたモジュールが既にチェック済みか否かを
後述する実行フラグを参照に判断する。モジュール内2
重チェック禁止手段123は、呼び出されたモジュール
がまだ実行されていない場合、チェック指令を123a
をモジュール実行制御手段121へ与え、既に実行され
ている場合は、後述する復帰時処理ビット範囲指定情報
123bをモジュール実行履歴記憶部122内から読み
出してモジュール実行制御手段121へ与える。[0092] Intra-module double check prohibition means 123
searches the execution history information in the module execution history storage unit 122 based on the given information 32c and 72a, and determines whether the called module has already been checked by referring to the execution flag described later. . Inside module 2
Heavy check prohibition means 123 issues a check command 123a if the called module has not yet been executed.
is given to the module execution control means 121, and if it has already been executed, return processing bit range designation information 123b, which will be described later, is read from the module execution history storage section 122 and given to the module execution control means 121.
【0093】モジュール実行制御手段121は、チェッ
ク指令123aを受けると、モジュール実行履歴記憶部
122へモジュール名32cとそのモジュールへ突入し
たときの処理ビット範囲情報72aを書き込むとともに
、そのモジュールに対応する実行フラグFをチェック実
行状態へセットする。Upon receiving the check command 123a, the module execution control means 121 writes the module name 32c and the processing bit range information 72a when entering the module into the module execution history storage section 122, and also writes the execution bit range information 72a corresponding to the module. Set flag F to check execution state.
【0094】次に、モジュール実行制御手段121は、
切り替え指令120cを出力し、ついでモジュール読み
出し指令121aを出力してモジュール記憶部114か
ら呼び出されたモジュールの先頭行を読み出す。これに
より、モジュール記憶部114から読み出されたデータ
110Dは、図9に示す評価データ切り替え手段102
を介して整合性判定手段140へ供給される。Next, the module execution control means 121:
A switching command 120c is output, and then a module read command 121a is output to read the first line of the called module from the module storage section 114. As a result, the data 110D read from the module storage section 114 is transferred to the evaluation data switching means 102 shown in FIG.
The data is supplied to the consistency determining means 140 via.
【0095】モジュール実行制御手段121は、整合性
比較部73から比較完了信号73bが出力されると、そ
のモジュールの次の行のデータ110Dを読み出す。ま
た、モジュール実行制御手段121は、分岐条件検出部
162から復帰命令検出出力140bを受けると、現在
の処理ビット範囲記憶部172から出力されている処理
ビット範囲情報72aを復帰時処理ビット範囲情報(1
23b)としてモジュール実行履歴記憶部122へモジ
ュール名との対応を付けて記憶させる。そして、モジュ
ール実行制御手段121は、再開指令120aを出力し
て、それまで中断していた抜粋ソースプログラムの整合
性チェックを続行させる。When the comparison completion signal 73b is output from the consistency comparator 73, the module execution control means 121 reads the data 110D of the next row of the module. Further, upon receiving the return instruction detection output 140b from the branch condition detection unit 162, the module execution control unit 121 converts the processing bit range information 72a output from the current processing bit range storage unit 172 into the processing bit range information at the time of return ( 1
23b), it is stored in the module execution history storage unit 122 in association with the module name. Then, the module execution control means 121 outputs a restart command 120a to continue the consistency check of the extracted source program that had been suspended up to that point.
【0096】モジュール呼び出し命令検出出力140a
に対応して飛び先指定情報32cおよび現在の処理ビッ
ト範囲情報172aをモジュール内2重チェック禁止手
段123へ供給した際に、モジュール内2重チェック禁
止手段123からチェック指令123aが出力されずに
、復帰時処理ビット範囲指定情報123bが出力された
場合、モジュール制御実行手段121はそれを復帰時処
理ビット範囲指定情報120bとして現在の処理ビット
範囲記憶部172へ与えセットする。そして、モジュー
ル実行制御手段121は、再開指令120aを出力して
、それまで中断していた抜粋ソースプログラムの整合性
チェックを続行させる。Module call instruction detection output 140a
When the jump destination designation information 32c and the current processing bit range information 172a are supplied to the intra-module double check prohibition means 123 in response to the above, the check command 123a is not output from the intra-module double check prohibition means 123. When the return processing bit range designation information 123b is output, the module control execution means 121 supplies and sets it to the current processing bit range storage unit 172 as the return processing bit range designation information 120b. Then, the module execution control means 121 outputs a restart command 120a to continue the consistency check of the extracted source program that had been suspended up to that point.
【0097】なお、抜粋ソースプログラムのチェックを
中断させる制御は、図2に示した読み出し制御部61が
行なう構成としている。Note that the control for interrupting the check of the excerpt source program is performed by the read control unit 61 shown in FIG.
【0098】以上の構成であるから請求項5に係るソー
スプログラム評価装置101は、抜粋ソースリスト生成
手段130が処理ビット範囲の整合性チェックに必要な
プログラムの抜粋を行なうと同時に、モジュール抽出手
段110はサブルーチン等のモジュール名を抽出する。
そして、モジュール抽出手段110は、抽出したモジュ
ール名を飛び先情報(ラベル)32dとするソースプロ
グラム内のモジュール記述行を検出すると、抜粋ソース
リスト作成作業を中断させて、モジュール化されたプロ
グラム部分を抽出し、記憶する。With the above configuration, the source program evaluation apparatus 101 according to claim 5 has the module extracting means 110 at the same time that the excerpt source list generating means 130 extracts the program necessary for checking the consistency of the processing bit range. extracts module names such as subroutines. Then, when the module extraction means 110 detects a module description line in the source program whose destination information (label) 32d is the extracted module name, it interrupts the extraction source list creation work and extracts the modularized program part. Extract and memorize.
【0099】処理ビット範囲の整合性チェック時に、サ
ブルーチン等のモジュールが呼び出されると、整合性判
定手段140は抜粋ソースリストの読み出しを中断する
。モジュール実行管理部120は、そのモジュールが呼
び出されたときの処理ビット範囲情報72aで既にその
モジュールの整合性チェックが済んでいる場合は、その
モジュールから復帰するときの処理ビット範囲情報12
0bを整合性判定手段140へ返送し、モジュールから
復帰した以降のチェックを続行させる。When a module such as a subroutine is called when checking the consistency of the processing bit range, the consistency determining means 140 interrupts reading of the excerpt source list. If the consistency check of the module has already been completed using the processing bit range information 72a when the module is called, the module execution management unit 120 uses the processing bit range information 12 when returning from the module.
0b is returned to the consistency determining means 140 to continue checking after returning from the module.
【0100】モジュール実行管理部120は、呼び出さ
れたモジュールの整合性チェックがまだ済んでいない場
合、そのモジュールに係るプログラムをモジュール記憶
部114から順次読み出して整合性判定手段140へ供
給して、整合性チェックを行なう。また、モジュール実
行管理部120は、そのモジュールから復帰するときの
処理ビット範囲情報120bをモジュール実行履歴記憶
部122へ記憶させるとともに、そのモジュールのチェ
ック実行フラグFをセットする。[0100] If the consistency check of the called module has not been completed yet, the module execution management unit 120 sequentially reads the programs related to the module from the module storage unit 114 and supplies them to the consistency determination means 140 to check the consistency. Perform a sex check. Further, the module execution management unit 120 stores the processing bit range information 120b when returning from the module in the module execution history storage unit 122, and sets the check execution flag F of the module.
【0101】よって、請求項5に係るソースプログラム
評価装置101は、サブルーチン等のモジュールが多用
されているソースプログラムであっても、同一モジュー
ル内を多重にチェックすることがないので、チェック時
間の短縮を図ることができる。Therefore, the source program evaluation apparatus 101 according to claim 5 does not check the same module multiple times even if the source program uses many modules such as subroutines, thereby reducing the checking time. can be achieved.
【0102】図11は請求項6に係るプログラム評価装
置の全体ブロック構成図である。このプログラム評価装
置201は、入力指令201aに基づいて入力装置20
2aを介して読み込んだソースプログラムSを記憶部2
02bへ記憶させるソースプログラム入力部202と、
モジュール抽出手段210と、呼び出し・復帰時処理ビ
ット範囲検索手段220と、呼び出し・復帰時処理ビッ
ト範囲記憶手段230と、モジュール間整合性判定手段
240と、ソースプログラム整合性判定手段250と、
各判定手段240,250から出力される不整合情報2
40c,250cの記憶・読み出し等を管理する不整合
情報管理部205bおよび出力装置205aを備えた評
価結果出力部205からなる。FIG. 11 is an overall block diagram of a program evaluation apparatus according to claim 6. This program evaluation device 201 uses the input device 20 based on the input command 201a.
The source program S read through 2a is stored in the storage unit 2.
a source program input unit 202 to be stored in 02b;
module extraction means 210, call/return processing bit range search means 220, call/return processing bit range storage means 230, inter-module consistency determination means 240, source program consistency determination means 250,
Inconsistency information 2 output from each determination means 240, 250
The evaluation result output unit 205 includes an inconsistency information management unit 205b that manages storage and reading of the data 40c and 250c, and an output device 205a.
【0103】ソースプログラム入力部202は、モジュ
ール抽出手段210からの読み出し指令210aを受け
ると、記憶部202b内のソースプログラムに係る情報
SJをモジュール抽出手段210へ出力し、ソースプロ
グラム整合性判定手段250から読み出し指令250a
を受けると、記憶部202b内のソースプログラムに係
る情報SJをソースプログラム整合性判定手段250へ
出力するよう構成している。When the source program input section 202 receives the read command 210a from the module extraction means 210, it outputs information SJ related to the source program in the storage section 202b to the module extraction means 210, and the source program consistency determination means 250 Read command 250a from
When receiving the information, the information SJ related to the source program in the storage section 202b is output to the source program consistency determining means 250.
【0104】なお、各読み出し指令210a,250a
ならびに各読み出し出力SJ,SJは、共通のバス等を
介して時分割で入出力を行なう構成でもよい。[0104] Note that each read command 210a, 250a
Further, each readout output SJ, SJ may be configured to perform input/output in a time-sharing manner via a common bus or the like.
【0105】モジュール抽出手段210は、ソースプロ
グラム入力部202内の記憶部202bへアクセスして
その記憶内容を読み出す手段と、予め設定したルールに
基づいてサブルーチン等のモジュール名称ならびにその
モジュールが記述されているソースプログラムの領域を
判定する手段と、RAM等の記憶手段、および、その記
憶手段への書き込み制御手段を備える。モジュール抽出
手段210は、抽出指令201bが与えられると、ソー
スプログラム入力部202内の記憶部202bからソー
スプログラムSJを順次読み出して、予め設定したルー
ルに基づいてサブルーチン等のモジュールに係るソース
プログラム部分を、そのモジュールの呼び出し名称(ラ
ベル)との対応を付けて抽出し、RAM等に記憶するよ
う構成している。The module extracting means 210 has means for accessing the storage section 202b in the source program input section 202 and reading out the stored contents, and for extracting module names such as subroutines and the modules described therein based on preset rules. The program includes means for determining the area of the source program, storage means such as RAM, and writing control means for the storage means. When the module extraction unit 210 receives the extraction command 201b, it sequentially reads the source program SJ from the storage unit 202b in the source program input unit 202, and extracts source program parts related to modules such as subroutines based on preset rules. , are extracted in association with the calling name (label) of the module, and are stored in a RAM or the like.
【0106】呼び出し・復帰時処理ビット範囲検索手段
220は、検索指令201cが与えられると、読み出し
指令220aを出力してモジュール抽出手段210内の
記憶部に記憶されたモジュール210Dを読み出す手段
と、予め設定した手順に基づいて読み出したモジュール
210Dを模擬的に実行し、処理ビット範囲の遷移を検
索する手段と、模擬的に実行した結果からそのモジュー
ルが呼び出される時に要求される処理ビット範囲情報、
および、そのモジュールから呼び出し側のプログラムへ
復帰する際の処理ビット範囲情報220Dを、呼び出し
・復帰時処理ビット範囲記憶手段230へ各モジュール
名称(ラベル)との対応を付けて書き込む手段とを備え
る。When the call/return processing bit range search means 220 is given the search command 201c, it outputs a read command 220a to read out the module 210D stored in the storage section in the module extraction means 210, and the Means for executing the read module 210D based on a set procedure in a simulated manner to search for transitions in the processing bit range; information on the processing bit range required when the module is called from the result of the simulated execution;
and means for writing processing bit range information 220D when returning from the module to the calling program into the calling/returning processing bit range storage means 230 in association with each module name (label).
【0107】呼び出し・復帰時処理ビット範囲記憶手段
230は、RAM等の一時記憶回路で構成される。The call/return processing bit range storage means 230 is constituted by a temporary storage circuit such as a RAM.
【0108】モジュール間整合性判定手段240は、読
み出し指令240aを出力して特定のモジュールに係る
呼び出し時処理ビット範囲情報ならびに復帰時処理ビッ
ト範囲情報230Dを読み出す手段と、ソースプログラ
ム整合性判定手段250から呼び出しモジュール名称に
係る情報250eとともに与えられたそのモジュールへ
処理を移行する際の処理ビット範囲情報250bとの整
合性を判定する手段と、その判定が不整合のときに不整
合情報240cを出力する手段と、呼び出されたモジュ
ールから復帰する際の処理ビット範囲情報240bをソ
ースプログラム判定手段250へ回答する手段とを備え
る。The inter-module consistency determining means 240 includes means for outputting a read command 240a to read out the call processing bit range information and return processing bit range information 230D related to a specific module, and the source program consistency determining means 250. A means for determining consistency with processing bit range information 250b when transferring processing to the module given along with information 250e related to the called module name, and outputting inconsistency information 240c when the determination is inconsistent. and means for replying processing bit range information 240b to the source program determining means 250 when returning from the called module.
【0109】ソースプログラム整合性判定手段250は
、チェック開始指令201dに基づいてソースプログラ
ム入力部202内の記憶部202bへアクセスしてその
記憶内容を読み出す手段と、予め設定した手順に基づい
てソースプログラムを模擬的に実行し処理ビット範囲の
整合性をチェックする手段と、不整合情報250cを出
力する手段と、モジュール呼び出し命令を検出した時は
呼び出しモジュールの名称に係る情報250eとそのモ
ジュールへ引き渡す処理ビット範囲情報250bをモジ
ュール間整合性判定手段240へ出力する手段とを備え
る。The source program consistency determining means 250 includes means for accessing the storage section 202b in the source program input section 202 based on the check start command 201d and reading out the stored contents, and a means for reading out the stored contents of the source program input section 202 based on the check start command 201d. means for executing in a simulated manner and checking the consistency of the processing bit range, means for outputting inconsistency information 250c, and processing for passing information 250e related to the name of the called module and the module to that module when a module call command is detected. and means for outputting the bit range information 250b to the inter-module consistency determining means 240.
【0110】このソースプログラム整合性判定手段25
0は、モジュール呼び出し命令を検出すると、モジュー
ル間整合性判定手段240へアクセスし、そのモジュー
ル処理が完了したときの復帰時処理ビット範囲情報24
0bを受け取り、受け取った情報240bに基づいて次
の処理との整合性チェックを続行するよう構成している
。[0110] This source program consistency determining means 25
0 accesses the inter-module consistency determination means 240 when a module call instruction is detected, and returns processing bit range information 24 when the module processing is completed.
0b, and continues checking consistency with the next process based on the received information 240b.
【0111】次に、請求項6に係るプログラム評価装置
201の動作を説明する。ソースプログラム入力部20
2は、入力指令201aが与えられると入力装置202
aを介してソースプログラムSを読み取り、記憶部20
2bへ記憶する。モジュール抽出手段210は、抽出指
令201bが与えられるとソースプログラム入力部20
2内の記憶部202bからソースプログラムSJを読み
出して、サブルーチン等のモジュールをすべて抽出し、
そのモジュール名との対応を付けてモジュール抽出手段
210内の記憶部へ記憶する。Next, the operation of the program evaluation device 201 according to claim 6 will be explained. Source program input section 20
2 is an input device 202 when an input command 201a is given.
The source program S is read through the storage unit 20
2b. When the module extraction means 210 receives the extraction command 201b, the module extraction means 210 extracts the source program from the source program input section 20.
2 reads the source program SJ from the storage unit 202b, extracts all modules such as subroutines,
It is stored in the storage unit in the module extracting means 210 in association with the module name.
【0112】呼び出し・復帰時処理ビット範囲検索手段
220は、検索指令201cが与えられると、モジュー
ル抽出手段210内のモジュールデータ210Dを順次
読み出し、読み出したモジュールを模擬的に実行する。
そして、モジュールが呼び出されるときに必要な処理ビ
ット範囲情報と、このモジュールから呼び出し元のプロ
グラムへ復帰するときの処理ビット範囲情報を判定し、
モジュール名称との対応を付けて呼び出し・復帰時処理
ビット範囲記憶手段230へ記憶する。When the call/return processing bit range search means 220 receives the search command 201c, it sequentially reads out the module data 210D in the module extraction means 210 and executes the read module in a simulated manner. Then, determine the processing bit range information necessary when the module is called and the processing bit range information when returning from this module to the calling program,
It is stored in the call/return processing bit range storage means 230 in association with the module name.
【0113】前述のワード単位の処理とバイト単位の処
理が複合されたソースプログラムを例に、呼び出し・復
帰時の処理ビット範囲検索の具体例を説明する。呼び出
し・復帰時処理ビット範囲検索手段220は、モジュー
ルが呼び出されたときの処理ビット範囲情報がワード単
位であると仮定して、そのモジュールの整合性チェック
を行ない、次にモジュールが呼び出されたときの処理ビ
ット範囲情報がバイト単位であると仮定してチェックを
行なう。A specific example of processing bit range search at the time of call/return will be explained using a source program in which the above-mentioned word-by-word processing and byte-by-byte processing are combined. The processing bit range search unit 220 at the time of call/return performs a consistency check on the module, assuming that the processing bit range information when the module is called is in word units, and then checks the consistency of the module when the module is called next time. The check is performed assuming that the processing bit range information of is in byte units.
【0114】チェックの結果、そのモジュールが特定の
処理単位で呼び出されることが条件となっていることが
判明した場合、呼び出し・復帰時処理ビット範囲検索手
段220は、図12(a)または(b)に示すように、
モジュール名称と、呼び出し時の処理ビット範囲情報と
、復帰時の処理ビット範囲情報とを対応付けて呼び出し
・復帰時処理ビット範囲記憶手段230へ記憶させる。
いずれの条件で呼び出されても処理ビット範囲指定に矛
盾なく動作するモジュールの場合は、図12(b)に示
すように、呼び出し時の処理ビット範囲情報と復帰時の
処理ビット範囲情報を対応つけてそれぞれ記憶させる。[0114] As a result of the check, if it is found that the condition is that the module is called in a specific processing unit, the call/return processing bit range search means 220 performs the processing in FIG. 12(a) or (b). ), as shown in
The module name, the processing bit range information at the time of calling, and the processing bit range information at the time of return are associated and stored in the processing bit range storage means 230 at the time of calling/returning. In the case of a module that operates without contradiction to the processing bit range specification when called under any conditions, as shown in Figure 12(b), the processing bit range information at the time of calling and the processing bit range information at the time of return are associated. and memorize each.
【0115】ソースプログラム整合性判定手段250は
、チェック開始指令201dが与えられると、ソースプ
ログラムSの整合性チェックを開始し、処理ビット範囲
指定の矛盾を検出すると不整合情報250cを出力する
。一度不整合となった以降は、処理ビット範囲を設定す
る命令を検出するまで、不整合情報250cを各行毎に
出力する。ソースプログラム整合性判定手段250は、
モジュール呼び出し命令を検出すると、モジュール間整
合性判定手段240へ呼び出しモジュール情報250e
および呼び出し時処理ビット範囲情報250bを与える
。When the source program consistency determining means 250 is given the check start command 201d, it starts checking the consistency of the source program S, and when it detects a contradiction in the processing bit range specification, it outputs inconsistency information 250c. Once a mismatch occurs, the mismatch information 250c is output for each row until an instruction for setting the processing bit range is detected. The source program consistency determining means 250
When a module call instruction is detected, the call module information 250e is sent to the inter-module consistency determining means 240.
and gives processing bit range information 250b at the time of calling.
【0116】モジュール間整合性判定手段240は、呼
び出しモジュール情報250eに基づいて呼び出し・復
帰時処理ビット範囲記憶手段230から読み出した呼び
出し時処理ビット範囲が、ソースプログラム整合性判定
手段250から与えられた呼び出し時処理ビット情報2
50bと一致しないときは、不整合情報240cを出力
するとともに、呼び出し・復帰時処理ビット範囲記憶手
段230から読み出した復帰時の処理ビット範囲情報2
40bをソースプログラム整合性判定手段250へ回答
し、呼び出し元のプログラムのチェックを続行させる。
モジュール呼び出し時の処理ビット範囲情報が適合して
いる場合、モジュール間整合性判定手段240は、呼び
出し時に対応する復帰時処理ビット範囲情報240bを
出力する。The inter-module consistency determining means 240 receives the calling processing bit range read from the calling/returning processing bit range storage means 230 based on the calling module information 250e from the source program consistency determining means 250. Call processing bit information 2
50b, the inconsistency information 240c is output, and the processing bit range information 2 at the time of return read from the processing bit range storage means 230 at the time of call/return
40b to the source program consistency determining means 250 to continue checking the calling program. When the processing bit range information at the time of module calling is compatible, the inter-module consistency determining means 240 outputs the processing bit range information 240b at the time of return corresponding to the time of calling.
【0117】以上の動作をソースプログラムの全体に亘
って行なうことで、整合性のチェックが完了する。By performing the above operations over the entire source program, the consistency check is completed.
【0118】[0118]
【発明の効果】請求項1に係るプログラム評価装置は、
現在指定されている処理ビット範囲と次に実行される命
令に係る処理ビット範囲との整合性を判定する処理ビッ
ト範囲整合性判定手段を備えたので、処理ビット範囲指
定に係るチェックを自動的に行なうことができる。請求
項2に係るプログラム評価装置は、プログラムから処理
ビット範囲指定に関連する命令と分岐および分岐先に係
る情報だけを取り出した抜粋リストを抜粋リスト作成手
段で作成した後に、処理ビット範囲整合性判定手段は抜
粋リストに基づいて1ステップずつ処理ビット範囲の整
合性をチェックするので、プログラムの実行順序に対応
して処理ビット範囲指定に係るチェックを、自動的に短
時間でかつ正確に評価できる。[Effects of the Invention] The program evaluation device according to claim 1 has the following features:
Since it is equipped with a processing bit range consistency determination means that determines the consistency between the currently specified processing bit range and the processing bit range related to the next instruction to be executed, checks related to the processing bit range specification can be automatically performed. can be done. The program evaluation device according to claim 2 performs processing bit range consistency determination after creating an excerpt list in which only instructions related to processing bit range designation, branches, and branch destination information are extracted from the program. Since the means checks the consistency of the processing bit range step by step based on the excerpt list, it is possible to automatically, quickly and accurately evaluate the check related to the specification of the processing bit range in accordance with the execution order of the program.
【0119】なお、分岐先へ飛込む時の処理ビット範囲
を各分岐先毎に記憶させておき、同一条件で同一分岐先
へ再度分岐する場合は、その分岐後の整合性判定を省略
することで、同一分岐先への分岐が多いプログラムの評
価時間を短縮することができる。Note that the processing bit range when jumping to a branch destination is memorized for each branch destination, and when branching to the same branch destination again under the same conditions, the consistency check after that branch can be omitted. , it is possible to shorten the evaluation time of a program that has many branches to the same branch destination.
【0120】また、各分岐先について整合性判定が実行
されたことを記憶する実行履歴記憶手段を備えるととも
に、実行されていない分岐経路の整合性判定を実行する
手段を備えることで、すべての経路をもれなく評価する
ことができる。[0120] Furthermore, by providing execution history storage means for storing the fact that consistency determination has been executed for each branch destination, and by providing means for executing consistency determination for branch routes that have not been executed, it is possible to can be evaluated thoroughly.
【0121】請求項5に係るプログラム評価装置は、モ
ジュール抽出手段によってプログラムから各モジュール
を抽出し、呼出し・復帰時処理ビット範囲記憶手段は各
モジュール毎に整合性判定を行なった際の結果を記憶す
る。モジュール内2重チェック禁止手段は、既に記憶さ
れたものと同一の呼出し条件で再度呼出しがなされた場
合は、そのモジュール内のチェックを行なわずに既に記
憶されている復帰時処理ビット範囲を読み出して復帰後
の命令に係る処理ビットとの整合性判定を続行する。よ
って、サブルーチン等のモジュールが多用されたプログ
ラムであっても、評価時間を短縮することができる。[0121] In the program evaluation device according to claim 5, the module extraction means extracts each module from the program, and the call/return processing bit range storage means stores the results of consistency determination for each module. do. If a module is called again under the same call conditions as those already stored, the intra-module double check prohibition means reads out the already stored return processing bit range without checking within the module. Continues to determine consistency with processing bits related to the instruction after return. Therefore, even if the program uses many modules such as subroutines, the evaluation time can be shortened.
【0122】請求項6に係るプログラム評価装置は、モ
ジュール抽出手段によってプログラムから各モジュール
を抽出し、呼出し・復帰時処理ビット範囲検索手段は各
モジュール毎にそのモジュールが呼出される際に要求さ
れる処理ビット範囲と復帰時の処理ビット範囲を検索し
、呼出し・復帰時処理ビット範囲記憶手段はその検索結
果を記憶する。そして、モジュール間整合性判定手段は
、呼出し元のプログラムの処理ビット範囲と呼出し・復
帰時処理ビット範囲記憶手段に記憶した処理ビット範囲
との整合性を判定する。よって、各モジュール毎にその
整合性を判定することができる。[0122] In the program evaluation device according to claim 6, each module is extracted from the program by the module extraction means, and the call/return processing bit range search means is required for each module when the module is called. The processing bit range and the processing bit range at the time of return are searched, and the processing bit range storage means at the time of call/return stores the search results. Then, the inter-module consistency determining means determines the consistency between the processing bit range of the calling program and the processing bit range stored in the processing bit range storage means at the time of calling/returning. Therefore, the consistency can be determined for each module.
【図1】請求項1および2に係るプログラム評価装置の
ブロック構成図FIG. 1 is a block configuration diagram of a program evaluation device according to claims 1 and 2.
【図2】処理ビット範囲整合性判定手段の一具体例を示
すブロック構成図[Fig. 2] Block configuration diagram showing a specific example of processing bit range consistency determination means
【図3】評価結果出力部のブロック構成図[Figure 3] Block configuration diagram of evaluation result output section
【図4】ソー
スプログラムの一部を示す説明図[Figure 4] Explanatory diagram showing part of the source program
【図5】抽出命令指定
部に登録された命令の一部を示す説明図[Fig. 5] Explanatory diagram showing a part of the commands registered in the extraction command specification section
【図6】抜粋ソースリストの一部を示す説明図[Figure 6] Explanatory diagram showing part of the excerpt source list
【図7】
飛び先情報と抜粋ソースリストの行番号との対応を示す
説明図[Figure 7]
Explanatory diagram showing the correspondence between destination information and line numbers of the excerpt source list
【図8】処理ビット範囲整合性判定手段の動作を示すフ
ローチャートFIG. 8 is a flowchart showing the operation of the processing bit range consistency determination means.
【図9】請求項5に係るプログラム評価装置の全体ブロ
ック構成図FIG. 9 is an overall block configuration diagram of a program evaluation device according to claim 5.
【図10】請求項5に係るプログラム評価装置内のモジ
ュール抽出手段およびモジュール実行手段の一具体例を
示すブロック構成図FIG. 10 is a block configuration diagram showing a specific example of module extraction means and module execution means in the program evaluation device according to claim 5;
【図11】請求項6に係るプログラム評価装置の全体ブ
ロック構成図FIG. 11 is an overall block configuration diagram of a program evaluation device according to claim 6.
【図12】呼び出し・復帰時処理ビット範囲記憶手段の
記憶内容を示す説明図FIG. 12 is an explanatory diagram showing the storage contents of the processing bit range storage means at the time of call/return
1,101,201…プログラム評価装置、2,202
…ソースプログラム入力部、3,130…抜粋ソースリ
スト生成手段(抜粋リスト生成手段)、4,140…(
処理ビット範囲)整合性判定手段、5,205…評価結
果出力部、32…分解手段、33…命令照合部、34…
抽出命令指定部、35…抜粋ソースリスト記憶部、60
…実行順序制御手段、62…分岐条件検出部、63…飛
び先−行情報対応手段、64…実行履歴管理手段、65
…分岐チェック実行履歴記憶部、66…2重チェック禁
止手段、70…整合性チェック手段、71…命令−処理
ビット対応手段、72…現在の処理ビット範囲記憶部、
73…整合性比較部、110…モジュール抽出手段、1
11…モジュール名検出・記憶手段、112…モジュー
ル抽出制御手段、113…モジュール書き込み制御部、
114…モジュール記憶部、120…モジュール実行管
理部、121…モジュール実行制御手段、122…モジ
ュール実行履歴記憶部、123…モジュール内2重チェ
ック禁止手段、210…モジュール抽出手段、220…
呼び出し・復帰時処理ビット範囲検索手段、230…呼
び出し・復帰時処理ビット範囲記憶手段、240…モジ
ュール間整合性判定手段、250…ソースプログラム整
合性判定手段。1,101,201...Program evaluation device, 2,202
...Source program input section, 3,130...Excerpt source list generation means (excerpt list generation means), 4,140...(
processing bit range) consistency determining means, 5, 205... evaluation result output section, 32... decomposition means, 33... instruction matching section, 34...
Extraction command designation section, 35...excerpt source list storage section, 60
...Execution order control means, 62... Branch condition detection unit, 63... Jump destination-line information correspondence means, 64... Execution history management means, 65
...Branch check execution history storage unit, 66...Double check prohibition means, 70...Consistency check means, 71...Instruction-processing bit correspondence means, 72...Current processing bit range storage unit,
73... Consistency comparison section, 110... Module extraction means, 1
11...Module name detection/storage means, 112...Module extraction control means, 113...Module writing control unit,
114...Module storage section, 120...Module execution management section, 121...Module execution control means, 122...Module execution history storage section, 123...Intra-module double check prohibition means, 210...Module extraction means, 220...
Call/return processing bit range search means, 230... Call/return processing bit range storage means, 240... Inter-module consistency determining means, 250... Source program consistency determining means.
Claims (6)
ビット範囲を指定する情報を含んだ命令を用いて作成さ
れたプログラムの処理ビット範囲指定に係る整合性を評
価するプログラム評価装置であって、現在指定されてい
る処理ビット範囲と次に実行される命令に係る処理ビッ
ト範囲との整合性を判定する処理ビット範囲整合性判定
手段を備えたことを特徴とするプログラム評価装置。Claim 1: A program evaluation device that evaluates the consistency of the processing bit range specification of a program created using an instruction that includes information specifying the bit range to be processed by a microprocessor, the method comprising: 1. A program evaluation device comprising processing bit range consistency determining means for determining consistency between a processing bit range of a currently executed instruction and a processing bit range of an instruction to be executed next.
ビット範囲を指定する情報を含んだ命令を用いて作成さ
れたプログラムの処理ビット範囲指定に係る整合性を評
価するプログラム評価装置であって、前記プログラムか
ら前記処理ビット範囲指定情報を含んだすべての命令お
よびすべての分岐命令とそれらの分岐先に係る情報とを
抽出して抜粋リストを生成する抜粋リスト生成手段と、
生成した抜粋リストに基づいて現在指定されている処理
ビット範囲と次に実行される命令に係る処理ビット範囲
との整合性を判定する処理ビット範囲整合性判定手段を
備えたことを特徴とするプログラム評価装置。2. A program evaluation device for evaluating the consistency of a processing bit range specification of a program created using an instruction including information specifying a bit range to be processed by a microprocessor, the program Excerpt list generating means for generating an excerpt list by extracting all instructions including the processing bit range designation information and all branch instructions and information regarding their branch destinations from the extract list;
A program comprising processing bit range consistency determining means for determining consistency between a currently specified processing bit range and a processing bit range related to an instruction to be executed next based on a generated excerpt list. Evaluation device.
、すべての分岐先について各分岐先へ分岐したときに指
定されていた処理ビット範囲を記憶する分岐時処理ビッ
ト範囲記憶手段と、この分岐時処理ビット範囲記憶手段
の記憶内容に基づいて同一の分岐先へ同一の処理ビット
範囲を指定して再度分岐されたときはその分岐以降の整
合性判定を省略する2重チェック禁止手段を備えたこと
を特徴とする請求項1および2記載のプログラム評価装
置。3. The processing bit range consistency determining means includes branch processing bit range storage means for storing processing bit ranges specified when branching to each branch destination for all branch destinations; A double check prohibition means is provided for omitting consistency determination after the branch when the same processing bit range is specified to the same branch destination based on the memory contents of the processing bit range storage means and the branch is made again. The program evaluation device according to claim 1 or 2, characterized in that:
、すべての分岐先について整合性判定が実行されたか否
かを記憶する分岐チェック実行履歴記憶手段を備えると
ともに、この分岐チェック実行履歴記憶手段の記憶内容
に基づいて整合性判定が実行されていない分岐経路の整
合性判定を実行させる全分岐経路チェック実行手段を備
えたことを特徴とする請求項1および2記載のプログラ
ム評価装置。4. The processing bit range consistency determination means includes branch check execution history storage means for storing whether or not consistency determination has been performed for all branch destinations, and the branch check execution history storage means 3. The program evaluation apparatus according to claim 1, further comprising an all-branch route check execution means for executing consistency determination of branch routes for which consistency determination has not been performed based on stored contents.
ビット範囲を指定する情報を含んだ命令を用いて作成さ
れたプログラムの処理ビット範囲指定に係る整合性を評
価するプログラム評価装置であって、前記プログラムか
らサブルーチン等のすべてのモジュールを抽出するモジ
ュール抽出手段と、各モジュールが呼出されたときに指
定されていた呼出し時処理ビット範囲ならびにその呼出
し時処理ビット範囲を受けてモジュール内の処理を実行
し呼出し元のプログラムに復帰する際の処理ビット範囲
とを対応付けて記憶する呼出し・復帰時処理ビット範囲
記憶手段と、この呼出し・復帰時処理ビット範囲記憶手
段に既に記憶されたものと同一の呼出し条件で再度呼出
しがなされたときはそのモジュール内の整合性判定を省
略し、前記呼出し・復帰時処理ビット範囲記憶手段に記
憶されている復帰時処理ビット範囲を読み出して、読み
出した処理ビット範囲と復帰後の命令に係る処理ビット
との整合性判定を続行させるモジュール内2重チェック
禁止手段を備えたことを特徴とするプログラム評価装置
。5. A program evaluation device for evaluating the consistency of a processing bit range specification of a program created using an instruction including information specifying a bit range to be processed by a microprocessor, the program A module extracting means for extracting all modules such as subroutines from the module, a call processing bit range specified when each module was called, and a processing within the module executed and called based on the call processing bit range. A call/return processing bit range storage means that associates and stores the processing bit range when returning to the original program, and a call condition that is the same as that already stored in the call/return processing bit range storage means. When a call is made again in , the consistency judgment within that module is omitted, the processing bit range at return stored in the above-mentioned call/return processing bit range storage means is read out, and the read processing bit range and the return processing bit range are read out. A program evaluation device comprising intra-module double check prohibition means for continuing determination of consistency with processing bits related to subsequent instructions.
ビット範囲を指定する情報を含んだ命令を用いて作成さ
れたプログラムの処理ビット範囲指定に係る整合性を評
価するプログラム評価装置であって、前記プログラムか
らサブルーチン等のすべてのモジュールを抽出するモジ
ュール抽出手段と、抽出した各モジュール毎にそのモジ
ュールが呼出される際に要求される呼出し時処理ビット
範囲およびそのモジュールから呼出し元のプログラムに
復帰する際の復帰時処理ビット範囲を予め設定したルー
ルに基づいて検索する呼出し・復帰時処理ビット範囲検
索手段と、この呼出し・復帰時処理ビット範囲検索手段
の出力を各モジュール毎に対応付けて記憶するモジュー
ル呼出し・復帰時処理ビット範囲記憶手段と、このモジ
ュール呼出し・復帰時処理ビット範囲記憶手段に記憶さ
れた各処理ビット範囲と呼出し元のプログラムの処理ビ
ット範囲との整合性を判定するモジュール間整合性判定
手段を備えたことを特徴とするプログラム評価装置。6. A program evaluation device for evaluating the consistency of a processing bit range specification of a program created using an instruction including information specifying a bit range to be processed by a microprocessor, the program module extracting means for extracting all modules such as subroutines from , and for each extracted module, the processing bit range required when that module is called, and the processing bit range required when returning from that module to the calling program. A call/return processing bit range search means for searching a return processing bit range based on a preset rule, and a module call that stores the output of the call/return processing bit range search means in association with each module.・Inter-module consistency judgment for determining the consistency between each processing bit range stored in the return processing bit range storage means and the module calling/return processing bit range storage means and the processing bit range of the calling program. A program evaluation device characterized by comprising means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3167548A JP2579391B2 (en) | 1991-06-12 | 1991-06-12 | Program evaluation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3167548A JP2579391B2 (en) | 1991-06-12 | 1991-06-12 | Program evaluation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04365143A true JPH04365143A (en) | 1992-12-17 |
JP2579391B2 JP2579391B2 (en) | 1997-02-05 |
Family
ID=15851759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3167548A Expired - Lifetime JP2579391B2 (en) | 1991-06-12 | 1991-06-12 | Program evaluation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2579391B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11173513B2 (en) | 2018-04-10 | 2021-11-16 | C. Uyemura & Co., Ltd. | Surface treatment device comprising a paddle for stirring a surface treatment solution, paddle for stirring a surface treatment solution and method thereof |
-
1991
- 1991-06-12 JP JP3167548A patent/JP2579391B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11173513B2 (en) | 2018-04-10 | 2021-11-16 | C. Uyemura & Co., Ltd. | Surface treatment device comprising a paddle for stirring a surface treatment solution, paddle for stirring a surface treatment solution and method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2579391B2 (en) | 1997-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050257089A1 (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
CN101110017A (en) | Technique to combine instructions | |
JPH11259298A (en) | Device for executing sub-routine calling and return operation and method therefor | |
US4805093A (en) | Content addressable memory | |
JPH0668736B2 (en) | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles | |
JPS5975347A (en) | Simulation device of logical circuit | |
EP0098172B1 (en) | Register control processing system | |
JPS60243795A (en) | Alteration program setting system for electronic register | |
JPH04365143A (en) | Program evaluating device | |
US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
US5855010A (en) | Data processing apparatus | |
JP2004103012A (en) | Cache structure for enhancing operating speed of processor and processor having cache management method | |
JPH0668725B2 (en) | Device for responding to interrupt condition in data processing system and method for responding to asynchronous interrupt condition | |
JPS60207935A (en) | Detecting system of illegal instruction | |
JP2727947B2 (en) | Address trace method | |
JPS6047611B2 (en) | Microprogram control method | |
JPS6042968B2 (en) | information processing equipment | |
JP2506591B2 (en) | Auxiliary processor | |
JP3098501B2 (en) | Source step execution method and apparatus | |
JP2915961B2 (en) | Programmable controller | |
JPH05100913A (en) | Error factor searching system | |
FI103156B (en) | Method and arrangement for translating information | |
JPH06175862A (en) | Electronic computer | |
JP2005092354A (en) | Data processor, data processing program and recording medium with its program recorded | |
JPS6211746B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19961001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071107 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101107 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101107 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 15 |