JPH0344328B2 - - Google Patents

Info

Publication number
JPH0344328B2
JPH0344328B2 JP60178984A JP17898485A JPH0344328B2 JP H0344328 B2 JPH0344328 B2 JP H0344328B2 JP 60178984 A JP60178984 A JP 60178984A JP 17898485 A JP17898485 A JP 17898485A JP H0344328 B2 JPH0344328 B2 JP H0344328B2
Authority
JP
Japan
Prior art keywords
entry
address
instruction
dynamic link
extended
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.)
Expired - Lifetime
Application number
JP60178984A
Other languages
Japanese (ja)
Other versions
JPS6238954A (en
Inventor
Koichi Furugaki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60178984A priority Critical patent/JPS6238954A/en
Publication of JPS6238954A publication Critical patent/JPS6238954A/en
Publication of JPH0344328B2 publication Critical patent/JPH0344328B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔概要〕 例えば24ビツトでアドレスされる仮想空間で動
作するプログラムモジユールと、31ビツトで動作
するプログラムモジユールとの間で制御を移行す
る場合、アドレスモードの切換えを行う必要があ
る。本発明は、動的リンクの制御において動作モ
ードが異なるとき、プログラム管理部が、動的リ
ンク用テーブルから制御が渡される拡張移行用エ
ントリを付与することにより、この拡張移行用エ
ントリによつて、アドレスモードの切換えを伴う
拡張分岐命令が発行されるようにし、特に既存の
24ビツト・モードで動作するモジユールに修正を
加えることなく、アドレス拡張移行をなし得るよ
うにしている。
[Detailed Description of the Invention] [Summary] For example, when transferring control between a program module that operates in a virtual space addressed with 24 bits and a program module that operates with 31 bits, it is necessary to switch the address mode. There is a need to do. In the present invention, when the operation modes differ in dynamic link control, the program management section provides an extended migration entry to which control is passed from the dynamic link table, and by this extended migration entry, Extended branch instructions that involve address mode switching should be issued, especially for existing
This allows for address extension migration without any modification to modules operating in 24-bit mode.

〔産業上の利用分野〕[Industrial application field]

本発明は仮想空間の上限が異なるアドレスモー
ドの切換え制御方式に係り、特に、動的リンク構
造の既存プログラムについて、スムーズに「アド
レス拡張移行」をできるようにした動的リンクに
よるアドレスモード切換え制御方式に関するもの
である。
The present invention relates to a switching control method for address modes with different upper limits of virtual space, and in particular, an address mode switching control method using dynamic linking that enables smooth "address expansion migration" for existing programs with a dynamic link structure. It is related to.

〔従来の技術と問題点〕[Conventional technology and problems]

特に、大型計算機システムでは、年々、プログ
ラムの規模が巨大化する傾向にあり、例えば24ビ
ツトのアドレスでは、ユーザプログラムは16MB
の仮想空間しか使用できないため、31ビツトによ
りアドレスするアドレス拡張機能が提供され、ユ
ーザプログラムは、2GBまでの巨大仮想空間を
利用できるようになつている。しかし、従来、
16MBの仮想空間で動作していたプログラムは、
そのままで2GBの仮想空間を使用できるわけで
はなく、16MB以上のアドレスを参照するために
は、プログラム内において、アドレスモードを切
換える必要がある。即ち、いわゆるBX命令や
BASX命令等のアドレス切換えを伴つて分岐す
る拡張分岐命令等を使用することにより、プログ
ラム状態語(PSW)上にアドレスモードを指定
する必要がある。
In particular, in large computer systems, the scale of programs tends to grow larger year by year; for example, with a 24-bit address, the user program can be 16MB.
Since only 2GB of virtual space can be used, an address extension function is provided that uses 31 bits to address, allowing user programs to use a huge virtual space of up to 2GB. However, conventionally,
The program that was running in a 16MB virtual space was
It is not possible to use 2GB of virtual space as is; in order to reference addresses larger than 16MB, it is necessary to switch the address mode within the program. In other words, the so-called BX command
It is necessary to specify the address mode on the program status word (PSW) by using an extended branch instruction such as a BASX instruction that branches with address switching.

従つて、既存のユーザプログラムが、2GBの
仮想空間を使用するためには、まずプログラム内
でアドレスモードを切換えるための処理を、プロ
グラムに追加しなければならない。しかし、一般
に既存のモジユールは、何百、何千とあり、一度
に修正することは、極めて困難であるという問題
がある。
Therefore, in order for an existing user program to use 2GB of virtual space, processing for switching the address mode within the program must first be added to the program. However, there are generally hundreds or thousands of existing modules, and there is a problem in that it is extremely difficult to modify them all at once.

そのため、既存のユーザプログラムが、2GB
の仮想空間を使用できるようにするためのコンバ
ージヨン、即ち、「アドレス拡張移行」を容易に
する手段の提供が望まれている。
Therefore, the existing user program has 2GB
It is desired to provide a means to facilitate conversion, ie, "address extension migration" to enable the use of a virtual space.

本発明の詳細を説明するに先立ち、本発明に関
連する従来の動的リンク構造について、第4図に
従つて説明する。
Before explaining the details of the present invention, a conventional dynamic link structure related to the present invention will be explained with reference to FIG.

第4図において、10は呼出し元モジユール、
11はブランチアンドリンク命令、12はV形式
アドレス定数、13は動的リンク用テーブル、1
4は呼出し先モジユールに対応して作られるネー
ムエントリ、15は呼出し処理で使用されるリン
ケージエントリ、20は呼出し先モジユール、2
1は分岐命令、22は動的リンク時に制御が渡さ
れる制御プログラム内のプログラム管理部、23
はロードモジユールを主記憶へローデイングする
ローダ、27はロードモジユールが格納されたラ
イブラリを表す。
In FIG. 4, 10 is the calling module;
11 is a branch and link instruction, 12 is a V format address constant, 13 is a dynamic link table, 1
4 is a name entry created corresponding to the called module, 15 is a linkage entry used in call processing, 20 is a called module, 2
1 is a branch instruction; 22 is a program management section in the control program to which control is passed during dynamic linking; 23
27 represents a loader that loads the load module into the main memory, and a library in which the load module is stored.

呼出し元モジユール10は、呼出し先モジユー
ル20を呼出して制御を渡す必要がある場合、予
めV形式アドレス定数12により、呼出し先モジ
ユール20の入口点名XYZを指定する。この指
定があると、リンクエデイツト時にリンケージエ
デイタによつて、動的リンク用テーブル13が作
成される。この動的リンク用テーブル13には、
アドレスが未解決のV形式アドレス定数に対応し
て、ネームエントリ14が設けられ、最後にリン
ケージエントリ15が設けられる。
When the calling module 10 needs to call the called module 20 and transfer control, it specifies the entry point name XYZ of the called module 20 using the V format address constant 12 in advance. If this designation is made, the dynamic link table 13 is created by the linkage editor during link editing. In this dynamic link table 13,
A name entry 14 is provided corresponding to a V-format address constant whose address is unresolved, and finally a linkage entry 15 is provided.

ネームエントリ14には、リンケージエントリ
15の先頭へ分岐する命令14Aと、入口点アド
レス(初期値=0)と、入口点名が設定され、リ
ンケージエントリ15には、プログラム管理部2
2を呼出すスーパバイザコール(SVC)命令と、
入口点アドレスをレジスタにロードする命令と、
入口点アドレスへ分岐する命令とが、予め設定さ
れる。
In the name entry 14, an instruction 14A that branches to the beginning of the linkage entry 15, an entry point address (initial value = 0), and an entry point name are set.
a supervisor call (SVC) instruction that calls 2;
an instruction that loads the entry point address into a register;
An instruction to branch to the entry point address is set in advance.

動的リンクにおける動作は、以下の通りであ
る。
The operation in dynamic linking is as follows.

呼出し元モジユール10が、V形式アドレス
定数12をレジスタR15に指定して、ブラン
チアンドリンク命令11を発行すると、ネーム
エントリ14に制御が渡る。
When the calling module 10 specifies the V-format address constant 12 in the register R15 and issues a branch-and-link instruction 11, control is transferred to the name entry 14.

呼出し先モジユール20の呼出しが初めて行
われた場合には、分岐命令14Aは、リンケー
ジエントリ15の先頭を指しているので、
SVC命令が実行される。
When the called module 20 is called for the first time, the branch instruction 14A points to the beginning of the linkage entry 15.
SVC instruction is executed.

これにより、プログラム管理部22が起動さ
れ、プログラム管理部22は、ローダ23によ
つて、ライブラリ27から呼出し先モジユール
20を主記憶へロードし、分岐命令14Aのデ
イスプレイスメントdispに、2を加算する。ま
た、呼出し先モジユール20の入口点アドレス
が決まるので、ネームエントリ14に入口点ア
ドレスを設定する。
As a result, the program management unit 22 is activated, and the program management unit 22 loads the called module 20 from the library 27 into the main memory using the loader 23, and adds 2 to the displacement disp of the branch instruction 14A. . Furthermore, since the entry point address of the called module 20 is determined, the entry point address is set in the name entry 14.

プログラム管理部22からの復帰により、入
口点アドレスのロード命令が実行される。
Upon return from the program management unit 22, a load instruction for the entry point address is executed.

そして、分岐命令によつて、呼出し先モジユ
ール20の入口点(XYZ)へ制御が渡される。
呼出し先モジユール20による処理が終了する
と、分岐命令21によつて、呼出し元モジユー
ル10のブランチアンドリンク命令11の後
に、制御が戻される。
Control is then passed to the entry point (XYZ) of the called module 20 by the branch instruction.
When the processing by the called module 20 is completed, control is returned by the branch instruction 21 after the branch and link instruction 11 of the calling module 10.

呼出し元モジユール10が、呼出し先モジユ
ール20を再び呼出す場合には、分岐命令14
Aのデイスプレイスメントが更新されているの
で、プログラム管理部22は呼出されず、直
接、リンケージエントリ15を介して、呼出し
先モジユール20へ制御が移行される。
When the calling module 10 calls the called module 20 again, the branch instruction 14
Since the displacement of A has been updated, the program management section 22 is not called, and control is directly transferred to the called module 20 via the linkage entry 15.

なお、上記従来の動的リンクは、呼出し元と呼
出し先とのアドレスの動作モードが同じである場
合にのみ、有効となることは言うまでもない。
It goes without saying that the conventional dynamic link described above is effective only when the operating modes of the addresses of the caller and callee are the same.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上記問題点の解決を図り、ユーザプロ
グラムを修正することなく、動的リンク時に自動
的にアドレスモードの切換えがなされるように
し、例えば16MBの仮想空間で動作していたユー
ザプログラムが、2GBの仮想空間を使用できる
ようにするアドレス拡張移行を容易にする手段を
提供するものである。
The present invention aims to solve the above-mentioned problems, and automatically switches the address mode during dynamic linking without modifying the user program. For example, a user program running in a 16MB virtual space can It provides a means to facilitate address expansion migration that allows the use of 2GB of virtual space.

第1図は本発明の原理ブロツク図を示す。 FIG. 1 shows a block diagram of the principle of the present invention.

第1図において、第4図と同符号のものは、第
4図図示のものに対応する。16は動作モードが
異なるモジユール間の動的リンクにあたつて、プ
ログラム管理部22が割当てる拡張移行用エント
リ、17は入口点アドレスを所定のレジスタにロ
ードする命令、18はアドレス切換えを伴う拡張
分岐命令、24は呼出し元モジユール10と呼出
し先モジユール20とのアドレスの動作モードが
異なるか否かを判別するモード判別部、25は動
作モードが異なるとき、呼出し元モジユール10
に対し拡張移行用エントリ16を動的に割当てる
拡張移行用エントリ割当て部、26は拡張移行用
エントリ16が動的リンク用テーブル13の分岐
命令から制御が渡されるように動的リンク用テー
ブル13を更新するテーブル更新部を表す。
In FIG. 1, the same reference numerals as in FIG. 4 correspond to those shown in FIG. Reference numeral 16 indicates an extended transition entry assigned by the program management unit 22 for dynamic linking between modules with different operating modes, 17 indicates an instruction to load an entry point address into a predetermined register, and 18 indicates an extended branch with address switching. 24 is a mode determination unit that determines whether the operating modes of the addresses of the calling module 10 and the calling module 20 are different; 25 is a mode determining unit that determines whether the operating modes of the calling module 10 and the calling module 20 are different;
An extended migration entry allocation unit 26 dynamically allocates the extended migration entry 16 to the dynamic link table 13 so that the extended migration entry 16 receives control from the branch instruction of the dynamic link table 13. Represents the table update unit to be updated.

呼出し元モジユール10は、呼出し先モジユー
ル20のアドレスの動作モードが、自動作モード
と異なる場合であつても、従来と同様のインタフ
エースにより、動的リンクを指示する。本発明の
場合、ローダ23がライブラリ27から呼出し先
モジユール20をロードした後、モード判別部2
4によつて、呼出し先モジユール20の動作モー
ドを判別する。そして、呼出し元モジユール10
の動作モードと異なつていれば、拡張移行用エン
トリ割当て部25を起動する。拡張移行用エント
リ割当て部25が、拡張移行用エントリ16を用
意した後、テーブル更新部26によつて、動的リ
ンク用テーブル13から拡張移行用エントリ16
へ制御が移行されるように、動的リンク用テーブ
ル13を更新する。即ち、呼出し元モジユール1
0から呼出し先モジユール20への制御移行時
に、拡張移行用エントリ16が自動的に介入する
ようにして、ここで拡張分岐命令18により、ア
ドレスモードの切換えがなされるようにしてい
る。
Even if the operation mode of the address of the called module 20 is different from the automatic operation mode, the calling module 10 instructs dynamic linking using the same interface as the conventional one. In the case of the present invention, after the loader 23 loads the called module 20 from the library 27, the mode determination unit 2
4, the operation mode of the called module 20 is determined. And the calling module 10
If the operation mode is different from the operation mode, the expansion migration entry allocation section 25 is activated. After the extended migration entry allocation unit 25 prepares the extended migration entry 16, the table update unit 26 assigns the extended migration entry 16 from the dynamic link table 13.
The dynamic link table 13 is updated so that control is transferred to. That is, calling module 1
When control is transferred from 0 to the called module 20, the extended transfer entry 16 automatically intervenes, and the extended branch instruction 18 switches the address mode.

動的リンク時の動作は、以下の通りである。図
面に付した番号ないしは、以下の説明番号に
対応している。
The operation during dynamic linking is as follows. The numbers attached to the drawings correspond to the explanatory numbers below.

ブランチアンドリンク命令11により、V形
式アドレス定数12で指定されたネームエント
リ14の先頭に制御が渡される。
The branch and link instruction 11 transfers control to the beginning of the name entry 14 specified by the V-format address constant 12.

分岐命令14Aは、最初、リンケージエント
リ15の先頭を指しており、リンケージエント
リ15へ制御が移る。
The branch instruction 14A initially points to the head of the linkage entry 15, and control is transferred to the linkage entry 15.

SVC命令(SVC番号=45)により、プログ
ラム管理部22が起動される。
The program management section 22 is activated by the SVC command (SVC number=45).

(i) ローダ23は、ライブラリ27から呼出し
先モジユール20をロードする。
(i) The loader 23 loads the called module 20 from the library 27.

(ii) モード判別部24は、アドレスの動作モー
ドを判別し、動作モードが異なるとき、拡張
移行用エントリ割当て部25を起動する。
(ii) The mode determination unit 24 determines the operation mode of the address, and when the operation modes are different, activates the expansion migration entry allocation unit 25.

(iii) テーブル更新部26は、拡張移行用エント
リ16に呼出し先モジユール20の入口点ア
ドレスを格納し、ネームエントリ14の入口
点アドレス設定部14Bに、拡張移行用エン
トリ16の先頭アドレスを設定する。分岐命
令14Aは、SVC命令の後を指すように更
新する。
(iii) The table update unit 26 stores the entry point address of the called module 20 in the entry 16 for extension migration, and sets the start address of the entry 16 for extension migration in the entry point address setting part 14B of the name entry 14. . The branch instruction 14A is updated to point after the SVC instruction.

プログラム管理部22からの制御復帰によ
り、入口点アドレス設定部14Bのデータがロ
ードされる。
Upon return of control from the program management section 22, data in the entry point address setting section 14B is loaded.

入口点アドレス設定部14Bのデータは、拡
張移行用エントリ16の先頭アドレスとなつて
いるので、実際の入口点アドレスをロードする
命令17と、拡張分岐命令18とが実行され
る。
Since the data in the entry point address setting unit 14B is the start address of the extended migration entry 16, the instruction 17 for loading the actual entry point address and the extended branch instruction 18 are executed.

拡張分岐命令18により、アドレスモードが
切換えられると共に、呼出し先モジユール20
へ制御が渡される。
The extended branch instruction 18 switches the address mode and switches the called module 20.
Control is passed to

2回目以降の呼出し先モジユール20の呼出
し時には、SVC命令の実行が省略されて、リ
ンケージエントリ15および拡張移行用エント
リ16を介して、呼出し先モジユール20が呼
出される。
When calling the called module 20 for the second and subsequent times, the execution of the SVC instruction is omitted and the called module 20 is called via the linkage entry 15 and the expansion migration entry 16.

または、テーブル更新部26は、以下のよう
にテーブルを更新して、拡張移行用エントリ1
6を介在させるようにしてもよい。即ち、入口
点アドレス設定部14Bに、呼出し先モジユー
ル20の入口点アドレスを格納し、分岐命令1
4Aが拡張移行用エントリ16へ分岐するよう
に分岐先アドレスを設定する。これにより、2
回目以降の呼出し時には、分岐命令14Aか
ら、リンケージエントリ15を通らずに、拡張
移行用エントリ16へ制御が移行され、拡張分
岐命令18により、呼出し先モジユール20が
呼出される。
Alternatively, the table update unit 26 updates the table as follows, and the expansion migration entry 1
6 may be interposed. That is, the entry point address of the called module 20 is stored in the entry point address setting section 14B, and the branch instruction 1 is
The branch destination address is set so that 4A branches to the expansion migration entry 16. This results in 2
At the time of the subsequent call, control is transferred from the branch instruction 14A to the extended migration entry 16 without passing through the linkage entry 15, and the called module 20 is called by the extended branch instruction 18.

〔作用〕[Effect]

動的リンク構造を持つプログラムは、静的リン
クの場合と異なり、モジユールは細分化されてい
る。そして、各モジユールは、要求時に制御プロ
グラムのプログラム管理部22によりロードさ
れ、制御が渡される。本発明はこの点に着目して
なされたもので、動的リンクでは、必ず最初にプ
ログラム管理部22が関与することから、プログ
ラム管理部22が、アドレスモードに関する動作
モードを判別し、アドレスモードを切換える命令
発行機構、即ち、拡張移行用エントリ16を動的
に付加することにより、ユーザプログラムが意識
することなく、アドレスモードを切換えて、呼出
し先のモジユールへ制御を移行できるようにして
いる。従つて、細分化されたモジユールを、必要
に応じて各モジユール毎に段階的にアドレス拡張
移行することが可能となる。
In a program with a dynamic link structure, modules are subdivided, unlike in the case of static link. Then, each module is loaded by the program management section 22 of the control program at the time of request, and control is transferred. The present invention has been made with this point in mind. In dynamic linking, the program management section 22 is always involved first, so the program management section 22 determines the operation mode related to the address mode and sets the address mode. By dynamically adding a switching instruction issuing mechanism, that is, an expansion migration entry 16, the address mode can be switched and control can be transferred to the called module without the user program being aware of it. Therefore, it is possible to extend the addresses of the subdivided modules step by step for each module as necessary.

〔実施例〕〔Example〕

第2図は本発明の一実施例を説明するための
図、第3図は本発明の他の一実施例を説明するた
めの図である。
FIG. 2 is a diagram for explaining one embodiment of the present invention, and FIG. 3 is a diagram for explaining another embodiment of the present invention.

第2図に示す実施例は、呼出し元モジユール1
0から呼出し先モジユール20の呼出し時にも、
また呼出し先モジユール20から呼出し元モジユ
ール10への復帰時にも、自動的にアドレスモー
ドの切換えがなされるようにしたものである。
The embodiment shown in FIG.
When calling the called module 20 from 0,
Furthermore, when the called module 20 returns to the called module 10, the address mode is automatically switched.

最初、動的リンク用テーブル13は、第2図イ
図示のようになつており、ネームエントリ14の
分岐命令14Aのデイスプレイスメントは、リン
ケージエントリ15までの相対距離aが設定され
ている。
Initially, the dynamic link table 13 is configured as shown in FIG.

呼出し元モジユール10が、「L 15、
VCON」命令を発行すると、ネームエントリ1
4のアドレスがレジスタR15にロードされ、
「BALR 14,15」命令によつて、レジスタ
R14に復帰アドレスが設定されると共に、分岐
命令14Aへの分岐が行われる。次に、分岐命令
14Aから「SVC 45」命令へ制御が渡され、
プログラム管理部が制御を得る。
The calling module 10 says “L 15,
When you issue the “VCON” command, name entry 1
The address of 4 is loaded into register R15,
The "BALR 14, 15" instruction sets the return address in register R14 and branches to branch instruction 14A. Next, control is passed from branch instruction 14A to "SVC 45" instruction,
Program management takes control.

本実施例の場合、プログラム管理部は、拡張移
行用エントリ16が設定される拡張テーブル30
が既に確保されているか否かを判定し、確保され
ていない場合には、ユーザ領域等から拡張テーブ
ル30を切り出し、その中に、ネームエントリ1
4に対応して、拡張移行用エントリ16を用意す
る。そして、動的リンク用テーブル13を、第2
図ロ図示のように更新する。即ち、分岐命令14
Aのデイスプレイスメントを「a+2」とし、入
口点アドレス設定部14Bに拡張移行用エントリ
16の先頭アドレスを設定する。拡張移行用エン
トリ16には、レジスタR14の退避域および入
口点アドレス設定部14Bの代わりとなる入口点
アドレス設定部19が設けられ、該設定部19に
呼出し先モジユール20の入口点アドレスが設定
される。
In the case of this embodiment, the program management section stores the extension table 30 in which the entry 16 for extension migration is set.
It is determined whether or not the name entry 1 has already been secured, and if it has not been secured, the extension table 30 is cut out from the user area, etc., and name entry 1 is stored in it.
4, an entry 16 for expansion migration is prepared. Then, the dynamic link table 13 is
Update as shown in Figure B. That is, branch instruction 14
The displacement of A is set to "a+2", and the start address of the expansion migration entry 16 is set in the entry point address setting section 14B. The expansion migration entry 16 is provided with an entry point address setting section 19 that replaces the save area of the register R14 and the entry point address setting section 14B, and the entry point address of the called module 20 is set in the setting section 19. Ru.

「SVC 45」命令からの戻りにより、また
は2回目以降の分岐命令14Aによる分岐によつ
て、「L 15,4,15」命令が実行されると、
レジスタR15には、拡張移行用エントリ16の
アドレスが設定される。そして、「BR 15」
命令により、拡張移行用エントリ16へ制御が移
行される。
When the "L 15, 4, 15" instruction is executed by returning from the "SVC 45" instruction or branching by the second or subsequent branch instruction 14A,
The address of the expansion migration entry 16 is set in the register R15. And “BR 15”
The command transfers control to the expansion transfer entry 16.

拡張移行用エントリ16における命令aは、リ
ンク時に破壊してしまうレジスタR14を、領域
fに退避する命令である。命令bは、入口点アド
レスをロードする命令17であつて、領域gの内
容をレジスタR15にロードする。命令cは、拡
張分岐命令18であり、特に復帰アドレスをレジ
スタR14に退避し、かつアドレスモードを切換
えてレジスタR15のアドレスに分岐する命令で
ある。
The instruction a in the expansion migration entry 16 is an instruction to save the register R14, which would be destroyed during linking, to the area f. Instruction b is instruction 17 that loads the entry point address, and loads the contents of area g into register R15. Instruction c is an extended branch instruction 18, and in particular is an instruction to save the return address to register R14, switch the address mode, and branch to the address in register R15.

呼出し先モジユール20からの復帰により、命
令dに制御が渡され、命令dは、領域fからレジ
スタR14の内容の内容を復元する。その後、命
令eによつて、呼出し元モジユール10へ制御を
戻す。命令eは、拡張分岐命令の1つであり、ア
ドレスモード切換えを伴う分岐命令である。これ
により、制御が呼出し元モジユール10に戻され
る場合にも、元のアドレスモードへの切換えが自
動的になされることになる。
Upon return from the called module 20, control is passed to instruction d, which restores the contents of register R14 from area f. Thereafter, control is returned to the calling module 10 by command e. Instruction e is one of the extended branch instructions and is a branch instruction that involves address mode switching. Thereby, even when control is returned to the calling module 10, switching to the original address mode is automatically performed.

第3図に示す実施例は、呼出し先モジユール2
0から、呼出し元モジユール10へ制御を戻すと
きに、呼出し先モジユール20が明示的にアドレ
スモード切換えを伴う拡張分岐命令を発行し、直
接、呼出し元モジユール10へ制御を戻す例であ
る。第2図に示した実施例との違いは、以下の通
りである。
The embodiment shown in FIG.
0 to the calling module 10, the called module 20 explicitly issues an extended branch instruction with address mode switching, and returns control directly to the calling module 10. The differences from the embodiment shown in FIG. 2 are as follows.

拡張移行用エントリ16は、例えば仮想空間の
第1ページである固定アドレス領域に、ただ1つ
だけ設けられる。そして、呼出し先モジユール2
0への最初の動的リンクによつて、プログラム管
理部が起動されると、プログラム管理部は、動的
リンク用テーブル13を、第3図イの状態から第
3図ロ図示のように更新する。即ち、分岐命令1
4Aの分岐先を、拡張移行用エントリ16の先頭
アドレスFICEとする。入口点アドレス設定部1
4Bに呼出し先モジユール20の入口点(XYZ)
アドレスを設定する。また、入口点アドレス設定
部14Bの先頭1ビツトに、アドレスモードの表
示14B′を行う。即ち、先頭1ビツトを“1”
にして、拡張アドレスモードであることを記憶す
る。
Only one extended migration entry 16 is provided, for example, in the fixed address area, which is the first page of the virtual space. And the called module 2
When the program management section is activated by the first dynamic link to 0, the program management section updates the dynamic link table 13 from the state shown in FIG. 3A to the state shown in FIG. 3B. do. That is, branch instruction 1
The branch destination of 4A is set to the start address FICE of the expansion migration entry 16. Entry point address setting section 1
4B is the entry point of the called module 20 (XYZ)
Set address. Further, the address mode is displayed 14B' in the first bit of the entry point address setting section 14B. In other words, the first 1 bit is “1”
to remember that it is extended address mode.

動的リンク用テーブル13の更新後に、分岐命
令14Aが実行されると、拡張移行用エントリ1
6に制御が移行され、入口点アドレスをロードす
る命令17によつて、入口点アドレス設定部14
Bの内容がロードされる。そして、拡張分岐命令
18である「BX 0,15」命令によつて、ア
ドレスモード切換えと、呼出し先モジユール20
への分岐が同時に実行される。
When the branch instruction 14A is executed after the dynamic link table 13 is updated, the expansion migration entry 1
6, the control is transferred to the entry point address setting unit 14 by the instruction 17 to load the entry point address.
The contents of B are loaded. Then, by the "BX 0, 15" instruction, which is the extended branch instruction 18, the address mode is switched and the called module 20
Branches to are executed simultaneously.

例えば、24ビツト・モードのモジユール(以
下、旧モジユールという)から、31ビツト・モー
ドのモジユール(以下、新モジユールという)を
呼出す場合、新モジユールは、新たに作成または
修正されたモジユールであるので、第3図に示す
実施例を利用できる。新モジユールから旧モジユ
ールを動的リンクにより呼出す場合には、第2図
に示す実施例が都合がよい。第2図に示す実施例
と、第3図に示す実施例とを併存させて、実施す
ることも可能である。この場合、プログラム管理
部は、モジユール間の動作モードの組合わせによ
つて、拡張移行用エントリ16を使い分ける。も
ちろん、アドレスモードの切換えが必要でない場
合には、拡張移行用エントリ16は使用されず、
従来と同様な動的リンク制御がなされると考えて
よい。
For example, when calling a 31-bit mode module (hereinafter referred to as new module) from a 24-bit mode module (hereinafter referred to as old module), the new module is a newly created or modified module, so The embodiment shown in FIG. 3 can be used. The embodiment shown in FIG. 2 is convenient when calling an old module from a new module by dynamic linking. It is also possible to implement the embodiment shown in FIG. 2 and the embodiment shown in FIG. 3 together. In this case, the program management section uses the expansion migration entry 16 depending on the combination of operation modes between modules. Of course, if address mode switching is not necessary, the extended migration entry 16 is not used.
It can be considered that dynamic link control is performed in the same way as in the past.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、動的リ
ンク時に自動的にアドレスモードを切換える拡張
分岐命令の発行機構が付与されるので、例えば、
24ビツト・モードの旧モジユールを何ら修正する
ことなく、旧モジユールと、31ビツト・モードの
新モジユールとの制御の受け渡しを実現できるよ
うになる。従つて、既存のユーザプログラムが、
旧大仮想空間を使用できるようにするためのコン
バージヨン、即ち、アドレス拡張移行を、必要に
応じて適当なモジユールから段階的に実施できる
こととなり、モジユールの修正に要する時間と労
力とを大幅に削減することが可能となる。
As explained above, according to the present invention, an extended branch instruction issuing mechanism that automatically switches the address mode during dynamic linking is provided, so that, for example,
Control can be transferred between the old module in 24-bit mode and the new module in 31-bit mode without any modification to the old module. Therefore, the existing user program
Conversion to enable the use of the old large virtual space, that is, address expansion migration, can be performed in stages from appropriate modules as needed, greatly reducing the time and effort required to modify modules. It becomes possible to do so.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の原理ブロツク図、第2図は本
発明の一実施例を説明するための図、第3図は本
発明の他の一実施例を説明するための図、第4図
は従来の動的リンク構造を説明する図である。 図中、10は呼出し元モジユール、13は動的
リンク用テーブル、14はネームエントリ、15
はリンケージエントリ、16は拡張移行用エント
リ、18は拡張分岐命令、20は呼出し先モジユ
ール、22はプログラム管理部、23はローダ、
24はモード判別部、25は拡張移行用エントリ
割当て部、26はテーブル更新部、27はライブ
ラリを表す。
FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is a diagram for explaining one embodiment of the present invention, FIG. 3 is a diagram for explaining another embodiment of the present invention, and FIG. 4 is a diagram for explaining another embodiment of the present invention. is a diagram explaining a conventional dynamic link structure. In the figure, 10 is the calling module, 13 is the dynamic link table, 14 is the name entry, and 15 is the calling module.
is a linkage entry, 16 is an extended migration entry, 18 is an extended branch instruction, 20 is a called module, 22 is a program management section, 23 is a loader,
Reference numeral 24 represents a mode determination unit, 25 represents an expansion migration entry allocation unit, 26 represents a table update unit, and 27 represents a library.

Claims (1)

【特許請求の範囲】 1 仮想空間の上限が異なる複数の走行アドレス
モード属性を有し、該アドレスモードの切換えを
伴う拡張分岐命令機構を備えた計算機システムで
あつて、動的リンク対象の呼出し先入口点情報が
格納されるネームエントリ14および動的リンク
を処理するプログラム管理部22を呼出す命令と
分岐命令とが用意されたリンケージエントリ15
を有する動的リンク用ケーブル13によつて、動
的リンクを制御するようにされた計算機システム
において、 上記リンケージエントリ15により呼出される
プログラム管理部22は、 呼出し元モジユール10と呼出し先モジユール
20のアドレスモードに関する動作モードが異な
るか否かを判別する手段24と、 動作モードが異なるとき、少なくとも、所定の
領域に格納された呼出し先入口点アドレスを所定
のレジスタにロードする命令17とアドレスモー
ドの切換えを伴う拡張分岐命令18とを含む命令
コード列が格納された拡張移行用エントリ16を
割当てる手段25と、 上記動的リンク用ケーブル13における制御移
行先が、上記拡張移行用エントリ16に格納され
た命令コード列の先頭になるよう上記動的リンク
用テーブル13を更新する手段26とを備え、 上記拡張移行用エントリ16に格納された命令
コード列の実行により、アドレスモードの切換え
が行われるようにしたことを特徴とする動的リン
クによるアドレスモード切換え制御方式。
[Scope of Claims] 1. A computer system that has multiple running address mode attributes with different upper limits of virtual space and is equipped with an extended branch instruction mechanism that switches the address modes, wherein the call destination of a dynamic link target A name entry 14 in which entry point information is stored, and a linkage entry 15 provided with an instruction to call the program management unit 22 that processes dynamic linking and a branch instruction.
In a computer system in which a dynamic link is controlled by a dynamic link cable 13 having a means 24 for determining whether the operating modes with respect to the address modes are different; when the operating modes are different, at least an instruction 17 for loading the call destination entry point address stored in a predetermined area into a predetermined register; A means 25 for allocating an extended migration entry 16 storing an instruction code string including an extended branch instruction 18 with switching, and a control transfer destination in the dynamic link cable 13 are stored in the extended migration entry 16. and a means 26 for updating the dynamic link table 13 so that the instruction code string is at the beginning of the instruction code string stored in the entry 16, so that the address mode is switched by executing the instruction code string stored in the expansion migration entry 16. An address mode switching control method using a dynamic link, which is characterized by:
JP60178984A 1985-08-14 1985-08-14 Control system for address mode switching by dynamic link Granted JPS6238954A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (en) 1985-08-14 1985-08-14 Control system for address mode switching by dynamic link

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (en) 1985-08-14 1985-08-14 Control system for address mode switching by dynamic link

Publications (2)

Publication Number Publication Date
JPS6238954A JPS6238954A (en) 1987-02-19
JPH0344328B2 true JPH0344328B2 (en) 1991-07-05

Family

ID=16058079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60178984A Granted JPS6238954A (en) 1985-08-14 1985-08-14 Control system for address mode switching by dynamic link

Country Status (1)

Country Link
JP (1) JPS6238954A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126459A (en) * 2014-05-02 2015-11-12 조익훈 Sensor cable module and product method of the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2841363B2 (en) * 1988-01-26 1998-12-24 日本電気株式会社 External module acquisition method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126459A (en) * 2014-05-02 2015-11-12 조익훈 Sensor cable module and product method of the same

Also Published As

Publication number Publication date
JPS6238954A (en) 1987-02-19

Similar Documents

Publication Publication Date Title
US5438661A (en) Version management method and apparatus in multi-window environment
US4587628A (en) Method and apparatus for dynamic invocation of utilities
US5136709A (en) Method for generating an operating system by a static link-editor
US6681267B2 (en) Virtual computer system and method for swapping input/output devices between virtual machines and computer readable storage medium
JP3138171B2 (en) How to download system features
JPH0644085A (en) Method and device for executing access and computer system
JPH05216614A (en) Method and apparatus for imparting common off- screen pixel memory device
JPH02272652A (en) Method for expanding memory
JPH09506457A (en) Link manager for managing links that integrate data between application programs
US4719564A (en) Interpreter linkage system for linking extension interpreters to a basic interpreter
JPH06110715A (en) Dynamic allocating method for computer resources in virtual computer system
JPH0344328B2 (en)
JP2555920B2 (en) Online real-time processor
JPS585848A (en) Controlling system for program access
JP2002024037A (en) Method for updating dynamic link library file
JP2990609B2 (en) Computer system
JPH064477A (en) Subload-module replacing system
JPH01207824A (en) Module coupling control system
JPH036535B2 (en)
KR100308251B1 (en) Integrated management method of runtime backup information and its system
JPH0221610B2 (en)
JPS6356728A (en) Execution system for program correction
JPH04147340A (en) Data management calling system
JPH1021067A (en) Dynamic correction method for program
JPS6210725A (en) Picture control system for multi-job system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees