JPS63317845A - プログラム内容解析装置 - Google Patents
プログラム内容解析装置Info
- Publication number
- JPS63317845A JPS63317845A JP62154053A JP15405387A JPS63317845A JP S63317845 A JPS63317845 A JP S63317845A JP 62154053 A JP62154053 A JP 62154053A JP 15405387 A JP15405387 A JP 15405387A JP S63317845 A JPS63317845 A JP S63317845A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- block
- program
- processing
- condition
- 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
- 230000006870 function Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 103
- 230000008569 process Effects 0.000 abstract description 93
- 230000000903 blocking effect Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、マイクロコンピュータなどを作動するために
用いられるプログラムの内容を解析する装置に関する。
用いられるプログラムの内容を解析する装置に関する。
従来技術
マイクロコンピュータ用などに設計されたプログラムの
点検は、以下のように行なわれる。まずシンタックスエ
ラーなどの基本的なバグを取除いた後、プリントアウト
されたプログラムリストに基づいて、人手によって、該
プログラムの構造と、該プログラムに基づく各種入出力
装置の動作とを把握し、これを仕様書の記載内容と照合
する。さらに該プログラムが用いられるハードウェアに
実際に岨込み、プログラムの実行によって要求される各
種入力条件を入力して、シミュレーションさせ、プログ
ラムの動作状態を確認する。
点検は、以下のように行なわれる。まずシンタックスエ
ラーなどの基本的なバグを取除いた後、プリントアウト
されたプログラムリストに基づいて、人手によって、該
プログラムの構造と、該プログラムに基づく各種入出力
装置の動作とを把握し、これを仕様書の記載内容と照合
する。さらに該プログラムが用いられるハードウェアに
実際に岨込み、プログラムの実行によって要求される各
種入力条件を入力して、シミュレーションさせ、プログ
ラムの動作状態を確認する。
発明が解決しようとする問題点
しかしながら実際のプログラムは膨大なステップ数に及
ぶことがあり、その中にはやはり膨大な分岐命令が含ま
れている。したがってこれらの分岐命令に基づく処理の
流れの数はやはり膨大な数となり、上記人手による内容
把握作業では実現が困難である。したがって前述したよ
うなシミュレーションまたはエミュレーション;こよる
チェックが行なわれがちになり、仕様書の内容の遺漏や
バグなどを完全に解消するには、むやみに時間を要して
いた。また、前述したようなシミュレーションやエミュ
レーションを行なうには、実際のプログラム作動時にお
いて必要とされる入力要求をすベて充足させねばならず
、繁雑な手間を要していた。
ぶことがあり、その中にはやはり膨大な分岐命令が含ま
れている。したがってこれらの分岐命令に基づく処理の
流れの数はやはり膨大な数となり、上記人手による内容
把握作業では実現が困難である。したがって前述したよ
うなシミュレーションまたはエミュレーション;こよる
チェックが行なわれがちになり、仕様書の内容の遺漏や
バグなどを完全に解消するには、むやみに時間を要して
いた。また、前述したようなシミュレーションやエミュ
レーションを行なうには、実際のプログラム作動時にお
いて必要とされる入力要求をすベて充足させねばならず
、繁雑な手間を要していた。
本発明の目的は、上述の問題点を解決し、仕様書など、
プログラム内容のチェックの基準となる物との照合が容
易な形態にプログラム内容を解析できるとともに、チェ
ック対象となる該プログラムを実行することなく、プロ
グラム内容の解析を行なうようにできるプログラム内容
解析装置を提供することである。
プログラム内容のチェックの基準となる物との照合が容
易な形態にプログラム内容を解析できるとともに、チェ
ック対象となる該プログラムを実行することなく、プロ
グラム内容の解析を行なうようにできるプログラム内容
解析装置を提供することである。
問題点を解決するための手段
本発明は、機能語のみ、または機能語とオペランドとか
らなる命令列を読取り、 各命令の実行内容に関連し、各命令毎に規定される情報
を、命令列の読取り毎に逐次的に記憶するようにしたこ
とを特徴とするプログラム内容解析装置である。
らなる命令列を読取り、 各命令の実行内容に関連し、各命令毎に規定される情報
を、命令列の読取り毎に逐次的に記憶するようにしたこ
とを特徴とするプログラム内容解析装置である。
作 用
本発明に従えば、機能語のみ、または機能語とオペラン
ドとからなる命令列を読取り、この読取り時毎に、各命
令によって規定される情報を逐次的に記憶するようにし
た。したがって、この被解析プログラムの実行内容を解
析するにあたっては、上記記憶された各種情報を読出す
のみでよく、プログラム内容の解析処理を高速に行なう
ことができる。
ドとからなる命令列を読取り、この読取り時毎に、各命
令によって規定される情報を逐次的に記憶するようにし
た。したがって、この被解析プログラムの実行内容を解
析するにあたっては、上記記憶された各種情報を読出す
のみでよく、プログラム内容の解析処理を高速に行なう
ことができる。
実施例
第1図は本発明の一実施例のプログラム内容解析装置(
以下、解析装置と称する)1の構成を示すブロック図で
ある。第1図を参照して、解析装置1は、従来技術の項
で述べたようなチェックが行なわれる被解析プログラム
が、シーケンシャルな形式で記憶されている磁気テープ
記*/再生装置(以下、磁気テープ装置と称する)2と
、ランダムな記憶が行なわれる磁気ディスク装置3と、
たとえばランダムアクセスメモリ(RA M )など1
こよって実現される内部記憶装置I4と、たとえばCR
T(陰極線管)装置や液晶表示装置などによって実現さ
れる表示装r115と、インパクト形または非インパク
ト形などの印字装置6と、各種キーやスイッチ類などに
よって実現されるキー人力装置7と、これらによって入
力される情報を処理し、またこのような情報の入力/出
力動作を制御するマイクロプロセッサなどを含んで構成
される処理!I置8とを含む。
以下、解析装置と称する)1の構成を示すブロック図で
ある。第1図を参照して、解析装置1は、従来技術の項
で述べたようなチェックが行なわれる被解析プログラム
が、シーケンシャルな形式で記憶されている磁気テープ
記*/再生装置(以下、磁気テープ装置と称する)2と
、ランダムな記憶が行なわれる磁気ディスク装置3と、
たとえばランダムアクセスメモリ(RA M )など1
こよって実現される内部記憶装置I4と、たとえばCR
T(陰極線管)装置や液晶表示装置などによって実現さ
れる表示装r115と、インパクト形または非インパク
ト形などの印字装置6と、各種キーやスイッチ類などに
よって実現されるキー人力装置7と、これらによって入
力される情報を処理し、またこのような情報の入力/出
力動作を制御するマイクロプロセッサなどを含んで構成
される処理!I置8とを含む。
仕様書の内容に従って作成されたプログラムは、従来技
術の項で述べたように、まずシンタックスエラーなどの
基本的なバグを取除いた後、磁気テープ装r!12に記
憶される。磁気テープ!!12の被解析プログラムは、
解析装a1の内部記憶装置4へ転送され、後述するよう
なチェック処理が行なわれる。その結果は再び磁気テー
プ装置2へ記憶され、または磁気ディスク!装置3へ記
憶される。
術の項で述べたように、まずシンタックスエラーなどの
基本的なバグを取除いた後、磁気テープ装r!12に記
憶される。磁気テープ!!12の被解析プログラムは、
解析装a1の内部記憶装置4へ転送され、後述するよう
なチェック処理が行なわれる。その結果は再び磁気テー
プ装置2へ記憶され、または磁気ディスク!装置3へ記
憶される。
またこのような記憶処理とともに、表示装置5へ表示出
力され、また印字装置6に上って印字出力される。
力され、また印字装置6に上って印字出力される。
第2図は磁気テープ装置!!2や磁気ディスク装置3な
どの記憶装置の記録状態を示す系統図である。
どの記憶装置の記録状態を示す系統図である。
処理装fi!8にバス9などを介して接続された磁気テ
ープ装j12の記憶領域10は、前記被解析プログラム
の実行対象となるたとえばマイクロコンビエータに関す
るアーキテクチャが記憶されるアーキテクチャ記憶領域
10aや、この被解析プログラムによる制御の対象とな
る入力/出力に用いられるアナログ信号をデノタル信号
に変換する際の比較電圧値など、このようなアナログ/
デジタル変換器の諸元などを記憶するA/D変換器諸元
記憶領填10bや、本被解析プログラムの実行対象とな
るマイクロコンピュータの有する各端子の信号の出力状
態と、この端子に接続される各人力/出力装置の動作状
態との関係の定義(たとえばマイクロコンピュータの成
るビンからハイレベルの信号が導出されると、LED(
発光グイオード)が点灯する、などの定義)が、記憶さ
れる定義記憶領域10eなどを含んで構成される。
ープ装j12の記憶領域10は、前記被解析プログラム
の実行対象となるたとえばマイクロコンビエータに関す
るアーキテクチャが記憶されるアーキテクチャ記憶領域
10aや、この被解析プログラムによる制御の対象とな
る入力/出力に用いられるアナログ信号をデノタル信号
に変換する際の比較電圧値など、このようなアナログ/
デジタル変換器の諸元などを記憶するA/D変換器諸元
記憶領填10bや、本被解析プログラムの実行対象とな
るマイクロコンピュータの有する各端子の信号の出力状
態と、この端子に接続される各人力/出力装置の動作状
態との関係の定義(たとえばマイクロコンピュータの成
るビンからハイレベルの信号が導出されると、LED(
発光グイオード)が点灯する、などの定義)が、記憶さ
れる定義記憶領域10eなどを含んで構成される。
第3図は第1図示の解析装置1の基本的動作を説明する
70−チャートであり、第4図は解析装置[1の表示装
置i5の表示例を示す図である。第1図〜第4図を参照
して、解析装置1の基本的動作について説明する。解析
装置1の電源が投入されると第3図ステップn1 以
降の処理が開始され、表示装置5上に各種入力要求を表
示する。ステップn2 では、このような入力要求に
対応して、解析されるプログラムの実行対象となるマイ
クロコンピュータの名称を入力する。この様子は第4図
(1)に示される。
70−チャートであり、第4図は解析装置[1の表示装
置i5の表示例を示す図である。第1図〜第4図を参照
して、解析装置1の基本的動作について説明する。解析
装置1の電源が投入されると第3図ステップn1 以
降の処理が開始され、表示装置5上に各種入力要求を表
示する。ステップn2 では、このような入力要求に
対応して、解析されるプログラムの実行対象となるマイ
クロコンピュータの名称を入力する。この様子は第4図
(1)に示される。
続くステップn3 では、入力された名称のマイクロ
コンピュータのアーキテクチャが、アーキテクチャ領域
10aに存在するかどうかを判断する。
コンピュータのアーキテクチャが、アーキテクチャ領域
10aに存在するかどうかを判断する。
存在していればステップn4で当該アーキテクチャを呼
出し、たとえば内部記憶4に転送し、ステップn5
でアナログ/デジタル変換器の名称を入力する。一方、
前記ステップn3 の判断が否定であれば処理はステ
ップn6 に移り、解析装ra1は、入力された名称
に対応するアーキテクチャが記憶されていないことを表
示し、新規登録を要求する。
出し、たとえば内部記憶4に転送し、ステップn5
でアナログ/デジタル変換器の名称を入力する。一方、
前記ステップn3 の判断が否定であれば処理はステ
ップn6 に移り、解析装ra1は、入力された名称
に対応するアーキテクチャが記憶されていないことを表
示し、新規登録を要求する。
この後、処理はステップn5 へ移る。
ステップn5 のアナログ/デジタル変換器の名称入
力の様子は、第4図(1)に示される。続くステップn
7 では、解析されるプログラムが動作対象、とする
マイクロコンピュータに設定される各ボーFの状態と外
部状態との関係を、第4図(2)に示すように入力する
。たとえばPORT17がハイレベルとなれば、スター
トスイッチがオン状態に切換わり、PORT16がハイ
レベルになるとサーモスイッチがオン状態に切換わる。
力の様子は、第4図(1)に示される。続くステップn
7 では、解析されるプログラムが動作対象、とする
マイクロコンピュータに設定される各ボーFの状態と外
部状態との関係を、第4図(2)に示すように入力する
。たとえばPORT17がハイレベルとなれば、スター
トスイッチがオン状態に切換わり、PORT16がハイ
レベルになるとサーモスイッチがオン状態に切換わる。
ステップn8 では、前記マイクロコンピュータの割
込み端子の状態と、外部状態との関係の入力が、表示装
置5上で要求される。またアナログ/デジタル変換器チ
ャンネル用ボートについては、キー人力装置7によって
所定の事項を入力し、第4図(3)に示すように所定の
データ項目を入力して各ボートを定義する。
込み端子の状態と、外部状態との関係の入力が、表示装
置5上で要求される。またアナログ/デジタル変換器チ
ャンネル用ボートについては、キー人力装置7によって
所定の事項を入力し、第4図(3)に示すように所定の
データ項目を入力して各ボートを定義する。
ステップn9では、ステップn?、n8での各種入力が
正しく実行されたがどうかを判断する。′!4断結果が
否定であれば処理はステップn7 に戻り、上記入力
されたデータを訂正する0判断結果が肯定であればステ
ップnlo に移り、たとえば磁気テープ装r!12
に記憶されている被解析プログラムを内部記憶装置4に
転送して読取る。ステップn11では、後述するような
被解析プログラムを解析し、ステップn12 で解析
結果を出力して処理を終了する。
正しく実行されたがどうかを判断する。′!4断結果が
否定であれば処理はステップn7 に戻り、上記入力
されたデータを訂正する0判断結果が肯定であればステ
ップnlo に移り、たとえば磁気テープ装r!12
に記憶されている被解析プログラムを内部記憶装置4に
転送して読取る。ステップn11では、後述するような
被解析プログラムを解析し、ステップn12 で解析
結果を出力して処理を終了する。
第5図は第3図のステップnil のプログラムの解
析処理の内容を説明する70−チャートである。第5図
を併せて参照して、解析装置iの操作について説明する
。上述したように本発明は、たとえばマイクロコンピュ
ータ用にたとえばアセンブラ言語によって作成されたプ
ログラムの内容を解析する装置に関する。被解析プログ
ラムは、解析装置1の磁気テープ装置2に記憶されてお
り、第3図ステップnlo で説明したように、この
ようなプログラムは磁気テープ装置2からたとえば内部
記憶装ft4へ転送される。
析処理の内容を説明する70−チャートである。第5図
を併せて参照して、解析装置iの操作について説明する
。上述したように本発明は、たとえばマイクロコンピュ
ータ用にたとえばアセンブラ言語によって作成されたプ
ログラムの内容を解析する装置に関する。被解析プログ
ラムは、解析装置1の磁気テープ装置2に記憶されてお
り、第3図ステップnlo で説明したように、この
ようなプログラムは磁気テープ装置2からたとえば内部
記憶装ft4へ転送される。
本実施例では、被解析プログラムを以下の第1表に示す
プログラムと想定して説明する。
プログラムと想定して説明する。
(以下余白)
第 1 表(プログラムリスト)
上記第1表のプログラムの内容は、第6図および第7図
の70−チャートに示される。第6図および第7図のス
テップ番号nly&2+・・・、a21は、上記第1表
のプログラムリストの行番号に対応している。また、第
1表の全21行の各命令の実行に関する各7ラグの状態
を示すコンディションコードレノスタ (以下、CCR
と称する)は、下記第2表に示される。ここでは、符号
7ラグN1ゼロ7ラグZ1オーバ70−7ラグVおよび
キャリ7ラグCの状態を示す。
の70−チャートに示される。第6図および第7図のス
テップ番号nly&2+・・・、a21は、上記第1表
のプログラムリストの行番号に対応している。また、第
1表の全21行の各命令の実行に関する各7ラグの状態
を示すコンディションコードレノスタ (以下、CCR
と称する)は、下記第2表に示される。ここでは、符号
7ラグN1ゼロ7ラグZ1オーバ70−7ラグVおよび
キャリ7ラグCの状態を示す。
(以下余白)
fjSz表
(庄1)第2衣中、記号I↓」、1・Jul K Ju
l S Jはそれぞれ[結果によってセットまたはリセ
ットされる」、 「変化しない」、[リセット(クリア
)される」および「セットされる」を表わす。
l S Jはそれぞれ[結果によってセットまたはリセ
ットされる」、 「変化しない」、[リセット(クリア
)される」および「セットされる」を表わす。
(注2)上記プログラムには、レノスタ名称の定義、割
込み制御レジスタの設定、ボート人出力方向の設定、割
込みベクトルの設定等は省略されているが、割込みはC
APT 1のみ許可、その割込みアドレス(ラベル)は
CAPTとする。
込み制御レジスタの設定、ボート人出力方向の設定、割
込みベクトルの設定等は省略されているが、割込みはC
APT 1のみ許可、その割込みアドレス(ラベル)は
CAPTとする。
上記第1表のプログラムリストで、
(1)入カニ PORTIの第6ビツトにスイッチ入力
(スイッチONでハイレベルに変化): PORT2の
第Oビットに可変周波信号入力 および、 (2)出カニ PORTIの第7ビツトから発光ダイオ
ード出力 (出力ハイレベルで発光ダイオード点灯)の
入出力操作が行なわれる、と定義しておく。
(スイッチONでハイレベルに変化): PORT2の
第Oビットに可変周波信号入力 および、 (2)出カニ PORTIの第7ビツトから発光ダイオ
ード出力 (出力ハイレベルで発光ダイオード点灯)の
入出力操作が行なわれる、と定義しておく。
これは第3図ステップn7で行なわれる。
上記第1表のプログラムリストが読込まれた解析装置1
では、第5図ステップ11 でプログラムの流れ構造
の解析が行なわれる。
では、第5図ステップ11 でプログラムの流れ構造
の解析が行なわれる。
上述したように、第1表に示すプログラムリストは、第
6図および第7図に示す動作内容を有している。しかし
ながら、tJS1表のプログラムリストから第6図およ
び第7図示の70−チャートを得るには、人手によって
、各命令が単なる処理命令か条件文による分岐命令かを
把握する作業と、 ′分岐命令の場合にはその分岐先の
検出作業などが含まれ、これらの作業に基づいて上記7
0−チャートが作成される。
6図および第7図に示す動作内容を有している。しかし
ながら、tJS1表のプログラムリストから第6図およ
び第7図示の70−チャートを得るには、人手によって
、各命令が単なる処理命令か条件文による分岐命令かを
把握する作業と、 ′分岐命令の場合にはその分岐先の
検出作業などが含まれ、これらの作業に基づいて上記7
0−チャートが作成される。
本発明の眼目の1つは、任意のプログラムリストから、
該プログラムの分岐命令と、該分岐命令によって定めら
れる分岐先命令とを把握した後、該プログラムの処理の
流れの構造の把握を人間の頭脳による作業を介すること
なく、解析装置によって自動的に行なうことができるよ
うにしたことである。またこれによって、後述するよう
に上記フローチャートと類飯の形態の出力を得ることが
できる。
該プログラムの分岐命令と、該分岐命令によって定めら
れる分岐先命令とを把握した後、該プログラムの処理の
流れの構造の把握を人間の頭脳による作業を介すること
なく、解析装置によって自動的に行なうことができるよ
うにしたことである。またこれによって、後述するよう
に上記フローチャートと類飯の形態の出力を得ることが
できる。
このような流れの構造を把握する処理を、第8図の70
−チャートにおいて示す。第8図ステップb1では、命
令行番号を示すパラメータkを「1」に初期化し、ステ
ップb2で第に命令(第1表における行番号にの命令)
の読取りを行なう、続くステップb3では、この読取ら
れた第に命令が分岐命令であるかどうかを判断する。こ
の判断はたとえば第1表における命令を構成する二一モ
ニツクを読取ればよい。すなわち上述したように、所望
のマイクロコンピュータのアーキテクチャを呼出した段
階で、解析装置1の内部記憶4には、当該マイクロコン
ピュータに用いられるアセンブラ言語のコマンドや、コ
マンドに関連するフラグなどのテーブルが別途記憶され
、これを参照することによって、111の各命令が分岐
命令であるか否かを容易に判断できるからである。
−チャートにおいて示す。第8図ステップb1では、命
令行番号を示すパラメータkを「1」に初期化し、ステ
ップb2で第に命令(第1表における行番号にの命令)
の読取りを行なう、続くステップb3では、この読取ら
れた第に命令が分岐命令であるかどうかを判断する。こ
の判断はたとえば第1表における命令を構成する二一モ
ニツクを読取ればよい。すなわち上述したように、所望
のマイクロコンピュータのアーキテクチャを呼出した段
階で、解析装置1の内部記憶4には、当該マイクロコン
ピュータに用いられるアセンブラ言語のコマンドや、コ
マンドに関連するフラグなどのテーブルが別途記憶され
、これを参照することによって、111の各命令が分岐
命令であるか否かを容易に判断できるからである。
上記ステップb3 の判断結果が否定であれば、ステ
ップb4でパラメータkを+1インクリメントし、処理
をステップb2 に戻し、上述の説明と同様な処理を
行なう、このとき第1表のプログラムリストに従えば、
第4命令を読取ったとき、アーキテクチャが参照され、
この第4命令がゼロ7ラグZの状!!(rlJまたは「
0」)を条件とする分岐命令であることが把握される。
ップb4でパラメータkを+1インクリメントし、処理
をステップb2 に戻し、上述の説明と同様な処理を
行なう、このとき第1表のプログラムリストに従えば、
第4命令を読取ったとき、アーキテクチャが参照され、
この第4命令がゼロ7ラグZの状!!(rlJまたは「
0」)を条件とする分岐命令であることが把握される。
したがって、第8図の処理において第4命令が読取られ
たときステップb3の判断は肯定となり、処理はステッ
プb5に移る。
たときステップb3の判断は肯定となり、処理はステッ
プb5に移る。
ステップb5 では、第1表の第4命令のオペランド
[LOOPJと対応するラベル名を検索する。
[LOOPJと対応するラベル名を検索する。
第1表のプログラムリストでは、第2命令に上記オペラ
ンドと同一のラベルが付されており、したがって第4命
令の分岐先は、第2命令であることが理解される。ステ
ップb6 では、一般に分岐命令の行番号にと、これ
に対応する分岐先命令行番号−との対(以下、ブロック
化情報と称する)(k、+*)を、内部記憶装置i!4
に記憶する。この後、処理はステップb4 に移り、
行番号を+1インクリメントして次の行へ処理を進める
。
ンドと同一のラベルが付されており、したがって第4命
令の分岐先は、第2命令であることが理解される。ステ
ップb6 では、一般に分岐命令の行番号にと、これ
に対応する分岐先命令行番号−との対(以下、ブロック
化情報と称する)(k、+*)を、内部記憶装置i!4
に記憶する。この後、処理はステップb4 に移り、
行番号を+1インクリメントして次の行へ処理を進める
。
このような処理を行なうことによって、第1表のプログ
ラムリストにおける分岐命令と分岐先命令との行番号の
対(k、m)に関して、下記第3表のような結果が得ら
れる。
ラムリストにおける分岐命令と分岐先命令との行番号の
対(k、m)に関して、下記第3表のような結果が得ら
れる。
第 3 表
この段階で解析装置1は、第1表に示すプログラムリス
トの流れ構造が把41″Cきたことになる。すなわち第
3表として得られた結果を揉作者が容易に理解できる形
式に出力する場合、たとえば#&1表のプログラムリス
トの行番号1〜21を第9図に示すように一列に配列し
、上記第3表に基づ−1で、行番号kから行番号−へ向
かう分岐矢符をこれに付すことによって、プログラムリ
ストの流れ構造として第9図示のような出力が得られる
。これによって捏作者も、第1表のプログラムリストの
流れ構造を容易に把握することができる。こうしてPI
rJs図ステッジステップ11理は終了する。
トの流れ構造が把41″Cきたことになる。すなわち第
3表として得られた結果を揉作者が容易に理解できる形
式に出力する場合、たとえば#&1表のプログラムリス
トの行番号1〜21を第9図に示すように一列に配列し
、上記第3表に基づ−1で、行番号kから行番号−へ向
かう分岐矢符をこれに付すことによって、プログラムリ
ストの流れ構造として第9図示のような出力が得られる
。これによって捏作者も、第1表のプログラムリストの
流れ構造を容易に把握することができる。こうしてPI
rJs図ステッジステップ11理は終了する。
次に第5図ステップ論2では、ステップ論1で得られた
被解析プログラムの流れ構造の認識に基づいて、該プロ
グラムをブロックに区分する処理を行なう、このような
ブロック化処理には、以下のような利点がある0本発明
のプログラム内容解析処理が行なわれる被解析プログラ
ムは、一般にはたとえば敵方ステップのような場合もあ
り、このようなプログラムには、各種分岐命令も大量に
含まれている。したがって、このような分岐命令の条件
の成立の是非に関する組合わせの数が膨大な数になるこ
とは、容易に想定される。このような膨大な組合わせ敗
のプログラムの系統を逐次的に考察の対象とし、各系統
ごとに全命令のコンディションコードレジスタ(OCR
)を記憶するのは、極めて繁雑であるとともに膨大な記
憶容量が要求される。
被解析プログラムの流れ構造の認識に基づいて、該プロ
グラムをブロックに区分する処理を行なう、このような
ブロック化処理には、以下のような利点がある0本発明
のプログラム内容解析処理が行なわれる被解析プログラ
ムは、一般にはたとえば敵方ステップのような場合もあ
り、このようなプログラムには、各種分岐命令も大量に
含まれている。したがって、このような分岐命令の条件
の成立の是非に関する組合わせの数が膨大な数になるこ
とは、容易に想定される。このような膨大な組合わせ敗
のプログラムの系統を逐次的に考察の対象とし、各系統
ごとに全命令のコンディションコードレジスタ(OCR
)を記憶するのは、極めて繁雑であるとともに膨大な記
憶容量が要求される。
したがって本発明の眼目の1つは、被解析プログラムを
後述するような条件の下で、複数のブロックに区分し、
各ブロックに対して第5図ステップ曽3 の分岐条件摘
出処理、ステップm4 の書込み命令単位の入出力結
合処理、およびステップ−5のパイルの結合処理などか
ら成る同一内容の処埋を施すようにしたことである。こ
のようなブロックの区分点は、プログラムにおける分岐
命令行か分岐先命令行であり、1ブロツクは分岐命令行
または分岐先命令行で始まり、これらのいずれかで終了
し、かつその間にはこれら分岐命令または分岐先命令行
を含まないように選コr。
後述するような条件の下で、複数のブロックに区分し、
各ブロックに対して第5図ステップ曽3 の分岐条件摘
出処理、ステップm4 の書込み命令単位の入出力結
合処理、およびステップ−5のパイルの結合処理などか
ら成る同一内容の処埋を施すようにしたことである。こ
のようなブロックの区分点は、プログラムにおける分岐
命令行か分岐先命令行であり、1ブロツクは分岐命令行
または分岐先命令行で始まり、これらのいずれかで終了
し、かつその間にはこれら分岐命令または分岐先命令行
を含まないように選コr。
すなわち全プログラムは、このような複数のブロックの
結合としで表現され、同一ブロック内のプログラムの異
なる流れの種類も極めて少数となる。これにより各ブロ
ックごとの内容解析を格段に容易に行なえるようになり
、全プログラムの内容解析は、ブロックごとに得られた
内容解析結果の結合として示される。
結合としで表現され、同一ブロック内のプログラムの異
なる流れの種類も極めて少数となる。これにより各ブロ
ックごとの内容解析を格段に容易に行なえるようになり
、全プログラムの内容解析は、ブロックごとに得られた
内容解析結果の結合として示される。
このようなブロック分は処理は、第10図の70−チャ
ートに示される。このとき、前記第8図を参照して説明
した第5図ステップ−1の流れ構造の解析処理によって
得られたブロック化情報対(k9m)について、第1表
の全プログラムについて行なうことによって、第3表に
示したような結果が得られる。すなわち、このようなブ
ロック化情報対(kl 、ml )、(k2 、m2
)、−、(ks、ms) (本実施例では5=4)が、
PttJ1図示の内部記憶装置4に記憶されている。以
下に説明する@10図の処理には、このブロック化情報
対列を用いる。なお上記ブロック化情報列の各数値kl
、に2、−、ks:ml tm2 、+・。
ートに示される。このとき、前記第8図を参照して説明
した第5図ステップ−1の流れ構造の解析処理によって
得られたブロック化情報対(k9m)について、第1表
の全プログラムについて行なうことによって、第3表に
示したような結果が得られる。すなわち、このようなブ
ロック化情報対(kl 、ml )、(k2 、m2
)、−、(ks、ms) (本実施例では5=4)が、
PttJ1図示の内部記憶装置4に記憶されている。以
下に説明する@10図の処理には、このブロック化情報
対列を用いる。なお上記ブロック化情報列の各数値kl
、に2、−、ks:ml tm2 、+・。
e+sについて総称する場合には、それぞれ記号に、m
を用いて示す。
を用いて示す。
第5図ステップc1 では、第1表のプログラムの行
番号を示すパラメータiを「1」に初期化する。ステッ
プc2では上記行番号iに関して、この行番号iに等し
い上記ブロック化情報kまたはブロック化情報−が存在
するか否かを判断する。この判断が肯定であれば、ステ
ップc3 でブロック化情報に、論によるブロック化
処理を行なう。
番号を示すパラメータiを「1」に初期化する。ステッ
プc2では上記行番号iに関して、この行番号iに等し
い上記ブロック化情報kまたはブロック化情報−が存在
するか否かを判断する。この判断が肯定であれば、ステ
ップc3 でブロック化情報に、論によるブロック化
処理を行なう。
このブロック化処理は、以下のように行なわれる。まず
ステップc3 において、判断が肯定となるブロック
化情報に、 mが記憶される0次にステップc4で行番
号iが+1インクリメントされ、ステップc5では行番
号゛iがこのような行番号の最終値すなわちMAX(i
)を超えたかどうかの判断を行なう。
ステップc3 において、判断が肯定となるブロック
化情報に、 mが記憶される0次にステップc4で行番
号iが+1インクリメントされ、ステップc5では行番
号゛iがこのような行番号の最終値すなわちMAX(i
)を超えたかどうかの判断を行なう。
判断結果が否定であれば、第10図に示すブロック化処
理は被解析プログラムの最終行まで到達していないこと
になり、ステップc2 に戻る。以下、同様の処理が
繰り返し行なわれ、ステップC2の判断が肯定となるブ
ロック化情報に、−があった場合、前回ステップc2
の判断を肯定としたブロック化情報に、−を呼び出し
、これらを組み合わせてブロック情報対(a、β)とし
て記憶する。以下、このような処理がプログラムの最終
行まで繰り返し行なわれる。
理は被解析プログラムの最終行まで到達していないこと
になり、ステップc2 に戻る。以下、同様の処理が
繰り返し行なわれ、ステップC2の判断が肯定となるブ
ロック化情報に、−があった場合、前回ステップc2
の判断を肯定としたブロック化情報に、−を呼び出し
、これらを組み合わせてブロック情報対(a、β)とし
て記憶する。以下、このような処理がプログラムの最終
行まで繰り返し行なわれる。
上記ステップc1〜c5で行なわれる処理は、たとえば
第1表のプログラムの第1行から第21行までを順番に
たどって、その中でブロック化情報(k=n)として示
される分岐命令行および分岐先命令行に関して、行番号
の増加方向において隣接する命令列の組をブロック情報
(’+β)として記憶する処理である。
第1表のプログラムの第1行から第21行までを順番に
たどって、その中でブロック化情報(k=n)として示
される分岐命令行および分岐先命令行に関して、行番号
の増加方向において隣接する命令列の組をブロック情報
(’+β)として記憶する処理である。
上記ステップc5 の判断が肯定となれば、処理はス
テップc6 に移り、上記ブロック化情報列(kjtm
j)
・・・(1)J=1t2t・・・、S によるブロック化処理を行なう。
テップc6 に移り、上記ブロック化情報列(kjtm
j)
・・・(1)J=1t2t・・・、S によるブロック化処理を行なう。
このブロック化処理は、@1表のプログラムリストにお
いて、分岐処理を実現するブロックを決定する処理とな
る。すなわち第3表のブロック化情報(kt m)にお
いて、たとえばブロック化情報対(4,2)は、第4命
令から第2命令へ処理が分岐する系統を規定している。
いて、分岐処理を実現するブロックを決定する処理とな
る。すなわち第3表のブロック化情報(kt m)にお
いて、たとえばブロック化情報対(4,2)は、第4命
令から第2命令へ処理が分岐する系統を規定している。
したがって、これらのブロック化情報対(k、 a)を
、前記ブロック情報対(α、β)と異なる内容をなす分
岐ブロック情報対(α、β)brとして再定義すること
により、第1&のプログラムリストに関して、分岐を行
なう系統を網羅できる。ステップc6 による分岐ブロ
ック化処理が終了すると、fjS11図に示すブロック
分は結果が得られる。
、前記ブロック情報対(α、β)と異なる内容をなす分
岐ブロック情報対(α、β)brとして再定義すること
により、第1&のプログラムリストに関して、分岐を行
なう系統を網羅できる。ステップc6 による分岐ブロ
ック化処理が終了すると、fjS11図に示すブロック
分は結果が得られる。
また上述のように、ブロック情報対(α、β)と、分岐
ブロック情報対(a+ β)brとを定義することによ
り、第1表のプログラムリストのたとえば第9命令、第
10命令お上びPISil命令からなるプロックと、第
9命令と第11命令とからなる分岐ブロックとを明瞭に
区分できる。このようなブロック情l!1対(α、β)
および分岐ブロック情報対(atβ)brを、下記の第
4表に示す。
ブロック情報対(a+ β)brとを定義することによ
り、第1表のプログラムリストのたとえば第9命令、第
10命令お上びPISil命令からなるプロックと、第
9命令と第11命令とからなる分岐ブロックとを明瞭に
区分できる。このようなブロック情l!1対(α、β)
および分岐ブロック情報対(atβ)brを、下記の第
4表に示す。
以下、得られた各ブロックを示すに際して、第11図に
示すように記号■、■、・・・、0 をもって示す、す
なわちブロック■は、行番号1,2の命令群を示してい
る。このような記法に従い、第1表のプログラムは第1
2図および第13図で示されるように表現される。ここ
で、第1表のプログラムを第12図および第13図の2
つの図に区分したのは、第12図は行番号1〜12のメ
イン処理ルーチンを表わし、第13図は行番号13〜2
1の後述するような割込み処理ルーチンを表わし、これ
らは相互間に亘って分岐関係が存在しない独立な内容だ
からである。このようにして、第5図ステップ−2のブ
ロック分は処理が終了する。
示すように記号■、■、・・・、0 をもって示す、す
なわちブロック■は、行番号1,2の命令群を示してい
る。このような記法に従い、第1表のプログラムは第1
2図および第13図で示されるように表現される。ここ
で、第1表のプログラムを第12図および第13図の2
つの図に区分したのは、第12図は行番号1〜12のメ
イン処理ルーチンを表わし、第13図は行番号13〜2
1の後述するような割込み処理ルーチンを表わし、これ
らは相互間に亘って分岐関係が存在しない独立な内容だ
からである。このようにして、第5図ステップ−2のブ
ロック分は処理が終了する。
第5図ステップ113 では、分岐条件摘出処理が行
なわれる。このような分岐条件摘出処理は、第14図の
70−チャートに示される。第5図ステップd1 で
は、上述したようなブロック化処理を行ない、各ブロッ
ク情報対(α、β)、(α、β)brを得る。ステップ
d2では変数jを「1」に初期化する。ステップd3
以降の処理では、分岐条件として第1ブロツクの、第
2ブロツク■、Pt53ブロツク■、・・・、第13ブ
ロツク■を処理が通過する条件を求めることになる。
なわれる。このような分岐条件摘出処理は、第14図の
70−チャートに示される。第5図ステップd1 で
は、上述したようなブロック化処理を行ない、各ブロッ
ク情報対(α、β)、(α、β)brを得る。ステップ
d2では変数jを「1」に初期化する。ステップd3
以降の処理では、分岐条件として第1ブロツクの、第
2ブロツク■、Pt53ブロツク■、・・・、第13ブ
ロツク■を処理が通過する条件を求めることになる。
(1)第1ブロツク■を通る条件
第1ブロツク■は第6図に明らかなように、第12命令
の無条件ジャンプ命令によって処理が無条件に通過する
ブロックである。
の無条件ジャンプ命令によって処理が無条件に通過する
ブロックである。
(2)第2ブロツク■を通る条件
第5図ステップd3 では、第3表を参照して第j番
目(現時点ではj=1)のブロック化情報対(k。
目(現時点ではj=1)のブロック化情報対(k。
輪)を参照する。ステップd4では、ステップd3にお
けるブロック化情報対(k、m)において、第に命令の
分岐条件を支配するフラグを検出する。第4表によれば
、j=1のときに=4であり、第1表のプログラムの第
k(= 4 )命令rBNEJの分岐条件を支配するフ
ラグの検出を行なう、これはアーキテクチャによって、
各命令それ自体に規定される条件となる。すなわち上記
第4命令の場合には、ゼロ7ラグZである。
けるブロック化情報対(k、m)において、第に命令の
分岐条件を支配するフラグを検出する。第4表によれば
、j=1のときに=4であり、第1表のプログラムの第
k(= 4 )命令rBNEJの分岐条件を支配するフ
ラグの検出を行なう、これはアーキテクチャによって、
各命令それ自体に規定される条件となる。すなわち上記
第4命令の場合には、ゼロ7ラグZである。
ステップd5 では、命令列の配列方向と反対方向に
一命令を読取る。この命令が上記フラグ(ゼロ7ラグZ
)を変化させる命令であるかどうかのステップd6
における判断が否定であれば、ステップd5.d6を繰
り返す。け定であればステップd7 に移り、フラグ
を変化させる命令を記憶する。
一命令を読取る。この命令が上記フラグ(ゼロ7ラグZ
)を変化させる命令であるかどうかのステップd6
における判断が否定であれば、ステップd5.d6を繰
り返す。け定であればステップd7 に移り、フラグ
を変化させる命令を記憶する。
第1表のプログラムリストと第2表のOCRとを参照す
れば、この命令は第3命令rCMPA C0UNTJ
であり、ゼロ7ラグZを変化させる命令であることが判
断される。ステップd8 では、第1表のプログラム
リストを参照して、ゼロ7ラグZに関する当該第3命令
中のパラメータを検出する。すなわち第3命令は7キユ
ムレータAに関する命令であり、パラメータとしてアキ
ュムレータAが検出される。
れば、この命令は第3命令rCMPA C0UNTJ
であり、ゼロ7ラグZを変化させる命令であることが判
断される。ステップd8 では、第1表のプログラム
リストを参照して、ゼロ7ラグZに関する当該第3命令
中のパラメータを検出する。すなわち第3命令は7キユ
ムレータAに関する命令であり、パラメータとしてアキ
ュムレータAが検出される。
ステップd9 では、該命令が該パラメータを変化さ
せる命令か否かを判断する。この判断は前記アーキテク
チャに含まれる前記CCRを参照して行なわれる0判断
が肯定であれば、ステップd10に移り当該命令が記憶
され、ステップdi 1 に移る。第3命令rCMP
AJは7キユムレータへの内容を変化せず、ステップd
9 の判断が否定となり、ステップdlOを経ること
なくステップdi 1に移る。
せる命令か否かを判断する。この判断は前記アーキテク
チャに含まれる前記CCRを参照して行なわれる0判断
が肯定であれば、ステップd10に移り当該命令が記憶
され、ステップdi 1 に移る。第3命令rCMP
AJは7キユムレータへの内容を変化せず、ステップd
9 の判断が否定となり、ステップdlOを経ること
なくステップdi 1に移る。
ステップdll では、現在検討中のブロックがvJ
i表のプログラムリスト中でループをvI成するブロッ
クかどうかを判断する。現時点では、解析装置1は第4
命令および第3命令しか認識しておらず、この判断は否
定となり、処理はステップd12に移り、ステップdl
o で記憶した命令が、前記パラメータの入力命令で
あるかどうかを判断する。この判断が肯定であれば、ス
テップd15に移る。一方、上記ステップdi 1
の判断が肯定であれば、ステップd14 で分岐条件
に後述するようなループ要素を追加し、処理はステップ
d15に移る。
i表のプログラムリスト中でループをvI成するブロッ
クかどうかを判断する。現時点では、解析装置1は第4
命令および第3命令しか認識しておらず、この判断は否
定となり、処理はステップd12に移り、ステップdl
o で記憶した命令が、前記パラメータの入力命令で
あるかどうかを判断する。この判断が肯定であれば、ス
テップd15に移る。一方、上記ステップdi 1
の判断が肯定であれば、ステップd14 で分岐条件
に後述するようなループ要素を追加し、処理はステップ
d15に移る。
ステップd15 では、当該分岐命令が第9図に示す
ような本実施例における被解析プログラムの構造におい
て、ネスティング構造に含まれるものであるかどうかを
判断する6判断結果が肯定ならば、ステップd16
で後述するようなネスティング要素を追加し、ステップ
d13 で記憶したブロック列の種類がすべて終了し
たかどうかを判断し、判断結果が肯定であればステップ
d17 で分岐対のパラメータjをプラス1インクリ
メントし、処理はステップd3に戻る。前記ステップd
15の判断が否定であれば、ステップd16 を経る
ことなく、処理はステップd13 に移る。
ような本実施例における被解析プログラムの構造におい
て、ネスティング構造に含まれるものであるかどうかを
判断する6判断結果が肯定ならば、ステップd16
で後述するようなネスティング要素を追加し、ステップ
d13 で記憶したブロック列の種類がすべて終了し
たかどうかを判断し、判断結果が肯定であればステップ
d17 で分岐対のパラメータjをプラス1インクリ
メントし、処理はステップd3に戻る。前記ステップd
15の判断が否定であれば、ステップd16 を経る
ことなく、処理はステップd13 に移る。
第3命令[cMPAJについて、前記ステップd12の
判断は否定となり、処理はステップd19に移り、現在
検討中の命令が当該命令を含むブロックの先頭であるか
どうかを判断する。PIS3命令について判断結果は否
定であり、ステップd20で命令列の配列方向と反対方
向に一命令を読取り、処理はステップd9 に移り、
前述の処理を繰返す。
判断は否定となり、処理はステップd19に移り、現在
検討中の命令が当該命令を含むブロックの先頭であるか
どうかを判断する。PIS3命令について判断結果は否
定であり、ステップd20で命令列の配列方向と反対方
向に一命令を読取り、処理はステップd9 に移り、
前述の処理を繰返す。
前記ステップd19 で判断結果が肯定ならば、ステ
ップd21 に移り、当該ブロックに処理が到達する
ブロック列の種類を記憶する。すなわち当該ブロックに
至るルートの種類を記憶する。ステップd22 では
、記憶したブロック列中から−ブロック列を選択し処理
はステップd20に戻る。
ップd21 に移り、当該ブロックに処理が到達する
ブロック列の種類を記憶する。すなわち当該ブロックに
至るルートの種類を記憶する。ステップd22 では
、記憶したブロック列中から−ブロック列を選択し処理
はステップd20に戻る。
第1表のプログラムリストにおいて、第4命令から上述
の処理が繰り返される。このとき、第1命令[LDAA
Jを解析する段階で、ステップdlOで記憶されて終た
命令は、オペランドで記述すると、 A=”1MME−(COUNT+1) ・・・(2)
になる。
の処理が繰り返される。このとき、第1命令[LDAA
Jを解析する段階で、ステップdlOで記憶されて終た
命令は、オペランドで記述すると、 A=”1MME−(COUNT+1) ・・・(2)
になる。
またステップd11 の判断は肯定となり、vi2式
の分岐条件にステップcl14 でループ要素が付加
され、下記第3式の分岐条件が得られる。すなわちルー
プをn回繰返せば上記第2式は、A=TIME−(CO
UNT+n) −(3)と表される。この実行内容
がループを構成する条件は、第4命令で分岐条件が成立
すること、すなわちゼロ7ラグZに関して、 Z=O・・・(4) が成立する場合である。したがって上記ステップcll
o では最終的に、 T I ME−(COUNT+n)−〇 −(5)
の条件が得られる。これは第2ブロツク■を処理・ が
通過する条件となる。
の分岐条件にステップcl14 でループ要素が付加
され、下記第3式の分岐条件が得られる。すなわちルー
プをn回繰返せば上記第2式は、A=TIME−(CO
UNT+n) −(3)と表される。この実行内容
がループを構成する条件は、第4命令で分岐条件が成立
すること、すなわちゼロ7ラグZに関して、 Z=O・・・(4) が成立する場合である。したがって上記ステップcll
o では最終的に、 T I ME−(COUNT+n)−〇 −(5)
の条件が得られる。これは第2ブロツク■を処理・ が
通過する条件となる。
(313ブロツク■を通る条件
この場合、@1表のプログラムリストにおいて、処理が
tj%2ブロック■に退社しない条件、すなわち、上記
第5式の条件の否定 TIME (COUNT+n)=0 =・(6)
が求めるべき条件となる。
tj%2ブロック■に退社しない条件、すなわち、上記
第5式の条件の否定 TIME (COUNT+n)=0 =・(6)
が求めるべき条件となる。
(4)第4ブロツク■を通る条件
ステップd3 では、第4ブロツク■の最終行番号9
をブロック化情報にとする対(k、請)が、j=2の場
合として、第3表より(8,11)として読出される。
をブロック化情報にとする対(k、請)が、j=2の場
合として、第3表より(8,11)として読出される。
この第8命令に対して、上記第2ブロツク■を通る条件
を求めた処理と同様な処理が行なわれる。ステップd4
では、第1表のプログラムの第k(= 8 )命令
「BMIJの分岐条件を支配するフラグの検出を行なう
。すなわち、上記第8命令の場合には、符号7ラグNで
ある。
を求めた処理と同様な処理が行なわれる。ステップd4
では、第1表のプログラムの第k(= 8 )命令
「BMIJの分岐条件を支配するフラグの検出を行なう
。すなわち、上記第8命令の場合には、符号7ラグNで
ある。
ステップc15.d6では、この符号7ラグNを変化し
うる最近の命令を検索する。上記第1表および第2−i
Tiを参照すれば、第7命令「LDAB PORTI
Jが対応することが検出される。ステップd8 では
、この符号7ラグNに関する第?Ifh令中のパラメー
タを検出する。すなわち第7命令は7キユムレータBに
関する命令であり、この7キユムレータBがパラメータ
として検出される。
うる最近の命令を検索する。上記第1表および第2−i
Tiを参照すれば、第7命令「LDAB PORTI
Jが対応することが検出される。ステップd8 では
、この符号7ラグNに関する第?Ifh令中のパラメー
タを検出する。すなわち第7命令は7キユムレータBに
関する命令であり、この7キユムレータBがパラメータ
として検出される。
ステップd12 では、パラメータとしての7キユム
レータBの入力命令を検出する。第1表のプログラムリ
ストを参照すれば、上記第7命令自身が7斗ユムレータ
Bの入力命令であることが検出される。したがってステ
ップd12 の判断は肯定となり、ステップd15
でのネスティング構造判断は否となるため、第3ブロ
ツク■の実打内容をオペランドによって表現すれば、求
める分岐条件は、 PORTI 7=0 ・・・(7)
となる。ここで表記rPORT17=OJは、入出カポ
−)PORTIの第7ビツトが「0」となる状態を表現
する。この後、処理はステップd13 に移l)判断
が否定となり、前述のような処理を経て処理はステップ
d3に戻る。
レータBの入力命令を検出する。第1表のプログラムリ
ストを参照すれば、上記第7命令自身が7斗ユムレータ
Bの入力命令であることが検出される。したがってステ
ップd12 の判断は肯定となり、ステップd15
でのネスティング構造判断は否となるため、第3ブロ
ツク■の実打内容をオペランドによって表現すれば、求
める分岐条件は、 PORTI 7=0 ・・・(7)
となる。ここで表記rPORT17=OJは、入出カポ
−)PORTIの第7ビツトが「0」となる状態を表現
する。この後、処理はステップd13 に移l)判断
が否定となり、前述のような処理を経て処理はステップ
d3に戻る。
(5)第5ブロツク■を通る条件
ステップd3では、j=3の場合としてブロック化情報
対(k、m)= (9,11)が読出され、ステップd
4では第k(= 9 )命令rBEQ NANNOI
Jの分岐条件を支配するフラグすなわちゼロ7ラグZが
検出される。続いてステップd5.d6では、このゼロ
7ラグZを変化しうる最近の命令として、第1表および
第2表を参照して、第7命令[LDAB、Iが検出され
る。
対(k、m)= (9,11)が読出され、ステップd
4では第k(= 9 )命令rBEQ NANNOI
Jの分岐条件を支配するフラグすなわちゼロ7ラグZが
検出される。続いてステップd5.d6では、このゼロ
7ラグZを変化しうる最近の命令として、第1表および
第2表を参照して、第7命令[LDAB、Iが検出され
る。
このロード命令はアキュムレータBにrPOR′r1」
の内容を読込む内容であり、このアキュムレータBに関
するゼロ7ラグZの成立の是非が分岐条件となる。した
がって、前述のような処理が繰り返された後、ステップ
dlOでは、PORTIの少なくとも1つのビット=1
・・・(8) が得られる。この後、処理はステップdll に移り
、第5ブロツク■がループ構造の一部をなすかどうかが
判断され、これは否定となる。
の内容を読込む内容であり、このアキュムレータBに関
するゼロ7ラグZの成立の是非が分岐条件となる。した
がって、前述のような処理が繰り返された後、ステップ
dlOでは、PORTIの少なくとも1つのビット=1
・・・(8) が得られる。この後、処理はステップdll に移り
、第5ブロツク■がループ構造の一部をなすかどうかが
判断され、これは否定となる。
続くステップd12 の判断は肯定となり、ステップ
d15 で第5ブaツク■がネスティング構造の一部
を成すかどうかが判断される。tjIJ5ブロック■は
2重のネスティング構造を構成しており、ステップd1
6 で上記第8式の分岐条件にネスティング要素が付
加される。
d15 で第5ブaツク■がネスティング構造の一部
を成すかどうかが判断される。tjIJ5ブロック■は
2重のネスティング構造を構成しており、ステップd1
6 で上記第8式の分岐条件にネスティング要素が付
加される。
すなわち、第12図に明らかなように、第5ブロツク■
は、第4ブロツク■を通過しなければ到達しない処理ブ
ロックであり、したがって#&5ブロック■の通過条件
は、第41aツク■の通過条件と上記第8式の条件との
論!!l!mとなる。すなわち、 PORT17=0 かつ、 PORTIの少なくとも1つのビット=1・・・(9) の分岐条件が得られる。この後、ステップd13におい
て、記憶したブロック列はないので、処理はステップd
3に戻る。
は、第4ブロツク■を通過しなければ到達しない処理ブ
ロックであり、したがって#&5ブロック■の通過条件
は、第41aツク■の通過条件と上記第8式の条件との
論!!l!mとなる。すなわち、 PORT17=0 かつ、 PORTIの少なくとも1つのビット=1・・・(9) の分岐条件が得られる。この後、ステップd13におい
て、記憶したブロック列はないので、処理はステップd
3に戻る。
(6)第6ブロツク■を通る条件
第14図の70−チャートにおいて、ステップd3でj
=4のとき、対応するブロック化情報に、 mが、第3
表を参照して存在しないことが判断される。したがって
、本件実施例のプログラム内容解析装置1は、現在の第
6ブロツクの分岐条件を、以前の直鎖ブロックと同一分
岐条件として設定する。すなわち現在の第6ブロツク■
の分岐条件は、以前の直鎖ブロックである第3ブロツク
■の分岐条件、すなわち上記第6式の条件として設定さ
れる。この後、処理は前記パラメータjを+1インクリ
メントした後に、ステップd3に戻る。
=4のとき、対応するブロック化情報に、 mが、第3
表を参照して存在しないことが判断される。したがって
、本件実施例のプログラム内容解析装置1は、現在の第
6ブロツクの分岐条件を、以前の直鎖ブロックと同一分
岐条件として設定する。すなわち現在の第6ブロツク■
の分岐条件は、以前の直鎖ブロックである第3ブロツク
■の分岐条件、すなわち上記第6式の条件として設定さ
れる。この後、処理は前記パラメータjを+1インクリ
メントした後に、ステップd3に戻る。
(7)第7ブロツク■を通る条件
第7ブロツク■は、上記第2ブロツク■の分岐条件を#
察した段階で、第2ブロツク■と組合されてループ構造
を構成するブロックとして把握されている。したがって
第7ブロツク■の分岐条件は、上記第3プaツクで挙げ
たループ処理の雌親条件の否定の形式の条件である上記
第5式の条件として示される。
察した段階で、第2ブロツク■と組合されてループ構造
を構成するブロックとして把握されている。したがって
第7ブロツク■の分岐条件は、上記第3プaツクで挙げ
たループ処理の雌親条件の否定の形式の条件である上記
第5式の条件として示される。
(8)第8ブロツク■を通る条件
tjS8ブロック■は、第3表およV第4表に示す分岐
ブロック1n報対(8,11)brで示される。したが
って第1表ff18命令の分岐条件より、第8ブロツク
■を処理が通る条件は、第4ブロツク■を通る条件の否
定、すなわち、 PORTI 7=1
−・・(10)となる。
ブロック1n報対(8,11)brで示される。したが
って第1表ff18命令の分岐条件より、第8ブロツク
■を処理が通る条件は、第4ブロツク■を通る条件の否
定、すなわち、 PORTI 7=1
−・・(10)となる。
(9)第9ブロツク■を通る条件
第9ブロツク■も、第3aおよび第4表から分岐ブロッ
ク情報(9,11)brによって規定されろブロックで
あり、したがって前記msブロック■を通る条件を考察
した際に検討した第1表第9命令の分岐条件(第8式)
の否定の条件と、第4プaツク■を通る条1’l’(1
tS7式)との論理積となる。すなわち、 PORTlの 全ヒツト=0 かっ PORTIの第7ビツト=0 ・・・(11)
の条件が得られる。
ク情報(9,11)brによって規定されろブロックで
あり、したがって前記msブロック■を通る条件を考察
した際に検討した第1表第9命令の分岐条件(第8式)
の否定の条件と、第4プaツク■を通る条1’l’(1
tS7式)との論理積となる。すなわち、 PORTlの 全ヒツト=0 かっ PORTIの第7ビツト=0 ・・・(11)
の条件が得られる。
(10)第10ブロツク[株]を通る条件第10ブロツ
ク[相]は、第6ブロツク■と分岐命令を介在すること
なく線形に続くブフツクであり、したがって第10ブロ
ツク[相]を処理が通る条件は、第6ブロツク■を通る
条件、すなわち第3ブロツク■を通る条件(上記第6式
)と同一になる。
ク[相]は、第6ブロツク■と分岐命令を介在すること
なく線形に続くブフツクであり、したがって第10ブロ
ツク[相]を処理が通る条件は、第6ブロツク■を通る
条件、すなわち第3ブロツク■を通る条件(上記第6式
)と同一になる。
(11)rpJl 1ブロツク■を通る条件第1表のプ
ラグラムリストから明かなように、第13命令〜第21
命令は、第1命令〜第12命令のメインルーチンに対す
る割込み処理ルーチンである。その内容から、上記第2
表の欄外に付した入力/出力の定義において、PORT
2のPAOビットに立も上がりエツジまたは立ち下がり
エツジの信号が入力された状態を表わす割込みベクトル
の条件、 IRQ2=O・・・(12) が得られる。
ラグラムリストから明かなように、第13命令〜第21
命令は、第1命令〜第12命令のメインルーチンに対す
る割込み処理ルーチンである。その内容から、上記第2
表の欄外に付した入力/出力の定義において、PORT
2のPAOビットに立も上がりエツジまたは立ち下がり
エツジの信号が入力された状態を表わす割込みベクトル
の条件、 IRQ2=O・・・(12) が得られる。
(12)$ 12ブロツク@を通る条件上記第4ブロツ
ク■を通る条件が導出された処理と同様な処理を経て、
tjS18命令rBNEJでゼロ7ラグZ=1となる条
件が求められればよ−1゜すなわち第18命令からプラ
グラムリストをさかのぼり、当該分岐命令を支配するフ
ラグであるゼロ7ラグZを変化させる最近の命令を検出
する。
ク■を通る条件が導出された処理と同様な処理を経て、
tjS18命令rBNEJでゼロ7ラグZ=1となる条
件が求められればよ−1゜すなわち第18命令からプラ
グラムリストをさかのぼり、当該分岐命令を支配するフ
ラグであるゼロ7ラグZを変化させる最近の命令を検出
する。
これは第17命令でストア命令1−3TAAJが検出さ
れ、パラメータとして7キユムレータAが検出される。
れ、パラメータとして7キユムレータAが検出される。
アキュムレータAの入力命令として、第13命令でロー
ド命令「L D D Jが検出さ九る。したがって第1
3命令〜第18命令の実行内容をオペランドで記述すれ
ば、 (CAPTI([1)−ZCAPT([))lの上位バ
イト=O・・・(13) が得られる。
ド命令「L D D Jが検出さ九る。したがって第1
3命令〜第18命令の実行内容をオペランドで記述すれ
ば、 (CAPTI([1)−ZCAPT([))lの上位バ
イト=O・・・(13) が得られる。
(13)第13命令■を通る条件
この場合、第1表のプログラムリスFにおいて、第13
命令以降の処理の進行において、処理が第12ブロツク
0に進行しない条件、すなわち上記第13式の条件の否
定、 (CAPTI(D) −ZCAPT([1)l(F)上
位ハ4)≠0・・・(14) が求めるべき条件となる。
命令以降の処理の進行において、処理が第12ブロツク
0に進行しない条件、すなわち上記第13式の条件の否
定、 (CAPTI(D) −ZCAPT([1)l(F)上
位ハ4)≠0・・・(14) が求めるべき条件となる。
この上う(こして第5図ステップ論3 において摘出さ
れるべき分岐条件は、各ブロック■〜0を処・ 埋が通
る条件として導出された。これ以降、処理は第5図ステ
ップ輪4に移る。
れるべき分岐条件は、各ブロック■〜0を処・ 埋が通
る条件として導出された。これ以降、処理は第5図ステ
ップ輪4に移る。
ステップI4 では、書込み命令単位の入出力結合処理
が行なわれる。ここに言う書込み命令とは、ストア命令
と、オペランドの直接捏作命令(たとえばオペランドの
数値を+1増加させるインクリメント命令rINCJな
と)とを指す、このような命令の検出は、第1表のプロ
グラムリストにおいて、各命令を読取ることによって直
ちに実現できる。
が行なわれる。ここに言う書込み命令とは、ストア命令
と、オペランドの直接捏作命令(たとえばオペランドの
数値を+1増加させるインクリメント命令rINCJな
と)とを指す、このような命令の検出は、第1表のプロ
グラムリストにおいて、各命令を読取ることによって直
ちに実現できる。
このような入出力の結合処理は、第15図の70−チャ
ートに示される。第15図 ステップel。
ートに示される。第15図 ステップel。
e2 では、第1表で示されるプログラムに対して、
前述したブロック化処理と分岐条件の生成処理とを行な
る。この後、ステップe3 では、第1表に示される
プログラムにおいて、書込命令が検出される。このよう
な書込み命令としては、第2命令(INCJ、第6命令
jsTAAJ、第11命令「5TAAJ、第16.命令
rsTXJ、第17命令rsTAAJお上び第20命令
1” 5TAAJが、後述するように検出される。
前述したブロック化処理と分岐条件の生成処理とを行な
る。この後、ステップe3 では、第1表に示される
プログラムにおいて、書込命令が検出される。このよう
な書込み命令としては、第2命令(INCJ、第6命令
jsTAAJ、第11命令「5TAAJ、第16.命令
rsTXJ、第17命令rsTAAJお上び第20命令
1” 5TAAJが、後述するように検出される。
(1)PA2命令[NCJについて
第5図ステップe4 では、当該命令に関するパラメ
ータを検出する。上述した残余の書込命令、たとえば第
6命令1”5TAAJでは、このようなパラメータとし
てたとえばアキュムレータAが検出されるが、第5命令
のようなメモリの直接操作命令では、本ステップを行な
うことなく、ステップe5 で当該命令がその命令の
所属するブロックの先頭であるかどうかを判断する。否
定であれば、ステップe6 に移って、命令列の配列
方向と反対方向に一命令を検出する。肯定であればステ
ップe7 で、当該ブロックに至るブロック列の種類
、すなわち当該ブロックに至る処理の系統の種類を記憶
する。
ータを検出する。上述した残余の書込命令、たとえば第
6命令1”5TAAJでは、このようなパラメータとし
てたとえばアキュムレータAが検出されるが、第5命令
のようなメモリの直接操作命令では、本ステップを行な
うことなく、ステップe5 で当該命令がその命令の
所属するブロックの先頭であるかどうかを判断する。否
定であれば、ステップe6 に移って、命令列の配列
方向と反対方向に一命令を検出する。肯定であればステ
ップe7 で、当該ブロックに至るブロック列の種類
、すなわち当該ブロックに至る処理の系統の種類を記憶
する。
第2命令に関しては、第2命令を含む第2ブロツク■に
至るブロックは、上記ブロック化処理から得られた第1
2図およV第13図の処理の流れ図に示されるように、
第1ブロツク■および第7ブロツク■である。ステップ
e8 では、このような記憶したブロック列中から−
ブロック (たとえば第7ブロツク■)を選択し、処理
はステップe6に移る。
至るブロックは、上記ブロック化処理から得られた第1
2図およV第13図の処理の流れ図に示されるように、
第1ブロツク■および第7ブロツク■である。ステップ
e8 では、このような記憶したブロック列中から−
ブロック (たとえば第7ブロツク■)を選択し、処理
はステップe6に移る。
ステップe6 では、選択されたブロックにおいて、
命令列の配列方向と反対方向に一命令を検出し、現時点
では第4命令「BNEJを検出する。これによりステッ
プe9.el 1 、 el 2の判断は、それぞれす
べて否定であり、したがって処理はステップe5 に
戻る。このようにして上述した処理を繰り返し行ない、
ステップe6 で第2命令が読取られたとき、ステッ
プel 1 でループになったことが判断され、ステ
ップe13 でループ要素が追加される。すなわち第
2命令の実行内容は、C0UNT−COUNT+ 1
−(15)であるが、この処理がループ構造にし
たがってn回実行される場合を想定すると、 C0UNT=COUNT+n =116)とな
る、これが第2命令の実行内容の一般形である。
命令列の配列方向と反対方向に一命令を検出し、現時点
では第4命令「BNEJを検出する。これによりステッ
プe9.el 1 、 el 2の判断は、それぞれす
べて否定であり、したがって処理はステップe5 に
戻る。このようにして上述した処理を繰り返し行ない、
ステップe6 で第2命令が読取られたとき、ステッ
プel 1 でループになったことが判断され、ステ
ップe13 でループ要素が追加される。すなわち第
2命令の実行内容は、C0UNT−COUNT+ 1
−(15)であるが、この処理がループ構造にし
たがってn回実行される場合を想定すると、 C0UNT=COUNT+n =116)とな
る、これが第2命令の実行内容の一般形である。
このときの実行条件は、上記第7ブロツク■を通る条件
、すなわち上記第5式の条件となる。したがって第2命
令に関しては、 if TIME −(n+C0LINT)≠0th
en 、C0UNT 4−C0UNT=0−(17)と
なる。
、すなわち上記第5式の条件となる。したがって第2命
令に関しては、 if TIME −(n+C0LINT)≠0th
en 、C0UNT 4−C0UNT=0−(17)と
なる。
(2)第6命令について
ステップe3 では、次の書込命令である第6命令を
検出し、ステップe4 で第6命令に関するパラメー
タすなわちアキュムレータAを検出する。
検出し、ステップe4 で第6命令に関するパラメー
タすなわちアキュムレータAを検出する。
ステップe5の判断は否定となり、ステップe6で第5
命令[cLRAJを検出する。
命令[cLRAJを検出する。
ステップe9 では、この第5命令が上記パラメータ
であるアキュレータAを変化させる命令であることが判
断され、ステップelOで第5命令が記憶される。ステ
ップel 1 では、当該第5命令がループ構造に含
まれないことが判断され、ステップe12 では、第
5命令が7キユムレータAの入力命令であることが判断
される。この後、ステップe14 の判断で肯定とな
り、処理はステップe15に移る。
であるアキュレータAを変化させる命令であることが判
断され、ステップelOで第5命令が記憶される。ステ
ップel 1 では、当該第5命令がループ構造に含
まれないことが判断され、ステップe12 では、第
5命令が7キユムレータAの入力命令であることが判断
される。この後、ステップe14 の判断で肯定とな
り、処理はステップe15に移る。
したがって実行内容は、
C0UNT←0 ・・・(18)と
なり、実行条件は、処理がPA3ブロック■を通る条件
、すなわち上記第6式で示される条件と同一になり、こ
れらを整理すれば、 if TIME −(n+ C0UNT)= 0t
hen C0UNT=0 =−
(19)の結果が得られる。
なり、実行条件は、処理がPA3ブロック■を通る条件
、すなわち上記第6式で示される条件と同一になり、こ
れらを整理すれば、 if TIME −(n+ C0UNT)= 0t
hen C0UNT=0 =−
(19)の結果が得られる。
(3)第11命令について
tJ411命令については、第15図に示されるステッ
プe3 で当該命令が検出された後、ステップe4
でパラメータとしてアキュムレータAが検出される。
プe3 で当該命令が検出された後、ステップe4
でパラメータとしてアキュムレータAが検出される。
ステップe5 では、上記第3表および第4表を参照
して、第11命令が第6ブロツク■の先頭であることが
判断され、処理はステップe7に移る。この判断によっ
て、第1表のプログラムリストにおいて、第11命令に
到達するには第5ブロツク■、第9ブロツク■およC/
第8ブロツク■をそれぞれ通る3つの経路が存在するこ
とが認識される。以下、後述する実行内容の検出と実行
条件の検出とを各経路毎に行ない、それらの結果が論理
和として出力される。
して、第11命令が第6ブロツク■の先頭であることが
判断され、処理はステップe7に移る。この判断によっ
て、第1表のプログラムリストにおいて、第11命令に
到達するには第5ブロツク■、第9ブロツク■およC/
第8ブロツク■をそれぞれ通る3つの経路が存在するこ
とが認識される。以下、後述する実行内容の検出と実行
条件の検出とを各経路毎に行ない、それらの結果が論理
和として出力される。
(ア)第5ブロツク■を通る経路の場合ステップe4
でバフメータであるアキュムレータAを検出し、プロ
グラムをさかのぼると、第10命令で7キユムレータA
に関するロード命令が検出される。ここで第11命令は
、入出力ボートへの書込み命令であり、論理演算として
扱う、したがって第10命令および第11命令による実
行内容は、第1表のプログラムリスト上の表現では、P
ORTI←¥80 ・・・(20)と表
現されるが、論理演算の結果としては、上記第10式と
同等な PORT17←1 ・・・(10)な
る論理式が得られる。
でバフメータであるアキュムレータAを検出し、プロ
グラムをさかのぼると、第10命令で7キユムレータA
に関するロード命令が検出される。ここで第11命令は
、入出力ボートへの書込み命令であり、論理演算として
扱う、したがって第10命令および第11命令による実
行内容は、第1表のプログラムリスト上の表現では、P
ORTI←¥80 ・・・(20)と表
現されるが、論理演算の結果としては、上記第10式と
同等な PORT17←1 ・・・(10)な
る論理式が得られる。
このときの実行条件は、第5ブロツク■を処理が通る条
件(上記第9式)と、第2ブロツク■および第7ブロツ
ク■からなるループを処理が離脱する条件、すなわち処
理がtj43ブロック■を通る条件(上記第6式)との
論理積となる。したがって、if TIME (
n+ C0UNT)= 0and PORT17=O and PORTI≠¥00 then PORT174−1
−(21)なる論理式出力が得ら
れる。
件(上記第9式)と、第2ブロツク■および第7ブロツ
ク■からなるループを処理が離脱する条件、すなわち処
理がtj43ブロック■を通る条件(上記第6式)との
論理積となる。したがって、if TIME (
n+ C0UNT)= 0and PORT17=O and PORTI≠¥00 then PORT174−1
−(21)なる論理式出力が得ら
れる。
(イ)第8ブロツク■を通る場合
ステップe6 でプログラムをさかのぼると、第6命
令でストア命令[5TAAJが検出される。したがって
求める実行内容は、前述の第6命令の場合と同様にして
、FORTI←¥00が求められる。
令でストア命令[5TAAJが検出される。したがって
求める実行内容は、前述の第6命令の場合と同様にして
、FORTI←¥00が求められる。
また実行条件は、前述したループの離脱条件すなわち第
3ブロツク■を通る条件(第6式)と、第8ブロツク■
を処理が通る条件(第10式)との論理積である。した
がってこれらをまとめて、if TIME −(n
+ C0UNT)= 0ancl PORT17=
1 tl+en PORT14−¥00
・(22)の論理式出力が得られる。
3ブロツク■を通る条件(第6式)と、第8ブロツク■
を処理が通る条件(第10式)との論理積である。した
がってこれらをまとめて、if TIME −(n
+ C0UNT)= 0ancl PORT17=
1 tl+en PORT14−¥00
・(22)の論理式出力が得られる。
(つ)#Sタブロック■を通る場合
ステップe4 で検出されるパラメータは、7キユムレ
ータAであり、第9ブロツク■を通ってプログラムをさ
かのぼるとtltJ6命令を検出する。したがってこの
場合の実行内容は、上記第22式と同一であり、実行条
件はループの離脱条件すなわち第3ブロツク■を通る条
件(第6式)と、第4プaツク■を通る条件(第7式)
と、第9ブロツク■を通る条件(第11式)との論理積
である。したがってこれらをまとめて、 if TIME (n+ C0UNT)=Oan
d PORT17”0 and (PORT17=Oand PORT1=¥
00)then PORT14−¥(10・(23)
の出力が得られる。
ータAであり、第9ブロツク■を通ってプログラムをさ
かのぼるとtltJ6命令を検出する。したがってこの
場合の実行内容は、上記第22式と同一であり、実行条
件はループの離脱条件すなわち第3ブロツク■を通る条
件(第6式)と、第4プaツク■を通る条件(第7式)
と、第9ブロツク■を通る条件(第11式)との論理積
である。したがってこれらをまとめて、 if TIME (n+ C0UNT)=Oan
d PORT17”0 and (PORT17=Oand PORT1=¥
00)then PORT14−¥(10・(23)
の出力が得られる。
このようにしで、第11命令に関する入出力条件の結合
処理が実現された。
処理が実現された。
(4)第16命令について
第1表のプログラムリストにおいて、行番号13〜21
は割込みルーチンであり、行番号1〜12のメイン処理
ルーチンとは独立の内容となっている。したがってtl
Sis図ステップe4 で第16命令rSTXJが検
出される。第16命令に関して検出されるパラメータは
、インデックスレジスタXであり、ステップe6 で
プログラムをさかのぼるとtjS15命令でロード命令
が検出される。したかって第16命令に関する入出力結
合結果は、if IRQ2”1 then Z CA P T=CA P T 1
・・(24)の論理式出力が得られる。
は割込みルーチンであり、行番号1〜12のメイン処理
ルーチンとは独立の内容となっている。したがってtl
Sis図ステップe4 で第16命令rSTXJが検
出される。第16命令に関して検出されるパラメータは
、インデックスレジスタXであり、ステップe6 で
プログラムをさかのぼるとtjS15命令でロード命令
が検出される。したかって第16命令に関する入出力結
合結果は、if IRQ2”1 then Z CA P T=CA P T 1
・・(24)の論理式出力が得られる。
(5)第17命令「5TAAJについて第16命令と同
様にステップe4 で、パラ7−タとしてアキュムレー
タAを検出する。ステップe6 でプログラムをさが
のばると、第13命令でロード命令1’L D D J
が検出される。したがって第17命令でオペランド[T
IMEJにストアされるのは、オペランドrcAPTI
JおよびオペランドrZcAPTJの各上位バイト情報
である。また実行条件は第16命令と同一である。した
がってこれらを整理して、 if IRQ2=1 then TIME ←(CAPTI(D)−ZCA
PT(D))(旧・・・(25) 注:第25式の右辺末尾の(H)は、右辺のオペランド
の上位バイトであることを示す。
様にステップe4 で、パラ7−タとしてアキュムレー
タAを検出する。ステップe6 でプログラムをさが
のばると、第13命令でロード命令1’L D D J
が検出される。したがって第17命令でオペランド[T
IMEJにストアされるのは、オペランドrcAPTI
JおよびオペランドrZcAPTJの各上位バイト情報
である。また実行条件は第16命令と同一である。した
がってこれらを整理して、 if IRQ2=1 then TIME ←(CAPTI(D)−ZCA
PT(D))(旧・・・(25) 注:第25式の右辺末尾の(H)は、右辺のオペランド
の上位バイトであることを示す。
(6)第20命令[5TAAJについて第20命令の場
合には、第5図ステップe4で、当該命令に関するパラ
メータすなわちアキュムレータAを検出する。このパラ
メータを決定する最新の命令をプログラムをさかのぼっ
てステップe6 で検索すると、第19命令で7斗ユム
レータAに関する繰作命令[DEcAJが検出される。
合には、第5図ステップe4で、当該命令に関するパラ
メータすなわちアキュムレータAを検出する。このパラ
メータを決定する最新の命令をプログラムをさかのぼっ
てステップe6 で検索すると、第19命令で7斗ユム
レータAに関する繰作命令[DEcAJが検出される。
したがって第20命令の実行内容は、
C0UNT 4−A−1・・・(26)となる。
ここで第19命令は、第18命令の分岐命令でゼロ7ラ
グZ=1の場合であることを考慮すると、上記第25式
において、 T I ME=7キユムレータA=0 ・・・(2
7)の場合に相当する。したがって上記第26式におい
て、アキュムレータA=0であり、 C0UNT←¥FF ・・・(28)
が結論される。
グZ=1の場合であることを考慮すると、上記第25式
において、 T I ME=7キユムレータA=0 ・・・(2
7)の場合に相当する。したがって上記第26式におい
て、アキュムレータA=0であり、 C0UNT←¥FF ・・・(28)
が結論される。
その実行条件は、第11ブロツク■およびf!Si2ブ
ロック@を処理が通る条件、すなわち上記第12式およ
び第13式で示される各条件の論理積となる。したがっ
てこれらをまとめれば、if IR(12= 1 and (CAPT 1 (D)−ZCAPT(D)
)(+1)= Ot h e n COU N T
4−¥FF ・(29)が得られ、こ
れで第1表のプログラムリストに関して第5図ステップ
鐘4 の書込み命令単位の入出力結合処理が行なわれる
。
ロック@を処理が通る条件、すなわち上記第12式およ
び第13式で示される各条件の論理積となる。したがっ
てこれらをまとめれば、if IR(12= 1 and (CAPT 1 (D)−ZCAPT(D)
)(+1)= Ot h e n COU N T
4−¥FF ・(29)が得られ、こ
れで第1表のプログラムリストに関して第5図ステップ
鐘4 の書込み命令単位の入出力結合処理が行なわれる
。
続いて、第5図ステップvAS で後述するようなパ
イルの結合処理が行なわれる。ここに言うパイルとは、
プログラムリスト中におけるオペランドの直接操作命令
を含むたとえば上記第29式のような書込み命令が実行
されるための実行条件と実行内容との結合表記を指す、
その具体的処理内容は第16図の70−チャートに示さ
れる。
イルの結合処理が行なわれる。ここに言うパイルとは、
プログラムリスト中におけるオペランドの直接操作命令
を含むたとえば上記第29式のような書込み命令が実行
されるための実行条件と実行内容との結合表記を指す、
その具体的処理内容は第16図の70−チャートに示さ
れる。
上述したように、$1表のプログラムリストには6個の
書込み命令があり、第3命令には第17式のパイルD7
、第6命令には第19式のパイルD6、第4命令には第
21式〜第23式のパイルD 3 、D 2 、D 1
、第15命令には第24式のパイルD5、第17命令に
は第25式のペイルD4、第20命令には第29式のD
8がそれぞれ作成される。
書込み命令があり、第3命令には第17式のパイルD7
、第6命令には第19式のパイルD6、第4命令には第
21式〜第23式のパイルD 3 、D 2 、D 1
、第15命令には第24式のパイルD5、第17命令に
は第25式のペイルD4、第20命令には第29式のD
8がそれぞれ作成される。
以下、第16図を参照して、パイル結合処理について説
明する。ステップf1 では、ボートへの書込み命令
がある外部出力命令パイルD1.D2゜D3を検出する
。
明する。ステップf1 では、ボートへの書込み命令
がある外部出力命令パイルD1.D2゜D3を検出する
。
ステップf2 では、たとえばパイルDl中の未決定
パラメータを決定するパイルを検出する。すなわち、パ
イルD1の実行条件に関して、パラメータ[TIMEJ
、「cOUNTJが未決定である。
パラメータを決定するパイルを検出する。すなわち、パ
イルD1の実行条件に関して、パラメータ[TIMEJ
、「cOUNTJが未決定である。
また、残余の外部出力命令パイルD2.D3についても
、それぞれ実行内容は異なるものの、未決定パラメータ
はパイルD1と同一のものが検出される。
、それぞれ実行内容は異なるものの、未決定パラメータ
はパイルD1と同一のものが検出される。
以下、このようなパラメータを決定するパイルを検出す
る。パラメータrTIMEJについてはパイルD4が検
出され、続くステップ「3 では該パイルD4に含まれ
る全てのパラメータが決定されているかどうかを判断す
る。現時点では判断結果は否定であり、処理はステップ
f2 に戻り、パラメータI’CAPT I J、r
ZCAPTJを決定するパイルを検出する。このとき第
5パイルD5が選ばれる。このときステップf3 で
は、全パラメータが決定されたことが判断され、処理は
ステップf4に移り、外部出力命令パイルが終了したか
どうかを判断する。現時点では外部出力命令パイルD1
のみを検討しており、判断結果は否定となり、処理はス
テップf1 に戻る。
る。パラメータrTIMEJについてはパイルD4が検
出され、続くステップ「3 では該パイルD4に含まれ
る全てのパラメータが決定されているかどうかを判断す
る。現時点では判断結果は否定であり、処理はステップ
f2 に戻り、パラメータI’CAPT I J、r
ZCAPTJを決定するパイルを検出する。このとき第
5パイルD5が選ばれる。このときステップf3 で
は、全パラメータが決定されたことが判断され、処理は
ステップf4に移り、外部出力命令パイルが終了したか
どうかを判断する。現時点では外部出力命令パイルD1
のみを検討しており、判断結果は否定となり、処理はス
テップf1 に戻る。
これ以降、パイルD2.D3が外部出力命令パイルとし
て検出され、それぞれについて前述の場合と同様な処理
が行なわれる。パイルD1〜D3では、未決定のパラメ
ータは共通であり、したがってステップf2 では同
一内容の処理が行なわれる。このようにしてパイルD3
に対するパイル結合が終了した後、ステップf4 で
は判断結果が片足となり、ステップf5に移って第17
図(1−1)〜(3−3)のパイル結合結果が出力され
る。このようにして第5図ステップ−5のパイルの結合
処理が終了する。
て検出され、それぞれについて前述の場合と同様な処理
が行なわれる。パイルD1〜D3では、未決定のパラメ
ータは共通であり、したがってステップf2 では同
一内容の処理が行なわれる。このようにしてパイルD3
に対するパイル結合が終了した後、ステップf4 で
は判断結果が片足となり、ステップf5に移って第17
図(1−1)〜(3−3)のパイル結合結果が出力され
る。このようにして第5図ステップ−5のパイルの結合
処理が終了する。
以上のように本実施例では、第5図ステップ噛3以降の
分岐条件摘出処理などを行なうに先だって、第5図ステ
ップ輸1 の流れ構造の解析処理を行なうようにした。
分岐条件摘出処理などを行なうに先だって、第5図ステ
ップ輸1 の流れ構造の解析処理を行なうようにした。
したがってプログラム中の分岐命令や分岐先命令が事前
に明らかとなり、OCRなどの制御情報は、これらの命
令に関してのみ記憶すればよい、したがって被解析プロ
グラムの動作内容を分析するに当り、たとえばOCRを
全命令にわたって記憶する必要がなく、装置に要求され
る記憶容量を格段に削減できる。
に明らかとなり、OCRなどの制御情報は、これらの命
令に関してのみ記憶すればよい、したがって被解析プロ
グラムの動作内容を分析するに当り、たとえばOCRを
全命令にわたって記憶する必要がなく、装置に要求され
る記憶容量を格段に削減できる。
上述の実施例では、第5図ステップ−6を経由すること
なく、被解析プログラムに関して第5図ステップI11
の流れ構造の解析処理などの処理を行なうようにし
た。このときステップ曽1 の処理段階では、各命令が
有するCCHの内容は明らかになっておらず、これ以降
の処理の進行に従って、逐次明らかとなる。
なく、被解析プログラムに関して第5図ステップI11
の流れ構造の解析処理などの処理を行なうようにし
た。このときステップ曽1 の処理段階では、各命令が
有するCCHの内容は明らかになっておらず、これ以降
の処理の進行に従って、逐次明らかとなる。
一方、本発明の他の実施例として第5図ステップ論6
において、プログラムの各命令の実行にともなって変化
する情報(OCRの情報も含む)をすべて記憶してゆく
処理を、予め行なう構成とじてもよい。このような処理
を実現する手順を、第18図の70−チャートに示す、
*た、本実施例では各命令毎のCCRを含む各種パラメ
ータを、たとえば12項目にわたって逐次記憶するので
、説明の簡略化のため、下記Pt45表に示されるプロ
グラムリストに沿って説明する。このようなプログラム
リストに示される命令列についても、上記第5図のステ
ップ輪1〜饋6で示される解析処理が同様に行なわれ得
るのは、勿論である。またこのプログラムの実行内容は
、第19図の70−チャートに示される。
において、プログラムの各命令の実行にともなって変化
する情報(OCRの情報も含む)をすべて記憶してゆく
処理を、予め行なう構成とじてもよい。このような処理
を実現する手順を、第18図の70−チャートに示す、
*た、本実施例では各命令毎のCCRを含む各種パラメ
ータを、たとえば12項目にわたって逐次記憶するので
、説明の簡略化のため、下記Pt45表に示されるプロ
グラムリストに沿って説明する。このようなプログラム
リストに示される命令列についても、上記第5図のステ
ップ輪1〜饋6で示される解析処理が同様に行なわれ得
るのは、勿論である。またこのプログラムの実行内容は
、第19図の70−チャートに示される。
第 5 表
上記第5表のプログラムは上述の実施例と同様に、たと
えば磁気テープ装置!!2から解析装M1の内部記憶装
a4へ転送される。このように内部記憶装ra4へ転送
されたプログラムの各命令を読取る毎に記憶される情報
は、下記の第6表に示されるたとえば12項目の事項で
ある。
えば磁気テープ装置!!2から解析装M1の内部記憶装
a4へ転送される。このように内部記憶装ra4へ転送
されたプログラムの各命令を読取る毎に記憶される情報
は、下記の第6表に示されるたとえば12項目の事項で
ある。
(以下余白)
第 6 表
以下、第18図および第19図を参照して、本実施例の
処理手順について説明する。第18図ステップg1
では、第5表のプログラムの第1命令が読取られる。ス
テップg2 では、この命令が分岐命令かどうかを判
断し、否定であればステップg3 に移り、各命令毎
の上述した変化情報を記憶する。肯定であれば、ステッ
プ、4 でこれ以降処理が進行する系統の選択を行な
う。すなわち、4ステップg2 で分岐命令が検出さ
れれば、それ以降の処理は2つまたはそれ以上の異なる
系統を有することになり、そのいずれか1つを選択する
。I#1命令rL D A A Jでは、ステップg2
は否定となる。
処理手順について説明する。第18図ステップg1
では、第5表のプログラムの第1命令が読取られる。ス
テップg2 では、この命令が分岐命令かどうかを判
断し、否定であればステップg3 に移り、各命令毎
の上述した変化情報を記憶する。肯定であれば、ステッ
プ、4 でこれ以降処理が進行する系統の選択を行な
う。すなわち、4ステップg2 で分岐命令が検出さ
れれば、それ以降の処理は2つまたはそれ以上の異なる
系統を有することになり、そのいずれか1つを選択する
。I#1命令rL D A A Jでは、ステップg2
は否定となる。
ステップg3 では、第5表第1命令に関する、上記
第6表の各項目の事項が、下記第7−1表に示すように
記憶される。なお、以降の各表において、記号[NEV
ERJは記憶内容がリセットされることを示し、記号r
ALWAYsJは記憶内容がセットされることを示す。
第6表の各項目の事項が、下記第7−1表に示すように
記憶される。なお、以降の各表において、記号[NEV
ERJは記憶内容がリセットされることを示し、記号r
ALWAYsJは記憶内容がセットされることを示す。
また、記号「・」は、記憶内容はこの命令では変化しな
いことを示す。
いことを示す。
(以下余白)
PtS?−1表
の読取り処理が進行している第5表のプログラムの系統
の最終命令まで到達したかどうかを判断する。?111
結果が否定であれば、処理はステップg1に戻り、引き
続く命令を読取る。また判断結果が肯定であれば、処理
はステップg6 に移って、当該プログラムリストの
異なる系統の選択肢(ステップg4参照)は尽きたかど
うかを判断する。すなわち、本実施例の第5表に示すプ
ログラムでは第19図に示すように処理系統は、 Hl−、H2−+03−、H4−H5・(30)および H1→H2→H3→H5・・・(31)の2系統が存在
することになり、各系統について最終命令までの本実施
例の処理が終了したとき、この判断は肯定となり処理が
終了する。ステップg5の判断が肯定であれば、処理は
ステップgりに移り、他の異なる残余の系統が選択され
、ステップg1に戻る。
の最終命令まで到達したかどうかを判断する。?111
結果が否定であれば、処理はステップg1に戻り、引き
続く命令を読取る。また判断結果が肯定であれば、処理
はステップg6 に移って、当該プログラムリストの
異なる系統の選択肢(ステップg4参照)は尽きたかど
うかを判断する。すなわち、本実施例の第5表に示すプ
ログラムでは第19図に示すように処理系統は、 Hl−、H2−+03−、H4−H5・(30)および H1→H2→H3→H5・・・(31)の2系統が存在
することになり、各系統について最終命令までの本実施
例の処理が終了したとき、この判断は肯定となり処理が
終了する。ステップg5の判断が肯定であれば、処理は
ステップgりに移り、他の異なる残余の系統が選択され
、ステップg1に戻る。
以下、このようにして$5表第2命令および第3命令に
ついて、下記第7−2表および第7−3表のように情報
の記憶が行なわれる。第5表に明らかなように第3命令
「BCC」は、キャリー7ラグCについて、「0」のと
き、ラベル[LABELJの命令へ処理を分岐する分岐
命令である。したがって第18図ステップg2 の判
断が肯定となり、ステップg4 で、たとえば上記第
30式の系統が最初に選択される。このようにすれば、
以下の第4命令および第5命令に関して、下記第7−4
表および第7−5表に示されるように情報が記憶される
。
ついて、下記第7−2表および第7−3表のように情報
の記憶が行なわれる。第5表に明らかなように第3命令
「BCC」は、キャリー7ラグCについて、「0」のと
き、ラベル[LABELJの命令へ処理を分岐する分岐
命令である。したがって第18図ステップg2 の判
断が肯定となり、ステップg4 で、たとえば上記第
30式の系統が最初に選択される。このようにすれば、
以下の第4命令および第5命令に関して、下記第7−4
表および第7−5表に示されるように情報が記憶される
。
第7−2表
fjSl−3表
第7−4 表
第7−5表
上記第30式に示される処理系統が終了すると、ステッ
プg夕の判断は肯定となり、ステップg6で判断は否定
となり、ステップビグで上記第31式に示される処理系
統が選択される。このとき処理の分岐が行なわれる上記
第3命令までは、PIS30式に示される処理系統で情
報の記憶は終了しており、第31式ではPt5s表第5
命令のみが処理の対象となる。したがって第5命令に関
して、ステップg1 で再び命令が読取られ、上述と
同様の処理が行なわれ、上記第7−5a表に示されるよ
うに、上記第7−5表と同様の情報が記憶されることに
なる。
プg夕の判断は肯定となり、ステップg6で判断は否定
となり、ステップビグで上記第31式に示される処理系
統が選択される。このとき処理の分岐が行なわれる上記
第3命令までは、PIS30式に示される処理系統で情
報の記憶は終了しており、第31式ではPt5s表第5
命令のみが処理の対象となる。したがって第5命令に関
して、ステップg1 で再び命令が読取られ、上述と
同様の処理が行なわれ、上記第7−5a表に示されるよ
うに、上記第7−5表と同様の情報が記憶されることに
なる。
第7−5a表
このようにして、第5図ステップ論6 で上記第7−1
表〜第7−5a表に示される内容の情報が、各命令毎に
記憶される。したがってこのような記憶された情報に基
づいて、第5図ステップ−1以降の」二連した処理を行
なう場合であっても、上記各表の記憶内容を活用できる
ことになる。すなわち、第5図ステップ鵠1〜m5の詳
細を示した前記各70−チャートに従って、このような
記憶内容を呼び出して合成するだけで必要な動作内容、
あるいは分岐条件等を得ることができる。これにより処
理速度が格段に向上される。
表〜第7−5a表に示される内容の情報が、各命令毎に
記憶される。したがってこのような記憶された情報に基
づいて、第5図ステップ−1以降の」二連した処理を行
なう場合であっても、上記各表の記憶内容を活用できる
ことになる。すなわち、第5図ステップ鵠1〜m5の詳
細を示した前記各70−チャートに従って、このような
記憶内容を呼び出して合成するだけで必要な動作内容、
あるいは分岐条件等を得ることができる。これにより処
理速度が格段に向上される。
上述の実施例では各命令に関する情報を記憶するにあた
り、前後の命令の実行内容と関連させて行なうようにし
た。たとえば第5表第2命令ではアキュムレータAとデ
ータr#40Jとを比較するが、第2命令に関して第1
命令との関連を考慮するならば、第2命令におけるアキ
ュムレータAの内容は第1命令において取込まれたオペ
ランド「RAMJに置き換えておく。したがってtjS
7−2;*の項目記号(a)の記憶内容rRAM−40
Jが得られる。
り、前後の命令の実行内容と関連させて行なうようにし
た。たとえば第5表第2命令ではアキュムレータAとデ
ータr#40Jとを比較するが、第2命令に関して第1
命令との関連を考慮するならば、第2命令におけるアキ
ュムレータAの内容は第1命令において取込まれたオペ
ランド「RAMJに置き換えておく。したがってtjS
7−2;*の項目記号(a)の記憶内容rRAM−40
Jが得られる。
一方、本発明のその他の実施例として、各命令に関する
前記各種情報を前後の命令の実行内容と無関係に記憶さ
せるようにしてもよい、すなわち、このような実施例の
処理手順は、各命令の読取り処理と、当該命令に規定さ
れる各種情報の記憶処理とのみからなり、第5表第1命
令〜第5frI令に関して、上記第8−1表〜第8−5
表で示される記憶情報が得られることになる。
前記各種情報を前後の命令の実行内容と無関係に記憶さ
せるようにしてもよい、すなわち、このような実施例の
処理手順は、各命令の読取り処理と、当該命令に規定さ
れる各種情報の記憶処理とのみからなり、第5表第1命
令〜第5frI令に関して、上記第8−1表〜第8−5
表で示される記憶情報が得られることになる。
(以下余白)
第8−1表
(以下余白)
tIS8−2表
(以下余白)
第8−3表
18−4表
第8−5表
このようにして本実施例においても、前述の各実施例に
おいて述べた効果と同様の効果を得られるぽかりでなく
、分岐命令などによって設定される複数の異なる処理系
統において、共通して用いられる命令列に関し、記憶す
べき情報を重複して記憶する必要がなく、必要とされる
記憶手段の記憶容量を格段に削減することができる。
おいて述べた効果と同様の効果を得られるぽかりでなく
、分岐命令などによって設定される複数の異なる処理系
統において、共通して用いられる命令列に関し、記憶す
べき情報を重複して記憶する必要がなく、必要とされる
記憶手段の記憶容量を格段に削減することができる。
効 果
以上のようにして本発明に従えば、各命令毎に規定され
る情報を命令列の読取り時に、逐次的に記憶するように
した。したがってこのようなプログラムを区分する処理
、またはそのような区分処理に基づいて、命令列の実行
内容や実行条件などを解析する場合であっても、記憶さ
れた情報を適宜呼び出して組合わすだけでよく、処理速
度が格段に向上されるとともに、必要とされる記憶容量
を低減できる。
る情報を命令列の読取り時に、逐次的に記憶するように
した。したがってこのようなプログラムを区分する処理
、またはそのような区分処理に基づいて、命令列の実行
内容や実行条件などを解析する場合であっても、記憶さ
れた情報を適宜呼び出して組合わすだけでよく、処理速
度が格段に向上されるとともに、必要とされる記憶容量
を低減できる。
第1図は本発明の一実施例のプログラム内容解析装置1
の構成を示すブロック図、第2図は解析装置i!lの記
憶領域10の構成を示すブロック図、第3図はプログラ
ム内容解析装置1の基本的動作を示すフローチャート、
第4図は表示装置5の表示例を示す図、第5図は解析装
置1のプログラム内容解析処理手順を示す70−チャー
ト、第6図および第7図は被解析プログラム例の動作内
容を示す70−チャート、tlS8図は流れ構造の解析
処理手順を示す70−チャート、第9図は流れ構造の解
析処理結果を示す系統図、第10図はブロック化処理手
順を示す70−チャート、第11図はブロック化処理の
中間結果を示す系統図、第12図および第13図はブロ
ック化処理結果を示す系統図、第14図は分岐条件摘出
処理手順を示すフローチャート、第15図は入出力結合
処理手順を示す70−チャート、第16図はパイル結合
処理手順を示すフローチャート、第17図はパイル結合
処理結果を示す系統図、第18図は本発明の他の実施例
の処理手順を示す70−チャート、第19図は他の被解
析プログラムの処理内容を示す70−チャートである。 1・・・プログラム内容解析装置、2・・・磁気テープ
装置、3・・・磁気ディスク装置、4・・・内部記憶装
置5・・・表示装置、8・・・処理装置、10・・・記
憶領域、10a・・・アーキテクチャ記憶領域 代理人 弁理士 函数 圭一部 1 第1図 一\ 8 82図 第3図 第4図 第 5 図 イで?の夕8.玉ジ1 第 6図 メインルーチンへ 第8図 第10図 M11図 第12図 第13図 第16図 i17図 Ll:) Llコ
D′O第18図
の構成を示すブロック図、第2図は解析装置i!lの記
憶領域10の構成を示すブロック図、第3図はプログラ
ム内容解析装置1の基本的動作を示すフローチャート、
第4図は表示装置5の表示例を示す図、第5図は解析装
置1のプログラム内容解析処理手順を示す70−チャー
ト、第6図および第7図は被解析プログラム例の動作内
容を示す70−チャート、tlS8図は流れ構造の解析
処理手順を示す70−チャート、第9図は流れ構造の解
析処理結果を示す系統図、第10図はブロック化処理手
順を示す70−チャート、第11図はブロック化処理の
中間結果を示す系統図、第12図および第13図はブロ
ック化処理結果を示す系統図、第14図は分岐条件摘出
処理手順を示すフローチャート、第15図は入出力結合
処理手順を示す70−チャート、第16図はパイル結合
処理手順を示すフローチャート、第17図はパイル結合
処理結果を示す系統図、第18図は本発明の他の実施例
の処理手順を示す70−チャート、第19図は他の被解
析プログラムの処理内容を示す70−チャートである。 1・・・プログラム内容解析装置、2・・・磁気テープ
装置、3・・・磁気ディスク装置、4・・・内部記憶装
置5・・・表示装置、8・・・処理装置、10・・・記
憶領域、10a・・・アーキテクチャ記憶領域 代理人 弁理士 函数 圭一部 1 第1図 一\ 8 82図 第3図 第4図 第 5 図 イで?の夕8.玉ジ1 第 6図 メインルーチンへ 第8図 第10図 M11図 第12図 第13図 第16図 i17図 Ll:) Llコ
D′O第18図
Claims (1)
- 【特許請求の範囲】 機能語のみ、または機能語とオペランドとからなる命令
列を読取り、 各命令の実行内容に関連し、各命令毎に規定される情報
を、命令列の読取り毎に逐次的に記憶するようにしたこ
とを特徴とするプログラム内容解析装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62154053A JPS63317845A (ja) | 1987-06-20 | 1987-06-20 | プログラム内容解析装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62154053A JPS63317845A (ja) | 1987-06-20 | 1987-06-20 | プログラム内容解析装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63317845A true JPS63317845A (ja) | 1988-12-26 |
Family
ID=15575883
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62154053A Pending JPS63317845A (ja) | 1987-06-20 | 1987-06-20 | プログラム内容解析装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63317845A (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5854449A (ja) * | 1981-09-28 | 1983-03-31 | Fujitsu Ltd | 分岐命令短縮化処理方式 |
| JPS6081641A (ja) * | 1983-10-11 | 1985-05-09 | Matsushita Electric Ind Co Ltd | レジスタトレース方法 |
| JPS60107142A (ja) * | 1983-11-16 | 1985-06-12 | Matsushita Electric Ind Co Ltd | プログラム翻訳装置 |
| JPS6167131A (ja) * | 1984-09-10 | 1986-04-07 | Fujitsu Ltd | ドキユメント自動出力制御方式 |
-
1987
- 1987-06-20 JP JP62154053A patent/JPS63317845A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5854449A (ja) * | 1981-09-28 | 1983-03-31 | Fujitsu Ltd | 分岐命令短縮化処理方式 |
| JPS6081641A (ja) * | 1983-10-11 | 1985-05-09 | Matsushita Electric Ind Co Ltd | レジスタトレース方法 |
| JPS60107142A (ja) * | 1983-11-16 | 1985-06-12 | Matsushita Electric Ind Co Ltd | プログラム翻訳装置 |
| JPS6167131A (ja) * | 1984-09-10 | 1986-04-07 | Fujitsu Ltd | ドキユメント自動出力制御方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101206467B (zh) | 通用数控代码解析方法 | |
| JPS58501603A (ja) | ディジタルデータ処理方法および手段 | |
| CN106528821B (zh) | 一种变动列数据导入数据库的方法 | |
| CN106856091A (zh) | 一种多语言文本的自动播报方法及系统 | |
| CN119026686A (zh) | 一种具像化的大模型推理辅助方法 | |
| JPS63317845A (ja) | プログラム内容解析装置 | |
| JPS6081641A (ja) | レジスタトレース方法 | |
| JPS63317844A (ja) | プログラム内容解析装置 | |
| JPS63317848A (ja) | プログラム内容解析装置 | |
| JPH0820973B2 (ja) | プログラム内容解析装置 | |
| CN115017908B (zh) | 一种命名实体识别方法及系统 | |
| JPS63317849A (ja) | プログラム内容解析装置 | |
| Berger et al. | ARTUS-A Framework for Event-based Data Analysis in High Energy Physics | |
| Corey | Centenary lecture. Computer-assisted analysis of complex synthetic problems | |
| JP2548197B2 (ja) | プログラム内容解析装置 | |
| JPS63317852A (ja) | プログラム内容解析装置 | |
| JPS63317843A (ja) | プログラム内容解析装置 | |
| CN116469458A (zh) | 基于单细胞Hi-C数据的细胞周期预测方法及系统 | |
| JPS63317847A (ja) | プログラム内容解析装置 | |
| JPS63317851A (ja) | プログラム内容解析装置 | |
| JPS63317846A (ja) | プログラム内容解析装置 | |
| Zingaro | Learn to code by solving problems: A Python programming primer | |
| JPH03179537A (ja) | プログラム内容解析装置 | |
| JPS6162974A (ja) | ベクトルプロセツサ | |
| Little | Branch and bound methods for combinatorial problems. |