JP3046126B2 - プログラムモジュールの呼び出し方式 - Google Patents

プログラムモジュールの呼び出し方式

Info

Publication number
JP3046126B2
JP3046126B2 JP4017001A JP1700192A JP3046126B2 JP 3046126 B2 JP3046126 B2 JP 3046126B2 JP 4017001 A JP4017001 A JP 4017001A JP 1700192 A JP1700192 A JP 1700192A JP 3046126 B2 JP3046126 B2 JP 3046126B2
Authority
JP
Japan
Prior art keywords
module
program module
return value
program
index
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
JP4017001A
Other languages
English (en)
Other versions
JPH05210501A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP4017001A priority Critical patent/JP3046126B2/ja
Publication of JPH05210501A publication Critical patent/JPH05210501A/ja
Application granted granted Critical
Publication of JP3046126B2 publication Critical patent/JP3046126B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、モジュールで構成され
るプログラムを主記憶装置上にローディングして実行す
る電子計算機システムにおけるプログラムモジュールの
呼び出し方式に関する。
【0002】
【従来の技術】従来技術においては、上位プログラムモ
ジュール(以下、上位モジュールと称す)から下位プロ
グラムモジュール(以下、下位モジュールと称す)を呼
び出すために、図5に示すように、下位モジュールが存
在する主記憶装置上のエントリアドレス(若しくはモジ
ュールに付けられた名前)を分岐先として上位モジュー
ルの内部に記述している。
【0003】しかも、上位モジュールと夫々の下位モジ
ュールとの間のモジュール間インタフェースは、下位モ
ジュール毎に異なるため、夫々に用意する必要があっ
た。そして、多数に分岐するモジュールの呼び出しの場
合は、図6に示すように、上位モジュールから呼び出さ
れた下位モジュールが次の上位モジュールになり、次の
下位モジュールを呼び出すというように、いもづる式に
繰り返し行われている。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来技術においては、下位モジュールにおいて、エントリ
アドレス(若しくはモジュールに付けられた名前)の変
更、モジュールの追加・呼び出し順序の変更、インタフ
ェースの変更が行われた場合、下記のような作業上の問
題点が存在する。
【0005】先ず、全モジュールを調査し、変更・追加
など変化のあったモジュールに関連するモジュールを抽
出せねばならない。次いで、それぞれの前記抽出モジュ
ールで、分岐先の変更、モジュール間インタフェースの
変更等の修正作業を行わねばならない。しかも、このと
きの修正箇所は、1つのモジュールに対して1箇所とは
限らない。
【0006】そして、修正したモジュールを、動作でき
る状態に作り直さねばならない。さらに、図7に示すよ
うに、例えばモジュールEのアドレス(若しくは名前)
を、eからhに変えようとすると、モジュールEのみな
らず、関連のあるモジュールB,C,Dが持つモジュー
ルEへ分岐するための命令JSRの分岐先アドレスもe
からhへ同時に修正しなければならない。このように、
変更・追加など変化のあったモジュールが多くの関連モ
ジュールを持っていたり、変化のあったモジュールその
ものの数が増えると、修正しなければならない箇所が増
え、作業時間も比例して増加する。
【0007】したがって、従来技術においては、これら
の作業上の問題点をすべて完全にクリアしなければなら
ないという未解決の課題がある。そこで、この発明は、
上記従来の未解決の課題に着目してなされたものであ
り、上位モジュールから呼び出される下位モジュールの
エントリアドレスをテーブル化し、該テーブルのエント
リアドレスと下位モジュールのテーブルインデックスを
指定する戻り値とを利用することにより、下位モジュー
ルを任意の順序・組合わせで呼び出せるようにし、下位
モジュールの呼び出し順序の変更や新規追加に容易に対
応できるプログラムモジュールの呼び出し方式を提供す
ることを目的としている。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係るプログラムモジュールの呼び出し方式
は、主記憶装置上に上位プログラムモジュールと、該上
位プログラムモジュールから呼び出される下位プログラ
ムモジュールとが存在する電子計算機システムにおける
プログラムモジュールの呼び出し方式において、上位プ
ログラムモジュールから呼び出される下位プログラムモ
ジュールのエントリアドレスをインデックス付けしてテ
ーブル化したエントリアドレステーブルを用意すると共
に、下位プログラムモジュールが上位プログラムモジュ
ールへリターンする時に前記電子計算機システムの内部
状態を獲得し、当該内部状態に応じて前記インデックス
を指定する戻り値作成モジュールを用意し、上位プログ
ラムモジュールは、前記戻り値作成モジュールで指定さ
れたインデックスをもとに前記エントリアドレステーブ
ルを参照して求めた前記エントリアドレスに基づいて
たなプログラムモジュールに分岐することを特徴として
いる。
【0009】
【作用】本発明においては、上位プログラムモジュール
から下位プログラムモジュールへの分岐はエントリアド
レステーブルのインデックスを指定して下位プログラム
モジュールのエントリアドレスを求めることにより行
い、下位プログラムモジュールから上位プログラムモジ
ュールにリターンするときに戻り値作成モジュールによ
って新たなインデックスを作成して上位プログラムモジ
ュールにリターンする。このとき、電子計算機システム
における上位プログラムモジュールに対する全ての下位
プログラムモジュールの処理が完了したか否か或いは優
先順位の高い割込が発生したか否か等の内部状態を獲得
し、これに基づいてインデックスを作成する。したがっ
て、戻り値作成モジュールで作成するインデックスによ
って複数の下位プログラムモジュールへ順次分岐するこ
とが可能となり、少なくとも、戻り値作成モジュールで
作成するインデックス値を変更することにより、下位モ
ジュールを任意の順序・組み合わせで呼び出すことがで
きると共に、優先順位の高い割込が発生した場合には、
実行中のプログラムモジュールの実行が終了して上位プ
ログラムモジュールにリターンする際に戻り値作成モジ
ュールで割込に応じたインデックスを作成することによ
り、優先順位の高い割込に対処することができる
【0010】
【実施例】以下に、本発明の実施例を図面に基づいて説
明する。図1は、本発明の一実施例を示す概略構成図で
ある。図1に示すように、上位モジュール1から呼び出
される複数個の下位モジュールA〜Eがあると仮定す
る。上位モジュール1が参照するエントリアドレステー
ブル2には、下位モジュールA〜Eが配置されているア
ドレスa,b,c,d,eを格納しておく。エントリア
ドレステーブル2のインデックス0には、下位モジュー
ル呼び出し完了を意味するために0を格納しておく。
【0011】上位モジュール1から下位モジュール(A
〜Eのいずれか)を呼び出すときには、上位モジュール
1内に分岐先の下位モジュールのアドレス(若しくは名
前)を直接記述して分岐するのではなく、インデックス
値とエントリアドレステーブル2に記述されているアド
レスとを使って下位モジュール(A〜Eのいずれか)に
分岐する。下位モジュールからの戻り値が0の場合、イ
ンデックス0を指すのであるから、これ以上の下位モジ
ュールの呼び出しは行わない(図2参照)。
【0012】分岐された下位モジュールは、おのおのが
要求される処理を行い、最後に戻り値作成モジュール4
に分岐する(図3参照)。戻り値作成モジュール4で
は、システムの内部状態を見て戻り値を決定する。な
お、戻り値は、システムの内部状態により、同一モジュ
ールであっても呼び出し先毎に異なる値をとることが可
能である。決定された戻り値は、エントリアドレステー
ブル2のインデックス値である。戻り値が決まったら上
位モジュール1へリターンする(図4参照)。
【0013】また、すべての下位モジュールで使われる
情報(モジュール間インタフェース5)は、主記憶装置
上の領域に個々のモジュールで使用する一定のデータ領
域を連続して確保して、個々のモジュールで使用するデ
ータをすべて格納しておき、領域の先頭アドレスを下位
モジュールに引き渡すようにしている。したがって、上
位モジュールは下位モジュールを呼び出すとき、この主
記憶装置上の連続した領域の先頭アドレスを、モジュー
ル間インタフェース5として下位モジュールに引き渡せ
ばよい。下位モジュールが連続したデータ領域のどの位
置から自己の使用するデータ領域が開始されるかを知る
ために、該下位モジュールは前記連続したデータ領域の
どの位置に自己のデータ領域の先頭アドレスが存在する
かというオフセット値を認識している。したがって、下
位モジュールは前記連続データ領域の先頭アドレスから
所定領域オフセットしたアドレスを自己の使用するデー
タ領域の先頭アドレスとして知ることができる。
【0014】次に、上記実施例の動作を図2〜図4のフ
ローチャートを伴って説明する。図2は、上位モジュー
ル1のフローチャートである。先ず、ステップS1にお
いて、上位モジュール1への入力情報等により最初のイ
ンデックスを決定し、次いで、ステップS2においてイ
ンデックスの値が0か否かを判断する。0の場合はその
まま上位モジュールにリターンする。0でない場合は、
ステップS3に移行して、エントリアドレステーブル2
からインデックスに対応する下位モジュールのアドレス
を獲得する。
【0015】次いで、ステップS4で、ステップS3で
獲得したアドレスを持つ下位モジュールへ分岐し、所定
の処理を行った後、ステップS5へ移行し、ステップS
4で実行した下位モジュールからの戻り値をインデック
スとして、ステップS2へ移行する。そして、インデッ
クスが0になるまで、この処理ループを繰り返す。図3
は、下位モジュールのフローチャートである。
【0016】先ず、ステップS11では、図2で獲得さ
れた下位モジュール毎の個別の処理を実行する。次い
で、ステップS12において、戻り値作成モジュール4
に分岐し所定の処理を行った後、図2のフローチャート
のステップS5へ移行する。図4は、戻り値作成モジュ
ールのフローチャートである。先ず、ステップS21に
おいて、上位モジュール1に対する全ての下位モジュー
ルの処理が完了したか否か或いは優先順位の高い割込が
発生したか否か等のシステムの内部状態を獲得し、次い
で、ステップS22において、上記システムの内部状態
に基づいて、戻り値即ちエントリアドレステーブル2の
インデックスを作成し、図2のフローチャートのステッ
プS5へ移行する。
【0017】従って、上記実施例を実行することによ
り、先ず、戻り値作成モジュールでインデックス値を作
成しておくので、エントリアドレステーブル2にアドレ
スが登録されている下位モジュールを任意の組み合わせ
で利用できる。図1,図2において、上位モジュール1
が最初のインデックス値として2を得たとすると、エン
トリアドレステーブル2のインデックス2により、下位
モジュールBが選択され、下位モジュールBの戻り値が
4であるため、次に下位モジュールDが選択され、下位
モジュールDの戻り値が3であるため、次に下位モジュ
ールCが選択され、下位モジュールCの戻り値は0であ
るため上位モジュール1にリターンする。即ち下位モジ
ュールはB→D→Cの順に呼び出される。
【0018】次に、下位モジュールを呼び出す順番を変
更する場合は、戻り値作成モジュール4を修正すればよ
く、下位モジュールを修正する必要がない。即ち、図
1,図2において、B→D→Cの順に呼び出される下位
モジュールをB→C→Dの順に変更するには、モジュー
ルBの戻り値を3、モジュールCの戻り値を4、モジュ
ールDの戻り値を0に戻り値作成モジュール4で修正す
ればよい。
【0019】次に、新規に下位モジュールを追加する場
合は、戻り値作成モジュール4とエントリアドレステー
ブル2を修正すればよい。即ち、図1,図2において、
B→D→Cの順に呼び出される下位モジュールにモジュ
ールFを追加してB→F→D→Cの順に変更するには、
エントリアドレステーブル2にモジュールFのアドレス
fを追加し、モジュールBの戻り値を6、モジュールF
の戻り値を4に戻り値作成モジュール4で修正すればよ
い。
【0020】さらに、上位モジュールと下位モジュール
とのインタフェースは、図1において、全ての下位モジ
ュールで使用するインタフェース情報の先頭アドレスi
を引き渡しているので、情報の内容が変わっても、モジ
ュール間の結合点を変える必要はない。即ち、モジュー
ル間インタフェース5には、全ての下位モジュールで使
用する全てのデータが格納されているからである。
【0021】
【発明の効果】以上説明したように、本発明に係るプロ
グラムモジュールの呼び出し方式によれば、上位プログ
ラムモジュールから下位プログラムモジュールへの分岐
はエントリアドレステーブルのインデックスを指定して
下位プログラムモジュールのエントリアドレスを求める
ことにより行い、下位プログラムモジュールから上位プ
ログラムモジュールにリターンするときにシステムの内
部状態を獲得し、この内部状態に基づいて戻り値作成モ
ジュールによって新たなインデックスを作成して上位プ
ログラムモジュールにリターンする。したがって、戻り
値作成モジュールで作成するインデックスによって複数
の下位プログラムモジュールへ順次分岐することが可能
となると共に、優先順位の高い割込が発生した場合で
も、この割込に対するインデックスを作成することによ
り対処することができ、しかも、少なくとも、戻り値作
成モジュールで作成するインデックス値を変更すること
により、下位モジュールを任意の順序・組合わせで呼び
出すことができ、下位モジュールの呼び出し順序の変更
や新規追加に対する対応が容易になるという効果があ
る。
【図面の簡単な説明】
【図1】実施例のモジュール呼び出しの概略構成図であ
る。
【図2】実施例の上位モジュールのフローチャートであ
る。
【図3】実施例の下位モジュールのフローチャートであ
る。
【図4】実施例の戻り値作成モジュールのフローチャー
トである。
【図5】従来例のモジュールの呼び出し時の分岐先の記
述図である。
【図6】従来例のいもづる式のモジュール呼び出し図で
ある。
【図7】従来例のモジュールの修正作業図である。
【符号の説明】
1 上位モジュール 2 エントリアドレステーブル 3 下位モジュール群 4 戻り値作成モジュール 5 モジュール間インタフェース A〜F 下位モジュール
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−116328(JP,A) 特開 昭53−18932(JP,A) 特開 昭61−134804(JP,A) 特開 昭63−630(JP,A) 特開 昭60−149058(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 310 - 9/42 390

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 主記憶装置上に上位プログラムモジュー
    ルと、該上位プログラムモジュールから呼び出される下
    位プログラムモジュールとが存在する電子計算機システ
    ムにおけるプログラムモジュールの呼び出し方式におい
    て、上位プログラムモジュールから呼び出される下位プ
    ログラムモジュールのエントリアドレスをインデックス
    付けしてテーブル化したエントリアドレステーブルを用
    すると共に、下位プログラムモジュールが上位プログ
    ラムモジュールへリターンする時に前記電子計算機シス
    テムの内部状態を獲得し、当該内部状態に応じて前記イ
    ンデックスを指定する戻り値作成モジュールを用意し、
    上位プログラムモジュールは、前記戻り値作成モジュー
    ルで指定されたインデックスをもとに前記エントリアド
    レステーブルを参照して求めた前記エントリアドレスに
    基づいて新たなプログラムモジュールに分岐することを
    特徴とするプログラムモジュールの呼び出し方式。
JP4017001A 1992-01-31 1992-01-31 プログラムモジュールの呼び出し方式 Expired - Lifetime JP3046126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4017001A JP3046126B2 (ja) 1992-01-31 1992-01-31 プログラムモジュールの呼び出し方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4017001A JP3046126B2 (ja) 1992-01-31 1992-01-31 プログラムモジュールの呼び出し方式

Publications (2)

Publication Number Publication Date
JPH05210501A JPH05210501A (ja) 1993-08-20
JP3046126B2 true JP3046126B2 (ja) 2000-05-29

Family

ID=11931775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4017001A Expired - Lifetime JP3046126B2 (ja) 1992-01-31 1992-01-31 プログラムモジュールの呼び出し方式

Country Status (1)

Country Link
JP (1) JP3046126B2 (ja)

Also Published As

Publication number Publication date
JPH05210501A (ja) 1993-08-20

Similar Documents

Publication Publication Date Title
US6966050B2 (en) Software building support system
JPH0833806B2 (ja) データ処理装置における多国語変換処理方式
JP3046126B2 (ja) プログラムモジュールの呼び出し方式
JPH03184123A (ja) デジタルデータプロセッサのための手続き状態記述子システム
CN111897612A (zh) 页面更新方法、装置、电子设备及存储介质
JP2885631B2 (ja) オペレーティングシステム管理装置およびオペレーティングシステム管理方法
JP2663600B2 (ja) 制御表再配置処理方式
JPH05189224A (ja) 処理方法管理方式
JP2922536B2 (ja) 論理回路図処理装置、及び論理回路図表示方法
JP3021697B2 (ja) プログラミング言語における例外処理方法
KR100224857B1 (ko) 편집 설계장치
JPH036535B2 (ja)
CN112162749A (zh) 一种基于Angular框架封装表格控件的方法、装置、设备和介质
JP2831742B2 (ja) アーキテクチャ合成システム
JPS62118636A (ja) フアン数チエツク方法
JP3012437B2 (ja) 自動配置方法
JPH0922363A (ja) タスク構成方式
JPH0784786A (ja) プログラム実行制御方法
JPH117455A (ja) ハードウェア記述言語編集装置及びハードウェア記述言語編集方法並びにハードウェア記述言語編集プログラムを記憶した記憶媒体
JP2000242531A (ja) 有向グラフ入出力システム及び入出力方法
JPH04165469A (ja) 回路図面表示装置
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPS62209671A (ja) 図面管理装置
JPH01131931A (ja) 応用プログラム間接続制御方式
JPH1153411A (ja) 回路図エディタ