JPH02310626A - リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式 - Google Patents

リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式

Info

Publication number
JPH02310626A
JPH02310626A JP1132265A JP13226589A JPH02310626A JP H02310626 A JPH02310626 A JP H02310626A JP 1132265 A JP1132265 A JP 1132265A JP 13226589 A JP13226589 A JP 13226589A JP H02310626 A JPH02310626 A JP H02310626A
Authority
JP
Japan
Prior art keywords
relocatable
assembler
list
address
assemble
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
JP1132265A
Other languages
English (en)
Inventor
Tomomi Miyata
智美 宮田
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 JP1132265A priority Critical patent/JPH02310626A/ja
Publication of JPH02310626A publication Critical patent/JPH02310626A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、リロケータブル・アセンブラの出力するアセ
ンブル・リストにおいて、リンカによって作成されたロ
ード・モジュール・ファイルの情報を参照して、リロケ
ータブル・アセンブラの番地情報およびオブジェクト・
コード情報に絶対番地および確定したオブジェクト・コ
ードを埋め込んだアセンブル・リストに変換する新規な
処理方式に関するものである。
従来の技術 リロケータブル・アセンブラにおいて、一般に、リロケ
ータブルなオブジェクトを生成するために、オブジェク
トの番地は先頭番地からのオフセット値のみ出力可能で
あり、且つオブジェクト・コードに関しては、番地に依
存するコードやシンボルの外部参照部分のコードは、ア
センブル時点では不定である。
一方、リロケータブル・アセンブラにより生成されるア
センブル・リストは、番地欄、オブジェクト・コード欄
、ソース・ステートメント等の部分より構成されるが、
リロケータブル・アセンブラでは番地欄に絶対番地を表
示することや、オブジェクト・コード欄の外部参照の部
分のコードには確定したコードを表示することは不可能
である。
そのため、リロケータブル・アセンブラでは、アセンブ
ル・リストの番地欄にはモジュールの先頭番地を0とし
た場合の相対値を、また不確定なオブジェクト・コード
には暫定的に“0″′を、それぞれ出力している。
更に、リンカでは、リロケータブル・アセンブラに人力
されるソース・プログラムの各シンボルに対して絶対番
地を表示したリンク・マツプを出力するので、リンカの
出力したリンク・マツプを参照することによって初めて
シンボルの番地を知ることができる。
発明が解決しようとする課題 リロケータブル・アセンブラ開発において、ROM発注
時、コードのW16Eの為にアセンブラの出力したアセ
ンブル・リストを使用する場合、上述した従来の処理方
式では、外部参照のオブジェクト・コードはアセンブル
・リストに表示されていないので正しいコードかどうか
を確認できないという欠点がある。
また、アセンブル・リストを参照してプログラムのデバ
ッグをする場合、意図したオブジェクト・コードが出力
されているかどうかをfi認するためには、外部参照の
オブジェクト・コードが表示されていないので、アセン
ブラの出力したアセンブル・リストとリンカの出力した
リンク・マツプとの2つのリストを参照しなければ求め
られないという欠点があった。
更に、シンボル定義以外の部分で絶対番地によりブレー
ク・ポイントを設定するには、必要とする絶対番地を求
めるために、リロケータブル・アセンブラの出力したア
センブル・リストとリンカの出力したリンク・マツプの
両方からシンボルを探し出し、シンボルの相対番地とモ
ジュールの配置番地から絶対番地を計算しなければ求め
られず、デバッグに時間を要するという欠点があった。
そこで、本発明は、上記従来技術の問題点を解決し、特
にデバッグ処理の効率を向上させることができる新規な
アセンブル・リストの絶対番地表示への変換処理方式を
提供することをその目的としている。
課題を解決するための手段 即ち、本発明に従うと、計算機システム上で、ソース・
プログラムからリロケータブル・オブジェクト・モジュ
ール・ファイルおよびアセンブル・リストを出力するり
ロケータプル・アセンブラと、該リロケータブル・オブ
ジェクト・モジニール・ファイルを複数人力して1つの
実行可能なロード・モジュール・ファイルを作成するリ
ンカとを含むリロケータブル・アセンブラ・パッケージ
において、前記アセンブル・リスト、前記リロケータブ
ル・オブジェクト・モジュール・ファイルおよび前記ロ
ード・モジュール・ファイルを人力する手段を設け、該
リロケータブル・アセンブラが出力したアセンブル・リ
ストに対して、絶対番地および確定したオブジェクト・
コードを埋め込んだアセンブル・リストに変換する処理
を含むことを特徴とする、リロケータブル・アセンブラ
における、アセンブル・リストの絶対番地表示への変換
処理方式が提供される。
作用 本発明は上述した従来のリロケータブル・アセンブラの
出力するアセンブル・リストを、リンカによるリロケー
タブル・オブジェクト・モジュールのリンク終了後に決
定する絶対番地と確定したコードを表示したアセンブル
・リストに変換することを可能とする。
リロケータブル・アセンブラ・パッケージは、一般にリ
ロケータブル・アセンブラとリンカとを含んでいる。
リロケータブル・アセンブラは、アセンブリ言語で記述
されたソース・ファイルを人力し、再配置可能(リロケ
ータブル)なオブジェクト・コード情報を格納したリロ
ケータブル・オブジェクト・モジュール・ファイルと、
生成したリロケータブルなオブジェクト・コードとアセ
ンブリ言語で記述したソース・ファイルとを対応して表
示したアセンブル・リストとを出力する。
一方、リンカは、アセンブラの出力したりロケータプル
φオブジェクト・モジュール・ファイルを1つ以上入力
し、それぞれのモジュール間のシンボル定義/参照関係
を解決し、モジュール配置の番地を一定の規則に従って
解決して実行可能なオブジェクト・コードを持つロード
・モジュール・ファイルおよび、モジュールごとの配置
番地およびシンボルの絶対番地を知ることができるよう
にした、マツプ・ファイルを出力する。
ここで、本発明に係る処理方式は、以下のようにして実
現することができる。
即ち、リロケータブル・アセンブラの出力したアセンブ
ル・リストと、リロケータブル・オブジェクト・モジュ
ール・ファイルとを参照して、リンカの出力したロード
・モジュール・ファイルの中から変換対象となるモジュ
ールを捜し出し、リンカの出力したロード・モジュール
・ファイルの中から、当該モジュールのアセンブル・リ
ストに含まれる相対番地の情報とロード・モジュール・
ファイルに含まれるモジュールの配置番地情報から計算
して絶対番地を求める。
また、リンカの出力したロード・モジュール・ファイル
からオブジェクト・コードを読み出し、リロケータブル
・アセンブラの出力したアセンブル・リストの番地欄の
りロケータプル・アセンブラが既に表示している相対番
地を、前記絶対番地の計算によって得られた絶対番地に
置き換える。
更に、オブジェクト・コード欄にリロケータブル・アセ
ンブラが既に表示している仮のオブジェクト・コードを
、リンカの出力したロード・モジュール・ファイルから
読み出したオブジェクト・コードに置き換えることによ
って、絶対番地および確定したオブジェクト・コードを
表示したファイルに変換する。
以下、図面を参照して本発明をより具体的に説明するが
、以下の開示は本発明の一実施例に過ぎず、本発明の技
術的範囲を何ら限定するものではない。
実施例1 第1図は、本発明に係る処理方式の処理の流れを全体的
に示した構成図である。
全体の処理は、リロケータブル・オブジェクト・モジュ
ール・ファイルlを読み込み、モジュールを取り出す処
理5と、取り出したモジュールがロード・モジュール・
ファイル2中にあるかどうかを判定する処理6と、ロー
ド・モジュール・ファイル2より配置番地を取り出す処
理7と、アセンブル・リスト3の終了かどうかを判定す
る処理8と、アセンブル・リスト3および処理7で取り
出したモジュールの配置番地より絶対番地を確定する処
理9と、ロード・モジュール・ファイル2よりオブジェ
クト・コードを取り出す処理lOと、変換情報をアセン
ブル・リスト4へ出力する処理11とから構成されてい
る。
第2図は本発明による処理方式を取り入れた場合の、ア
センブラ開発全体の処理の流れを示したものである。
第2図に示すように、本発明による処理16では、アセ
ンブラ13が出力する、リロケータブル・オブジェクト
・モジニール・ファイル11アセンブル・リスト3およ
びリンカ14が出力するロード・モジュール・ファイル
2が入力される。また、リロケータブル・オブジェクト
・モジュール・ファイルlおよびアセンブル・リスト3
に含まれるモジュールの相対番地が、ロード・モジュー
ル・ファイル2の配置番地情報により絶対番地に変換さ
れたアセンブル・リスト4が出力される。
以下、第1図および第2図に示した処理全体を、その過
程を追って説明する。
(1)第1図において処理5として示すように、アセン
ブラの出力した、リロケータブル・オブジェクト・モジ
ュール・ファイルlより変換後のアセンブル・リスト4
0対象となるモジュール名を取り出す。
(2)続いて、処理6として示すように、モジコール塩
が見つからない場合はそこで終了とする。
(3)モジュール名が見つかった場合は、処理7として
示すように、そのモジコールの配置番地を、リンカが出
力したロード・モジュール・ファイル2より取り出す。
(4) アセンブラの出力したアセンブル・リスト3よ
り解決されていない相対番地の表示を探す。
相対番地が見つかると、処理9として示すように、先に
処理7で取り出しておいた、モジ5−ルの配置番地との
和を算出する。
(5)算出した番地に対して、処理10として示すよう
に、決定していない、即ち、仮にOを埋め込まれている
オブジェクト・コード部分へ、ロード・モジュール・フ
ァイル2より確定したコードを探し出す。
(6)処理11として示すように、リロケータブル・ア
センブラ出力したアセンブル・リスト3を読み込み、番
地欄に表示されている相対番地があったら処理9で解決
した絶対番地に変換し、確定していないオブジェクト・
コードがあれば処理lOで読み込んだ、確定したオブジ
ェクト・コードに変換してアセンブル・リスト4へ出力
する。変換の必要がないものであれば、そのままアセン
ブル・リスト4へ出力する。
ここで、第3図は、上述のような変換処理が実行される
前のアセンブル・リストの例を示す図である。以下、第
3図を参照して、アセンブル・リスト出力の処理手順を
説明する。
(6−1)  リロケータブル・アセンブラが出力した
アセンブル・リストで、相対番地表示になっているとこ
ろまでを読み込む。図3の番地欄17のようにoooo
 <番号19)となっているところが、リロケータブル
・アセンブラがアセンブル・リストに表示した相対番地
である。
(6−2)  処理9で求めた絶対番地をアセンブル・
リストに埋め込む。この場合、処理9で算出した絶対番
地が0024であったので、図4の番地欄17のように
0024  (番号21)をアセンブル・リストへ埋め
込む。
(6−3)  リロケータブル・アセンブラが出力した
アセンブル・リストでオブジェクトが確定していない(
0が埋め込まれている)部分まで読み込む。第3図中で
、オブジェクト・コード欄18の参照番号20で示すB
EOOOOの0000となっている部分が不確定なオブ
ジェクト・コードである。゛ (6−4)  処理IOで求めた、確定したオブジェク
ト・コードをアセンブル・リストに埋め込む。この場合
、処理IOで求めたオブジェクト・コードが0200で
あったので、後述する第4図に参照番号22によって示
すように、BEO200に置き換えている。
(6−5)  前記(6−1)から(6−4)までの処
理が行われない場合、読み込んだそのままをアセンブル
・リストへ出力する。
(7)処理8に戻り、アセンブル・リスト3の終りまで
、処理9、処理10および処理11の3つの処理を繰り
返し実行する。
第4図は、以上のような変換処理を実行した後に生成さ
れる、第3図に対応したアセンブル・リストを示す図で
ある。ここで、変換後のアセンブル・リスト4は、アセ
ンブラ13の出力したアセンブル・リスト3とリンカ1
4の出力したマツプ・リスト15の双方の情報を併せ持
っている。
実施例2 第5図は 本発明に係る処理方式の実施例2における処
理の流れを示すフローチャートである。
本発明に係る処理方式を実施する際に、一度に複数のモ
ジュールを複数指定して複数のアセンブル・リストを人
力し、一括変換して複数のアセンブル・リストを出力す
ることも可能であり、本実絶倒はそのような場合の処理
を説明したものである。
即ち、1つのアセンブル・リスト3が終了したら、第5
図において処理23に示すように、次のリロケータブル
・オブジェクト・モジュール・ファイルlを取り込む。
起動時に指定されたファイルを全て変換すれば処理は終
了である。
処理終了後には、指定した全てのモジュールに対して、
絶対番地および確定したオブジェクト・コードが埋め込
まれた複数のアセンブル・リスト4が得られる。
発明の詳細 な説明したように、本発明による処理方式を用いれば、
マイクロプロセッサのプログラム開発時に、−目で番地
やシンボル値を知ることができるリスト・ファイルを得
ることができる。
この結果、デバッグを行なう場合にアセンブラの出力し
たリスト・ファイルとリンカの出力したマツプ・ファイ
ルとをつき合せて計算しなくても、必要とする番地また
はシンボル値を容易に知ることができるため、プログラ
ム・デバッグを効率良く行なうことが可能となり、マイ
クロプロセッサ・システムの開発期間を短縮することが
可能となる。
【図面の簡単な説明】
第1図は、本発明に係るアセンブル・リストの絶対番地
表示への変換処理方式の一実施例における処理の流れを
示すフローチャートであり、第2図は、本発明に係る処
理方式の基本的な処理の流れを説明するフローチャート
であり、第3図および第4図は、本発明に係る処理方式
により扱うことのできるアセンブル・リストの例を示し
、第3図は処理前のリストを、第4図は処理後のリスト
をそれぞれ示しており、 第5図は、本発明に係る処理方式の第2実施例における
処理の流れを示すフローチャートである。 〔主な参照番号〕 ■・・リロケータブル・オブジェクト・モジュール・フ
ァイル 2・・ロード・モジュール・ファイル 3・・変換前アセンブル・リスト 4・・変換後アセンブル・リスト 12・・ソース・ファイル 13・・リロケータブル・アセンブラ 14・・リンカ 15・・マツプ・リス°ト 16・・本発明による変換処理 17・・番地欄 18・・オブジェクト・コード欄 19・・相対番地 20・・仮のオブジェクト・コード 21・・絶対番地

Claims (1)

  1. 【特許請求の範囲】 計算機システム上で、ソース・プログラムからリロケー
    タブル・オブジェクト・モジュール・ファイルおよびア
    センブル・リストを出力するリロケータブル・アセンブ
    ラと、該リロケータブル・オブジェクト・モジュール・
    ファイルを複数入力して1つの実行可能なロード・モジ
    ュール・ファイルを作成するリンカとを含むリロケータ
    ブル・アセンブラ・パッケージにおいて、 前記アセンブル・リスト、前記リロケータブル・オブジ
    ェクト・モジュール・ファイルおよび前記ロード・モジ
    ュール・ファイルを入力する手段を設け、該リロケータ
    ブル・アセンブラが出力したアセンブル・リストに対し
    て、絶対番地および確定したオブジェクト・コードを埋
    め込んだアセンブル・リストに変換する処理を含むこと
    を特徴とする、リロケータブル・アセンブラにおける、
    アセンブル・リストの絶対番地表示への変換処理方式。
JP1132265A 1989-05-25 1989-05-25 リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式 Pending JPH02310626A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1132265A JPH02310626A (ja) 1989-05-25 1989-05-25 リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1132265A JPH02310626A (ja) 1989-05-25 1989-05-25 リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式

Publications (1)

Publication Number Publication Date
JPH02310626A true JPH02310626A (ja) 1990-12-26

Family

ID=15077241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1132265A Pending JPH02310626A (ja) 1989-05-25 1989-05-25 リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式

Country Status (1)

Country Link
JP (1) JPH02310626A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6115236A (ja) * 1984-06-29 1986-01-23 Fujitsu Ltd オブジエクトリストの部分作成方法
JPS63228236A (ja) * 1987-03-17 1988-09-22 Nec Corp シンボルアドレス出力方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6115236A (ja) * 1984-06-29 1986-01-23 Fujitsu Ltd オブジエクトリストの部分作成方法
JPS63228236A (ja) * 1987-03-17 1988-09-22 Nec Corp シンボルアドレス出力方式

Similar Documents

Publication Publication Date Title
US5862382A (en) Program analysis system and program analysis method
US9081626B2 (en) Method and apparatus for converting software
US20090150871A1 (en) Method and apparatus for defining and instrumenting reusable java server page code snippets for website testing and production
CN111427583A (zh) 组件的编译方法、装置和电子设备及计算机可读存储介质
JP2018073054A (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
JP2009205523A (ja) プロパティ自動生成装置
JP2007128123A (ja) 影響範囲抽出システム
CN111736812A (zh) 文档代码执行方法、装置、计算机设备及存储介质
CN114791811B (zh) 一种基于元函数模板的汇编器实现方法
JPH02310626A (ja) リロケータブル・アセンブラにおける、アセンブル・リストの絶対番地表示への変換処理方式
US20100070951A1 (en) Generic assembler
JP2009193488A (ja) ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
JP6578693B2 (ja) 情報抽出装置、情報抽出方法、及び、表示制御システム
CN113126998A (zh) 一种增量源码获取方法、装置、电子设备及存储介质
WO2022249256A1 (ja) Api検出装置、api検出方法及びプログラム
Chénard et al. Towards the automatic discovery of platform transformation templates of legacy object-oriented systems
JP3063297B2 (ja) 言語処理プログラム作成装置
JP3000878B2 (ja) アセンブラの処理方法
JP5013506B2 (ja) アプリケーションプログラムの実行方法、その装置及びプログラム
JP5050624B2 (ja) ソフトウェア開発支援システム
KARAPATEAS RETARGETING AN ASSEMBLY OPTIMIZER FOR THE MIPS/SCALE ASSEMBLY
CN114998038A (zh) 异常保单处理方法及系统
JP3208300B2 (ja) プログラム中の物理実体の使用形式抽出方法および関連抽出方法
JP6534814B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JPH0744560A (ja) 文書処理装置における論理構造認識処理方式