JPS63101934A - アセンブラ言語プログラムの保守情報作成方式 - Google Patents

アセンブラ言語プログラムの保守情報作成方式

Info

Publication number
JPS63101934A
JPS63101934A JP61246963A JP24696386A JPS63101934A JP S63101934 A JPS63101934 A JP S63101934A JP 61246963 A JP61246963 A JP 61246963A JP 24696386 A JP24696386 A JP 24696386A JP S63101934 A JPS63101934 A JP S63101934A
Authority
JP
Japan
Prior art keywords
source program
register
instruction
line
registers
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
Application number
JP61246963A
Other languages
English (en)
Inventor
Hirotaka Sano
佐野 宏隆
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP61246963A priority Critical patent/JPS63101934A/ja
Publication of JPS63101934A publication Critical patent/JPS63101934A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明はアセンブラ言語プログラムの保守情報作成方式
に関し、特にアセンブラ言語で作成されたソースプログ
ラムにおけるレジスタの任意使用可否を保守情報として
出力する保守情報作成方式〔従来の技術〕 従来、この種のアセンブラ言語プログラムの保守情報作
成方式では、保守情報としてレジスタ塩とそのレジスタ
が現れるソースプログラム行との対応表を出力したり、
名標とその名標が現れるソースプログラム行との対応表
を出力したりしていた。
このように従来のアセンブラ言語プログラムの保守情報
作成方式では、保守情報としてレジスタ塩とそのレジス
タが現れるソースプログラム行が出力されていたものの
、ソースプログラムの各ソースプログラム行におけるレ
ジスタの任意の使用の可否を示す情報は出力されていな
かったので、プログラムのデバッグ、a能変更2機能追
加、改造、修正などにおいてレジスタを使わなければな
らない場合には、利用できるレジスタを人手で検索およ
びチェックした後にそのレジスタを利用したり、レジス
タの内容を一時的にある特定のメモリエリアにセーブし
た後にそのレジスタを利用してしかる後にセーブした内
容をレジスタにリストアするという手法を用いて対処し
たりしていた。
〔発明が解決しようとする問題点〕
上述した従来のアセンブラ言語プログラムの保守情報作
成方式では、保守情報としてソースプログラムの各ソー
スプログラム行におけるレジスタの任意の使用の可否を
示す情報が出力されていなかったので、プログラムのデ
バッグ、機能変更、機能追加、改造、修正などにおいて
レジスタを使わなければならない場合に、利用できるレ
ジスタを人手で検索およびチェックした後にそのレジス
タを利用しなければならず、利用できるレジスタの人手
による検索およびチェックに多くの時間がかかるという
欠点がある。
また、レジスタの内容を一時的にある特定のメモリエリ
アにセーブした後にそのレジスタを利用してしかる後に
セーブした内容をリストアするという手法を用いるとき
には、レジスタの内容のセーブおよびリストアによりソ
ースプログラムが複雑化し、ソースプログラムの解読を
難しくするという欠点がある。
本発明の目的は、上述の点に鑑み、ソースプログラムの
各ソースプログラム行におけるレジスタの任意の使用の
可否を示す情報を保守情報として出力するようにしたア
センブラ言語プログラムの保守情報作成方式を提供する
ことにある。
〔問題点を解決するための手段〕
本発明のアセンブラ言語プログラムの保守情報作成方式
は、アセンブラ言語で作成されたソースプログラムが含
み得るソースプログラム行数と前記ソースプログラムが
含み得るレジスタ数とに対応する行列でなるレジスタ任
意使用可否表示テーブルと、前記ソースプログラムの各
ソースプログラム行の命令の命令タイプを判定する命令
タイプ判定手段と、この命令タイプ判定手段により判定
された命令タイプに基づいて前記レジスタ任意使用可否
表示テーブルに各ソースプログラム行対応に各レジスタ
の任意使用可否の表示を行うテーブル更新手段と、この
テーブル更新手段により更新された前記レジスタ任意使
用可否表示テーブルの内容を編集して出力する編集出力
手段とを有する。
〔作用〕
本発明のアセンブラ言語プログラムの保守情報作成方式
では、レジスタ任意使用可否表示テーブルがアセンブラ
言語で作成されたソースプログラムが含み得るソースプ
ログラム行数とソースプログラムが含み得るレジスタ数
とに対応する行列でなり、命令タイプ判定手段がソース
プログラムの各ソースプログラム行の命令の命令タイプ
を判定し、テーブル更新手段が命令タイプ判定手段によ
り判定された命令タイプに基づいてレジスタ任意使用可
否表示テーブルに各ソースプログラム行対応に各レジス
タの任意使用可否の表示を行い、編集出力手段がテーブ
ル更新手段により更新されたレジスタ任意使用可否表示
テーブルの内容を編集して出力する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第2図は、本発明の一実施例のアセンブラ言語プログラ
ムの保守情報作成方式が通用された情報処理システムを
示すブロック図である。この情報処理システムは、アセ
ンブラ言語で作成されたソースプログラム1と、ソース
プログラム1を解析しレジスタ任意使用可否表示テーブ
ル3を作成してレジスタ任意使用可否表示テーブル3の
内容を出力する保守情報作成プログラム2と、ソースプ
ログラム1に含まれる各レジスタの任意使用可否をソー
スプログラム行対応に表示するレジスタ任意使用可否表
示テーブル3と、レジスタ任意使用可否表示テーブル3
の内容を出力するプリンタ等の出力装置4とから構成さ
れている。
ソースプログラムlは、オペランドとしてn(正整数)
個のレジスタを含むことができ、かつ量大m(正整数)
行のソースプログラム行でなるプログラムである。
保守情報作成プログラム2は、ソースプログラム1をソ
ースプログラム行ごとに入力して解析し、レジスタ任意
使用可否表示テーブル3にソースプログラム行対応に各
レジスタの任意使用可否を表示し、ソースプログラム1
の全てのソースプログラム行およびレジスタについての
解析が終了した後にレジスタ任意使用可否表示テーブル
3の内容を編集して出力するプログラムである。
レジスタ任意使用可否表示テーブル3は、n行m列の行
列でなるテーブルであり、各行はソースプログラム1の
各ソースプログラム行に対応し各列は各レジスタに対応
していて、各ソースプログラム行ごとの各レジスタの任
意使用可否を表示する。
第1図を参照すると、保守情報作成プログラム2におけ
る処理は、初期設定ステップ11と、命令読取りステッ
プ12と、命令タイプ判定ステップ13と、レジスタ任
意使用可否判定ステップ14と、テーブル更新ステップ
15と、チェック範囲更新ステップ16と、検索行終了
判定ステップ17と、レジスタ終了判定ステップ18と
、編集出力ステップ19とからなる。
次に、このように構成された本実施例のアセンブラ言語
プログラムの保守情報作成方式の動作について説明する
まず、保守情報作成プログラム2は、レジスタ任意使用
可否表示テーブル3の全エリアに任意使用否の表示を初
期設定する(ステップ11)、また、n個のレジスタR
1(1≦i≦n)の内の最初のレジスタR1を検索開始
対象レジスタとして選択する。
次に、ソースプログラムlの先頭から1行分のソースプ
ログラム行を読み取り(ステップ12)、読み取った行
に含まれる命令の命令タイプがレジスタR,からの読出
しタイプ、レジスタR8への書込みタイプおよび分岐タ
イプのいずれかであるかまたはその他のタイプであるか
を判定する(ステップ13)。
ステップ13における判定では、命令によりレジスタR
1の情報の内の1ビツトでもメモリ、他のレジスタ、命
令カウンタ等に影響を与える命令は、レジスタR1から
の読出しタイプと判定する。また、命令がレジスタR1
からの読出しタイプ以外でかつ命令によりレジスタR1
の元の情報が1ビツトたりとも残らない命令は、レジス
タR1への書込みタイプと判定する。さらに、命令がレ
ジスタR+からの読出しタイプでもなくレジスタR1へ
の書込みタイプでもなくかつ命令により次の命令を実行
しない可能性がある命令は、分岐タイプと判定する。さ
らにまた、命令がレジスタR2からの読出しタイプでも
な(レジスタR8への書込みタイプでもなく分岐タイプ
でもない命令は、その他のタイプと判定する。
ステップ13での判定の結果、命令がその他のタイプな
らば、次にソースプログラム1の最終の第m行までレジ
スタRIに関して検索が終了したか否かを判定しくステ
ップ17)、未終了ならばステップ12に戻ってソース
プログラム1の次のソースプログラム行を読み取って検
索およびチェックを続行する。
ステップ13での判定の結果、命令がその他のタイプ以
外ならば、最後に読み取った第j行(1535m)の命
令がレジスタR,への書込みタイプならば任意使用可と
判定し、レジスタR1からの読出しタイプまたは分岐タ
イプならば任意使用否と判定する(ステップ14)。
ステップ14で任意使用可と判定されれば、レジスタ任
意使用可否表示テーブル3のレジスタR1に対応する第
1列の第1行から第j行までに任意使用可の表示を設定
してレジスタ任意使用可否表示テーブル3を更新する(
ステップ15)。
ステップ14で任意使用否と判定されれば、レジスタ任
意使用可否表示テーブル30更新は行わない。
次に、第j行の命令タイプを記憶してチェック範囲を更
新する(ステップ16)。
この後、検索行が終了か否かを判定しくステノプ17)
、検索行が残っているならばステップ12に戻って次の
ソースプログラム行である第(j+1)行を読み取って
検索およびチェックを続行する。
ステップ13の判定で命令がその他のタイプであれば、
ステップ17の判定を経た後のステップ12でソースプ
ログラムlの次のソースプログラム行ヲ読み取る。
ステップ13の判定で命令がその他のタイプ以外の命令
タイプであれば、第j行の命令タイプと最後に読み取っ
た第に行(j<k≦m)の命令タイプとの組合せにより
、任意使用可および任意使用否のいずれであるかを判定
する(ステップ14)。
ステップ14の判定では、(第j行:第に行)の命令タ
イプが(分岐タイプ;書込みタイプ)、(読出しタイプ
:書込みタイプ)および(書込みタイプ−書込みタイプ
)の組合せのいずれかである場合には任意使用可と判定
し、それ以外の組合せの場合は任意使用否と判定する。
ステップ14の判定で任意使用可と判定されれば、レジ
スタ任意使用可否表示テーブル3の第1列の第(j+1
)行から第に行までに任意使用可の表示を設定してレジ
スタ任意使用可否表示テーブル3を更新する(ステップ
15)。
ステップ14の判定で任意使用否と判定されれば、レジ
スタ任意使用可否表示テーブル3の更新は行われない。
次に、現時点の第に行を第j行と、第に行の命令タイプ
を第j行の命令タイプと置き換えて記憶し、これ以降の
処理のためにチェック範囲を更新する(ステップ16)
この後、検索行が終了か否かを判定する(ステップ17
)。
ステップ17でレジスタR1に関して第1行から第m行
までの検索およびチェックが終了したと判定されれば、
次に全てのレジスタについて処理を終了したか否かを判
定する(ステップ18)、全てのレジスタについての処
理が終了していなければ次のレジスタRtを選択し、ス
テップ12に戻うてソースプログラムlからソースプロ
グラム行を1行ずつ読み取り、以降はレジスタR1の場
合と同様の処理を繰り返してレジスタ任意使用可否表示
テーブル3のレジスタR1に対応する第2列に任意使用
可の表示を設定していく。
ステップ18で全てのレジスタについて処理が終了した
と判定されれば、レジスタ任意使用可否表示テーブル3
が完成したことになり、最後にレジスタ任意使用可否表
示テーブル3の内容を編集して出力装置4に出力する(
ステップ19)。
次に、本実施例のアセンブラ言語プログラムの保守情報
作成方式の動作について第3図〜第5図を参照してより
具体的に説明する。
例えば、ソースプログラム1の各命令の命令タイプが第
3図に示すような場合、レジスタR1に関しては最初に
その他のタイプ以外の“命令タイプは第j行で現れ、命
令タイプがレジスタR,への書込みタイプであるので、
第4図に示すようにレジスタ任意使用可否表示テーブル
3の第1列の第1行から第j行までに任意使用可の表示
を設定する。次に、その他のタイプ以外の命令タイプは
第に行で現れ、(第J行:第に行)の命令タイプが(書
込みタイプ二分岐タイプ)であるので任意使用否であり
、レジスタ任意使用可否表示テーブル30更新は行われ
ない、続いて、その他のタイプ以外の命令タイプは第m
行で現れ、(第に行;第m行)の命令タイプが(分岐タ
イプ:書込みタイプ)であるので任意使用可であり、レ
ジスタ任意使用可否表示テーブル3の第1列の第(k+
1)行から第m行までに任意使用可の表示を設定する。
これでレジスタR1に関して最終の第m行まで検索およ
びチェックが終了したので、次にレジスタR2に関して
検索およびチェックを開始する。
レジスタR2に関しては第2行の命令が書込みタイプで
あるので、レジスタ任意使用可否表示テーブル3の第2
列の第1行と第2行に任意使用可の表示を設定する。次
に、第3行がレジスタR2への読出しタイプであり、(
第2行;第3行)のタイプが(書込みタイプ:続出しタ
イプ)であるので任意使用否であり、レジスタ任意使用
可否表示テーブル3の更新は行わない、続いて、第に行
が分岐タイプであり、(第3行;第に行)のタイプが(
読出しタイプ:分岐タイプ)であるので任意使用台であ
り、レジスタ使用可否表示テーブル3の更新は行わない
。次に、第(m−1)行が読出しタイプであり、(第に
行;第(m−1)行)の命令タイプが(分岐タイプ:続
出しタイプ)であるので、レジスタ任意使用可否表示テ
ーブル3の更新は行わない。
次のその他タイプ以外の行は最終の第m行までに存在し
ないので、レジスタR2に関して検索およびチェックが
終了し、以降のレジスタについて順次検索およびチェッ
クを続けていく。
全てのレジスタに関し検索およびチェックが終了すると
、第4図に示すようにレジスタ任意使用可否表示テーブ
ル3が完成する。このレジスタ任意使用可否表示テーブ
ル3の内容を第5図に示すように編集して出力する。
第5図に例示する編集方法では、まず上段左から右に「
R1」からrRnJまでのレジスタ名を書き込み、左側
上から下に先頭を1行あけて、1行おきに行番号を「1
」からrmJまで書き込む。
次に、レジスタ任意使用可否表示テーブル3の第1行第
i列(1≦i≦n)の表示が任意使用可ならば、行番号
1の行の上の行のレジスタR3に対応する第1列にO印
を書き込む、レジスタ任意使用可否表示テーブル3の第
1行第1列(2≦j≦mal≦i≦n)の表示が任意使
用可ならば、行番号(j−1)の行と行番号Jの行との
間の行のレジスタR1に対応する第1列にO印を占き込
む。
レジスタ任意使用可否表示テーブル3の第j行第i列と
第(j+1)行第i列(1≦j≦m−1;1≦1nn)
との表示がともに任意使用可ならば、行番号jの行のレ
ジスタR8に対応する第1列にO印を書き込む、これら
以外は空白のままにしておく。
なお、第5図中の○印は任意使用可を示し、第に行と第
(k+1)行の行間に存在するレジスタR1の列のO印
は、第に行と第(k+1)行との間に命令を挿入して、
レジスタR1の内容が替わっても、これ以降の処理に影
響を与えないことを意味する。また、第1行の前の行に
存在するレジスタR2の列のO印は、第1行の前に命令
を挿入してレジスタR2の内容が変わっても、これ以降
の処理に影響を与えないことを意味する。第(k+1)
行に存在するレジスタR3の列のO印は、第(k+1’
)行を他の命令で置き換えてレジスタR,の内容が変わ
っても、元の第(k+1)行の命令が削除されたという
ことによる影響を除いて、これ以降の処理に影響を与え
ないことを意味する。
〔発明の効果〕
以上説明したように本発明は、ソースプログラムの各ソ
ースプログラム行に対応する任意に使用可能なレジスタ
を検索およびチェックしてその結果を出力することによ
り、ソースプログラムのデバッグ、機能変更1機能追加
、改造、修正などを行う際に、任意使用可能なレジスタ
の人手による検索およびチェックが不要となり、作業時
間を短縮できる効果がある。
また、レジスタの内容を一時的にある特定のメモリエリ
アにセーブした後にそのレジスタを利用してしかる後に
セーブした内容をリストアするという手法を採る必要が
なくなるので、ソースプログラムが複雑化することがな
くなって解読しやすくなるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のアセンブラ言語プログラム
の保守情報作成方式の処理を示す流れ図、第2図は第1
図のアセンブラ言語プログラムの保守情報作成方式が適
用される情報処理システムを示す構成図、 第3図は第2図中のソースプログラムの命令ごとの概念
図、 第4図は第2図中のレジスタ任意使用可否表示テーブル
の一例を示す図、 第5図は第2図中の出力装置に出力される保守情報の一
例を示す図である。 図において、 1・・・ソースプログラム、 2・・・保守情報作成プログラム、 3・・・レジスタ任意使用可否表示テーブル、4・・・
出力装置、 11・・・初期設定ステップ、 12・・・命令読取りステップ、 13・・・命令タイプ判定ステップ、 14・・・レジスタ任意使用可否判定ステップ、15・
・・テーブル更新ステップ、 16・・・チェック範囲更新ステップ、17・・・検索
行終了判定ステップ、 18・・・レジスタ終了判定ステツブ、19・・・編集
出力ステップである。

Claims (1)

  1. 【特許請求の範囲】 アセンブラ言語で作成されたソースプログラムが含み得
    るソースプログラム行数と前記ソースプログラムが含み
    得るレジスタ数とに対応する行列でなるレジスタ任意使
    用可否表示テーブルと、前記ソースプログラムの各ソー
    スプログラム行の命令の命令タイプを判定する命令タイ
    プ判定手段と、 この命令タイプ判定手段により判定された命令タイプに
    基づいて前記レジスタ任意使用可否表示テーブルに各ソ
    ースプログラム行対応に各レジスタの任意使用可否の表
    示を行うテーブル更新手段と、 このテーブル更新手段により更新された前記レジスタ任
    意使用可否表示テーブルの内容を編集して出力する編集
    出力手段と、 を有することを特徴とするアセンブラ言語プログラムの
    保守情報作成方式。
JP61246963A 1986-10-17 1986-10-17 アセンブラ言語プログラムの保守情報作成方式 Pending JPS63101934A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61246963A JPS63101934A (ja) 1986-10-17 1986-10-17 アセンブラ言語プログラムの保守情報作成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61246963A JPS63101934A (ja) 1986-10-17 1986-10-17 アセンブラ言語プログラムの保守情報作成方式

Publications (1)

Publication Number Publication Date
JPS63101934A true JPS63101934A (ja) 1988-05-06

Family

ID=17156326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61246963A Pending JPS63101934A (ja) 1986-10-17 1986-10-17 アセンブラ言語プログラムの保守情報作成方式

Country Status (1)

Country Link
JP (1) JPS63101934A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219833A (ja) * 1990-12-20 1992-08-10 Hokuriku Nippon Denki Software Kk アッセンブラプログラム検査装置
JP2014510960A (ja) * 2011-01-19 2014-05-01 アルゴトゥチップ コーポレーション ツール・ジェネレータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04219833A (ja) * 1990-12-20 1992-08-10 Hokuriku Nippon Denki Software Kk アッセンブラプログラム検査装置
JP2014510960A (ja) * 2011-01-19 2014-05-01 アルゴトゥチップ コーポレーション ツール・ジェネレータ

Similar Documents

Publication Publication Date Title
CN100428143C (zh) 顺序程序的编辑装置
JPS605024B2 (ja) 情報処理方式
JPH01270164A (ja) シミュレーション方法
JP2006323177A (ja) 時間割生成装置、時間割生成方法及びプログラム
JPS63101934A (ja) アセンブラ言語プログラムの保守情報作成方式
JP2538630B2 (ja) テスト項目自動選択システム
JPH0361596B2 (ja)
JP3422478B2 (ja) プログラム作成装置、及び、プログラム作成方法
JP2525393B2 (ja) 論理シミュレ−ションのテストカバレ−ジ方式
JP3058050B2 (ja) ソースプログラム修正支援装置
JP2910548B2 (ja) データチェック装置
JPS63131238A (ja) 論理シミユレ−タ
JPS60200346A (ja) プログラム用テストデ−タ作成方法
JPS6354660A (ja) ワ−ドプロセツサ
US10394943B2 (en) Numerical controller
JPH0778195A (ja) 回路設計cadにおけるデータ更新方式
JPH07306881A (ja) 論理シミュレーション結果解析支援装置
JP2005092609A (ja) シーケンス図表示装置およびシーケンス図表示プログラム
JP2008027037A (ja) 工程シミュレータ
JPS60128570A (ja) 図表分割管理方式
JPH06259495A (ja) 論理シミュレーション方式
JPH11195080A (ja) 表型式の情報編集体の編集方法及び表型式の情報編集体の編集装置、並びに表型式の情報編集体の編集方法を記憶した記録媒体
JP2002092045A (ja) Dxf解析svg保存方法
JPS6244804A (ja) 数値制御装置における加工プログラムの呼び出し方法
JPH06222914A (ja) 電子機器