JPH01310437A - ロードモジュール生成方式 - Google Patents
ロードモジュール生成方式Info
- Publication number
- JPH01310437A JPH01310437A JP14136588A JP14136588A JPH01310437A JP H01310437 A JPH01310437 A JP H01310437A JP 14136588 A JP14136588 A JP 14136588A JP 14136588 A JP14136588 A JP 14136588A JP H01310437 A JPH01310437 A JP H01310437A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- instruction
- pseudo
- program
- destination
- 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
Links
- 238000013519 translation Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はロードモジュール生成方式に関し、特に、1つ
の機能を構成するプログラムのメモリ単位をセグメント
と呼ばれる空間(セグメント空間)によって管理する情
報処理装置において、ソースプログラムからロードモジ
ュールを生成する際に自動的にセグメントの割り付けを
行うと共に、セグメントを意識せずに記述された分岐命
令を実命令に変換する機能を有したものである。
の機能を構成するプログラムのメモリ単位をセグメント
と呼ばれる空間(セグメント空間)によって管理する情
報処理装置において、ソースプログラムからロードモジ
ュールを生成する際に自動的にセグメントの割り付けを
行うと共に、セグメントを意識せずに記述された分岐命
令を実命令に変換する機能を有したものである。
従来より、長いプログラムのプログラミングを容易にす
るため、または、−時に格納できるメモリ容量を考慮し
て適当なサイズのプログラムにするため等の理由から、
1つの機能を構成するプログラムを格納するメモリ単位
をセグメント空間によって管理することが行われている
。
るため、または、−時に格納できるメモリ容量を考慮し
て適当なサイズのプログラムにするため等の理由から、
1つの機能を構成するプログラムを格納するメモリ単位
をセグメント空間によって管理することが行われている
。
ところで、この種の情報処理装置において、複数のセグ
メント間にまたがるプログラムを作成する場合、プログ
ラム中で使用する分岐命令の記述にあたっては、同一セ
グメント内への分岐命令であるか、あるいは異なるセグ
メントへの分岐命令であるかを識別しなければならず、
実際にはプログラム開発者がプログラム設計時にセグメ
ント配置を見積り、ソースプログラム上に直接にセグメ
ント内分岐命令あるいはセグメント外分岐命令を記述す
るようにしていた。
メント間にまたがるプログラムを作成する場合、プログ
ラム中で使用する分岐命令の記述にあたっては、同一セ
グメント内への分岐命令であるか、あるいは異なるセグ
メントへの分岐命令であるかを識別しなければならず、
実際にはプログラム開発者がプログラム設計時にセグメ
ント配置を見積り、ソースプログラム上に直接にセグメ
ント内分岐命令あるいはセグメント外分岐命令を記述す
るようにしていた。
上述したように、従来は、プログラムが複数のセグメン
ト間にまたがるような場合、プログラム設計時にそのセ
グメント配置を見積り、各セグメントの相互関係を考慮
してソースプログラム上に直接にセグメント内分岐命令
、セグメント外分岐命令を記述しなければならなかった
ため、・初心者に分かりにくい。
ト間にまたがるような場合、プログラム設計時にそのセ
グメント配置を見積り、各セグメントの相互関係を考慮
してソースプログラム上に直接にセグメント内分岐命令
、セグメント外分岐命令を記述しなければならなかった
ため、・初心者に分かりにくい。
・実際に作成したプログラムが見積りに合わなかった場
合、設計からやり直し、ソースプログラムの大規模な修
正が必要となる。
合、設計からやり直し、ソースプログラムの大規模な修
正が必要となる。
・ソースプログラムにセグメント内分岐命令とセグメン
ト外分岐命令とが混在するため、保守、改造が困難であ
る。
ト外分岐命令とが混在するため、保守、改造が困難であ
る。
・設計と異なったセグメント配置に変更することが困難
である。
である。
といった欠点があった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、ソースプログラムの作成にあたって
セグメント配置を意識せずに分岐命令の記述が行えるロ
ードモジュール生成方式を従供することにある。
的とするところは、ソースプログラムの作成にあたって
セグメント配置を意識せずに分岐命令の記述が行えるロ
ードモジュール生成方式を従供することにある。
本発明は上記の目的を達成するため、1つの機能を構成
するプログラムのメモリ単位をセグメントと呼ばれる空
間によって管理する情報処理装置におけるソースプログ
ラムからロードモジュールを生成する方式において、 ソースプログラム上の外部参照を必要とする分岐命令を
擬(以命令として目的プログラムに出力する擬似命令出
力手段を含んだ翻訳部と、複数の目的プログラムの結合
に際して複数のセグメントとなる場合にセグメントを自
動的に割り付けるセグメント割り付け手段と、セグメン
トの割り付けが完了した後に擬似命令として出力されて
いる分岐命令をその行き先もしくは呼び先によってセグ
メント外分岐命令またはセグメント内分岐命令に置換す
る実命令出力手段とを含んだ結合編集部とを備えるよう
にしている。
するプログラムのメモリ単位をセグメントと呼ばれる空
間によって管理する情報処理装置におけるソースプログ
ラムからロードモジュールを生成する方式において、 ソースプログラム上の外部参照を必要とする分岐命令を
擬(以命令として目的プログラムに出力する擬似命令出
力手段を含んだ翻訳部と、複数の目的プログラムの結合
に際して複数のセグメントとなる場合にセグメントを自
動的に割り付けるセグメント割り付け手段と、セグメン
トの割り付けが完了した後に擬似命令として出力されて
いる分岐命令をその行き先もしくは呼び先によってセグ
メント外分岐命令またはセグメント内分岐命令に置換す
る実命令出力手段とを含んだ結合編集部とを備えるよう
にしている。
本発明のロードモジュール生成方式にあっては、翻訳部
の擬似命令出力手段がソースプログラム上の外部参照を
必要とする分岐命令を擬似命令として目的プログラムに
出力し、結合m1部のセグメント割り付け手段が複数の
目的プログラムの結合に際して複数のセグメントとなる
場合にセグメントを自動的に割り付けると共に、実命令
出力手段がセグメントの割り付けが完了した後に擬似命
令として出力されている分岐命令をその行き先もしくは
呼び先によってセグメント外分岐命令またはセグメント
内分岐命令に置換する。
の擬似命令出力手段がソースプログラム上の外部参照を
必要とする分岐命令を擬似命令として目的プログラムに
出力し、結合m1部のセグメント割り付け手段が複数の
目的プログラムの結合に際して複数のセグメントとなる
場合にセグメントを自動的に割り付けると共に、実命令
出力手段がセグメントの割り付けが完了した後に擬似命
令として出力されている分岐命令をその行き先もしくは
呼び先によってセグメント外分岐命令またはセグメント
内分岐命令に置換する。
以下、本発明の実施例につき図面を参照して説明する。
第1図φ本発明のロードモジュール生成方式の一実施例
を示す構成図である。第1図において、1はセグメント
配置を意識することなく分岐命令が記述されたソースプ
ログラムであり、磁気ディスク装置iDKもしくはフロ
ッピィディスクFD装置等に格納されている。また、2
は翻訳プログラムにより構成される翻訳部であり、ソー
スプログラム1を入力し、1回の翻訳単位毎に目的プロ
グラム41.42.・・・、4nを生成するものである
。
を示す構成図である。第1図において、1はセグメント
配置を意識することなく分岐命令が記述されたソースプ
ログラムであり、磁気ディスク装置iDKもしくはフロ
ッピィディスクFD装置等に格納されている。また、2
は翻訳プログラムにより構成される翻訳部であり、ソー
スプログラム1を入力し、1回の翻訳単位毎に目的プロ
グラム41.42.・・・、4nを生成するものである
。
ここで、翻訳部2は、通常の翻訳機能部分以外に、ソー
スプログラム1上の外部参照を必要とする分岐命令を擬
似命令として目的プログラム41゜42、・・・、4n
に出力する擬似命令出力手段3を含んでおり、1回の翻
訳単位内に存在しない外部参照名に対する分岐命令を擬
似命令に置換する。
スプログラム1上の外部参照を必要とする分岐命令を擬
似命令として目的プログラム41゜42、・・・、4n
に出力する擬似命令出力手段3を含んでおり、1回の翻
訳単位内に存在しない外部参照名に対する分岐命令を擬
似命令に置換する。
第2図はその置換に用いられる変換表の例を示したもの
であり、分岐命令として外部参照となる行き先、呼び先
を有した0070文、juMp文。
であり、分岐命令として外部参照となる行き先、呼び先
を有した0070文、juMp文。
CALL文を擬似命令ZJMP文、ZCALL文に置換
する。
する。
第1図において、5は目的プログラム41,42、・・
・、4nを入力し、1つのロードモジュールに結合編集
を行う結合編集プログラムにより構成される結合編集部
であり、ロードモジュール8を出力する。
・、4nを入力し、1つのロードモジュールに結合編集
を行う結合編集プログラムにより構成される結合編集部
であり、ロードモジュール8を出力する。
ここで、結合編集部5は、通常の結合編集機能部分以外
に、複数の目的プログラムの結合に際して複数のセグメ
ントとなる場合にセグメントを自動的に割り付けるセグ
メント割り付け手段6と、セグメントの割り付けが完了
した後に擬似命令として出力されている分岐命令をその
行き先もしくは呼び先によってセグメント外分岐命令ま
たはセグメント内分岐命令に置換する実命令出力手段7
とを含んでいる。
に、複数の目的プログラムの結合に際して複数のセグメ
ントとなる場合にセグメントを自動的に割り付けるセグ
メント割り付け手段6と、セグメントの割り付けが完了
した後に擬似命令として出力されている分岐命令をその
行き先もしくは呼び先によってセグメント外分岐命令ま
たはセグメント内分岐命令に置換する実命令出力手段7
とを含んでいる。
第3図は結合編集部5のセグメント割り付け手段6によ
る割り付けの例を示したものであり、SEG#1.SE
G#2はセグメントの切れ目91゜92.93により区
画されるセグメント空間であるが、目的プログラム41
に目的プログラム42を結合し、続いて目的プログラム
43の結合を行うと破線で示すようにセグメント空間S
EG#1を越えてしまうため、目的プログラム43をセ
グメント空間SEG#2に移し、セグメント空間SEG
#2において目的プログラム43に目的プログラム44
を結合する。このようにセグメント割り付け手段6は目
的プログラムを順次結合し、結合した結果、1つのセグ
メントを越えることとなる場合に、その目的プログラム
を次のセグメントに移す動作を行う。
る割り付けの例を示したものであり、SEG#1.SE
G#2はセグメントの切れ目91゜92.93により区
画されるセグメント空間であるが、目的プログラム41
に目的プログラム42を結合し、続いて目的プログラム
43の結合を行うと破線で示すようにセグメント空間S
EG#1を越えてしまうため、目的プログラム43をセ
グメント空間SEG#2に移し、セグメント空間SEG
#2において目的プログラム43に目的プログラム44
を結合する。このようにセグメント割り付け手段6は目
的プログラムを順次結合し、結合した結果、1つのセグ
メントを越えることとなる場合に、その目的プログラム
を次のセグメントに移す動作を行う。
一方、第4図は結合編集部5の実命令出力手段7におけ
る置換に用いられる変換表の例を示したものであり、擬
似命令ZJMP文、ZCALL文が現れた場合に、その
行き先、呼び先がセグメント割り付け手段6により割り
付けられたセグメントの内か外かを判断し、セグメント
内であればそれぞれセグメント内分岐命令JMP文、C
ALL文の実命令に置換し、セグメント外であればそれ
ぞれセグメント外分岐命令JMPX文、CALLX文の
実命令に置換する。
る置換に用いられる変換表の例を示したものであり、擬
似命令ZJMP文、ZCALL文が現れた場合に、その
行き先、呼び先がセグメント割り付け手段6により割り
付けられたセグメントの内か外かを判断し、セグメント
内であればそれぞれセグメント内分岐命令JMP文、C
ALL文の実命令に置換し、セグメント外であればそれ
ぞれセグメント外分岐命令JMPX文、CALLX文の
実命令に置換する。
以上の動作により、ソースプログラム1が1本のロード
モジュール8に生成され、情報処理装置において実行可
能な状態となる。
モジュール8に生成され、情報処理装置において実行可
能な状態となる。
以上説明したように、本発明のロードモジニール生成方
式にあっては、自動的にセグメント分割が行われると共
に、分岐命令の行き先、呼び先によって自動的に実命令
に置換されるため、・セグメントを意識することなくプ
ログラム作成が行えるため、初心者にも分かりやすい。
式にあっては、自動的にセグメント分割が行われると共
に、分岐命令の行き先、呼び先によって自動的に実命令
に置換されるため、・セグメントを意識することなくプ
ログラム作成が行えるため、初心者にも分かりやすい。
・設計時にセグメントの配置を考慮する必要がないため
、プログラム作成が容易である。
、プログラム作成が容易である。
・設計変更に柔軟に対応できる。
・ソースプログラムが分りやすく、保守、改造が容易で
ある。
ある。
といった効果がある。
第1図は本発明のロードモジュール生成方式の一実施例
を示す構成図、 第2図は第1図における擬似命令出力手段の説明図、 第3図は第1図におけるセグメント割り付け手段の説明
図および、 第4図は第1図における実命令出力手段の説明図である
。 図において、■・・・ソースプログラム、2・・・翻訳
部、3・・・擬似命令出力手段、41〜4n・・・目的
プログラム、5・・・結合編集部、6・・・セグメント
割り付け手段、7・・・実命令出力手段、8・・・ロー
ドモジュール、91〜93・・・切れ目、SEG#1.
SEG#2・・・セグメント空間。
を示す構成図、 第2図は第1図における擬似命令出力手段の説明図、 第3図は第1図におけるセグメント割り付け手段の説明
図および、 第4図は第1図における実命令出力手段の説明図である
。 図において、■・・・ソースプログラム、2・・・翻訳
部、3・・・擬似命令出力手段、41〜4n・・・目的
プログラム、5・・・結合編集部、6・・・セグメント
割り付け手段、7・・・実命令出力手段、8・・・ロー
ドモジュール、91〜93・・・切れ目、SEG#1.
SEG#2・・・セグメント空間。
Claims (1)
- 【特許請求の範囲】 1つの機能を構成するプログラムのメモリ単位をセグメ
ントと呼ばれる空間によって管理する情報処理装置にお
けるソースプログラムからロードモジュールを生成する
方式において、 ソースプログラム上の外部参照を必要とする分岐命令を
擬似命令として目的プログラムに出力する擬似命令出力
手段を含んだ翻訳部と、 複数の目的プログラムの結合に際して複数のセグメント
となる場合にセグメントを自動的に割り付けるセグメン
ト割り付け手段と、セグメントの割り付けが完了した後
に擬似命令として出力されている分岐命令をその行き先
もしくは呼び先によってセグメント外分岐命令またはセ
グメント内分岐命令に置換する実命令出力手段とを含ん
だ結合編集部とを備えたことを特徴とするロードモジュ
ール生成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14136588A JPH01310437A (ja) | 1988-06-08 | 1988-06-08 | ロードモジュール生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14136588A JPH01310437A (ja) | 1988-06-08 | 1988-06-08 | ロードモジュール生成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01310437A true JPH01310437A (ja) | 1989-12-14 |
Family
ID=15290290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14136588A Pending JPH01310437A (ja) | 1988-06-08 | 1988-06-08 | ロードモジュール生成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01310437A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06301533A (ja) * | 1993-04-14 | 1994-10-28 | Nec Corp | データ処理装置 |
JP2009211491A (ja) * | 2008-03-05 | 2009-09-17 | Oki Semiconductor Co Ltd | プログラム作成方法およびその装置 |
JP2011123719A (ja) * | 2009-12-11 | 2011-06-23 | Renesas Electronics Corp | 言語処理システム、言語処理方法、及び言語処理用プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59191649A (ja) * | 1983-04-15 | 1984-10-30 | Hitachi Ltd | プログラムの生成方式 |
JPS62205431A (ja) * | 1986-03-05 | 1987-09-10 | Nec Corp | 分岐命令処理方式 |
-
1988
- 1988-06-08 JP JP14136588A patent/JPH01310437A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59191649A (ja) * | 1983-04-15 | 1984-10-30 | Hitachi Ltd | プログラムの生成方式 |
JPS62205431A (ja) * | 1986-03-05 | 1987-09-10 | Nec Corp | 分岐命令処理方式 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06301533A (ja) * | 1993-04-14 | 1994-10-28 | Nec Corp | データ処理装置 |
JP2009211491A (ja) * | 2008-03-05 | 2009-09-17 | Oki Semiconductor Co Ltd | プログラム作成方法およびその装置 |
JP2011123719A (ja) * | 2009-12-11 | 2011-06-23 | Renesas Electronics Corp | 言語処理システム、言語処理方法、及び言語処理用プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11250112A (ja) | ハードウェア合成方法およびハードウェア合成装置並びにハードウェア合成プログラムを記録した記録媒体 | |
JPH01310437A (ja) | ロードモジュール生成方式 | |
JP4486754B2 (ja) | Vliwプロセッサの圧縮されたプログラムを生成して実行する方法 | |
JP2000122876A (ja) | 情報処理装置 | |
JP2018206195A (ja) | 演算システム、演算システムの制御方法およびプログラム | |
JP2000089966A (ja) | 既存プログラムのオブジェクト指向への移行方法 | |
JPH09190355A (ja) | プログラム変換方法 | |
JPH02136929A (ja) | オブジェクトプログラムの命令文削減方式 | |
JPH01295332A (ja) | プログラム配置方式 | |
JPH01145730A (ja) | データ行先き制御方式 | |
JPS63313236A (ja) | プログラム言語自動変換装置 | |
JPH0390931A (ja) | Rom化プログラムの生成方法 | |
JP3570870B2 (ja) | システム構築装置、システム構築方法及びシステム構築プログラムを記録した媒体 | |
JP3237591B2 (ja) | コンパイル装置、コンパイル方法およびコンパイラを記録した記録媒体 | |
JPH0685151B2 (ja) | コンパイル処理方式 | |
JPH01280833A (ja) | 共通ブロック割り付け方式 | |
JPH0991151A (ja) | コンパイル装置及びプロセッサ装置 | |
JP2001092644A (ja) | ソフトウェア管理情報の管理方法 | |
JPS63285647A (ja) | 出力フアイル名の作成方式 | |
JPS63155338A (ja) | プログラム実行履歴記録制御方式 | |
JPS6327938A (ja) | 仮想記憶割当て方式 | |
JPH10283194A (ja) | プログラム結合編集方法及びプログラム結合編集プログラムを記録した機械読み取り可能な記録媒体 | |
JPH01166134A (ja) | クロスリファレンスリスト出力方式 | |
JPH03229327A (ja) | 計算機プログラム実行方式 | |
JPH02130637A (ja) | ソースコード翻訳方式 |