JPH01112438A - オペランドトレース方式 - Google Patents
オペランドトレース方式Info
- Publication number
- JPH01112438A JPH01112438A JP62272534A JP27253487A JPH01112438A JP H01112438 A JPH01112438 A JP H01112438A JP 62272534 A JP62272534 A JP 62272534A JP 27253487 A JP27253487 A JP 27253487A JP H01112438 A JPH01112438 A JP H01112438A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- operand
- contents
- program
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000006467 substitution reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はオペランドトレース方式に関し、特にソフトウ
ェアの開発支援システムにおけるオペランドトレース方
式に関する。
ェアの開発支援システムにおけるオペランドトレース方
式に関する。
従来のトレース方式は、ハードウェアの提供する1命令
実行後に例外条件を発生する機能を用いて、例外条件発
生時にその命令の位置、その命令のコードまたは名称を
出力し、命令の実行経路をトレースする方式であった。
実行後に例外条件を発生する機能を用いて、例外条件発
生時にその命令の位置、その命令のコードまたは名称を
出力し、命令の実行経路をトレースする方式であった。
上述した従来のトレース方式は、ハードウェアによる命
令実行後の例外条件発生機能を用いた方式であるので、
命令実行前のオペランドの内容を取得できていないため
にオペランドの内容の変化の経緯が把握できないという
欠点がある。
令実行後の例外条件発生機能を用いた方式であるので、
命令実行前のオペランドの内容を取得できていないため
にオペランドの内容の変化の経緯が把握できないという
欠点がある。
本発明の目的は、上述の点に嵩み、命令実行前後のオペ
ランドの内容を出力することにより、オペランドの内容
の変化の経緯を把握できるオペランドトレース方式を提
供することにある。
ランドの内容を出力することにより、オペランドの内容
の変化の経緯を把握できるオペランドトレース方式を提
供することにある。
本発明のオペランドトレース方式は、入力手段から指定
されたプログラムをロードするプログラムロード手段と
、このプログラムロード手段によりロードされたプログ
ラムの実行開始命令位置を決定する開始命令位置決定手
段と、現在処理すべき命令位置を記憶するカレント命令
位置記憶手段と、このカレント命令位置記憶手段により
記憶されている命令位置から命令を取り出す命令取出し
手段と、この命令取出し手段により取り出された命令を
解析して命令情報およびオペランド情仰を取得する命令
解析手段と、この命令解析手段により取得された命令情
報に基づいて命令をシンボル化して表示する命令出力手
段と、前記命令解析手段により取得されたオペランド情
報に基づいて命令実行前のオペランドの内容を出力する
前情報出力手段と、前記命令取出し手段により取り出さ
れた命令を代行する命令代行手段と、前記命令解析手段
により取得されたオペランド情報に基づいて命令実行後
のオペランドの内容を出力する後情報出力手段と、前記
命令代行手段による命令の代行の結果に基づいて次に処
理すべき命令位置を決定して前記カレント命令位置記憶
手段に記憶された命令位置を更新するカレント命令位置
更新手段とを有する。
されたプログラムをロードするプログラムロード手段と
、このプログラムロード手段によりロードされたプログ
ラムの実行開始命令位置を決定する開始命令位置決定手
段と、現在処理すべき命令位置を記憶するカレント命令
位置記憶手段と、このカレント命令位置記憶手段により
記憶されている命令位置から命令を取り出す命令取出し
手段と、この命令取出し手段により取り出された命令を
解析して命令情報およびオペランド情仰を取得する命令
解析手段と、この命令解析手段により取得された命令情
報に基づいて命令をシンボル化して表示する命令出力手
段と、前記命令解析手段により取得されたオペランド情
報に基づいて命令実行前のオペランドの内容を出力する
前情報出力手段と、前記命令取出し手段により取り出さ
れた命令を代行する命令代行手段と、前記命令解析手段
により取得されたオペランド情報に基づいて命令実行後
のオペランドの内容を出力する後情報出力手段と、前記
命令代行手段による命令の代行の結果に基づいて次に処
理すべき命令位置を決定して前記カレント命令位置記憶
手段に記憶された命令位置を更新するカレント命令位置
更新手段とを有する。
本発明のオペランドトレース方式では、プログラムロー
ド手段が入力手段から指定されたプログラムをロードし
、開始命令位置決定手段がプログラムロード手段により
ロードされたプログラムの実行開始命令位置を決定し、
カレント命令位置記憶手段が現在処理すべき命令位置を
記憶し、命令取出し手段がカレント命令位置記憶手段に
より記憶されている命令位置から命令を取り出し、命令
解析手段が命令取出し手段により取り出された命令を解
析して命令情報およびオペランド情報を取得し、命令出
力手段が命令解析手段により取得された命令情報に基づ
いて命令をシンボル化して表示し、前情報出力手段が命
令解析手段により取得されたオペランド情報に基づいて
命令実行前のオペランドの内容を出力し、命令代行手段
が命令取出し手段により取り出された命令を代行し、後
情報出力手段が命令解析手段により取得されたオペラン
ド情報に基づいて命令実行後のオペランドの内容を出力
し、カレント命令位置更新手段が命令代行手段による命
令の代行の結果に基づいて次に処理すべき命令位置を決
定してカレント命令位置記憶手段に記憶された命令位置
を更新する。
ド手段が入力手段から指定されたプログラムをロードし
、開始命令位置決定手段がプログラムロード手段により
ロードされたプログラムの実行開始命令位置を決定し、
カレント命令位置記憶手段が現在処理すべき命令位置を
記憶し、命令取出し手段がカレント命令位置記憶手段に
より記憶されている命令位置から命令を取り出し、命令
解析手段が命令取出し手段により取り出された命令を解
析して命令情報およびオペランド情報を取得し、命令出
力手段が命令解析手段により取得された命令情報に基づ
いて命令をシンボル化して表示し、前情報出力手段が命
令解析手段により取得されたオペランド情報に基づいて
命令実行前のオペランドの内容を出力し、命令代行手段
が命令取出し手段により取り出された命令を代行し、後
情報出力手段が命令解析手段により取得されたオペラン
ド情報に基づいて命令実行後のオペランドの内容を出力
し、カレント命令位置更新手段が命令代行手段による命
令の代行の結果に基づいて次に処理すべき命令位置を決
定してカレント命令位置記憶手段に記憶された命令位置
を更新する。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明のオペランドトレース方式の一実施例
の構成を示すブロック図である0本実施例のオペランド
トレース方式は、プログラムロード手段1と、開始命令
位置決定手段2と、カレント命令位置記憶手段3と、命
令取出し手段4、命令解析手段5と、命令出力手段6と
、前情報出力手段7と、命令代行手段8と、後情報出力
手段9と、カレント命令位置変更手段10と、入力手段
11と、出力手段12と、プログラムファイル13とか
ら、その主要部が構成されている。
の構成を示すブロック図である0本実施例のオペランド
トレース方式は、プログラムロード手段1と、開始命令
位置決定手段2と、カレント命令位置記憶手段3と、命
令取出し手段4、命令解析手段5と、命令出力手段6と
、前情報出力手段7と、命令代行手段8と、後情報出力
手段9と、カレント命令位置変更手段10と、入力手段
11と、出力手段12と、プログラムファイル13とか
ら、その主要部が構成されている。
次に、このように構成された本実施例のオペランドトレ
ース方式の動作について説明する。
ース方式の動作について説明する。
プログラムロード手段lは、入力手段11からプログラ
ム名を入力し、プログラムファイル13からそれに対応
するプログラムをメモリ (図示せず)上にロードし、
開始命令位置決定手段2に制御を移す。
ム名を入力し、プログラムファイル13からそれに対応
するプログラムをメモリ (図示せず)上にロードし、
開始命令位置決定手段2に制御を移す。
開始命令位置決定手段2は、メモリ上にロードされたプ
ログラムの先頭命令の位置をカレント命令位置記憶手段
3に格納し、命令取出し手段4に制御を移す。
ログラムの先頭命令の位置をカレント命令位置記憶手段
3に格納し、命令取出し手段4に制御を移す。
命令取出し手段4は、カレント命令位置記憶手段3によ
って示される位置の命令を1命令取り出し、命令解析手
段5に引き渡す。
って示される位置の命令を1命令取り出し、命令解析手
段5に引き渡す。
命令解析手段5は、命令取出し手段4から引き渡された
命令から命令のアドレス、命令の種類。
命令から命令のアドレス、命令の種類。
命令の長さ、オペランドのアドレスおよびオペランドの
長さを算出し、それらを命令出力手段6゜前情報出力手
段7.命令代行手段8および後情報出力手段9に順次引
き渡す。
長さを算出し、それらを命令出力手段6゜前情報出力手
段7.命令代行手段8および後情報出力手段9に順次引
き渡す。
まず、命令解析手段5は、命令のアドレス、命令の種類
、命令の長さ、オペランドのアドレスおよびオペランド
の長さを命令出力手段6に引き渡す。
、命令の長さ、オペランドのアドレスおよびオペランド
の長さを命令出力手段6に引き渡す。
命令出力手段6は、命令解析手段5から引き渡された命
令の種類、命令の長さ、オペランドのアドレスおよびオ
ペランドの長さをシンンボリックに編集し、出力手段1
2に出力して命令解析手段5にリターンする。
令の種類、命令の長さ、オペランドのアドレスおよびオ
ペランドの長さをシンンボリックに編集し、出力手段1
2に出力して命令解析手段5にリターンする。
次に、命令解析手段5は、オペランドのアドレスおよび
オペランドの長さを前情報出力手段7に引き渡す。
オペランドの長さを前情報出力手段7に引き渡す。
前情報出力手段7は、命令解析手段5から引き渡された
オペランドのアドレスが示すメモリの内容をオペランド
の長さが示す大きさ分だけ編集し、出力手段12に出力
して命令解析手段5にリターンする。
オペランドのアドレスが示すメモリの内容をオペランド
の長さが示す大きさ分だけ編集し、出力手段12に出力
して命令解析手段5にリターンする。
続いて、命令解析手段5は、命令のアドレス。
命令の種類、命令の長さ、オペランドのアドレスおよび
オペランドの長さを命令代行手段8に引き渡す。
オペランドの長さを命令代行手段8に引き渡す。
命令代行手段8は、命令解析手段5から引き渡された命
令の種類に基づいて命令が分岐系命令かそれ以外の命令
かを識別し、分岐系命令であれば分岐条件が成立したか
否かを判定する0分岐条件が成立した場合は、オペラン
ドのアドレスをカレント命令位置更新手段IOに引き渡
し、次に処理すべき命令の位置を分岐先に変更させる。
令の種類に基づいて命令が分岐系命令かそれ以外の命令
かを識別し、分岐系命令であれば分岐条件が成立したか
否かを判定する0分岐条件が成立した場合は、オペラン
ドのアドレスをカレント命令位置更新手段IOに引き渡
し、次に処理すべき命令の位置を分岐先に変更させる。
また、分岐条件が成立しなかった場合は、命令のアドレ
スと命令の長さとから次の命令のアドレスを求め、その
アドレスをカレント命令位置更新手段10に引き渡し、
次に処理すべき命令の位置を現在処理中の命令の次の命
令に変更させる。命令が分岐系命令以外の命令であった
場合は、その命令の機能をシミュレートした後に、命令
のアドレスと命令の長さとから次の命令のアドレスを求
め、それをカレント命令位置更新手段10に引き渡し、
次に処理すべき命令の位置を現在処理中の命令の次の命
令に変更させる。この後、命令代行手段8は、命令解析
手段5にリターンする。
スと命令の長さとから次の命令のアドレスを求め、その
アドレスをカレント命令位置更新手段10に引き渡し、
次に処理すべき命令の位置を現在処理中の命令の次の命
令に変更させる。命令が分岐系命令以外の命令であった
場合は、その命令の機能をシミュレートした後に、命令
のアドレスと命令の長さとから次の命令のアドレスを求
め、それをカレント命令位置更新手段10に引き渡し、
次に処理すべき命令の位置を現在処理中の命令の次の命
令に変更させる。この後、命令代行手段8は、命令解析
手段5にリターンする。
カレント命令位置更新手段10は、命令代行手段8から
引き渡されたアドレスによって表される命令位置をカレ
ント命令位置記憶手段3に格納して命令代行手段8にリ
ターンする。
引き渡されたアドレスによって表される命令位置をカレ
ント命令位置記憶手段3に格納して命令代行手段8にリ
ターンする。
次に、命令解析手段5は、オペランドのアドレスおよび
オペランドの長さを後情報手段手段9に引き渡す。
オペランドの長さを後情報手段手段9に引き渡す。
後情報出力手段9は、命令解析手段5から引き渡された
オペランドのアドレスが示すメモリの内容をオペランド
の長さが示す大きさ分だけ編集し、出力手段12に出力
して命令解析手段5にリターンする。
オペランドのアドレスが示すメモリの内容をオペランド
の長さが示す大きさ分だけ編集し、出力手段12に出力
して命令解析手段5にリターンする。
命令出力手段6から後情報出力手段9までの処理を終え
て命令解析手段5に制御が戻ると、命令解析手段5はさ
らに命令取出し手段4に制御を戻す。
て命令解析手段5に制御が戻ると、命令解析手段5はさ
らに命令取出し手段4に制御を戻す。
命令取出し手段4は、再びカレント命令位置記憶手段3
によって示される位置の命令を1命令取り出し、命令解
析手段5に引き渡す。
によって示される位置の命令を1命令取り出し、命令解
析手段5に引き渡す。
したがって、以降は上述の処理が繰り返し行われ、命令
解析手段5がプログラムの終了命令を検出すると、本実
施例のオペランドトレース方式の処理が終了する。
解析手段5がプログラムの終了命令を検出すると、本実
施例のオペランドトレース方式の処理が終了する。
以上説明したように本発明は、ハードウェアによる命令
の実行後の例外条件発生機能を利用せずにソフトウェア
的に命令を代行することにより、命令実行前後のオペラ
ンドの内容を出力することができ、オペランドの内容の
変化の経緯を把握できる効果がある。
の実行後の例外条件発生機能を利用せずにソフトウェア
的に命令を代行することにより、命令実行前後のオペラ
ンドの内容を出力することができ、オペランドの内容の
変化の経緯を把握できる効果がある。
第1図は、本発明のオペランドトレース方式の一実施例
の構成を示すブロック図である。 図において、 1・・・プログラムロード手段、 2・・・開始命令位置決定手段、 3・・・カレント命令位置記憶手段、 4・・・命令取出し手段、 5・・・命令解析手段、 6・・・命令出力手段、 7・・・前情報出力手段、 8・・・命令代行手段、 9・・・後情報出力手段、 10・・・カレント命令位置更新手段、11・・・入力
手段、 12・・・出力手段、 13・・・プログラムファイルである。
の構成を示すブロック図である。 図において、 1・・・プログラムロード手段、 2・・・開始命令位置決定手段、 3・・・カレント命令位置記憶手段、 4・・・命令取出し手段、 5・・・命令解析手段、 6・・・命令出力手段、 7・・・前情報出力手段、 8・・・命令代行手段、 9・・・後情報出力手段、 10・・・カレント命令位置更新手段、11・・・入力
手段、 12・・・出力手段、 13・・・プログラムファイルである。
Claims (1)
- 【特許請求の範囲】 入力手段から指定されたプログラムをロードするプログ
ラムロード手段と、 このプログラムロード手段によりロードされたプログラ
ムの実行開始命令位置を決定する開始命令位置決定手段
と、 現在処理すべき命令位置を記憶するカレント命令位置記
憶手段と、 このカレント命令位置記憶手段により記憶されている命
令位置から命令を取り出す命令取出し手段と、 この命令取出し手段により取り出された命令を解析して
命令情報およびオペランド情報を取得する命令解析手段
と、 この命令解析手段により取得された命令情報に基づいて
命令をシンボル化して表示する命令出力手段と、 前記命令解析手段により取得されたオペランド情報に基
づいて命令実行前のオペランドの内容を出力する前情報
出力手段と、 前記命令取出し手段により取り出された命令を代行する
命令代行手段と、 前記命令解析手段により取得されたオペランド情報に基
づいて命令実行後のオペランドの内容を出力する後情報
出力手段と、 前記命令代行手段による命令の代行結果に基づいて次に
処理すべき命令位置を決定して前記カレント命令位置記
憶手段に記憶された命令位置を更新するカレント命令位
置更新手段と、 を有することを特徴とするオペランドトレース方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62272534A JPH01112438A (ja) | 1987-10-27 | 1987-10-27 | オペランドトレース方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62272534A JPH01112438A (ja) | 1987-10-27 | 1987-10-27 | オペランドトレース方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01112438A true JPH01112438A (ja) | 1989-05-01 |
Family
ID=17515235
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62272534A Pending JPH01112438A (ja) | 1987-10-27 | 1987-10-27 | オペランドトレース方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01112438A (ja) |
-
1987
- 1987-10-27 JP JP62272534A patent/JPH01112438A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2685245B2 (ja) | プログラマブルコントローラ | |
| JP2752076B2 (ja) | プログラマブル・コントローラ | |
| JPS63288357A (ja) | デ−タ編集方式 | |
| JP2753555B2 (ja) | プログラマブル・コントローラ | |
| JPH04239338A (ja) | マイクロプログラム網羅率測定方式 | |
| JP2653880B2 (ja) | プログラム内容解析装置 | |
| JP2506591B2 (ja) | 補助処理装置 | |
| JPS63298633A (ja) | パイプライン処理装置における命令フェッチ制御方式 | |
| JPH0695868A (ja) | ソフトウェア管理方式 | |
| JPH0423102A (ja) | プログラマブルコントローラ用プログラミング装置 | |
| JPH02284236A (ja) | プログラムデバッグ処理装置 | |
| JPH0259829A (ja) | マイクロコンピュータ | |
| JPS6249502A (ja) | プログラマブルコントロ−ラ | |
| JP2000357087A (ja) | 演算処理装置および演算処理方法 | |
| JPH0325530A (ja) | モジュール間結合実行制御方式 | |
| JPH077346B2 (ja) | データフローコンピュータのデバッグ方式 | |
| JPH0695349B2 (ja) | プログラム実行制御方式 | |
| JPH0261724A (ja) | プログラム修正方式 | |
| JPS63282526A (ja) | 電子計算機制御方式 | |
| JPS62204340A (ja) | デ−タ処理装置 | |
| JPH04216103A (ja) | プログラマブルコントローラにおけるユーザプログラムのトレース方式 | |
| JPH01175632A (ja) | マイクロプログラム制御装置 | |
| JPS63180141A (ja) | 対話型デバツガによるデバツグ方式 | |
| JPS5920055A (ja) | 分岐命令のリトライ方式 | |
| JPH01140239A (ja) | 命令実行アドレス保存処理方式 |