JPS59225449A - 文番号変換方式 - Google Patents

文番号変換方式

Info

Publication number
JPS59225449A
JPS59225449A JP58100667A JP10066783A JPS59225449A JP S59225449 A JPS59225449 A JP S59225449A JP 58100667 A JP58100667 A JP 58100667A JP 10066783 A JP10066783 A JP 10066783A JP S59225449 A JPS59225449 A JP S59225449A
Authority
JP
Japan
Prior art keywords
program
machine language
flag
register
address
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
JP58100667A
Other languages
English (en)
Inventor
Kenichi Hagiwara
萩原 賢一
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom Corp
Fuji Electric Manufacturing Co 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 Fuji Electric Co Ltd, Fuji Facom Corp, Fuji Electric Manufacturing Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP58100667A priority Critical patent/JPS59225449A/ja
Publication of JPS59225449A publication Critical patent/JPS59225449A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (発明の属する技術分野〕 この発明は、高級言語プログラムのデバッグ時に使用す
る文番号変換方式に関する。
〔従来技術とその問題点〕
近年、計算機のソフトウェアのプログラムの作成を簡略
化するため、“例え゛ばPL/T 、FORTRANな
どの高級言語でプログラムを作成することが多く゛なっ
た。これらの高級言語によるプログラムは、コンパイラ
によシアセンブラ言語に翻訳され、さらにアセンブラ言
語と1対i4c対応した機械語に翻訳されて実行される
のが一般的゛である。
これらのプログラムをデバッグする際に「文番号」が賞
賛な要素となる。この文番号は、高級言語の文単位に付
けられた通し番号であり、デバッグ時に、実行開始位置
、停止位置、現在の実行位置などを指示する場合に使用
される。ところが、現在の大部分の計算機においては、
その実行制御を文贅号ではなく、機械語単位に付け゛ら
れた通し番号、すなわち、プログラム・コード・メモリ
のアドレスによって行うようにしている。このアドレス
は、通常PCレジスタに保持されている。
したがって、高級言語で記述したプログラムであっても
、そのデバッグは機械言語プログラムに対応したPCレ
ジスタによって行わざるを得す、4 その結果デバッグ
作業効率が極めて低いという問題点があった。
この問題点を暦決するため、従来一部の計算機知おいて
は、下記のような方式を採用している。
すなわち、文番号を保持する文番号レジスタをハードウ
ェア上、あるいはソフトワエア的に設け、この文番号レ
ジスタに、高級言語プログラムを翻訳する除に、機械語
として挿入した操作プログラムによって文番号をセット
する。このようにして、現在実行中の文番号を常に文番
号レジスタに保持しておくことができ、文番号が更新さ
れるタイミングを把握することができる利点を有するも
のである。
しかしながら、この方式による場合、機械語プログラム
に文番号レジスタ操作用命令が挿入されるので、プログ
ラム・サイズが増大すると共に、実行速度が低下する欠
点を有する。また、デバッグ終了後に、不要となった。
文番号レジスタ操作用命令を消去するには、何度翻訳し
直す必侠があシ、そのために手間が掛る欠点もあった。
〔発明の目的〕
この発明は、上記従来技術の問題点乃至欠点を解消する
ためになされたものであシ、高級言語プログラムを翻訳
した機械語プログラムに文番号操作用命令を含めること
なく、文番号を参照することによるプログラムのデバッ
グを回部とする文番号変換方式を提供することを目的と
する。
〔発明の要点〕
コノ発明は、高級言語プログラムをコンパイラによって
機械語プログラムに翻訳する際に、機械語プログラムと
、この機械語プログラムのアドレス単位毎に文番号を更
−新するか否かを表示するフラグ部とに分離して記憶し
、デバッグ時に前記機械語プログラムのアドレスと、文
番号とを前記フラグ部を参照して変換するようにしたも
のである。
実施例 以下、この発明を図面に基づいて説明する。
第1図は、この発明の一実施例を示すブ0″/り図であ
る。
あらかじめ、高級言語にょシ記述されたプログラムをコ
ンパイラによって機械語に紅訳する際に、機械語プログ
ラムとコンパイルした機械語プログラムのアドレスに対
応してフラグを発生させる。
この発生したフラグの集合を機械語プログラムに対して
ここでは、フラグ部と呼ぶことにする。さて、機械語プ
ログラムは、高級言語で記述した処理部分に対応した命
令列であ、す、この機械語プログラムをメモリにロード
したときに、アドレス付けされる一位を便宜上「語」と
称す。一方、フラグ部は、機械語プログラムの1語に対
応した1ビツトのフラグの集合であシ、機械語プログラ
ムのn語目で文番号が更新されるか否かに対応して、こ
のようにして、コンパイラによシ翻訳された前記機械語
プログラムがプログラム・コード・メモリ1にロードさ
れ、またフラグ部がフラグ部メモリ2にロードされてい
るものである。なお、この実施例におけるデバッグ装置
は、前記メモリ1及び2の外、PCレジスタ3.演算処
理装置4゜文番号変換器5.プログラム・アドレス・レ
ジスタ6、そして文番号レジスタ7を備えている。
ここで、プログラム畳コードもメモリ1は、直接および
PCレジスタ6を介して演算処理装置4に接続されてい
る。この演算処理装置4は、PCレジスタ6に実行開始
アドレスを設定することによシ、このPCレジスタ3で
指示されるアドレスの語を順次プログラム・コード・メ
モリ1から読み出してプログラムを実行する。
フラグ部メモリ2は、文番号変換器5に接続され、この
文番号変換器5で演算処理装置4の制御にしたがって彼
達する変換作用が行なわれ、その結果がプログラム・ア
ドレス・レジスタ6、または文番号レジスタ7に送出さ
れる。
文番号変換器5は、プログラムの先頭位海におけるアド
レスと文番号とが共に零であると仮定した場合において
、プログラム・アドレス・レジスタ6に所望のプログラ
ム・アト1/スNを設定したとすると、フラグ部メモリ
2に記憶され”Cいるフラグ部の%0〃査目から*Ht
t番目までのフラグを参照し、これらフラグ中の%1〃
のフラグの数を計数して文番号を算出し、これを文番号
し′ジスタフに送出する。また、逆に文番号レジスタ7
に文番号Mを設定すると、フラグ部メモリ2に記憶され
ているフラグ部の)\1〃のフラグを検査し、そのIS
 1 〃のフラグのカラントイ直としてM番目が先頭か
ら何番目のフラグであるかを計数してプログラム・アド
レスを算出し、これをプログラム・アドレス・レジスタ
6に送出する。なお、プログラム・アドレス・レジスタ
6および文番号レジスタ7へのプログラム・アドレスお
よび文番号の設定と、文番号変換器5による各レジスタ
6および7の参照とは演算処理装w4の制御の下に行わ
れる。
次に作用を説明すると、プログラム・コード・メモリ1
に機械語プログラムがロードされ、フラグ部メモリ2に
機械語プログラムの各アドレスに対応するフラグ部がロ
ードされている状態で、デバッグを行う際に、機械語、
のプログラム・アドレスヲフロクラム舎アドレスレジス
タ6に設定すると、文番号変換器5が、演算処理装置4
の制御のもとに、プログラム・アドレス・レジスタ6に
設定されたプログラム・アドレスを参照して、フラグ部
メモリ2に記憶されたフラグ部の各フラグを検索する。
すなわち、プログラム・アドレス・レジスタ6に設定し
たプログラム・アドレスをNとしたときに、文番号変換
器5は、フラグ部メモリ2に記憶されたフラグを第0番
目から第NII目までを検索し、そのうち議1〃のフラ
グの数を計数口、第N番目における計数値を文番号とし
C文番号レジスタ7に出力する。したがって、機械語に
おけるプログラム・アドレスに対応した文番号が文番号
レジスタ7に設定されたことにな9、このプログラム・
アドレスと、これに対応する文番号との変換を容易に行
うことができる。そして、プログラム・アドレス・レジ
スタ6の内容と、文番号レジスタ7の内容とを所望の出
力袋りによって画面表示あるいは印字表示することによ
って両者を対応表示することができる。
また、文番号を文番号レジス“り7に設定すると、前記
と同様に文番号変換器5によって、フラグ部メモリ2に
記憶されたフラグ部の各フラグを検索する。すなわち、
文番号レジスタ7に設定した文番号をMとしたときに、
文番号変換器5は、フラグ部メモリ2に記憶された各フ
ラグのうち気1〃の、フラグをM個計数し、そのM個と
なったと@までの111 //のフラグ及びlt Q 
/lのフラグの総計を計数し、その総計値をプログラム
・アドレスとしてプログラム・アドレス・レジスタ6に
出力する。
したがって、文番号に対応するプログラム・アドレスが
プログラム・アトt/ス・レジスタ6に設定されたこと
になシ、この文番号と、これに対応するプログラム・ア
ドレスとの変換を容易に行うことができる。
なお、デバッグするに際し、現在実行中の機械語アドレ
スに対し、PCレジスタ3を参照して、これをプログラ
ム・アドレス・レジスタ5にセットすると共に、文番号
レジスタ乙にフラグ部メモリ2を参照して、対応する文
番号をセットするようにしても良ハっ このようにして、プログラム・アドレス・レジスタ6お
よび文番号レジスタ7には、夫々互に対応したプログラ
ム・アドレスおよび文番号が格納されることになシ、各
レジスタ6および7の内容を、所定の出力装置によって
画面表示あるいは印字表示することにより、両者を対応
表示す、ることかできる。このため、デバッグ作業を行
う際にも両者の対応関係をみながら行うことができるう
え、文番号によるデバッグ作業を行うことが可能となる
。さらに、デバッグ作業を終了した後は、単にフラグ部
を除去するだけで良く、機械語プログラムには何ら変更
を必要としないので、再翻訳を行う手間を省略すること
ができる。
なお、上記実施例においては、機械語プログラムの各ア
ドレス単位にフラグを設け、このフラグを検索すること
によって、プログラム・アドレスと文番号とを対応変換
する場合について説明したが、この変換を高速化するた
めには、以下述べる変換方式を採用するとよい。
まず、フラグ部メモリ2にフラグ部における各フラグを
所要数に個づつグループ化し、かつ各グループに属する
フラグに対応する文番号の最大値を保持させる。
この状態で、プログラム・アドレスを文番号に変換する
には、プログラム・アドレスNをプログラム・アドレス
・レジスタ6に設定すると、文番号変換器5で第〔廓〕
グループ(但し、’ (’1’M )はNをkで除して
小数点以下を切シ捨てた整数)に属する第(N mod
 k )番目(但し、(N mod k )はNをkで
除したときの余シ)から第(k−+)番目までのフラグ
のうち、電1〃のフラグを計数し、その計数値を(その
グループの最大文番号+1)から差し引いて文番号を算
出する。
また、文番号をプログラム・アドレスに変換するには、
文番号Mを文番号レジスタ7に設定すると、文番号変換
器5で、第0グループから順に最大文番号を積算し、初
めてMを越えるグループ(&Xクループとし、最大文番
号をXとする)を検出する。次に、そのグループX内の
に一19目。
k−2番目、・・・のフラグを順に検索し、(X−M+
 1 )個目の囁1〃のフラグ(そのグループでy番目
とする)を検出する。このときのkH、x+yがプログ
ラム・アドレスとなる。
この変換方式によると、フラグをに個づつグループ化し
て、このグループを検索するので、検索速度を大幅に向
上させることができ、変換速度を向上させることができ
ろ。
また、上記実施例においては、フラグ部を別個のフラグ
部メモリ2にロードした場合について説明したが、プロ
グラム・コード・メモリ1の特定領域にロードするよう
にしても良く、要は機械語プログラムとフラグ部とを分
離して、かつ機械語プログラムの各アドレスに対応して
記憶すれば良いものである。
〔発明の効果〕
以上のように、この発明によれば、機械語プログラムと
ともに、文番号が更新されるプログ2ム・アドレスに関
する情報を発生させて、この情報を利用してプログラム
・アドレスの内容と、文番号とを変換するようにしたの
で、機械語プログラムに、文番号変換のための命令を含
ませる必要がなく、シたがって、機械語プログラムのサ
イズ増加や実行効率の低下を来たすことなく、文番号を
用いた効率的なプログラム・デバッグを実施することが
できる。しかも、プログラム−デパック終了後は、単に
、発生させた情報部分を除去すれば良いので、再翻訳の
手間を省略することができるなどの効果がある。
【図面の簡単な説明】
第1図は、本発明の一実施例を示すブロック図である。 1・・・プログラム・コード争メモリ、2・・・フラグ
部メモリ、6・・・PCレジスタ、4・・・演算処理装
置、5・・・文番号変換器、6・・・プログラム・アド
レス・レジスタ、7・・・文番号レジスタ。 特許出願人 富士ta機製造株式会社

Claims (1)

    【特許請求の範囲】
  1. 為級言語プログラムをコンパイラ如よって機械語プログ
    ラムに翻訳する際に、機械語プログラムと、この機械語
    プログラムのアドレス単位毎に文番号を更新するか否か
    を示す情灸を記憶し、デバッグ時に前記機械器プログラ
    ムのアドレスと、文蟹号とを前記情報を参照して変換す
    ることを特徴とする文番号変換方式。
JP58100667A 1983-06-06 1983-06-06 文番号変換方式 Pending JPS59225449A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58100667A JPS59225449A (ja) 1983-06-06 1983-06-06 文番号変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58100667A JPS59225449A (ja) 1983-06-06 1983-06-06 文番号変換方式

Publications (1)

Publication Number Publication Date
JPS59225449A true JPS59225449A (ja) 1984-12-18

Family

ID=14280127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58100667A Pending JPS59225449A (ja) 1983-06-06 1983-06-06 文番号変換方式

Country Status (1)

Country Link
JP (1) JPS59225449A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4732095A (en) * 1985-04-27 1988-03-22 Tokyo Juki Industrial Co., Ltd. Sewing machine for automatically sewing neat seam ends
JPS63291136A (ja) * 1987-05-22 1988-11-29 Fujitsu Ltd オブジェクト・プログラム生成方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4732095A (en) * 1985-04-27 1988-03-22 Tokyo Juki Industrial Co., Ltd. Sewing machine for automatically sewing neat seam ends
JPS63291136A (ja) * 1987-05-22 1988-11-29 Fujitsu Ltd オブジェクト・プログラム生成方式

Similar Documents

Publication Publication Date Title
EP0268069B1 (en) Method of forming a message file in a computer
US20090070747A1 (en) System for Adding Code Commentary to Source Code During Software Debugging
KR840006528A (ko) 중앙 처리장치
JPH0630066B2 (ja) テーブル型言語翻訳方法
CA1171547A (en) Mixed pitch display
JPH01503181A (ja) コンピュータ
KR900010587A (ko) 생산라인의 고성능 명령어 실행방법 및 장치
JPS59225449A (ja) 文番号変換方式
KR840003081A (ko) 마이크로 프로그램 제어방식
JP2742786B2 (ja) 文字列変換装置
JP2798076B2 (ja) 文字列出力装置
JPH05204703A (ja) アセンブリ命令表示方式
JPS5935458B2 (ja) 未定義ラインナンバ出力方式
JPH06236294A (ja) ソースプログラム・レベルでのデバッグ・モニタ制御方式
JPH03186933A (ja) 言語処理システムのシンボル処理方式
Kneen A Users Guide to the IBM Linkage Editor
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0792754B2 (ja) アセンブル装置
JPH04106633A (ja) 逆アセンブル方式
JPH02268322A (ja) データ処理装置
JPS5938619B2 (ja) 未定義ラインナンバ出力方式
Sidnell et al. INMOS Linker Specification
JPH03212762A (ja) かな漢字変換装置
JPH07271788A (ja) 読み文字列変換装置
JPH02282790A (ja) 図形文字処理装置