JPH0561673A - オブジエクトプログラムの動的リンク方式 - Google Patents
オブジエクトプログラムの動的リンク方式Info
- Publication number
- JPH0561673A JPH0561673A JP22201291A JP22201291A JPH0561673A JP H0561673 A JPH0561673 A JP H0561673A JP 22201291 A JP22201291 A JP 22201291A JP 22201291 A JP22201291 A JP 22201291A JP H0561673 A JPH0561673 A JP H0561673A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- branch instruction
- range
- branchable
- 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
- 238000000034 method Methods 0.000 claims description 19
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 動的にメモリに読み込んだオブジェクトプラ
グラム中にある、分岐可能な範囲が制限された分岐命令
から、分岐可能な範囲外への分岐を可能にする。 【構成】 分岐命令の分岐先が分岐命令の分岐可能な範
囲内にあるかどうかを判定する処理101によって分岐
先が分岐可能な範囲外にあると判断された場合、分岐命
令の分岐可能な範囲内に本来の分岐先への分岐を行なう
命令列を生成する処理121によって生成された命令列
の先頭アドレスを、分岐命令から処理121で生成した
命令列へ分岐するように設定する処理122によって分
岐命令に設定する。
グラム中にある、分岐可能な範囲が制限された分岐命令
から、分岐可能な範囲外への分岐を可能にする。 【構成】 分岐命令の分岐先が分岐命令の分岐可能な範
囲内にあるかどうかを判定する処理101によって分岐
先が分岐可能な範囲外にあると判断された場合、分岐命
令の分岐可能な範囲内に本来の分岐先への分岐を行なう
命令列を生成する処理121によって生成された命令列
の先頭アドレスを、分岐命令から処理121で生成した
命令列へ分岐するように設定する処理122によって分
岐命令に設定する。
Description
【0001】
【産業上の利用分野】本発明は、プログラムの実行中に
動的にオブジェクトプログラムをメモリ中に読み込み参
照解決を行なう、オブジェクトプログラムの動的リンク
方式に関する。
動的にオブジェクトプログラムをメモリ中に読み込み参
照解決を行なう、オブジェクトプログラムの動的リンク
方式に関する。
【0002】
【従来の技術】従来のオブジェクトプログラムの動的リ
ンク方式では、参照解決を行なうときに、分岐先へその
まま分岐するようになっている。
ンク方式では、参照解決を行なうときに、分岐先へその
まま分岐するようになっている。
【0003】
【発明が解決しようとする課題】上記した従来の従来の
オブジェクトプログラムの動的リンク方式では、たとえ
ば、プログラムの命令部が0x400000番地から始
まり、データ部が0x10000000番地から始ま
り、動的に読み込むオブジェクトプログラムがデータ部
に読み込まれ、コンパイラが生成する分岐命令の分岐可
能な範囲が分岐命令を含む256メガバイトのアドレス
空間内に限定されている場合(図2)に、データ部中に
ある動的に読み込んだオブジェクトプログラム内の分岐
命令から、命令部中にある手続きを呼び出すことができ
なかった。
オブジェクトプログラムの動的リンク方式では、たとえ
ば、プログラムの命令部が0x400000番地から始
まり、データ部が0x10000000番地から始ま
り、動的に読み込むオブジェクトプログラムがデータ部
に読み込まれ、コンパイラが生成する分岐命令の分岐可
能な範囲が分岐命令を含む256メガバイトのアドレス
空間内に限定されている場合(図2)に、データ部中に
ある動的に読み込んだオブジェクトプログラム内の分岐
命令から、命令部中にある手続きを呼び出すことができ
なかった。
【0004】本発明の目的は、上記のような場合でも任
意の手続きを呼び出すことができるようにすることにあ
る。
意の手続きを呼び出すことができるようにすることにあ
る。
【0005】
【課題を解決するための手段】本発明のオブジェクトプ
ログラムの動的リンク方式は、プログラムの実行中に、
動的にオブジェクトプログラムをメモリ中に読み込み、
読み込んだプログラムをザブルーチンとして呼び出すこ
とができるよう参照解決を行なうオブジェクトプログラ
ムの動的リンク方式において、分岐命令の分岐先が、分
岐命令の分岐可能な範囲内にあるかどうかを判断する分
岐可能範囲判断手段と、分岐命令の分岐先が、分岐命令
の分岐可能な範囲内にある場合に、分岐命令から分岐先
に分岐するよう参照解決を行う第1の参照解決手段と、
分岐命令の分岐先が、分岐命令の分岐可能な範囲内にな
い場合に、オブジェクトプログラム中の分岐命令から分
岐可能な範囲内に、分岐先まで分岐可能な命令を生成
し、分岐先へは生成した命令から分岐するよう参照解決
を行ない、オブジェクトプログラム中の分岐命令からは
生成した命令へ分岐するよう参照解決を行なう第2の参
照解決手段とを有することを特徴とする。
ログラムの動的リンク方式は、プログラムの実行中に、
動的にオブジェクトプログラムをメモリ中に読み込み、
読み込んだプログラムをザブルーチンとして呼び出すこ
とができるよう参照解決を行なうオブジェクトプログラ
ムの動的リンク方式において、分岐命令の分岐先が、分
岐命令の分岐可能な範囲内にあるかどうかを判断する分
岐可能範囲判断手段と、分岐命令の分岐先が、分岐命令
の分岐可能な範囲内にある場合に、分岐命令から分岐先
に分岐するよう参照解決を行う第1の参照解決手段と、
分岐命令の分岐先が、分岐命令の分岐可能な範囲内にな
い場合に、オブジェクトプログラム中の分岐命令から分
岐可能な範囲内に、分岐先まで分岐可能な命令を生成
し、分岐先へは生成した命令から分岐するよう参照解決
を行ない、オブジェクトプログラム中の分岐命令からは
生成した命令へ分岐するよう参照解決を行なう第2の参
照解決手段とを有することを特徴とする。
【0006】
【実施例】次に、本発明のオブジェクトプログラムの動
的リンク方式について図面を参照して説明する。
的リンク方式について図面を参照して説明する。
【0007】図1は本発明の一実施例のフローチャート
を示す。
を示す。
【0008】図1において、動的リンク方式は、処理1
01で分岐命令の分岐先が、分岐命令の分岐可能範囲内
にあるかどうかを調べ、範囲内であれば処理110を、
範囲外であれば処理120を選択する。
01で分岐命令の分岐先が、分岐命令の分岐可能範囲内
にあるかどうかを調べ、範囲内であれば処理110を、
範囲外であれば処理120を選択する。
【0009】まず、分岐先が分岐命令の分岐可能範囲内
にある時の処理110を説明する。処理110は、単に
分岐先のアドレスを、分岐命令の分岐先アドレスに設定
する。たとえば、図3(a)のプログラムで、分岐命令
301の分岐先302が、分岐命令301の分岐可能範
囲内にある場合、分岐命令301は処理110の処理後
図3(b)の命令311となる。
にある時の処理110を説明する。処理110は、単に
分岐先のアドレスを、分岐命令の分岐先アドレスに設定
する。たとえば、図3(a)のプログラムで、分岐命令
301の分岐先302が、分岐命令301の分岐可能範
囲内にある場合、分岐命令301は処理110の処理後
図3(b)の命令311となる。
【0010】次に、分岐先が分岐命令の分岐可能範囲外
にある時の処理120を説明する。処理120は、ま
ず、処理121で、分岐命令の分岐可能範囲内に図4の
命令列を生成する。
にある時の処理120を説明する。処理120は、ま
ず、処理121で、分岐命令の分岐可能範囲内に図4の
命令列を生成する。
【0011】ここで命令401は、指定されたアドレス
を、指定されたレジスタに取り出す命令、命令402
は、指定されたレジスタの内容を分岐先アドレスとし
て、任意のアドレスに分岐することが可能な分岐命令で
ある。
を、指定されたレジスタに取り出す命令、命令402
は、指定されたレジスタの内容を分岐先アドレスとし
て、任意のアドレスに分岐することが可能な分岐命令で
ある。
【0012】次に、処理122で、分岐命令の分岐先ア
ドレスに処理121で生成した命令列のアドレスを設定
する。たとえば、図3(a)のプログラムで、分岐命令
301の分岐先302が、分岐命令301の分岐可能範
囲外にある場合、分岐命令301は処理120の処理後
321となり、処理121で生成した命令列は、32
3、324となる。ここで命令323は、分岐命令32
1の分岐可能範囲内におかれる。
ドレスに処理121で生成した命令列のアドレスを設定
する。たとえば、図3(a)のプログラムで、分岐命令
301の分岐先302が、分岐命令301の分岐可能範
囲外にある場合、分岐命令301は処理120の処理後
321となり、処理121で生成した命令列は、32
3、324となる。ここで命令323は、分岐命令32
1の分岐可能範囲内におかれる。
【0013】動的にリンクしたプログラムの実行時の動
作を図3の動作を図3の命令列を用いて説明する。
作を図3の動作を図3の命令列を用いて説明する。
【0014】まず、分岐先が分岐命令の分岐可能範囲内
にある場合の動作を図3(b)の命令列を用いて説明す
る。分岐命令311の分岐先312は、分岐命令311
の分岐可能範囲内にあるため、分岐命令311は単に分
岐先312に分岐する。
にある場合の動作を図3(b)の命令列を用いて説明す
る。分岐命令311の分岐先312は、分岐命令311
の分岐可能範囲内にあるため、分岐命令311は単に分
岐先312に分岐する。
【0015】次に、分岐先が分岐命令の分岐可能範囲外
にある場合の動作を図3(c)の命令列をいて説明す
る。分岐命令321の本来の分岐先322は、分岐命令
321の分岐可能範囲外にあるため、分岐命令321か
ら分岐することができない。
にある場合の動作を図3(c)の命令列をいて説明す
る。分岐命令321の本来の分岐先322は、分岐命令
321の分岐可能範囲外にあるため、分岐命令321か
ら分岐することができない。
【0016】そこで分岐命令321は、まず、処理12
1が生成した命令323に分岐する。命令323は分岐
命令321の本来の分岐先322のアドレスをレジスタ
に取り出す。次に、命令323がレジスタに取り出した
アドレスに命令324から分岐することで、分岐命令3
21から分岐先321への分岐が完了する。
1が生成した命令323に分岐する。命令323は分岐
命令321の本来の分岐先322のアドレスをレジスタ
に取り出す。次に、命令323がレジスタに取り出した
アドレスに命令324から分岐することで、分岐命令3
21から分岐先321への分岐が完了する。
【0017】
【発明の効果】本発明によれば、動的にメモリ中に読み
込むオブジェクトプログラム中の分岐命令が分岐できる
範囲を制限されている場合でも、分岐可能な範囲の外に
ある手続きを呼び出すことができる。
込むオブジェクトプログラム中の分岐命令が分岐できる
範囲を制限されている場合でも、分岐可能な範囲の外に
ある手続きを呼び出すことができる。
【図1】本発明の一実施例のフローチャートを示す。
【図2】従来技術の説明で用いる例のメモリ配置図を示
す。
す。
【図3】本発明の実施例の説明に用いるオブジェクトプ
ログラムのリストを示す。
ログラムのリストを示す。
【図4】図1の処理121で生成する命令列のリストを
示す。
示す。
Claims (1)
- 【請求項1】 プログラムの実行中に、動的にオブジェ
クトプログラムをメモリ中に読み込み、読み込んだプロ
グラムをザブルーチンとして呼び出すことができるよう
参照解決を行なうオブジェクトプログラムの動的リンク
方式において、 分岐命令の分岐先が、分岐命令の分岐可能な範囲内にあ
るかどうかを判断する分岐可能範囲判断手段と、 分岐命令の分岐先が、分岐命令の分岐可能な範囲内にあ
る場合に、分岐命令から分岐先に分岐するよう参照解決
を行う第1の参照解決手段と、 分岐命令の分岐先が、分岐命令の分岐可能な範囲内にな
い場合に、オブジェクトプログラム中の分岐命令から分
岐可能な範囲内に、分岐先まで分岐可能な命令を生成
し、分岐先へは生成した命令から分岐するよう参照解決
を行ない、オブジェクトプログラム中の分岐命令からは
生成した命令へ分岐するよう参照解決を行なう第2の参
照解決手段とを有することを特徴とするオブジェクトプ
ログラムの動的リンク方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22201291A JPH0561673A (ja) | 1991-09-03 | 1991-09-03 | オブジエクトプログラムの動的リンク方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22201291A JPH0561673A (ja) | 1991-09-03 | 1991-09-03 | オブジエクトプログラムの動的リンク方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0561673A true JPH0561673A (ja) | 1993-03-12 |
Family
ID=16775729
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22201291A Pending JPH0561673A (ja) | 1991-09-03 | 1991-09-03 | オブジエクトプログラムの動的リンク方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0561673A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014010661A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 分岐アドレス管理プログラム、方法、及び装置 |
-
1991
- 1991-09-03 JP JP22201291A patent/JPH0561673A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014010661A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 分岐アドレス管理プログラム、方法、及び装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4758949A (en) | Information processing apparatus | |
| JPH0561673A (ja) | オブジエクトプログラムの動的リンク方式 | |
| JPH06124207A (ja) | サブルーチン分岐命令実行方法 | |
| JPS5890247A (ja) | 情報処理装置のパイプライン制御方式 | |
| JP3325309B2 (ja) | サブルーチンリターン命令処理装置 | |
| JPS6116334A (ja) | デ−タ処理装置 | |
| JPH06149569A (ja) | レジスタ番号変更装置 | |
| JP3012618B1 (ja) | 被検査プログラムのデバグ方法とそのデバグ方式 | |
| JPH0259829A (ja) | マイクロコンピュータ | |
| JPH02278428A (ja) | 分岐制御方式 | |
| JPS5936838A (ja) | インタフエ−ス制御方式 | |
| JPH0424731B2 (ja) | ||
| JPS61223948A (ja) | マイクロプログラム制御方式 | |
| JPH03232051A (ja) | セマフォアクセス制御方法 | |
| JPH0527972A (ja) | 命令プリフエツチ装置 | |
| JPH04309129A (ja) | 分岐装置 | |
| JPH0447337B2 (ja) | ||
| JPH05100842A (ja) | 命令処理装置 | |
| JPH01140239A (ja) | 命令実行アドレス保存処理方式 | |
| JPH0194437A (ja) | 情報処理装置 | |
| JPH0198023A (ja) | 条件付きサブルーチン呼出し方式 | |
| JPH08235135A (ja) | 通信レジスタ付並列計算機 | |
| JPH01204145A (ja) | マイクロプログラム制御装置 | |
| JPH0192862A (ja) | データ処理装置 | |
| JPH05204638A (ja) | パイプライン処理装置 |