JPS63147227A - セグメント結合時番地情報補正方式 - Google Patents

セグメント結合時番地情報補正方式

Info

Publication number
JPS63147227A
JPS63147227A JP29442186A JP29442186A JPS63147227A JP S63147227 A JPS63147227 A JP S63147227A JP 29442186 A JP29442186 A JP 29442186A JP 29442186 A JP29442186 A JP 29442186A JP S63147227 A JPS63147227 A JP S63147227A
Authority
JP
Japan
Prior art keywords
address information
segment
address
format
information
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
JP29442186A
Other languages
English (en)
Inventor
Atsushi Goto
淳 後藤
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 JP29442186A priority Critical patent/JPS63147227A/ja
Publication of JPS63147227A publication Critical patent/JPS63147227A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおいて複数個のオブジェクト
モジュールから一個のロードモジュールを生成する際の
リンク方式に関するものである。
〔従来の技術〕
計算機システムにおける記憶保護の単位であるセグメン
トにおいてセグメント間の処理の受は渡しがセグメント
内のそれに比べて大きな時間を要する場合、コンパイル
時にある特定のセグメントに含まれる他のセグメントへ
の処理の受は渡し手順の部分をセグメント内の処理の受
は渡しの手順で作成しておき、リンク時にそれらのセグ
メントを結合することにより処理の高速化を計る場合が
ある。このようなリンク時のセグメントの結合をセグメ
ントバインドと称する。
またセグメント内の特定の番地をセグメント外に知らせ
る必要がある場合、実行時に参照可能な番地の情報をオ
ブジェクトモジュール内に用意する場合がある。この情
報を以後番地情報と称す。
この番地情報にはコンパイル時に決定された番地とその
番地がどのセグメントに属するものなのかを示すセグメ
ント指定情報が格納されるが、セグメントバインドを行
なうとセグメントバインドされたセグメント内の番地及
びその番地の属するセグメントが変化するため、セグメ
ントバインド時には番地情報の内容を修正する必要があ
る。
また当該計算機システムにおいてセグメントのサイズに
上限がある場合、番地情報内の表す事のできる番地の上
限もセグメントのサイズの上限に設定するのが普通であ
るが、当該計算機システムの改良等によりセグメントの
サイズの上限が拡大された場合、従来あった番地情報で
はセグメント内の全ての番地を表せなくなるため、新形
式の番地情報を用意し、コンパイル時に新形式の番地情
報をオブジェクトモジュール内に生成することによりセ
グメント内の全ての番地を表現可能とする場合がある。
ただし、このような変更を加えた場合でもオブジェクト
モジュールの上位互換性を保つために旧形式の番地情報
の処理も可能とするのが普通であり、そのために旧形式
の番地情報格納フィールドでは未使用で“0”に設定さ
れていたフラグを新形式では“l”にすることで新、旧
形式の識別を可能としている。これにより以前に作成さ
れたオブジェクトモジュールにおいてもなんらの変更を
行なう事なく処理することが可能となる。
しかし、以前に作成されたオブジェクトモジエールをリ
ンクする場合、以前の処理においてはセグメントバイン
ドした結果のセグメントのサイズが当該計算機システム
のセグメントのサイズの上限を越え処理できなかったセ
グメントバインド処理が、当該計算機システムのセグメ
ントのサイズの上限が引き上げられたことにより処理可
能となる場合があるが、この場合には旧形式の番地情報
で示された番地がセグメントバインドの結果旧形式の番
地情報では表せなくなることがある。
従来、このような事態が発生した場合には、新形式の番
地情報を生成するコンパイラを使用して再コンパイルし
てリンクする必要があった。
〔発明が解決しようとする問題点〕
前記のように、従来の計算機システムを改良して新計算
機システムを開発した際に当該計算機システムのセグメ
ントのサイズの上限の拡大によって従来のセグメントバ
インドができなかった組み合わせのセグメントバインド
が可能になったにもかかわらず、旧形式の番地情報では
セグメント内の全ての番地が表せなくなったために、よ
り大きな番地まで表現可能な新形式の番地情報を新設し
た場合において、旧計算機システムでコンパイルされた
旧形式の番地情報しか持たないオブジェクトモジュール
をセグメントバインドした結果、番地情報の示す番地が
旧形式の番地情報では表せない番地になった場合には、
問題となるセグメントを含むオブジェクトモジュールを
新形式の番地情報を生成するコンパイラで再コンパイル
してオブジェクトモジュールを生成し直す必要がある。
しかし旧計算機におけるオブジェクトモジュールの蓄積
が非常に多い場合には再コンパイルに非常に多くの工数
がかかり従来の計算機システムから新計算機システムへ
の移行の妨げとなることがあるという問題点があった。
〔問題点を解決するための手段〕
本発明のセグメント結合特番地情報補正方式は従来技術
のかかる問題点を解決するために、リンク時にセグメン
トの結合をしたためにそのセグメントの結合対象となっ
たセグメント内の特定の番地を示す情報を補正する際に
、その情報の示すべき番地がその情報の形式では表セな
(なった場合、その情報の形式をより大きな番地を表せ
る形式に変換した後、補正後の番地情報をセットする。
〔作用〕
番地情報を表現する形式を、リンク時に補正するように
した為、新形式の番地情報を生成するコンパイラを使用
して再コンパイルしてリンクする必要がない。
〔実施例〕
次に、本発明の実施例を図面を参照して説明する。
第1図は本発明の実施例の構成図であぜ、リンカ1と、
複数のオブジェクトモジュールOM1〜OMnが格納さ
れた記憶手段2と、リンカ1の起動前に予めコマンド等
で指定されたセグメント結合指定SBを保持する保持手
段3と、ロードモジュールLMを格納する記憶手段4と
を含み、リンカ1は、オブジェクトモジュール入力処理
手段11゜セグメント結合処理手段12.セグメント結
合時番地情報補正処理手段13およびロードモジュール
生成処理手段14を有する。また、セグメント結合特番
地情報補正処理手段13は番地情報補正処理部131と
番地情報変換部132とで構成されている。
第1図において、リンカ1が起動されると、まずオブジ
ェクトモジュール入力処理手段11によりリンクに必要
なオブジェクトモジュールOMI〜OMnが記憶手段2
から読み込まれる0次に、セグメント結合処理手段12
によりセグメント結合指定SBが保持手段3から読み込
まれ、それに従ワて入力オブジェクトモジュール内のセ
グメントバインドが行われる。
次に、セグメント結合特番地情報補正処理手段13では
、セグメント結合を行ったために補正の必要の生じた番
地情報について番地とセグメント指示情報を補正する。
このとき通常の補正処理は番地情報補正処理部131で
行なうが、補正対象の番地情報が旧形式の場合で補正後
の番地が旧形式の番地情報では表せない値となった場合
には番地情報変換部132によって新形式の番地情報に
変換する。
そして、最後にロードモジュール生成処理手段14にお
いて以上の処理をおこなった入力オブジェクトモジュー
ルからロードモジュールLMを生成する。
第2図はセグメント結合処理手段12の処理例を示した
フローチャートである。セグメント結合処理手段12は
、ステップSBIにおいて保持手段3からセグメント結
合指定SBを一つ入力し、その内容から次のステップS
B2においてセグメント結合指定SBが終了したか否か
を判定し、終了せずにセグメント結合指定SBが入力さ
れたなら、次のステップSB3において今回のステップ
SBlで入力したセグメント結合指定SBに従ったセグ
メント結合処理を行ない、ステップSBIに戻る0以上
の処理をセグメント結合指定SBが終了するまで繰返す
第3図はセグメント結合特番地情報補正処理手段13の
処理例を示したフローチャートである。セグメント結合
特番地情報補正処理手段13は、ステップRLIにおい
て番地情報の補正が全て終了したか否かの判定を行ない
、終了していなければステップRL2において補正の対
象とする番地情報の示すセグメントがセグメントバイン
ドされたか否かを判定する。この時補正対象とする番地
情報の示すセグメントがセグメントバインドされていれ
ば番地情報内の番地およびセグメント指示情報を新しい
値に書換える必要があるのでステップRL3に移行して
後述する補正処理を行ない、セグメントバインドされて
いなければ補正の必要が無いため補正処理を回避してス
テップRLIに戻る。
補正処理は以下の手順で行なわれる。
まずステップRL3において新番地を算出し、次のステ
ップRL4において補正対象となる番地情報が旧形式か
否かを形式中の所定のビットを見ることで判定し、旧形
式ならばステップRL5においてステップRL3で算出
した新番地が旧形式の番地情報に入り切るか否かの判定
をする。そして、もし入り切らないと判断すると、ステ
ップRL6において番地情報の形式を旧形式から新形式
に変換し、新形式であることを示すために所定のビット
を“l”にする。
ステップRL7においては、ステップRL3で算出した
新番地を番地情報内にセントし、ステップRL8におい
て番地情報内のセグメント指示情報にセグメントバイン
ド後セグメントを指す値をセントした後、ステップRL
Iに戻る0例えば、元の番地情報の形式が入口点情報と
して例えば18ビツト、セグメント指定情報として例え
ば16ビツトを有するものである場合、入口点情報は最
大256にワードの指定が可能であるが、それ以上のワ
ードの指定が必要となる場合、例えばコンパイル時にお
ける新形式と同様なそれ以上のビットを入口点情報用に
割当てるものである。
以上の処理は番地情報全てについて繰り返される。
以上示した処理により、リンク時において旧形式の番地
情報では表せない番地を旧形式の番地情報にセントする
必要が生じたときに、その値をセント可能な新形式の番
地情報に変換することが可能となる。
〔発明の効果〕
以上説明したように、本発明によれば、従来の計算機シ
ステムを改良して新計算機システムを開発した際に、当
該計算機システムのセグメントのサイズの上限を拡大す
ると共に従来より大きな番地まで表現可能な新形式の番
地情報を新設することによって、従来のセグメントバイ
ンドができなかった組み合わせのセグメントバインドが
可能になった場合に、新形式の番地情報を出力するコン
パイラにより再コンパイルすることな(旧計算機システ
ムでコンパイルした旧形式の番地情報しか持たないオブ
ジェクトモジュールをセグメントバインドし、番地情報
の示す番地が旧形式の番地情報では表せない番地になっ
たときにも、再コンパイルすることなく正常にリンクし
てロードモジュールの生成が可能となるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の実施例の構成図、 第2図はセグメント結合処理手段12の処理例を示すフ
ローチャートおよび、 第3図はセグメント結合特番地情報補正処理手段13の
処理例を示すフローチャートである。 図において、1・・・リンカ、2,4・・・記憶手段、
3・・・保持手段、OM1〜OMn・・・オブジェクト
モジュール、SB・・・セグメント結合指定、LM・・
・ロードモジュール、11・・・オブジェクトモジュー
ル人力処理手段、12・・・セグメント結合処理手段、
13・・・セグメント結合特番地情報補正処理手段、1
4・・・ロードモジュール生成処理手段、131・・・
番地情報補正処理部、132・・・番地情報変換部。

Claims (1)

    【特許請求の範囲】
  1. リンク時にセグメントの結合をしたためにそのセグメン
    トの結合の対象となったセグメント内の特定の番地を示
    す番地情報を補正する際、補正後の番地情報が補正前の
    番地情報を表現する元の形式では表せなくなったときは
    、その元の形式をより大きな番地を表せる形式に変換し
    た後、該変換後の形式に前記補正後の番地情報をセット
    することを特徴とするセグメント結合時番地情報補正方
    式。
JP29442186A 1986-12-10 1986-12-10 セグメント結合時番地情報補正方式 Pending JPS63147227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29442186A JPS63147227A (ja) 1986-12-10 1986-12-10 セグメント結合時番地情報補正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29442186A JPS63147227A (ja) 1986-12-10 1986-12-10 セグメント結合時番地情報補正方式

Publications (1)

Publication Number Publication Date
JPS63147227A true JPS63147227A (ja) 1988-06-20

Family

ID=17807538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29442186A Pending JPS63147227A (ja) 1986-12-10 1986-12-10 セグメント結合時番地情報補正方式

Country Status (1)

Country Link
JP (1) JPS63147227A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511794A (ja) * 1999-10-11 2003-03-25 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 車両内プロセスの制御方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511794A (ja) * 1999-10-11 2003-03-25 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 車両内プロセスの制御方法及び装置

Similar Documents

Publication Publication Date Title
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
JPS63147227A (ja) セグメント結合時番地情報補正方式
CN115185885A (zh) 一种序列化数据的转换方法和装置
JP3267550B2 (ja) デグレードチェック装置
JP2000122876A (ja) 情報処理装置
JP3046887B2 (ja) Ocrデータエントリシステムにおける出力ファイル生成方式
JPH0793185A (ja) ソフトウェア自動試験システム
JPS61143809A (ja) プログラマブルコントロ−ラ
JPS62175826A (ja) プログラム実行方式
JPS61216039A (ja) プログラム生成制御方式
JPS60258655A (ja) パツチ・エリアの作成方式
JPS62290945A (ja) ソフトウエアデバツグ方式
JP2000200202A (ja) アプリケ―ションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体
JPH07248840A (ja) 異種オペレーティングシステム間の課金データ互換方法
JPH0344738A (ja) 自動メモリ割り付けチェック方式
CN110262802A (zh) 一种取出机Sequence数据的新型执行方法
JPH0229828A (ja) 論理回路変換システム
JPH0492924A (ja) プログラム修正方式
JPS6188335A (ja) 計算機のシステム生成方法
JPH0442690B2 (ja)
JPH01321518A (ja) プログラム修正情報生成装置
JPH04188225A (ja) 連携編集装置
JP2000242531A (ja) 有向グラフ入出力システム及び入出力方法
JPH01270129A (ja) パッチ自動作成方式
JPH0511983A (ja) 他言語プログラム間インタフエースの整合性検査と自動修復方式