JPH0721765B2 - フローチヤート表示装置 - Google Patents

フローチヤート表示装置

Info

Publication number
JPH0721765B2
JPH0721765B2 JP1170571A JP17057189A JPH0721765B2 JP H0721765 B2 JPH0721765 B2 JP H0721765B2 JP 1170571 A JP1170571 A JP 1170571A JP 17057189 A JP17057189 A JP 17057189A JP H0721765 B2 JPH0721765 B2 JP H0721765B2
Authority
JP
Japan
Prior art keywords
instruction
processing
program
branch
processing step
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.)
Expired - Fee Related
Application number
JP1170571A
Other languages
English (en)
Other versions
JPH0335320A (ja
Inventor
宏敏 斗納
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP1170571A priority Critical patent/JPH0721765B2/ja
Publication of JPH0335320A publication Critical patent/JPH0335320A/ja
Publication of JPH0721765B2 publication Critical patent/JPH0721765B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、たとえばアセンブラ言語で記述されたプログ
ラムのフローチヤートを作成して表示する装置に関す
る。
従来の技術 従来から、FORTRANあるいはC言語といつた高級言語で
記述されたプログラムを、フローチヤートとして表示す
る装置は実用化されている。このような高級言語では、
1つの命令で、ある程度まとまりのある実行内容が表現
されるので、そのプログラムを図形的に表現することは
比較的容易である。このようなフローチヤートはPAD
図、あるいはYAC図などと称され、プログラムにおける
動作を理解するために有用である。
一方、アセンブラ言語と称され、その命令が機械語にお
ける命令と1対1に対応している言語では、1つの命令
は基本的な動作のみを表現しているので、1つのまとま
りのある実行動作は複数の命令で表現することになる。
たとえば、入出力ポートPORT1から入力された8ビツト
のデータの下位7ビツトが$70(「$」は16進表示であ
ることを表す)以上であるときにはポートPORT1の値を
ストア領域RAM1に格納し、ポートPORT1の値が$70未満
であるときにはポートPORT1の下位7ビツトの値とポー
トPORT2の下位4ビツトの値との和をストア領域RAM1に
格納する…というようなプログラムをアセンブラ言語で
表示した場合には、第1表に示されるように複数の命令
によつてそのプログラムが表現される。
したがつて、従来技術のアセンブラ言語のフローチヤー
ト表示装置によつて、たとえば第1表のプログラムの8
行目までを図形的に表した場合には、第7図に示される
フローチヤートが表示されることになる。
発明が解決しようとする課題 第7図に示されるフローチヤートでは、アセンブラ言語
の1つの命令が1つの処理ステツプに対応しており、各
処理ステツプにおける実行内容にはまとまりがない。こ
こで処理ステツプとは、フローチヤートにおいて罫線で
囲まれる実行内容に相当する。したがつてプログラム作
成者などにとつて、このようなフローチヤートではプロ
グラムを理解することが非常に困難であり、アセンブラ
言語で記述されたプログラムを容易に理解できるフロー
チヤートを作成する装置が要望されている。
したがつて本発明の目的は、上記技術的課題を解決し、
たとえばアセンブラ言語で記述されたプログラムを、そ
のプログラムを容易に理解することができるフローチヤ
ートに表示するフローチヤート表示装置を提供すること
である。
課題を解決するための手段 本発明は、定数もしくはプログラム外で決定される変数
またはプログラム内で決定される変数で実現されるデー
タを用いる命令を表す処理ステツプおよび命令のみを表
す処理ステツプが複数組合わせられて構成される低級言
語プログラムをフローチヤートで表示する装置であつ
て、 前記複数の処理ステツプの中から分岐命令を含む処理ス
テツプを識別する第1識別手段と、 前記第1識別手段によつて識別された処理ステツプ毎
に、その分岐命令の実行にあたつて参照されるべきデー
タを含む処理ステツプを識別する第2識別手段と、 前記第1および第2識別手段による識別結果に基づい
て、関連する処理ステツプ同士にブロツク分けする命令
区分手段と、 その区分されたブロツク毎に、末端の処理ステツプから
順次逆上つて、処理ステツプの処理内容を示す記号デー
タに含まれる前記プログラム内で決定される変数を示す
記号を、該変数を規定する命令の処理に応じて書換えて
更新し、前記記号が、前記定数またはプログラム外で決
定される変数に確定するまで繰返し、処理内容を示す記
号データを集約する実行内容集約手段と、 前記実行内容集約手段の集約結果に基づいて、前記ブロ
ツクの処理内容を示す記号データをフローチャートの単
一の処理ステツプとして集約的に表示する表示手段とを
含むことを特徴とするフローチヤート表示装置である。
また本発明は定数もしくはプログラム外で決定される変
数またはプログラム内で決定される変数で実現されるデ
ータを用いる命令を表す処理ステツプおよび命令のみを
表す処理ステツプが複数組合わせられて構成される低級
言語プログラムをフローチヤートで表示する装置であつ
て、 前記複数の処理ステツプの中から転送命令を含む処理ス
テツプを識別する第1識別手段と、 前記第1識別手段によつて識別された処理ステツプ毎
に、その転送命令の実行にあたつて参照されるべきデー
タを含む処理ステツプを識別する第2識別手段と、 前記第1および第2識別手段による識別結果に基づい
て、関連する処理ステツプ同士にブロツク分けする命令
区分手段と、 その区分されたブロツク毎に、末端の処理ステツプから
順次逆上つて、処理ステツプの処理内容を示す記号デー
タに含まれる前記プログラム内で決定される変数を示す
記号を、該変数を規定する命令の処理に応じて書換えて
更新し、前記記号が、前記定数またはプログラム外で決
定される変数に確定するまで繰返し、処理内容を示す記
号データを集約する実行内容集約手段と、 前記実行内容集約手段の集約結果に基づいて、前記ブロ
ツクの処理内容を示す記号データをフローチャートの単
一の処理ステツプとして集約的に表示する表示手段とを
含むことを特徴とするフローチヤート表示装置である。
作 用 本発明に従えば、単一の処理ステツプが、たとえばジヤ
ンプ命令などの命令のみで表される処理ステツプや、命
令とデータとによつて表される読込み命令、転送命令お
よび分岐命令などの処理ステツプで表されるアセンブル
言語などの低級言語のプログラムの処理内容をフローチ
ヤートで表示するにあたつて、まず第1識別手段で、複
数の処理ステツプの中から分岐命令または転送命令の少
なくともいずれか一方を識別する。
次に、第2識別手段によつて、前記第1識別手段で識別
された分岐命令または転送命令の処理ステツプ毎に、そ
の命令の実行にあたつて参照されるべきデータを含む処
理ステツプが識別される。こうして第1および第2命令
識別手段によつて識別された識別結果に基づいて、命令
区分手段は、関連する処理ステツプ同士にブロツク分け
する。
一方、前記データは、定数、ポート入力などのプログラ
ム外で決定される変数およびアキユームレータの内容な
どのプログラム内で決定される変数などであり、実行内
容集約手段は、命令区分手段で区分されたブロツク毎
に、末端の処理ステツプから順次逆上つて、前記プログ
ラム内で決定される変数を示す記号を、該変数を規定す
る命令の処理に応じて順次書換えて更新してゆき、その
更新を前記記号が前記定数またはプログラム外で決定さ
れる変数に確定するまで繰返し行い、処理ステツプを集
約する。こうして集約された各ブロツクが単一の処理ス
テツプとして表示手段が表示される。
したがつて、複数の処理ステツプをフローチヤートに表
現する際に、1つのまとまりのある処理動作を表す複数
の命令は、1つの処理ステツプとして集約的に表現さ
れ、プログラム作成者等は、低級言語で作成されたプロ
グラムの実行内容を容易に理解することができる。
実施例 第1図は、本発明の一実施例のフローチヤート表示装置
1の構成を示すブロツク図である。フローチヤート表示
装置1は、ソースプログラムを記憶するための外部記憶
装置2と、外部記憶装置2に記憶されたソースプログラ
ムを読出して各種演算処理を施すための演算部3と、た
とえば陰極線管(CRT)や液晶表示装置などで実現され
る表示装置4と、たとえばプリンタやプロツタなどの印
字装置5とを含んで構成され、表示装置4または印字装
置5は表示手段を構成している。
演算部3は、インタフエイス6と、中央処理回路7とを
含む。前述した外部記憶装置2は、たとえば固定式磁気
デイスク装置であつて、ソースプログラムを記憶してい
る。このソースプログラムは、アセンブラ言語で記述さ
れており、インタフエイス6を介して中央処理回路7に
よつて読出される。
中央処理回路7は、たとえばマイクロコンピユータおよ
びメモリなどを含む構成で実現され、命令解析部9、プ
ログラム構造記憶部10、命令種類記憶部11、実行内容記
憶部12、分岐条件記憶部13および作業領域14などを含ん
で構成される。
以下、第2図のフローチヤートを併せて参照して、フロ
ーチヤート表示装置1の基本的な動作について説明す
る。ステツプa1において、外部記憶装置2に記憶されて
いるソースプログラムは、演算部3の中央処理回路7に
よつて読出される。このソースプログラムは、たとえば
中央処理回路7の作業領域14にストアされる。引続きス
テツプa2において、単位処理ステツプである各命令に
は、一連番号(以下、行番号と称する)が付与される。
このとき各命令は、後述するように、たとえばストア命
令、入出力命令、分岐命令、あるいは演算命令などのよ
うに、その種類によつて分類される。前記命令種類記憶
部11には、アセンブラ言語の全種類の命令に個別的に対
応して命令の種類が記憶されており、これが参照されて
上記分類が行われる。
ステツプa3においては、ストアされたソースプログラム
から分岐命令だけが抽出され、この分岐命令に対して一
連番号(以下、分岐番号と称する)が付与される。同様
に、ステツプa4ではストア領域への転送命令(ストア命
令)が抽出され、ストア命令に対する一連番号(以下、
ストア番号と称する)が付与される。
この後、ステツプa5において、抽出された分岐命令の分
岐先が演算され、その分岐先の命令に対応する行番号
(以下、分岐先番号と称する)が分岐命令行に付与され
る。また、分岐先命令行には、そこへ分岐する分岐命令
行番号(以下、分岐元番号と称する)が付与される。こ
の段階で求められたプログラム実行の流れに関する情報
(分岐先番号、分岐元番号)は、プログラム構造記憶部
10に格納される。
続いて、以下のようにしてプログラムのブロツク分けが
行われる。このブロツク分けとは、プログラムの実行
上、同一条件下で実行されるとみなされる命令行の集ま
りを区分する作業を言い、分岐命令の次の行から分岐命
令まで、または分岐命令の次の行から分岐先命令行の直
前行まで、もしくは分岐先命令行から分岐命令行まで、
または分岐先命令行から分岐先命令行の直前行までを区
分する。こうして区分された命令行では、プログラムの
流れは1つで連続している。特例として、サブルーチン
コール命令行は1行で独立したブロツクとみなす。
各ブロツクには、第2表で示すように、一連のブロツク
番号が付与され、各行毎にそのブロツク番号が記憶され
る。
ステツプa6では、前記分岐番号が付与されている各分岐
命令毎に、前記第2表で示されるような、その分岐条件
を表すデータが作成される。すなわち、命令種類記憶部
11には、第3表で示されるように、全種類の分岐命令に
対して、たとえばどのフラグの値が分岐判定条件となつ
ているかなどのデータが記憶されており、このデータを
参照することによつて、分岐判断するための分岐条件を
表すデータが作成される。
この第3表を参照して、たとえば従来の技術において説
明した第1表のプログラムの行番号「4」の命令「BC
C」は、フラグCの値が「0」であるときに、ラベルLBL
1が付された行番号「8」に分岐するので、その分岐条
件はフラグCとなる。
さらにこのステツプa6では、後述するように、たとえば
このフラグCに影響を及ぼす命令または命令列が、行番
号を逆上つて検索される。その結果、逆上つた命令また
は命令列が集約的に表現されるべきであるときには、集
約的な表現内容が作成され、分岐条件記憶部13に格納さ
れる。
この後ステツプa7では、後述するように各ストア命令に
対応して、前述した分岐命令と同様に、行番号が付され
た命令が逆上つて処理され、前記第2表で示されるよう
なストア条件を表すデータが作成されるとともに、やは
り集約的な表現内容の作成が行われ、実行内容記憶部12
に格納される。
ステツプa8においては、上記処理によつて集約された命
令列は、1つの処理ステツプとして、各処理ステツプに
おける罫線の座標データなどが計算される。中央処理回
路7は、この座標データに基づいて表示装置4または印
字装置5を制御し、これによつてステツプa9でフローチ
ヤートの作成が行われる。
以下、ステツプa6における分岐条件の集約動作を、第3
図のフローチヤートに基づいて詳細に説明する。まずス
テツプb1において、パラメータiの値が「1」に初期設
定される。ステツプb2では、行番号iの命令が存在する
か否かが判断され、存在しない場合には、最終行までの
処理を終えたものとして処理動作が終了する。
行番号iの命令が存在する場合にはステツプb3に進ん
で、行番号iに分岐番号Siが存在するか否かが判断され
る。分岐番号Siが存在しない場合には、行番号iの命令
が分岐命令ではないと判断され、ステツプb4でパラメー
タiが+1インクリメントされて、前述したステツプb2
に戻り、次行についての処理が行われる。またステツプ
b3において分岐番号Siが存在している場合には、ステツ
プb5に進む。
したがつて、たとえば前記第1表に示されるプログラム
の場合には、ステツプb4において順次+1インクリメン
トされる行番号iが4になつたときに、第2表で示され
るように、分岐番号「1」が存在するのでステツプb5に
進む。
ステツプb5では、行番号iの分岐命令の分岐条件が前記
命令種類記憶部11の記憶内容から参照され、これによつ
て行番号iの分岐命令の直接分岐条件となるデータが求
まる。たとえば上述したプログラムでは、行番号「4」
の分岐命令「BCC」の分岐条件は第3表に示されるよう
に、フラグCである。
さらにステツプb6では、行番号ljの命令の実行内容が命
令種類記憶部11から参照され、分岐条件との関係が判断
され、分岐条件に関係していればステツプb7で分岐条件
に関与している情報フラグをセツトし、ステツプb8でそ
の行番号がメモリに記憶される。ステツプb9では必要情
報フラグ中のそのフラグがクリアされ、ステツプb10で
は新たに発生する必要情報フラグがセツトされる。
ここでljは、i行目の命令実行以前に実行されるj命令
前の命令行を表す。プログラムの実行は、通常、分岐命
令以外では命令行順に実行されるが、分岐命令行では実
行順が変えられる。したがつてある命令の実行以前の命
令行を、プログラムの実行順の逆を辿るには、単純に行
番号順に従つて辿るのではなく、分岐命令によつて実行
順がどう変化されているかを判断しながら辿つてゆく必
要がある。
第1図のプログラム構造記憶部10には、前記第2表のよ
うなプログラムの実行順に関する情報(次の行を実行す
る命令か否か、前の行から引続き実行される命令か否
か、分岐する命令行であるか否か、さらには分岐してく
る分岐命令のある行であるか否かなど)が記憶されてお
り、この情報を参照することによつて、1つ1つの命令
行を実行順の逆に辿ることが容易にできる。
前記第1表および第2表を参照して、たとえば行番号16
の分岐命令の条件を求めるには、行番号9まで辿る必要
があるが、行番号15の前行の14行目の命令は無条件分岐
であり、プログラムの流れとしては行番号12から分岐し
て来る流れのみである。したがつて行番号15の前の行は
行番号12となる。このとき、行番号15の流れフラグは
「0」であり、これは直前の行から流れて来ていないこ
とを表し、分岐元行番号から、行番号12がプログラム上
の直前命令行であると判断できる。これに対して、流れ
フラグが「1」であるときには、プログラムは直前の行
から流れて来ていることを表す。
ステツプb11では、分岐条件が全て求められたか否かが
判断され、すなわち前述した処理動作によつて、行番号
ljにおける分岐条件に関する命令列は全て収集されたか
否かが判断され、そうであるときにはステツプb12に移
る。
ステツプb12では、行番号lj〜行番号l1の命令が集約化
される。この後、ステツプb13で、パラメータIの値が
+1インクリメントされるとともに、パラメータJの値
が「0」に初期設定され、前述したステツプb2に戻つて
同様の動作が繰返される。
ステツプb11で分岐条件に関する命令が全て収集されて
いないとき、およびステツプb6で行番号ljの命令の実行
内容が分岐条件に関係していないときにはステツプb14
に移つて、パラメータJの値が+1インクリメントさ
れ、分岐条件に関する命令が全て求められるまで同様の
処理が繰返される。
以下、第4表を参照して前記ステツプb5〜ステツプb13
における動作を詳述する。
前記第1表で示されるプログラムにおいて、第3図で示
される動作によつて最初のブロツクではi=4とされて
おり、ステツプb5で、逆上りフラグである必要情報フラ
グ中のCフラグがセツトされ、j=1とされて逆上りが
開始される。ステツプb6では、ステツプ数jだけ前の
行、すなわち行番号「3」の実行内容が参照される。こ
の実行内容は前記Cフラグに影響を与えるのでステツプ
b7に移り、分岐条件関与フラグがセツトされ、ステツプ
b8で行番号「3」が記憶される。ステツプb9では必要情
報フラグ中のCフラグがクリアされ、ステツプb10では
新たにAレジスタが必要情報としてセツトされる。ステ
ツプb11では、必要情報フラグにAレジスタのフラグが
セツトされているので、ステツプb14に移り、j=j+
1としてステツプb6に戻る。
再びステツプb6ではj=2すなわち行番号「2」の命令
を参照し、必要情報フラグのAレジスタに関与するか否
かが判断される。本実施例ではAレジスタに影響がある
ため、ステツプb7〜b9へと進む。ステツプb9では一旦A
レジスタのフラグがクリアされるが、ステツプb10では
Aレジスタが条件となるレジスタと判断され、再びAレ
ジスタのフラグがセツトされ、ステツプb11,b14を経て
再びステツプb6に戻る。
行番号「1」はAレジスタに影響するので、ステツプb
7,b8を経てb9でフラグがクリアされる。なお、ステツプ
b8〜b9間において、ステツプb8aでは、この行に分岐し
て来る命令があるか否かが判断される。すなわち、前記
第2表で示されるように、分岐元個数が1以上の場合、
分岐して来る命令があると判断し、ステツプb8bで分岐
元個数およびこのときのステツプ数jが記憶される。ス
テツプb10では新たに発生する条件がないため、フラグ
のセツトは行われず、ステツプb11では全ての情報が求
められたと判断されてプログラムの逆上りが停止され、
ステツプb12へ移り集約化が行われる。
この集約化処理はまた、第5表に示される。
すなわち行番号「4」と行番号「3」とを集約化して表
現すると、 A≧$70 となり、さらに行番号「2」を集約すると、上記式の
「A」に「A AND $7F」が代入され、 A AND $7F≧$70 となる。さらに行番号「1」を集約すると上記式の
「A」にPORT1が代入され、 PORT1 AND $7F≧$70 となる。このようにして、行番号「4」の分岐命令の分
岐条件に基づいて、行番号「1」〜行番号「4」の命令
列が集約される。ステツプb12aでは、すべての道筋につ
いて集約が行われたか否かが判断され、前記ステツプb8
aで記憶された行jmが残つている場合は他の道筋がある
と判断してステツプb12bを経て前記ステツプb6に戻り、
ステツプ数jmまで戻つて再び集約のための作業が繰返さ
れる。
この後、ステツプb13からステツプb2に戻り、他に分岐
番号Siの付与されている行についても同様の処理を行
い、最終行まで到達したところで集約処理が終了するこ
とになる。この集約処理結果は、第6表で示されるよう
な分岐条件フアイルとして、分岐条件記憶部13に記憶さ
れる。
また、前記ステツプa7におけるストア条件に基づく集約
処理は、上述の分岐条件に基づく集約処理と同様の動作
によつて達成される。すなわち前記第5表に示されるよ
うに、まず行番号「8」の命令の内容と行番号「7」の
命令の内容とを集約すると、式RAM1=Aの右辺の「A」
にA=A+Bが代入されて、 RAM1=A+B となる。さらに行番号「6」が集約されると、上式
「B」にB=B・#$0Fが代入されて、 RAM1=A+B・#$0F と集約化される。このようにして行番号「8→7→6→
5→4→3→2→1」と辿り集約化すると、 RAM1=PORT1・#$7F+PORT2・#$0F となる。この集約処理結果は、第7表で示されるような
ストア内容フアイルとして、実行内容記憶部12に記憶さ
れる。
また本実施例では他に、行番号「8→4→3→2→1」
と辿る道筋があり、 RAM1=PORT1・#$7F と集約され、同様に実行内容記憶部12に記憶される。
上述のようにしてブロツクの集約化が行われると、以下
のようにしてフローチヤートが作成される。まず、フロ
ーチヤートブロツク情報が作成される。前述のようにプ
ログラム構造記憶部10に記憶されているプログラムの流
れに関する情報から、各ブロツクの先頭および分岐命令
行が抽出される。フローチヤートブロツクでは、分岐命
令(サブルーチンコール、リターン命令を含む)は、独
立したブロツクとして扱われる。こうして分割されたブ
ロツク毎に、第8表で示されるように、その先頭行番号
が抜出される。
このとき、各ブロツク毎の種別(1:実行、2:条件分岐、
3:無条件分岐、4:リターン、5:サブルーチン)が分類さ
れ、条件分岐2および無条件分岐3の場合は、分岐先行
番号およびブロツク内容フアイルの分岐条件が記録され
ている箇所のレコード番号(前記分岐番号と同一)が書
込まれる。さらにこの行に分岐先があれば、その個数が
書込まれ、ストア命令があればストア内容レコード番号
が書込まれる。
次に、各ブロツク毎に、ストア条件に関する命令のみが
抽出され、内容が集約される。本実施例では、前記第1
表で示されるプログラムは第9表で示されるように集約
される。
このようにして、前記第6表および第9表で示されるよ
うに、各ブロツク内の命令の集約化が行われると、第4
図で示されるように、まず開始を示すブロツクを配置し
た後、前記第8表で示される種別に応じたブロツク図形
が配置される。このとき、各ブロツク図形の高さ、すな
わち流れ方向の間隔は、ブロツクの内容や分岐条件のレ
コード数に応じて決定される。ただし無条件分岐やリタ
ーン命令のブロツクの外形は一定である。
また第4図において破線で示される、すなわち行番号
「15,17」は、書出すべき情報がなく、ブロツクは作成
されない。これは、このブロツク内の命令が全て分岐命
令に関与しているため、その内容が次の分岐ブロツクで
表されており、しかもこのブロツク内にはストアに関係
した命令がないことを表す。したがつてこれらは省略さ
れて、最終的には第5図で示されるフローチヤートが完
成する。
このようにしてブロツク図形が作成されると、次に各ブ
ロツク内には、前記第6表および第9表で示されるフア
イルから呼出された内容が書込まれてゆく。
また本実施例においては、各命令毎にその命令に対する
影響度を表す必要情報フラグをセツトするようにしたの
で、プログラムを逆上つて集約してゆくときには、この
必要情報フラグがクリアされる命令まで逆上ることによ
つて、分岐命令またはストア命令の実行内容に影響を与
える命令を容易に抽出することができる。これによつて
プログラム内容の解析を合理的に行うことができ、解析
時間を短縮することができる。
このようにして表現された各命令の実行内容は、各処理
ステツプとして表示すべき座標データが演算され、表示
装置4または印字装置5において表示される。なお、第
5図の参照符30で示される処理ステツプにおいては、コ
メント文として実行内容記憶部12に記憶されている、該
当する内容を表示するようにしてもよい。
また、サブルーチンなどの読出し命令がある場合には第
6図に示されるように、この読出し命令は1つの処理ス
テツプとして表現される。この第6図は、ラベルLBL5に
サブルーチンがある場合を示している。このサブルーチ
ン自体は、別途にプログラム解析し、フローチヤート化
される。
このように本実施例においては、アセンブラ言語の1つ
の命令を1つの処理ステツプとして表現するのではな
く、一定の処理動作を行う複数の命令を集約して1つの
ステツプとして表現するので、プログラム全体の流れを
容易に理解することが可能なフローチヤートを表示する
ことができる。したがつて、アセンブラ言語で記述され
たプログラムの内容を容易に理解することができるよう
になる。
本実施例においては、アセンブラ言語をフローチヤート
として表現する場合について説明したけれども、アセン
ブラ言語の命令と1対1関係にある機械語に対してフロ
ーチヤート化する場合について本発明を実施することも
できる。
発明の効果 以上説明したように本発明によれば、複数の命令によつ
て1つのまとまりある処理動作を行う際に、その処理動
作、特に式が集約的に表現される。
したがつて、たとえばアセンブラ言語で記述されたソー
スプログラムを見易いフローチヤートに表示することが
できる。
【図面の簡単な説明】
第1図は本発明の一実施例のフローチヤート表示装置1
の構成を示すブロツク図、第2図はフローチヤート表示
装置1の基本的動作を説明するためのフローチヤート、
第3図は第2図中のステツプa6における処理動作を説明
するためのフローチヤート、第4図および第5図は本発
明に従うフローチヤート表示装置1における表示例を示
す図、第6図はサブルーチン読出し命令がある場合のフ
ローチヤートにおける表示例を示す図、第7図は先行技
術によつて作成されたフローチヤートの表示例を示す図
である。 1……フローチヤート表示装置、2……外部記憶装置、
3……演算部、4……表示装置、5……印字装置、7…
…中央処理回路、9……命令解析部、10……プログラム
構造記憶部、11……命令種類記憶部、12……実行内容記
憶部、13……分岐条件記憶部、14……作業領域

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】定数もしくはプログラム外で決定される変
    数またはプログラム内で決定される変数で実現されるデ
    ータを用いる命令を表す処理ステツプおよび命令のみを
    表す処理ステツプが複数組合わせられて構成される低級
    言語プログラムをフローチヤートで表示する装置であつ
    て、 前記複数の処理ステツプの中から分岐命令を含む処理ス
    テツプを識別する第1識別手段と、 前記第1識別手段によつて識別された処理ステツプ毎
    に、その分岐命令の実行にあたつて参照されるべきデー
    タを含む処理ステツプを識別する第2識別手段と、 前記第1および第2識別手段による識別結果に基づい
    て、関連する処理ステツプ同士にブロツク分けする命令
    区分手段と、 その区分されたブロツク毎に、末端の処理ステツプから
    順次逆上つて、処理ステツプの処理内容を示す記号デー
    タに含まれる前記プログラム内で決定される変数を示す
    記号を、該変数を規定する命令の処理に応じて書換えて
    更新し、前記記号が、前記定数またはプログラム外で決
    定される変数に確定するまで繰返し、処理内容を示す記
    号データを集約する実行内容集約手段と、 前記実行内容集約手段の集約結果に基づいて、前記ブロ
    ツクの処理内容を示す記号データをフローチャートの単
    一の処理ステツプとして集約的に表示する表示手段とを
    含むことを特徴とするフローチヤート表示装置。
  2. 【請求項2】定数もしくはプログラム外で決定される変
    数またはプログラム内で決定される変数で実現されるデ
    ータを用いる命令を表す処理ステツプおよび命令のみを
    表す処理ステツプが複数組合わせられて構成される低級
    言語プログラムをフローチヤートで表示する装置であつ
    て、 前記複数の処理ステツプの中から転送命令を含む処理ス
    テツプを識別する第1識別手段と、 前記第1識別手段によつて識別された処理ステツプ毎
    に、その転送命令の実行にあたつて参照されるべきデー
    タを含む処理ステツプを識別する第2識別手段と、 前記第1および第2識別手段による識別結果に基づい
    て、関連する処理ステツプ同士にブロツク分けする命令
    区分手段と、 その区分されたブロツク毎に、末端の処理ステツプから
    順次逆上つて、処理ステツプの処理内容を示す記号デー
    タに含まれる前記プログラム内で決定される変数を示す
    記号を、該変数を規定する命令の処理に応じて書換えて
    更新し、前記記号が、前記定数またはプログラム外で決
    定される変数に確定するまで繰返し、処理内容を示す記
    号データを集約する実行内容集約手段と、 前記実行内容集約手段の集約結果に基づいて、前記ブロ
    ツクの処理内容を示す記号データをフローチャートの単
    一の処理ステツプとして集約的に表示する表示手段とを
    含むことを特徴とするフローチヤート表示装置。
JP1170571A 1989-06-30 1989-06-30 フローチヤート表示装置 Expired - Fee Related JPH0721765B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1170571A JPH0721765B2 (ja) 1989-06-30 1989-06-30 フローチヤート表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1170571A JPH0721765B2 (ja) 1989-06-30 1989-06-30 フローチヤート表示装置

Publications (2)

Publication Number Publication Date
JPH0335320A JPH0335320A (ja) 1991-02-15
JPH0721765B2 true JPH0721765B2 (ja) 1995-03-08

Family

ID=15907306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1170571A Expired - Fee Related JPH0721765B2 (ja) 1989-06-30 1989-06-30 フローチヤート表示装置

Country Status (1)

Country Link
JP (1) JPH0721765B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237951A (ja) * 2009-03-31 2010-10-21 Jx Nippon Oil & Energy Corp コンピュータプログラム処理方法及びコンピュータプログラム処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0820972B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置

Also Published As

Publication number Publication date
JPH0335320A (ja) 1991-02-15

Similar Documents

Publication Publication Date Title
US5327568A (en) Apparatus for supporting graphic data driven program development and for displaying instruction execution results superimposed on the graphic program
KR100909153B1 (ko) 그래픽 파이프라인 서브유닛을 디버깅하기 위한 방법 및시스템
CN112667834A (zh) 一种图像标注方法及相关装置
JPH02232152A (ja) 生産システムシミュレータ生成装置
US6968544B1 (en) Method for transformation of interface definitions and intermediate format tables thereof
JPS59149541A (ja) 処理条件コード生成/設定方式
JP3755165B2 (ja) 並列処理手続き選定装置及び方法
CN104809067B (zh) 面向等式约束的测试用例生成方法和装置
US20050015769A1 (en) System and method for the dynamic representation of the actual state of a task in relation to a target state
JPH0721765B2 (ja) フローチヤート表示装置
CN110532483A (zh) 模拟表格的添加方法、装置、计算机设备及可存储介质
JPH0658625B2 (ja) プログラム内容解析方法
JP4860564B2 (ja) プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム
US7120616B2 (en) Method for specifying, executing and analyzing method sequences for recognition
JP2740352B2 (ja) プログラム解析装置
EP0578830A1 (en) Information processing apparatus and method therefor
JPH08202741A (ja) 機能設計支援装置及び機能設計支援方法
JPH0769855B2 (ja) プログラム内容解析装置
JP2719277B2 (ja) プログラム自動解析装置
JP2009265710A (ja) 作業分割方法およびそのシステム
JPH0772873B2 (ja) プログラム内容解析装置
JPH0775003B2 (ja) プログラム内容解析装置
JP2749224B2 (ja) デ−タ駆動型プログラム用性能解析装置
Siddiqui Code execution reports: visually augmented summaries of executed source code fragments
CN116363256A (zh) 一种代码图片的可视化展示实现方法及装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees