JPH10254710A - アセンブルリスト生成方式 - Google Patents

アセンブルリスト生成方式

Info

Publication number
JPH10254710A
JPH10254710A JP6049797A JP6049797A JPH10254710A JP H10254710 A JPH10254710 A JP H10254710A JP 6049797 A JP6049797 A JP 6049797A JP 6049797 A JP6049797 A JP 6049797A JP H10254710 A JPH10254710 A JP H10254710A
Authority
JP
Japan
Prior art keywords
assemble
list
symbol
cross reference
assembling
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
JP6049797A
Other languages
English (en)
Inventor
Hideaki Maeda
秀昭 前田
Masakatsu Wada
正克 和田
Katsuhiko Kato
克彦 加藤
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.)
Hitachi Ltd
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Information Technology 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 Hitachi Ltd, Hitachi Information Technology Co Ltd filed Critical Hitachi Ltd
Priority to JP6049797A priority Critical patent/JPH10254710A/ja
Publication of JPH10254710A publication Critical patent/JPH10254710A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】従来方式のアセンブルリストが複数存在する不
具合を解消して、管理を容易とする。 【解決手段】複数のアセンブルリストを論理アドレス順
にマージし、1つのアセンブルリストとして作成する。
そのマージ方法は、複数のアセンブルリストの未解決オ
ブジェクトを解決し、論理アドレス順に1つのアセンブ
ルリストを生成する手段、内部・外部定義シンボルを定
義したソース行の直後に参照元のクロスリファレンスを
表示させる手段、又は複数のオブジェクトをリンクした
結果得られるリンクリストによって、空きアドレスとそ
の容量をアセンブルリストに表示させる手段からなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】装置組込みソフトのテスト、
デバッグに関するものである。
【0002】
【従来の技術】従来、実機デバッグ等において、テスト
結果が期待値と不一致の時にはアセンブルリストを参照
してデバッグを行っている。アセンブルリストは、特開
平2−310726号公報に示されるように外部定義シ
ンボルの解決アドレスをリンク結果をもとにアセンブル
リストに埋め込むようになっているが、複数ソースに分
割してアセンブル(コンパイル)した場合、アセンブル
リストはアセンブル単位に複数出力されることとなる。
【0003】
【発明が解決しようとする課題】従来方式では、上記の
ようにアセンブルリストが複数存在するため、実機デバ
ッグ等において以下に示す問題点が挙げられる。
【0004】(1)内部・外部定義シンボルの参照関係
を検索する際、複数のアセンブルリストおよびリンクリ
ストのクロスリファレンス情報から検索する必要があ
る。また、内部・外部定義シンボルのクロスリファレン
ス情報は、アセンブルソースと分離している。[請求項
1][請求項2] (2)装置組込みソフトのテスト/デバッグにおいては
プログラムパッチが日常的に行われ、プログラムパッチ
をする度に、複数のアセンブルリストをもとにメモリ配
置、および空きアドレスとその空き容量を調査する必要
がある。[請求項3] (3)アセンブルリストを持ち運んでデバックするた
め、アセンブルリストの紛失、忘れ、新旧管理等の管理
不良が発生する。[請求項1] 本発明は、上記の課題を解決するものである。
【0005】
【課題を解決するための手段】上記の課題を解決するた
めに、複数のアセンブルリストを論理アドレス順にマー
ジし、1つのアセンブルリストとして作成する。そのマ
ージ方法として以下の手段により解決することができ
る。
【0006】複数のアセンブルリストの未解決オブジェ
クトを解決し、論理アドレス順に1つのアセンブルリス
トを生成する手段と、内部・外部定義シンボルを定義し
たソース行の直後に参照元のクロスリファレンスを表示
させる手段と、複数のオブジェクトをリンクした結果得
られるリンクリストによって、空きアドレスとその容量
をアセンブルリストに表示させる手段である。
【0007】
【発明の実施の形態】以下、本発明の実施例を図を用い
て、具体的に説明する。
【0008】図1に本発明の構成図を示す。図1におい
て、101は本発明をシステム化したアセンブルリスト
生成システムを示し、空きアドレス情報取得手段(10
5)、外部定義シンボルのクロスリファレンス情報取得
手段(106)、内部定義シンボルのクロスリファレン
ス情報取得手段(107)、未解決オブジェクト解決手
段(108)、アセンブルリスト生成手段(113)で
構成される。また、リンク手段によって出力されたリン
クリスト(102)とロードプログラム(104)、ア
センブル(コンパイル)手段によって出力されたアセン
ブルリスト(103)をシステムの入力とし、105の
手段によって得られる空きアドレステーブル(10
9)、106と107の両手段によって得られるシンボ
ルテーブル(110)、108の手段によって得られる
ファイル管理テーブル(111)とセクションワークフ
ァイル(112)を入力とする113によってアセンブ
ルリスト(114)が生成される。空きアドレス情報取
得手段(105)は、リンクリストに出力された空きア
ドレス情報をテーブルに格納する機能を持つ。
【0009】外部定義シンボルのクロスリファレンス情
報取得手段(106)は、リンクリスト(102)に出
力された外部定義シンボルのクロスリファレンスをシン
ボルテーブル(110)に格納する機能を持つ。
【0010】内部定義シンボルのクロスリファレンス情
報取得手段(107)は、アセンブルリスト(103)
に出力された内部定義シンボルのクロスリファレンスを
シンボルテーブル(110)に格納する機能を持つ。
【0011】未解決オブジェクト解決手段(108)
は、アセンブルリスト(103)内の未解決オブジェク
トコードに対して該当する論理アドレスからロードプロ
グラム(104)内のオブジェクトコードを取得し、未
解決オブジェクトコードに埋め込み、連続しているアド
レス単位にセクションワークファイルを作成する機能を
持つ。アセンブルリスト生成手段(113)は、109
から112のデータを基に、これを論理アドレスに対し
昇順のアセンブルリスト(図2)を生成する機能を持
つ。
【0012】図2に上記機能により論理アドレス昇順に
マージされたアセンブルリストの例(211)を示す。
モジュール1のアセンブルリスト(201)、モジュー
ル2のアセンブルリスト(205)、およびそのリンク
リスト(208)を入力した場合、アセンブルリスト情
報であるセクションA(202)、B(203)、C
(206)をその論理アドレス昇順にマージして出力す
る(212)。その際、各ソースへの変更の容易さを考
慮し、元のモジュール名を各セクションに付加してい
る。なお、リストの見易さ等により出力ページ毎に付加
することも可能である。そして、デバッグおよびパッチ
時の効率アップを考慮して、全空きアドレス情報(20
9)と全シンボル情報(204,207,210)をマ
ージし、付加している(213,214)。
【0013】以下、図3〜図7を用いて各手段の処理内
容について説明する。
【0014】図3は、空きアドレス情報取得手段(10
5)についてのロフー図である。
【0015】リンクリスト(102)内の空きアドレス
情報がある位置まで読み飛ばし(301)、空きアドレ
スの情報を1行読み込み(302)、空きアドレスの範
囲とその容量を取得し、空きアドレス情報テーブル(1
09)に格納する(304)。これを空きアドレス情報
が終わるまで続ける(303)。
【0016】図4は、外部定義シンボルのクロスリファ
レンス情報取得手段(106)についてのフロー図であ
る。リンクリスト(102)内の外部定義シンボルのク
ロスリファレンス情報がある位置まで読み飛ばし(40
1)、クロスリファレンス情報を1行読み込み(40
2)、その行に外部定義シンボル名がある場合、シンボ
ル名をシンボルテーブル(110)に格納し(40
5)、クロスリファレンス情報もシンボルテーブル(1
10)に格納する(406)。また、読み込んだ1行に
外部定義シンボル名がない場合は、前の外部定義シンボ
ルに対してのクロスリファレンス情報のため、クロスリ
ファレンス情報を前のシンボルに対するテーブルに格納
する(406)。
【0017】図5は、未解決オブジェクト解決手段(1
08)についてのフロー図である。
【0018】連続している論理アドレス単位にセクショ
ンワークファイルを作成するため、セクセョンワークフ
ァイルnをオープンする(501)。アセンブルリスト
内のアセンブルリスト情報まで読み飛ばし(502)、
読み込んだ最初の1行の論理アドレスをファイル管理テ
ーブル(111)に開始アドレスとして格納する(50
3)。読み込んだ1行が未解決オブジェクトコードの場
合(506)は、ロードプログラムからその行の論理ア
ドレス該当するオブジェクトコードを取得し(50
7)、その行のオブジェクトコードに埋め込む(50
8)。次に前に読み込んだ1行の論理アドレスと今読み
込んでいる1行の論理アドレスが連続した論理アドレス
かをチェックする(509)。また、未解決オブジェク
トコードでない場合(506)も、509の処理にな
る。連続した論理アドレスの場合は、セクションワーク
ファイルn(112)に出力(515)し、連続してい
ない場合は、セクションワークファイルn(112)を
クローズ(510)し、ファイル管理テーブル(11
1)に、前に読み込んだ1行の論理アドレスを終了アド
レスとして格納する(511)。セクションワークファ
イル名カウンタ(n)をインクリメント(512)し、
読み込んでいる1行の論理アドレスを開始アドレスとし
てファイル管理テーブル(111)に格納し、次のセク
ションワークファイルn(112)をオープン(51
4)する。そのオープンしたセクションワークファイル
n(112)に読み込んでいる1行を出力(515)す
る。その後、アセンブルリストから1行ずつ読み込む
(504)。これをアセンブルリスト情報が終わるまで
続ける(505)。その後、今、オープンしているセク
ションワークファイルn(112)をクローズする(5
16)。
【0019】図6は、内部定義シンボルのクロスリファ
レンス情報取得手段(107)についてのフロー図であ
る。
【0020】アセンブルリスト(103)内の内部定義
シンボルのクロスリファレンス情報がある位置まで読み
飛ばし(601)、クロスリファレンス情報を1行読み
込み(602)、その行に内部定義シンボル名がある場
合、シンボル名をシンボルテーブル(110)に格納し
(605)、クロスリファレンス情報もシンボルテーブ
ル(110)に格納する(606)。また、読み込んだ
1行に内部定義シンボル名がない場合は、前の内部定義
シンボルに対してのクロスリファレンス情報のため、ク
ロスリファレンス情報を前のシンボルに対するテーブル
に格納する(606)。
【0021】図7は、アセンブルリスト生成手段(11
3)についてのフロー図である。
【0022】108の手段によって得られた111のデ
ータから論理アドレス順に112のセクションワークフ
ァイルをオープン(702)する。702でオープンし
たファイルから1行ずつ読み込み(703)、アセンブ
ルリスト(114)に出力(705)する。出力した1
行にシンボル定義があるかをチェック(706)し、シ
ンボル定義したソースの場合、110のテーブルから該
当するシンボルのクロスリファレンスを114の次行に
出力(707)する。これをファイルの終わり(70
4)まで繰り返し、セクションワークファイルをクロー
ズ(708)する。ファイルが終わったら109のデー
タから該当するデータを114の次行に出力(709)
する。今までの処理を111のデータが終わる(70
1,710)まで繰り返し出力(705)し、最後に1
09のテーブル情報と110のテーブル情報を出力(7
11,712)すると114が生成される。
【0023】また、図8、図9にデバッグの容易さを考
慮したリスト出力例を示す。
【0024】図8は、シンボル定義のあるソースに対
し、次行からそのシンボルのクロスリファレンス情報を
モジュール名とCSA(論理アドレス)で出力した例
(801)である。
【0025】図9は、空きアドレス情報として論理アド
レス範囲とステップ数を対応する論理アドレス位置に出
力した例(901)である。
【0026】
【発明の効果】本発明によれば、実機デバッグなどにお
いての効率向上、パッチのアドレス検索の効率向上、ア
センブルリストの管理の容易さという利点が得られる。
【図面の簡単な説明】
【図1】本発明の基本構成図。
【図2】マージ後のアセンブルリスト図。
【図3】空きアドレス情報取得の概略フロー図。
【図4】外部定義シンボルのクロスリファレンス情報の
概略フロー図。
【図5】未解決オブジェクト解決の概略フロー図。
【図6】内部定義シンボルのクロスリファレンス情報の
概略フロー図。
【図7】アセンブルリスト生成の概略フロー図。
【図8】内部・外部定義シンボルのクロスリファレンス
情報出力図。
【図9】空きアドレス情報出力図。
【符号の説明】
102…リンクリスト、103…アセンブルリスト、1
04…ロードプログラム、105…空きアドレス情報取
得手段、106…外部定義シンボルのクロスリファレン
ス情報取得手段、107…内部定義シンボルのクロスリ
ファレンス情報取得手段、108…未解決オブジェクト
解決手段、109…空きアドレステーブル、110…シ
ンボルテーブル、111…ファイル管理テーブル、11
2…セクションワークファイル、113…アセンブルリ
スト生成手段、114…アセンブルリスト。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 和田 正克 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 (72)発明者 加藤 克彦 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】アセンブル(コンパイル)手段と前記アセ
    ンブル手段により生成されたオブジェクトコードを結合
    するリンク手段を有するロードプログラム生成におい
    て、1つのアセンブルソース内で外部定義シンボル参照
    のため未解決となったオブジェクトコードを解決する未
    解決オブジェクト解決手段と複数のアセンブルリストを
    アセンブルリスト内の論理アドレスを利用し、論理アド
    レス順に1つにマージしたアセンブルリストを生成する
    手段を備えたアセンブルリスト生成方式。
  2. 【請求項2】請求項1に係り、リンク手段から得られる
    リンクリストのクロスリファレンスから外部定義シンボ
    ルをテーブルに格納する外部定義シンボルのクロスリフ
    ァレンス情報取得手段と、アセンブル手段から得られる
    アセンブルリストのクロスリファレンスから内部定義シ
    ンボルをテーブルに格納する内部定義シンボルのクロス
    リファレンス情報取得手段でシンボルテーブルを作成
    し、アセンブルリストから読み込んだソース各行に対
    し、内部・外部定義シンボルを定義したアセンブルソー
    ス行に対して、当該シンボルを参照する参照元のアセン
    ブルソース行情報を当該アセンブルソースの直後に表示
    するシンボルのクロスリファレンス情報出力手段を備え
    たアセンブルリスト生成方式。
  3. 【請求項3】請求項1に係り、リンク手段から得られる
    リンクリストのメモリマップからロードプログラムに対
    する空きアドレスとその容量の情報をテーブルに格納す
    る空きアドレス情報取得手段によって空きアドレスの情
    報をアセンブルリストに表示する空きアドレス情報出力
    手段を備えたアセンブルリスト生成方式。
JP6049797A 1997-03-14 1997-03-14 アセンブルリスト生成方式 Pending JPH10254710A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6049797A JPH10254710A (ja) 1997-03-14 1997-03-14 アセンブルリスト生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6049797A JPH10254710A (ja) 1997-03-14 1997-03-14 アセンブルリスト生成方式

Publications (1)

Publication Number Publication Date
JPH10254710A true JPH10254710A (ja) 1998-09-25

Family

ID=13144006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6049797A Pending JPH10254710A (ja) 1997-03-14 1997-03-14 アセンブルリスト生成方式

Country Status (1)

Country Link
JP (1) JPH10254710A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769517B2 (en) 2002-03-15 2014-07-01 International Business Machines Corporation Generating a common symbol table for symbols of independent applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769517B2 (en) 2002-03-15 2014-07-01 International Business Machines Corporation Generating a common symbol table for symbols of independent applications

Similar Documents

Publication Publication Date Title
US6550052B1 (en) Software development framework for constructing embedded vehicle controller software
US5911074A (en) Process for manipulating data models used in software engineering
JP2664137B2 (ja) Icカード
US20080127113A1 (en) Method and system for implementing watchpoints
US5594892A (en) Method for automated software application testing
JP2002517817A5 (ja)
CN109032631B (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
US5721924A (en) Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name
JP4728563B2 (ja) コード生成装置、コード生成プログラム、機能実行装置、機能実行プログラム、モデル生成装置、およびモデル生成プログラム
US20040010780A1 (en) Method and apparatus for approximate generation of source code cross-reference information
CN111859864A (zh) 一种将库数据转化为流式文档方法及转换工具
JPH10254710A (ja) アセンブルリスト生成方式
CN116048481A (zh) 业务信息处理系统及方法
CN113190235B (zh) 一种代码的分析方法、装置、电子终端及存储介质
JPH0766342B2 (ja) プログラムテスト装置
CN114579141A (zh) require框架转化为VUE框架的方法及装置
CN113792026A (zh) 数据库脚本的部署方法、装置及计算机可读存储介质
CN112882701A (zh) 一种支持多架构的可执行文件静态插桩技术框架
JP3266097B2 (ja) 非リエントラントプログラムの自動リエントラント化方法及びシステム
CN113485919A (zh) 测试方法、测试装置及计算机可读存储介质
JP3887550B2 (ja) クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
CN114791811B (zh) 一种基于元函数模板的汇编器实现方法
CN111708572B (zh) 一种基于Clang程序结构的控制流程图自动生成方法
JP2001216139A (ja) メイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体