JP2507314B2 - リンケ−ジコンベンシヨン方法 - Google Patents

リンケ−ジコンベンシヨン方法

Info

Publication number
JP2507314B2
JP2507314B2 JP61065649A JP6564986A JP2507314B2 JP 2507314 B2 JP2507314 B2 JP 2507314B2 JP 61065649 A JP61065649 A JP 61065649A JP 6564986 A JP6564986 A JP 6564986A JP 2507314 B2 JP2507314 B2 JP 2507314B2
Authority
JP
Japan
Prior art keywords
address
parameter
length
program
addresses
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
JP61065649A
Other languages
English (en)
Other versions
JPS62224824A (ja
Inventor
喜久雄 高橋
豊彦 鍵政
芳樹 松田
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP61065649A priority Critical patent/JP2507314B2/ja
Publication of JPS62224824A publication Critical patent/JPS62224824A/ja
Application granted granted Critical
Publication of JP2507314B2 publication Critical patent/JP2507314B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおけるデータの授受方式
に係り、特にアドレス長等の属性の異なるプログラム、
モジユール間で一義的にデータの授受を行うのに好適な
リンケージコンベンシヨン方法に関する。
〔従来の技術〕
プログラムは一般にモジユールとかサブルーチンと呼
ばれる処理単位に分割され互いに情報の受け渡しを行い
ながら全体の仕事を分担遂行する。
従来は、この情報の受け渡し方法として(株)日立製
作所マニユアル(VOS2/VOS3最適化FORTRAN使用の手引−
8080−3−258−10ページ226)記載のように、受け渡し
する各情報位置を指すアドレスをエントリとするパラメ
ータ・リスト(FORTRAN言語では、アーギユメント・リ
ストとも呼ぶ)を作成しこのパラメータ・リストのアド
レスを汎用レジスタ1に保持し、この汎用レジスタ1を
介して情報の授受を行う方式であり、FORTRANコンパイ
ラなどで生成するオブジエクトもこのような方法を用い
ている。
〔発明が解決しようとする問題点〕
上記従来方法は、主記憶の増加、すなわちアドレス長
の増大によるパラメータ・リストのエントリ長の変化と
いう点について配慮がされておらず、エントリ長が4バ
イト(前記日立マニユアル記載方式では)と固定長であ
り、主記憶が2ギガバイトを超えると、そのアドレスを
表現できない。また、主記憶を2ギカバイト以上に拡張
した計算機システムにおいても互換性のため従来方法で
作成済みのモジユールは、そのモジユールのアドレシン
グ可能な範中において、そのまま使用できることがユー
ザのソフトウエア財産を保証するうえにおいても重要で
ある。しかし、パラメータ・リストのエントリ長が、従
来方式と主記憶を2キガバイト以上に拡張した場合とで
は異なることになり両者(従来モジユールと拡張モジユ
ール)間での情報受け渡し規約が異なるという問題があ
る。これは、FORTRAN等のコンパイラにおいても、オブ
ジエクト生成時に、情報を受け渡しする相手毎にそのア
ドレス長を知る必要があり、現在FORTRANコンパイラは
コンパイル単位が当該モジユール単位であり、そのよう
な情報を知る手段を持たないし、既開発モジユールは、
従来パラメータ形式でオブジエクトが生成されている。
さらに、情報を受け取る側のモジユールが汎用モジユー
ルの場合複数の他モジユールから使用されることがある
が、自分を呼び出すモジユールが全て同一アドレシング
長とは限らず、相手ごとにリンケージコンベンシヨンが
異なることになり一義的にオブジエクトコードを生成す
ることが困難である。本発明の目的は、前述の問題を解
決しうるモジユール間の情報受け渡し方法を提供するこ
とにある。
本願発明のより具体的な目的は、拡張されたアドレス
を指定出来ない既開発モジュールからも、拡張されたア
ドレスを指定可能な新たに開発されたモジュールのいず
れからも、拡張されたアドレスを扱い得るモジュールに
情報を同じ型式で引渡し可能な、プログラム間の情報の
引渡し方法を提供することにある。
〔問題点を解決するための手段〕
上記目的を達成するために、本願発明では、パラメー
タを引き渡す方のプログラムが、拡張されたアドレス長
を有するアドレスを指定可能でないときには、引き渡す
べきパラメータのリストとして、引き渡すべき複数のパ
ラメータのアドレスを、拡張されていないアドレス長で
もって表わす第1のパラメータリストを、拡張されてい
ないアドレス長を有するアドレスでもって指定可能な領
域に格納し、 パラメータを引き渡す方のプログラムが、拡張された
アドレス長を有するアドレスを指定可能であるときに
は、引き渡すべき複数のパラメータのリストとして、該
引き渡すべき複数のパラメータのアドレスを拡張された
アドレスで表わす複数のアドレスを含む第2のパラメー
タリストを、拡張されていないアドレス長を有するアド
レスで指定可能な領域に格納し、 該第1または第2のパラメータリストのアドレスとし
て、拡張されていないアドレス長を有するアドレスを、
拡張されたアドレス長を保持可能な汎用レジスタの下位
側に格納し、 パラメータを引き渡す方のプログラムが、拡張された
アドレス長を有するアドレスを指定可能でないときに
は、値0を有する情報をその汎用レジスタの上位側に格
納し、 パラメータを引き渡す方のプログラムが、拡張された
アドレス長を有するアドレスを指定可能であるときに
は、そのリストに登録された複数のパラメータのアドレ
ス長を識別するのに使用する、0以外の値を有する情報
をその汎用レジスタの上位側に格納し、 パラメータを引き渡す方のプログラムが、拡張された
アドレス長を有するアドレスを指定可能であるか否かに
依らないで、該汎用レジスタの内容を、受け取り側のプ
ログラムに引き渡す。
〔作用〕
受け取り側のプログラムは、引け渡し側のプログラム
が拡張アドレス長を指定可能か否かに依らないで、受け
渡しするパラメータリストのアドレスを、汎用レジスタ
の下位側から受け取ることが出来、かつ、引き渡すパラ
メータのアドレスの長さが、拡張されていないアドレス
長か否かを、この汎用レジスタの上位側の情報を使用し
て判別できる。しかも、パラメータリストは、非拡張ア
ドレスで指定可能な領域に格納されるので、受け取り側
のプログラムは、引け渡し側のプログラムが拡張アドレ
ス長を指定可能か否かに依らないで、同じ形式でパラメ
ータを受け取ることが出来る。しかも、拡張アドレスを
指定できない従来のプログラムに関しては、何も変更す
ることなく、この引渡しを行ない得る。
〔実施例〕
以下、本発明の一実施例を第1図により説明する。以
下の説明において用いる計算機システムは、アドレシン
グモードとして31ビツト長(従来アドレス長)と64ビツ
ト長(拡張されたアドレス長)の2種の実行をサポート
するものと仮定し、アドレスレジスタ、汎用レジスタ等
のハードウエアも論理最大アドレス長(前記64ビツト)
以上の長さ(例えば64ビツト)を有するものとして説明
する。第1図において、モジユール呼び出し側では、パ
ラメータリスト20上のエントリとして、受け渡しするデ
ータ、すなわち第1パラメータ30と第2パラメータ60の
アドレスをセツトする。
このとき、該パラメータ30,60のアドレス長は、パラ
メータ30,60をメモリ上に確保した時点、もしくは、フ
オートラン等のコンパイル時にあらかじめ分かつている
ので、パラメータ30,60の各々を絡納するのに要するパ
ラメータリスト20上の各々対応するエントリ長がパラメ
ータ30,60の位置のみによつて決定できる。すなわち、
第1パラメータ30が、2ギガバイト以下のメモリに存在
し、第2パラメータ60が2ギカバイト以上に存在する場
合には、第1パラメータは31ビツトで表現可能であり、
前記パラメータリスト20上の対応するエントリ21は4バ
イト(従来形式)で作成され、第2パラメータ31ビツト
を超えるため、エントリ23は8バイトで作成される。作
成した前記パラメータリスト20は31ビツト長、64ビツト
長のいずれのモジユールからもアクセス可能とするため
2ギガバイト以下の領域に置かれ、パラメータリスト20
のアドレスは汎用レジスタ10の下部4バイト11に保持す
る。また、汎用レジスタ10の上部4バイト12には、前記
パラメータリスト20上の各エントリ21,23と1対1に対
応するパラメータのアドレス属性フラツグ50へのポイン
タをセツトする。このとき、全てのパラメータが2ギガ
バイト以下であれば、パラメータのアドレス属性フラツ
グ50は作成せず、汎用レジスタ10の上部12はゼロをセツ
トする。前記パラメータのアドレス属性フラツグ50に
は、ブラツグの個数n51および各パラメータ対応にフラ
ツグf1,f2を設け、前記パラメータ30,60の前記エント
リ21,23の長さを識別する。本実施例では、前記フラツ
グf1,f2が0のときエントリ長が4バイト(従来形式)
を示し、1のときエントリ長が8バイトであることを示
す。31ビットのアドレス長しか指定できない従来モジュ
ールの場合には、従来通りにそのモジュールを実行すれ
ば、パラメータリストは、当該2ギガバイト以下の領域
に格納され、かつ、このリスト内の各パラメータのアド
レスは、2ギババイト以下の領域に格納されている。し
かも、このパラメータリストのアドレスはアドレス31ビ
ットを有し、かつ、汎用レジスタ10の下部11に、このパ
ラメータリストのアドレス(31バイト)が格納され、そ
の汎用レジスタ10の上部12には、値0のビット列が格納
される。以上のように、汎用レジスタ10を介して、相手
モジユールに、前記パラメータリスト20、およびパラメ
ータのアドレス属性フラツグ50を渡すことにより、情報
を受け取る側では、前記パラメータのアドレス属性フラ
ツグに従つて動的に前記パラメータリスト20上の各エン
トリ21,23を取り出すことが可能となる。また、前記汎
用レジスタ10の上部12がゼロであれば全て従来形式と判
断する。
本実施例によれば、情報を受け渡す互いのモジユール
間で、受け渡しするパラメータ対応に1対1にアドレス
長の規約を前もつて決めておく必要がなく、従来方法と
の互換性を保持し一義的な情報授受方法が実現できると
いう効果がある。
以下、前記の実施例と同様の効果を持つ第2,第3の実
施例を第2図,第3図により説明する。
本発明における第2の実施例を第2図により説明す
る。本実施例においては、前記第1の実施例(第1図)
がパラメータリスト20上の各エントリ21,23に対応する
パラメータのアドレス長により、直接前記エントリ21,2
3のエントリ長を変えるのに対し、第2図に示すよう
に、各エントリ21,22は固定長とし、エントリ長を超え
るアドレス長の情報を受け渡す場合には、間接アドレシ
ングとし、第2パラメータ60のアドレスを2ギガバイト
以下のワークエリア40上に格納し、ワークエリア40をエ
ントリ22よりポイントし、パラメータのアドレス属性フ
ラツグ50により、間接アドレシングが否かをエントリ2
1,22対応に識別する方法の実施例である。
また、前記のいずれの実施例においても、第3図に示
すように、汎用レジスタ10の上位部12′を、パラメータ
のアドレス属性フラツグ50の代わりに使用する方法であ
つても良い。また、前記実施例ではf152,f253のフラツ
グは1ビツトとしたが、第4図に示すようにフラツグ
f1,f2と対でパラメータリスト20の先頭からの位置情報
52′,53′を付加する方法もある。この場合の効果とし
ては、属性フラツグ50′上にパラメータリスト20上の各
エントリに対するエントリ長と前記位置情報を持つてい
るので、前記実施例の効果に加え、任意の第n番目のパ
ラメータを直接取り出すことが可能となる。例えば、第
2番目のエントリを取り出す場合は、情報フラツグ53′
よりパラメータリストの先頭からの位置として4を得、
これと汎用レジスタ10の下部11とを加算しエントリアド
レスを求め、f2で示される長さを該エントリ長として第
2パラメータアドレスを得ることができる。
〔発明の効果〕
本発明によれば、受け取り側のプログラムは、引け渡
し側のプログラムが拡張アドレス長を指定可能か否かに
依らないで、受け渡しするパラメータリストのアドレス
を、汎用レジスタの下位側報から受け取ることが出来、
かつ、引き渡すパラメータのアドレスの長さが、拡張さ
れていないアドレス長か否かを、この汎用レジスタの上
位側の情報を使用して判別できる。しかも、パラメータ
リストは、非拡張アドレスで指定可能な領域に格納され
るので、受け取り側のプログラムは、引け渡し側のプロ
グラムが拡張アドレス長を指定可能か否かに依らない
で、同じ形式でパラメータを受け取ることが出来る。し
かも、拡張アドレスを指定できない従来のプログラムに
関しては、何も変更することなく、この引渡しを行ない
得る。
【図面の簡単な説明】
第1図は本発明の第1の実施例の構成図、第2図は、本
発明の第2の実施例の構成図、第3図は、本発明の第3
の実施例の構成図である。第4図は、本発明の他の実施
例の構成図である。 10…汎用レジスタ、20…パラメータリスト、30,60…受
け渡しする情報(パラメータ)、40…間接アドレシング
を用いる場合のパラメータアドレスを含むエリア、50…
パラメータの属性を含むフラツグ情報。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶と、この主記憶をアクセスする処理
    装置を有し、上記処理装置は、アドレシングモードとし
    て、該主記憶に対応付けられた論理アドレス空間の所定
    のアドレス以下の領域に割り当てられた、拡張されてい
    ないアドレス長を有するアドレスを用いる第1のアドレ
    シングと、その論理空間の、上記所定のアドレス以下の
    領域とそのアドレス以上の領域とに割り当てられたアド
    レスを指定可能な、拡張されたアドレス長を有するアド
    レスを用いる第2のアドレシングとを実行可能であり、
    上記処理装置内の回路は、上記第2のアドレシングを実
    行可能にするための回路として、上記拡張されたアドレ
    ス長以上の長さを有する複数の汎用レジスタおよびその
    他の回路を有する計算機システムにおいて、 拡張されたアドレス長を有するアドレスを指定できるパ
    ラメータ受取側のプログラムにパラメータリストをパラ
    メータ引渡し側のプログラムから引き渡すときに、その
    パラメータ引渡し側のプログラムが、拡張されていない
    アドレス長を有するアドレスを指定できるが、拡張され
    たアドレス長を有するアドレスを指定できないプログラ
    ムである場合には、その引き渡すべき複数のパラメータ
    のアドレスを表わし、かつ、拡張されていないアドレス
    長を有する複数の第1種のアドレスを含む第1のパラメ
    ータリストを、該論理空間の該所定のアドレス以下の領
    域に格納し、 さらに、上記複数の内の一つの汎用レジスタの下位側部
    分と上位側部分に、上記拡張されていないアドレス長を
    有する、上記第1のパラメータリストのアドレスと、値
    0を表わす情報とをそれぞれ格納し、 当該汎用レジスタの情報を該パラメータ受取側のプログ
    ラムに引渡し、 そのパラメータ引渡し側のプログラムが、拡張されたア
    ドレス長を有するアドレスを指定できるプログラムであ
    る場合には、引き渡すべき複数のパラメータのアドレス
    を表わし、かつ、拡張されたアドレス長を有する複数の
    第2種のアドレスを含む第2のパラメータリストを、該
    論理空間の該所定のアドレス以下の領域に格納し、 さらに、上記一つの汎用レジスタの下位側部分と上位側
    部分に、拡張されていないアドレス長を有する、上記第
    2のパラメータリストのアドレスと、該第2のパラメー
    タリスト内の複数のアドレスのアドレス長を判定するの
    に使用する、値が0以外である情報とをそれぞれ格納
    し、 当該汎用レジスタの情報を該パラメータ受取側のプログ
    ラムに引渡すリンケージコンベンション方法。
JP61065649A 1986-03-26 1986-03-26 リンケ−ジコンベンシヨン方法 Expired - Lifetime JP2507314B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61065649A JP2507314B2 (ja) 1986-03-26 1986-03-26 リンケ−ジコンベンシヨン方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61065649A JP2507314B2 (ja) 1986-03-26 1986-03-26 リンケ−ジコンベンシヨン方法

Publications (2)

Publication Number Publication Date
JPS62224824A JPS62224824A (ja) 1987-10-02
JP2507314B2 true JP2507314B2 (ja) 1996-06-12

Family

ID=13293064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61065649A Expired - Lifetime JP2507314B2 (ja) 1986-03-26 1986-03-26 リンケ−ジコンベンシヨン方法

Country Status (1)

Country Link
JP (1) JP2507314B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60179847A (ja) * 1984-02-27 1985-09-13 Fujitsu Ltd 実配列および仮配列間の整合性チエツク方式

Also Published As

Publication number Publication date
JPS62224824A (ja) 1987-10-02

Similar Documents

Publication Publication Date Title
JP2986075B2 (ja) ローカル・オブジェクト・アドレス及びグローバル・オブジェクト識別子を結合して単一オブジェクト・ポインタにするためのシステム
US7467271B2 (en) Operating system permitting limited access to a system page
CA1261479A (en) Direct input/output in a virtual memory system
US11768757B2 (en) Kernel debugging system and method
JPH0950416A (ja) 通信装置およびオブジェクト指向通信システム
US20030115584A1 (en) Method and system to instrument virtual function calls
JPH09508734A (ja) 分散形データベースシステム
JP2002502516A (ja) 変換後命令を使用する選択的エミュレーションインタープリテーション
CN110442536B (zh) 基于对象的存储器访问中的静态标识
EP0891586B1 (en) Flexible expansion of virtual memory addressing
US7849470B2 (en) System and method for extending a programming language to include multiple dissimilar object systems
JP3844801B2 (ja) インターフェース継承を伴うオブジェクト上での呼出しのための方法および機構
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JP2991242B2 (ja) マルチプロセッサコンピュータシステム使用方法
US20020066084A1 (en) Coalescing properties, methods and events
US7162401B1 (en) Monitoring of resources that are being modeled by simulation or emulation
US5394545A (en) System for determination and display of memory used, dedicated, and shared by a process at a particular time
JP2507314B2 (ja) リンケ−ジコンベンシヨン方法
JP2797760B2 (ja) 並列処理コンピュータシステム
US6904516B2 (en) Mechanism for enabling efficient execution of an instruction
WO1999030230A1 (en) Naturally parallel computing system and method
JP4260895B2 (ja) マイクロコントローラにおける複数フォーマットアドレス指定
JPH08328861A (ja) オブジェクトからサブルーチンを呼び出すための方法及びシステム
EP0938047A1 (en) Memory protection method and device therefor
JP3517579B2 (ja) マイクロプロセッサ