JP2582294B2 - モジュール間結合実行制御方式 - Google Patents

モジュール間結合実行制御方式

Info

Publication number
JP2582294B2
JP2582294B2 JP1159426A JP15942689A JP2582294B2 JP 2582294 B2 JP2582294 B2 JP 2582294B2 JP 1159426 A JP1159426 A JP 1159426A JP 15942689 A JP15942689 A JP 15942689A JP 2582294 B2 JP2582294 B2 JP 2582294B2
Authority
JP
Japan
Prior art keywords
stack
stack data
module
data storage
processing
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
JP1159426A
Other languages
English (en)
Other versions
JPH0325530A (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.)
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Telecom Networks 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 Telecom Networks Ltd filed Critical Fujitsu Telecom Networks Ltd
Priority to JP1159426A priority Critical patent/JP2582294B2/ja
Publication of JPH0325530A publication Critical patent/JPH0325530A/ja
Application granted granted Critical
Publication of JP2582294B2 publication Critical patent/JP2582294B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プロセッサにより複数のモジュールを所定
の順序で実行するモジュール間結合実行制御方式に関す
るものである。
処理機能等に対応してプログラムを分割し、それぞれ
をモジュールとして開発することにより、開発期間の短
縮を図ることができる。又修正する場合もモジュール単
位で行うことが可能となるから、修正処理が容易となる
ものである。このようなモジュール構成のプログラムに
於いては、各モジュールを単独のプログラムのイメージ
で作成可能とし、且つ各モジュール間で実行権を円滑に
移行して処理を実行できるようにすることが要望されて
いる。
〔従来の技術〕
大型のプログラムは、前述のように、複数のモジュー
ルにより構成する場合が一般的である。又データ通信制
御装置に於けるモジュール構成のプログラムに於いて
は、例えば、第7図に示すように、複数のモジュールA,
B,C,Dを直列的に順次実行する構成が用いられ、全モジ
ュールA,B,C,Dを、例えば100ms以内で実行することにな
る。このようなプログラムに於いて、例えば、モジュー
ルB内でスイッチがオフ(OFF)からオン(ON)に変化
した場合のみ、次のシーケンスに進むように構成したい
場合、点線で示すフローとする場合が一般的であるが、
スイッチがオフ(OFF)を継続する限り、次のシーケン
スに移行しないから、モジュールCにも移行することが
できないことになる。
そこで、フラグFを用いてスイッチがオフ(OFF)継
続して状態変化がないことを表示しておいて、次のシー
ケンスに進める方式が知られている。又各モジュールA,
B,C,Dに於ける各種状態毎にその状態を表示する状態レ
ジスタを設けて、インディックスジャンプ方式によりモ
ジュール内の条件分岐を行う方式も知られている。
〔発明が解決しようとする課題〕
各モジュールA,B,C,Dをそれぞれ独立のものとして作
成できることが望ましいものであるが、前述のように、
状態レジスタを設けた場合、その設定が複雑となる欠点
があり、モジュール作成上の問題点となっている。又既
設計の単独のプログラムを、モジュールとして新たに組
み込むことを考えた場合に、モジュール間の結合が困難
であり、若し、それを実現しようとすると、大幅な修正
を必要とするものである。
本発明は、比較的簡単な処理を追加するだけで各モジ
ュール間を円滑に結合し、各モジュールを単独イメージ
で作成可能とすることを目的とするものである。
〔課題を解決するための手段〕
本発明のモジュール間結合実行制御方式は、スタック
データを保存することにより、複数サブルーチンを含む
場合でも、円滑なモジュール間の結合を行わせることが
できるものであり、第1図を参照して説明する。
複数のモジュール1(A,B,・・・N)からなるプログ
ラム2を格納した記憶部3と、スタックポインタ4と、
スタック5と、演算処理部6とを備えたプログラム・シ
ステムに於いて、スタック5の内容のスタックデータを
保存するスタックデータ保存記憶部7と、スタックデー
タの保存領域を指定するスタックデータ保存領域指定レ
ジスタ8と、スタックポインタ4の内容を保存するスタ
ックポインタ保存レジスタ9とを設ける。又各モジュー
ル1毎に、スタックデータの復元処理と退避処理とを含
む結合処理ステップを設ける。
そして、各モジュール1の実行開始に際して、結合処
理ステップの復元処理により、スタックポインタ4の内
容をスタックポインタ保存レジスタ9に保存し、スタッ
クデータ保存領域指定レジスタ8の内容によって指定さ
れるスタックデータ保存記憶部7の領域のスタックデー
タをスタック5にプッシュする。又各モジュール1の実
行終了に際して、結合処理ステップの退避処理により、
スタック5の内容のスタックデータを、スタックデータ
保存領域指定レジスタ8の内容により指定されたスタッ
クデータ保存記憶部7の領域にロードする。
〔作用〕
或るモジュールから次のモジュールに移行する時に、
或るモジュールの実行終了に際して、結合処理ステップ
の退避処理により、スタックデータをスタックデータ保
存記憶部7にロードする。その場合の領域指定を、スタ
ックデータ保存領域指定レジスタ8の内容により行うも
のである。
又次のモジュールの実行開始に際しては、前回の実行
終了に於ける退避処理によって、スタックデータ保存記
憶部7に保存したスタックデータを、結合処理ステップ
の復元処理によりスタック5にプッシュする。それによ
って、フラグ等を用いることなく、前回終了したステッ
プに対応したステップから実行されることになる。
従って、モジュール対応のスタックデータを退避,復
元することにより、モジュール間の結合を円滑に行わせ
ることが可能となる。
〔実施例〕
以下図面を参照して本発明の実施例について詳細に説
明する。
第1図は本発明の実施例のブロック図であり、前述の
ように、複数モジュール1(A,B,・・・N)構成のプロ
グラム2を格納したリードオンリメモリやランダムアク
セスメモリ等の記憶部3と、スタックポインタ4と、こ
のスタックポインタ4により領域が指定されるスタック
5と、プログラムに従った比較処理や加算,減算等の処
理を実行する演算処理部6と、スタック5の内容のスタ
ックデータを退避させて保存するスタックデータ保存記
憶部7と、このスタックデータの保存領域を指定するス
タックデータ保存領域指定レジスタ8と、スタックポイ
ンタ4の内容を保存するスタックポインタ保存レジスタ
9等により、プロセッサ・システムが構成されている。
なお、入出力制御部等は図示を省略している。
スタックデータ保存記憶部7は、プロセッサ・システ
ムの内部メモリや外部メモリ上に形成することが可能で
あり、モジュール1(A,B,・・・N)対応にスタックデ
ータを保存するものである。又スタックデータ保存領域
指定レジスタ8は、スタックデータ保存記憶部7のモジ
ュール1対応のスタックデータの保存領域をそれぞれ指
定できるものである。又スタックポインタ保存レジスタ
9は、モジュール1対応のスタックポインタを保存でき
るものである。
又モジュール1間を結合する為の結合処理ステップが
プログラム2に設けられている。この結合処理ステップ
は、復元処理と退避処理とからなるものである。この退
避処理により、スタック5のスタックデータをスタック
データ保存記憶部7にロードし、その場合の領域はスタ
ックデータ保存領域指定レジスタ8により指定される。
又復元処理により、スタックデータ保存記憶部7に保存
されたスタックデータがスタック5にプッシュされる。
その場合のスタックデータ保存記憶部7の領域はスタッ
クデータ保存領域指定レジスタ8により指定される。
第2図は本発明の実施例の要部フローチャートであ
り、モジュールA,B,・・・Nを順次実行するプログラム
に於いて、各モジュールA,B,・・・Nは、それぞれ実行
開始に際して復元処理PRG1を行い、スタックデータ保存
記憶部7に退避保存させたスタックデータをスタック5
に復元し、それに基づいてモジュールA,B,・・・Nのメ
イン部が実行される。又実行終了に際して退避処理PRG2
を行い、スタックデータをスタックデータ保存記憶部7
に退避保存させる。
第3図はモジュールAの説明図であり、複数のサブル
ーチンL01,L02を含む場合を示す。即ち、モジュールA
の実行開始に際して復元処理PRG1を行い、サブルーチン
L01,L02を実行した後、退避処理PRG2を行って次のモジ
ュールBへ移行し、次にモジュールAに戻った時に、保
存されたスタックデータを復元することにより、メイン
ルーチンに戻ることができるものである。
第4図は復元処理のフローチャートを示し、スタック
ポインタSPの内容をスタックポインタ保存レジスタRに
保存し(1)、スタックデータ保存領域指定レジスタX
の内容により指定されたスタックデータ保存記憶部7の
領域のスタックデータを、スタック5にプッシュする
(2)。そして、スタックデータ保存領域指定レジスタ
Xの内容とスタックデータ保存記憶部7の先頭アドレス
ADRとが等しいか否か判定する(3)。等しくない場合
は、スタックデータ保存領域指定レジスタXの内容から
1を減算し(4)、ステップ(2)に移行する。そし
て、スタックデータ保存領域指定レジスタXの内容と、
スタック保存記憶部7の先頭アドレスADRとが等しくな
ると、所定のスタックデータがスタック5にプッシュさ
れたことになる。
又第5図は退避処理のフローチャートを示し、スタッ
ク5からポップした内容を、スタックデータ保存領域指
定レジスタXの内容により指定された領域にロードし
(5)、スタックポインタSPの内容とスタックポインタ
保存レジスタRの内容とが等しいか否か判定し(6)、
等しくない場合は、スタックデータ保存領域指定レジス
タXの内容に1を加算し(7)、ステップ(5)に移行
する。そして、スタックポインタSPの内容とスタックポ
インタ保存レジスタRの内容とが等しくなると、スタッ
ク5からスタックデータ保存記憶部7にスタックデータ
がロードされたことになる。
第6図はスタックデータの説明図であり、スタックポ
インタSP、スタックポインタ保存レジスタR、スタック
5、スタックデータ保存領域指定レジスタX、スタック
データ保存記憶部7、スタックデータ保存領域先頭アド
レスADR1をそれぞれ示している。又,,,〜
はそれぞれ第3図のステップ,,,〜に対応
したものである。
第3図に於いて、モジュールAの実行開始に際して前
述のように復元処理PRG1が実行され、スタックデータが
復元される。そして、リターン命令が実行されて、サブ
ルーチンとしての退避処理PRG2がコール(CALL PRG2)
されると、スタック5には次のステップのアドレス
“A04"がセーブされる。そして、退避処理PRG2が実行さ
れてスタック5の内容がスタックデータ保存記憶部7に
ロードされ、その処理終了により次のモジュールBに
処理が移行されることになる。
モジュールBを含む他のモジュールの処理が終了して
モジュールAに戻ると、再び復元処理PRG1が実行されて
スタックデータが復元され、又リターン命令により、復
元されたスタックデータに基づいてステップ(アドレ
ス“A04")から処理が開始される。その場合に、例え
ば、第6図のに示す状態となる。スタックポインタSP
は、それまでのネスティングの深さ等に対応してスタッ
クされたアドレス及びデータの最後のポイントを示して
いる。
ステップからの処理が進行して、サブルーチンコー
ル(CALL L01)によりサブルーチンL01に処理が移
行する。その時、サブルーチンコールの次のアドレス
“A01"がスタック5にセーブされ、スタックポインタSP
はそのアドレス“A01"がセーブされた位置を示すものと
なる。即ち、第6図のに示すように、スタックポイン
タSPはアドレス“A01"がセーブされた位置を示してい
る。
又このサブルーチンL01の中のサブルーチンコール(C
ALL L02)によりサブルーチンL02に処理が移行す
る。その時、サブルーチンコールの次のアドレス“A0
2"がスタック5にセーブされる。即ち、スタックポイン
タSPが指示していた領域の次の領域にセーブされ、スタ
ックポインタSPはその領域を指示するように更新され
る。即ち、第6図のに示す状態となる。
又このサブルーチンL02の中のサブルーチンコールと
しての退避処理PRG2がコール(CALL PRG2)されて、
退避処理PRG2が実行される。その時、サブルーチンコ
ールの次のアドレス“A03"がスタック5にセーブさ
れ、スタックポインタSPはその領域を指示するように更
新される。即ち、第6図のに示す状態となる。
そして、退避処理PRG2の実行によりスタック5の内容
のスタックデータがスタックデータ保存記憶部7に退避
される。その時、スタックポインタSPとスタックポイン
タ保存レジスタRとの内容が等しくなるまで、1スタッ
クデータをスタックデータ保存記憶部7にロードする毎
に、スタックデータ保存領域指定レジスタXの内容を+
1する。従って、この退避処理PRG2により第6図のに
示す状態となり、そして、モジュールBに移行する。
再びモジュールAに戻って復元処理PRG1を実行する
ものであるが、その直前に於いては、第6図のに示す
ように、スタック5の内容はそれまで実行していたモジ
ュールに対応した内容を示し、例えば、スタックポイン
タSPは“M3"の位置を示し、又スタックポインタ保存レ
ジスタRは“M1"の位置を示し、又スタックデータ保存
記憶部7には退避されたスタックデータ(“A01"〜“A0
3")が保存され、スタックデータ保存領域指定レジスタ
Xにより最後の退避スタックデータの位置が指示されて
いる。
復元処理PRG1によりスタックデータの復元処理が行
われると、スタックデータがスタック5にプッシュさ
れる。この場合、必要なスタックデータが総てスタック
5にプッシュされるように、1スタックデータをスタッ
ク5にプッシュする毎にスタックデータ保存領域指定レ
ジスタXの内容を−1し、このスタックデータ保存領域
指定レジスタXの内容と、スタックデータ保存記憶部7
の先頭アドレスADR(モジュール対応の先頭アドレスで
第6図ではモジュールAの先頭アドレスADR1を示す)と
が等しくなるまで繰り返すものである。それにより、第
6図のに示すように、スタックポインタSPにより“A0
3"の位置を示し、スタックポインタ保存レジスタRは前
のモジュールに於けるスタックポインタSPの内容(に
示す“M3"の位置)を保存することになる。
従って、リターン命令によりスタックポインタSPで指
示されるアドレス“A03"の処理に移行し、サブルーチ
ンL02が実行され、第6図のの状態となる。即ち、ス
タックポインタSPによりアドレス“A02"の位置が指示さ
れている。
サブルーチンL02のリターン命令が実行されると、ス
タックポインタSPにより指示されているアドレス“A02"
のサブルーチンL01の処理に移行する。その時、第6
図ので示す状態となる。そして、処理が進行してリタ
ーン命令が実行されると、スタックポインタSPにより指
示されているアドレス“A01"の処理に移行する。その
時、第6図ので示す状態となる。
そして、モジュールA内の処理が実行され、最初のス
テップ或いは他のステップに於ける退避処理PRG2コー
ルにより、退避処理PRG2が実行されて、次のモジュール
Bへ移行することになる。
前述のような復元処理PRG1と退避処理PRG2とからなる
結合処理ステップにより、モジュールA,B,・・・N間を
結合して、順次円滑に実行することができる。又前述の
実施例にのみ限定されるものではなく、例えば、スタッ
クポインタとスタックポインタ保存レジスタとの内容の
比較、又はスタックデータ保存領域指定レジスタとスタ
ックデータ保存領域先頭アドレスとの比較等の手段によ
って、スタックデータの転送終了を判定する以外に、他
の手段によって所定のスタックデータの転送終了を判定
することも可能である。又本発明は、各モジュールA,B,
・・・Nが順次実行される場合のみでなく、条件分岐等
により或るモジュールを飛び越して処理が移行する場合
も含むものである。
〔発明の効果〕
以上説明したように、本発明は、プログラム2を複数
のモジュール1により構成し、又プロセッサ・システム
に、スタックデータ保存記憶部7とスタックデータ保存
領域指定レジスタ8と、スタックポインタ保存レジスタ
9とを設け、且つ各モジュール1毎にスタックデータの
復元処理と退避処理とを含む結合処理ステップを設け、
各モジュール1の実行開始に際しては、結合処理ステッ
プの復元処理により、スタックデータ保存記憶部7から
スタックデータをスタック5にプッシュし、又各モジュ
ール1の実行終了に際しては、結合処理ステップの退避
処理により、スタック5からスタックデータ保存記憶部
7にスタックデータをロードするものであり、従来のよ
うなフラグを用いることなく各モジュール1間を結合し
て実行することが可能となる。従って、各モジュール1
を独立イメージのプログラムとして作成することも可能
となり、又他のプログラムをモジュールとして組み込む
ことも容易となる利点がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は本発明
の実施例の要部フローチャート、第3図は本発明の実施
例のモジュールAの説明図、第4図は本発明の実施例の
復元処理のフローチャート、第5図は本発明の実施例の
退避処理のフローチャート、第6図は本発明の実施例の
スタックデータの説明図、第7図は従来例の説明図であ
る。 1はモジュール(A,B,・・・N)、2はプログラム、3
は記憶部、4はスタックポインタ(SP)、5はスタッ
ク、6は演算処理部、7はスタックデータ保存記憶部、
8はスタックデータ保存領域指定レジスタ(X)、9は
スタックポインタ保存レジスタ(R)である。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数モジュール(1)構成のプログラム
    (2)を格納した記憶部(3)と、スタックポインタ
    (4)と、スタック(5)と、演算処理部(6)とを備
    えたプロセッサ・システムに於いて、 前記スタック(5)の内容のスタックデータを保存する
    スタックデータ保存記憶部(7)と、前記スタックデー
    タの保存領域を指定するスタックデータ保存領域指定レ
    ジスタ(8)と、前記スタックポインタ(4)の内容を
    保存するスタックポインタ保存レジスタ(9)とを設け
    ると共に、複数の前記モジュール(1)毎に、前記スタ
    ックデータの復元処理及び退避処理を含む結合処理ステ
    ップを設け、 前記各モジュール(1)の実行開始に際して、前記結合
    処理ステップの前記復元処理により、前記スタックポイ
    ンタ(4)の内容を前記スタックポインタ保存レジスタ
    (9)に保存し、前記スタックデータ保存領域指定レジ
    スタ(8)の内容によって指定される前記スタックデー
    タ保存記憶部(7)の領域のスタックデータを前記スタ
    ック(5)にプッシュし、 前記各モジュール(1)の実行終了に際して、前記結合
    処理ステップの前記退避処理により、前記スタック
    (5)の内容のスタックデータを、前記スタックデータ
    保存領域指定レジスタ(8)の内容により指定された前
    記スタックデータ保存記憶部(7)の領域にロードする ことを特徴とするモジュール間結合実行制御方式。
JP1159426A 1989-06-23 1989-06-23 モジュール間結合実行制御方式 Expired - Lifetime JP2582294B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1159426A JP2582294B2 (ja) 1989-06-23 1989-06-23 モジュール間結合実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1159426A JP2582294B2 (ja) 1989-06-23 1989-06-23 モジュール間結合実行制御方式

Publications (2)

Publication Number Publication Date
JPH0325530A JPH0325530A (ja) 1991-02-04
JP2582294B2 true JP2582294B2 (ja) 1997-02-19

Family

ID=15693486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1159426A Expired - Lifetime JP2582294B2 (ja) 1989-06-23 1989-06-23 モジュール間結合実行制御方式

Country Status (1)

Country Link
JP (1) JP2582294B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089152B2 (en) 2003-06-19 2006-08-08 Mizuno Corporation System and method for assisting shoe selection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146387A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd マルチプロセスにおけるスタツク制御方式
JPS6273335A (ja) * 1985-09-27 1987-04-04 Toshiba Corp スタツク管理方式
JPS62221040A (ja) * 1986-03-20 1987-09-29 Fujitsu Ltd スタツク制御方式

Also Published As

Publication number Publication date
JPH0325530A (ja) 1991-02-04

Similar Documents

Publication Publication Date Title
JP2883784B2 (ja) マイクロコンピュータ
EP0464615B1 (en) Microcomputer equipped with DMA controller
GB2239810A (en) Computer game control apparatus
JP3563768B2 (ja) Romプログラム変更装置
JP2875842B2 (ja) プログラマブルコントローラ
US4128878A (en) System for excuting a program-call instruction in a computer
JP2582294B2 (ja) モジュール間結合実行制御方式
JP2552738B2 (ja) データ処理装置
JP3013725B2 (ja) 割込み処理からの復帰方法
JP3074223B2 (ja) 音声および画像の出力方法
JP3425724B2 (ja) システム無中断プログラム切替え方法
JPH07200350A (ja) ソフトウェアデバッガ
JP2506591B2 (ja) 補助処理装置
JPS61105643A (ja) 命令制御装置
JPS6313217B2 (ja)
JPH02183330A (ja) データ処理装置
JPH036735A (ja) データ処理装置
JPS61147333A (ja) レジスタセレクト回路
JPS6325372B2 (ja)
JPS6250854B2 (ja)
JPH04140851A (ja) 情報処理装置の診断方式
JPH0212332A (ja) 複数の同一命令を含むプログラムの処理方式
JPH0221331A (ja) マイクロコンピュータのプログラム制御方式
JPH03160524A (ja) 情報処理装置
JPH0454531A (ja) プログラム読出し回路