JPS63167933A - インタプリタにおけるサブプログラム呼出し方式 - Google Patents

インタプリタにおけるサブプログラム呼出し方式

Info

Publication number
JPS63167933A
JPS63167933A JP61309477A JP30947786A JPS63167933A JP S63167933 A JPS63167933 A JP S63167933A JP 61309477 A JP61309477 A JP 61309477A JP 30947786 A JP30947786 A JP 30947786A JP S63167933 A JPS63167933 A JP S63167933A
Authority
JP
Japan
Prior art keywords
microinstruction
instruction
pointer
program
macroinstruction
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
Application number
JP61309477A
Other languages
English (en)
Inventor
Toshiko Usami
宇佐美 寿子
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP61309477A priority Critical patent/JPS63167933A/ja
Publication of JPS63167933A publication Critical patent/JPS63167933A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は1命令毎にマクロ命令をマイクロ命令に翻訳し
て実行するインタプリタに関し、特にインタプリタを実
現しているマイクロ命令プログラムからサブプログラム
として用意されたマクロ命令プログラムを呼出すことが
できるサブプログラム呼出し方式に関する。
〔従来の技術〕
インタプリタは、1命令毎にマクロ命令をマイクロ命令
に翻訳して実行するものであり、サブプログラムとして
用意されたマクロ命令プログラムを別のマクロ命令プロ
グラム中に設けた呼出し命令で呼出すことは可能である
が、あるマクロ命令を実行する為のマイクロ命令プログ
ラムの途中がらマクロ命令プログラムをサブルーチンと
して呼出すことは従来できなかった。
〔発明が解決しようとする問題点〕
インタプリタを使用する計算機システムは、マクロ命令
のレベルを高めることによってマクロ命令プログラムの
作成が本質的に容易となる利点を存するが、より一層マ
クロ命令プログラムの作成を容易にする為に、複数のマ
クロ命令を含む既存のマクロ命令プログラムで実行され
ていた処理とこの処理以外の多少の処理とからなる成る
処理を、新たな一つのマクロ命令で指示し得るようにす
ることが行なわれる。
このような場合、従来は、上記既存のマクロ命令プログ
ラムと同等の機能をマイクロ命令のサブルーチンプログ
ラムとして新たに生成し、この生成したマイクロ命令サ
ブルーチンプログラムを使用して上記の新たなマクロ命
令の実行を行なっていた。これは前述したように、従来
においてはマイクロ命令プログラムからマクロ命令プロ
グラムをサブプログラムとして呼出すことができない為
であり、かかる理由によりインタプリタの開発を行なう
際の効率が良くないという問題点があった。
本発明はこのような事情に鑑みて為されたもので、その
目的は、マイクロ命令プログラムからサブプログラムと
して用意されたマクロ命令プログラムを呼出すことがで
きるサブプログラム呼出し方式を提供し、もって、増設
しようとするマクロ命令で実現する処理が、既存のマク
ロ命令プログラムで実現される処理を含む場合にはその
マクロ命令プログラムを利用することができるようにし
て、インタプリタの開発の効率を高めることにある。
〔問題点を解決するための手段〕
本発明は上記目的を達成するために、1命令毎にマクロ
命令をマイクロ命令に翻訳して実行するインタプリタを
有する計算機システムにおいて、マクロ命令ポインタの
値とマイクロ命令ポインタの値とを退避領域に退避する
ことを指示する退避用マイクロ命令、該退避用マイクロ
命令の実行後に予めサブプログラムとして用意されたマ
クロ命令プログラム側に実行を移すことを指示する呼出
し用マイクロ命令、前記退避領域に退避されたマクロ命
令ポインタの値に基づいて前記マクロ命令ポインタを復
元することを指示するマクロ命令ポインタ復元用マイク
ロ命令を含むマイクロ命令プログラムを、特定のマクロ
命令を実行すべき際に使用するマイクロ命令プログラム
として備えると共に、 前記サブプログラムとして用意されたマクロ命令プログ
ラムの最後に前記退避領域に退避されたマイクロ命令ポ
インタの値に基づいて前記マイクロ命令ポインタを復元
することを指示するマイクロ命令ポインタ復元用マクロ
命令を持たせ、インタプリタにおける前記特定のマクロ
命令の実行において、前記退避用マイクロ命令に応答し
て前記マクロ命令ポインタの値と前記マイクロ命令ポイ
ンタの値とを前記退避領域に退避した後、前記呼出し用
マイクロ命令に応答して前記マクロ命令プログラム側に
実行を移し、該マクロ命令プログラムの最後にある前記
マイクロ命令ポインタ復元用マクロ命令に応答し前記退
避領域に退避されたマイクロ命令ポインタの値に基づい
て前記マイクロ命令ポインタを復元して元のマイクロ命
令プログラムに実行を戻し、該マイクロ命令プログラム
の前記マクロ命令ポインタ復元用マイクロ命令に応答し
て前記マクロ命令ポインタを復元するように構成される
〔作用〕
特定のマクロ命令を実行する為のマイクロ命令プログラ
ムの途中から、サブプログラムとしてマクロ命令で作成
したマクロ命令プログラムを呼出す場合、退避用マイク
ロ命令の実行によってマクロ命令ポインタとマイクロ命
令ポインタとが退避領域に退避され、上記マクロ命令プ
ログラムの実行終了時点でその中のマイクロ命令ポイン
タ復元用マクロ命令によってマイクロ命令ポインタが復
元されることから、実行を再び上記マイクロ命令プログ
ラムに戻すことができ、更にそのマイクロ命令プログラ
ムの実行終了時点までにはマクロ命令ポインタ復元用マ
イクロ命令の実行によってマクロ命令ポインタが復元さ
れるので、上記特定のマクロ命令の次のマクロ命令に実
行を移すことができる。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の実施例の構成図であり、1はインタプ
リタ、2はマクロ命令プログラム群である。インタプリ
タ1には、マクロ命令取得手段11゜マクロ命令ポイン
タ12.マクロ命令解析手段13゜マイクロ命令ポイン
タ14.マイクロ命令実行制御手段15.マクロ命令ポ
インタ用エリアM16とマイクロ命令ポインタ用エリア
μm6とを有する退避領域16.退避手段17.復元手
段18.19.マイクロ命令プログラム群20.呼出し
手段21およびレジスタ22を含み、マクロ命令プログ
ラム群2は、マクロ命令Mll〜M13を含むマクロ命
令プログラムMl。
マクロ命令M21. M22を含むマクロ命令プログラ
ムM2を有する。また、マイクロ命令プログラム群20
は、マイクロ命令μm1〜μm5を含むマイクロ命令プ
ログラムμm、マイクロ命令μ21.  μ22゜μ2
3を含むマイクロ命令プログラムμ2.マイクロ命令μ
31.μ32を含むマイクロ命令プログラムμ3等、各
マクロ命令を実行する際に使用する各種のマイクロ命令
プログラムを有している。
本実施例では、マクロ命令プログラムM1に含めたマク
ロ命令M12をインタプリタlに与えるだけで、マクロ
命令プログラムM2により行なえる処理と他の何等かの
処理とを合わせた処理をインタプリタ1を介して行なえ
るようにしたものである。この為に、マクロ命令M12
がマクロ命令取得手段11で読取られ、マクロ命令解析
手段13で解析されたときに使用する翻訳済マイクロ命
令プログラムとして、マクロ命令ポインタ12およびマ
イクロ命令ポインタ14の値を退避領域16に退避する
マイクロ命令μm2と、このマイクロ命令μm2の実行
後にマクロ命令プログラムM2に実行を移すマイクロ命
令(一種のリターン命令)μm3と、マクロ命令プログ
ラムM2の実行が終わった後であってマイクロ命令プロ
グラムμmの全てのマイクロ命令の実行が終了する以前
に退避領域16に退避されたマクロ命令ポインタ値に基
づきマクロ命令ポインタ12を復元するマイクロ命令μ
m5とを含むマイクロ命令プログラムμmが用意されて
いる。なお、マクロ命令プログラムM2中の最後のマク
ロ命令M22は、退避領域16に退避されているマイク
ロ命令ポインタの値に基づいてマイクロ命令ポインタ1
4の復元を指示するマクロ命令である。
第2図乃至第7図はマクロ命令プログラムM1のマクロ
命令Mll、 M12. M13が実行されるときの第
1図の動作を説明する為の図であり、以下、各図を参照
して本実施例の動作を説明する。
第1図において、マクロ命令ポインタ12がマクロ命令
Mllを指示している状態でマクロ命令取得手段11に
マイクロ命令実行制御手段15から命令の取得が指示さ
れると、マクロ命令取得手段11はマクロ命令ポインタ
12が指示するマクロ命令Mllを読出し、マクロ命令
解析手段13に渡す。なお、マクロ命令ポインタ12は
その後+1され、第2図に示すように次のマクロ命令M
12を指示する。
マクロ命令Mllが与えられると、マクロ命令解析手段
13はこれを解析し、マクロ命令Mllを実行する為に
予め対応付けられたマイクロ命令プログラム例えばμ2
を次に実行すべきマイクロ命令プログラムとし、マイク
ロ命令ポインタ14が第2図の実線で示すようにマイク
ロ命令プログラムμ2の最初のマイクロ命令μ21を指
示するように設定する。この後、マイクロ命令実行制御
手段15によりマイクロ命令ポインタ14の指示するマ
イクロ命令μ21が読出されて実行される。なおこの時
、マイクロ命令ポインタ14は+1されて第2図の破線
で示すように次のマイクロ命令μ22を指示する。
そしてその実行完了後、マイクロ命令ポインタ14の指
示する次のマイクロ命令μ22が読出されて実行され、
これが最後のマイクロ命令μ23まで続けられることで
、マクロ命令Mllがマイクロ命令プログラムμ2を使
用して実行される。
マイクロ命令実行制御手段15はマイクロ命令プログラ
ムμ2の最後のマイクロ命令μ23の実行を終えると、
マクロ命令取得手段11に対し次のマクロ命令の読出し
を指示し、これに応答してマクロ命令取得手段11はそ
のときマクロ命令ポインタ12が指示しているマイクロ
命令M12を読出してマクロ命令解析手段13に渡す、
このときマクロ命令ポインタ12は第3図に示すように
次のマクロ命令M13を指示する。マクロ命令解析手段
13は渡されたマクロ命令がマクロ命令M12であるこ
とを解析すると、それに対応するマイクロ命令プログラ
ムμmを選択し、マイクロ命令ポインタ14が第3図に
示すようにマイクロ命令プログラムμmの先頭のマイク
ロ命令μm1を指示するように設定する。その後、マイ
クロ命令実行制御手段15はマイクロ命令ポインタ14
が指示するマイクロ命令μm1を読出して実行する。
マイクロ命令実行制御手段15によるマイクロ命令の実
行が進み、次にマイクロ命令μm2が読出されたとする
と、このマイクロ命令μm2は前述したようにマイクロ
命令ポインタ14およびマクロ命令ポインタ12の退避
を行なう命令なので、マイクロ命令実行制御手段15は
退避手段17を起動する。退避手段17は起動されると
、マクロ命令ポインタ12の値(この時点では第4図に
示すようにマクロ命令M13を指示している)とマイク
ロ命令ポインタ14の値を+1した値(マイクロ命令μ
m3を指示する値)とを第4図に示すように退避領域1
6に退避させる。
マイクロ命令実行制御手段′15は次に、マイクロ命令
ポインタ14の指示するマイクロ命令μm3を読出すが
、このマイクロ命令μm3は前述したようにマクロ命令
プログラムM2の先頭のマクロ命令M21に実行を移す
命令なので、呼出し手段21が起動される。呼出し手段
21はこれに応答し、予めレジスタ22に格納されたマ
クロ命令M21を指示するマクロ命令ポインタ値をマク
ロ命令ポインタ12に設定することにより、第5図に示
すようにマクロ命令M21を指示させ、制御をマイクロ
命令実行制御手段15に戻す、マイクロ命令実行制御手
段15はマクロ命令取得手段11に次のマクロ命令の読
出しを指示する。
これに応答してマクロ命令取得手段11はマクロ命令M
21を読出してマクロ命令解析手段13に加える。マク
ロ命令解析手段13は、マクロ命令M21対応のマイク
ロ命令プログラムがマイクロ命令プログラムμ3とする
と、第5図に示すようにその最初のマイクロ命令μ31
を指示するようにマイクロ命令ポインタ14の値を変更
する。その後、マイクロ命令実行制御手段15はマイク
ロ命令ポインタ14の指示するマイクロ命令μ31から
順に最後のマイクロ命令μ32までマイクロ命令プログ
ラムμ3のマイクロ命令を読出し、実行することより、
マクロ命令M21を解釈実行する。同様にして、マクロ
命令M21の次のマクロ命令から最後のマクロ命令M2
2までを解釈実行する。
そして、マクロ命令M22がマクロ命令解析手段13で
解析されると、そのマクロ命令M22はリターン命令な
ので、それに対応するマイクロ命令プログラムの指示に
よってマイクロ命令実行制御手段15は復元手段18を
起動する。
復元手段18は起動されると、退避領域16に退避され
ていたマイクロ命令ポインタの値(マイクロ命令μ14
を指示する値)を第6図に示すようにマイクロ命令ポイ
ンタ14に復元することにより、マイクロ命令μm4を
指示させる。この復元が終了すると、マイクロ命令実行
制御手段15はマイクロ命令ポインタ14の指示に従っ
てマイクロ命令μm4から残りのマイクロ命令の実行を
再開する。
マイクロ命令実行制御手段150マイクロ命令の実行が
進み、マイクロ命令μm5が読出されると、このマイク
ロ命令μm5はマクロ命令ポインタ12の復元を指示す
るものであるから、マイクロ命令実行制御手段15は復
元手段19を起動する。
復元手段19は起動されると、退避領域16に退避され
ていたマクロ命令ポインタ値を第7図に示すようにマク
ロ命令ポインタ12に復元する。これにより、マクロ命
令ポインタ12はマクロ命令M13を再び指示すること
になる。
マイクロ命令実行制御手段15がマイクロ命令プログラ
ムμmの最後の命令の実行を終了すると、マクロ命令取
得手段11に対し次のマクロ命令の続出しが指示され、
このときマクロ命令ポインタ12は第7図に示すように
マクロ命令M13を指示しているので、マクロ命令M1
3が読出されてマクロ命令解析手段13に渡され、以降
マクロ命令M13以下のマクロ命令が解釈実行されるこ
とになる。
〔発明の効果〕
以上説明したように、本発明によれば、特定のマクロ命
令を実行する為のマイクロ命令プログラムの途中から、
サブルーチンとしてマクロ命令で作成したマクロ命令プ
ログラムを呼出し、このマクロ命令プログラムの実行後
は再び上記マイクロ命令プログラムに戻ることができ、
更にそのマイクロ命令プログラムの実行終了後にはマク
ロ命令ポインタが前記特定のマクロ命令の次のマクロ命
令を指示するようにできるので、例えば増設しようとす
るマクロ命令で実現する処理の一部を既に実現している
既存のマクロ命令プログラムがある場合、これを有効に
利用することができ、従来のように増設しようとするマ
クロ命令を処理する為にマイクロ命令サブルーチンプロ
グラムを作成する必要がなくなる効果がある。また、そ
の分だけ必要なマイクロ命令プログラムの容量を少なく
することができる効果もある。
【図面の簡単な説明】
第1図は本発明の実施例の構成図および、第2図乃至第
7図は第1図の動作説明図である。 図において、■・・・インタプリタ、2・・・マクロ命
令プログラム群、16・・・マクロ命令ポインタ12と
マイクロ命令ポインタ14の退避領域、Ml・・・マク
ロ命令プログラム、M2・・・マクロ命令プログラムM
1のマクロ命令M12の実行過程で呼出されるマクロ命
令プログラム、μm・・・マクロ命令M12実行用のマ
イクロ命令プログラム、μm2・・・退避用のマイクロ
命令、μm3・・・実行をマクロ命令プログラムM2偏
に移すマイクロ命令、μm5・・・マクロ命令ポインタ
復元用のマイクロ命令、Mg2・・・マイクロ命令ポイ
ンタ復元用のマクロ命令。

Claims (1)

  1. 【特許請求の範囲】 1命令毎にマクロ命令をマイクロ命令に翻訳して実行す
    るインタプリタを有する計算機システムにおいて、 マクロ命令ポインタの値とマイクロ命令ポインタの値と
    を退避領域に退避することを指示する退避用マイクロ命
    令、該退避用マイクロ命令の実行後に予めサブプログラ
    ムとして用意されたマクロ命令プログラム側に実行を移
    すことを指示する呼出し用マイクロ命令、前記退避領域
    に退避されたマクロ命令ポインタの値に基づいて前記マ
    クロ命令ポインタを復元することを指示するマクロ命令
    ポインタ復元用マイクロ命令を含むマイクロ命令プログ
    ラムを、特定のマクロ命令を実行すべき際に使用するマ
    イクロ命令プログラムとして備えると共に、 前記サブプログラムとして用意されたマクロ命令プログ
    ラムの最後に前記退避領域に退避されたマイクロ命令ポ
    インタの値に基づいて前記マイクロ命令ポインタを復元
    することを指示するマイクロ命令ポインタ復元用マクロ
    命令を持たせ、インタプリタにおける前記特定のマクロ
    命令の実行において、前記退避用マイクロ命令に応答し
    て前記マクロ命令ポインタの値と前記マイクロ命令ポイ
    ンタの値とを前記退避領域に退避した後、前記呼出し用
    マイクロ命令に応答して前記マクロ命令プログラム側に
    実行を移し、該マクロ命令プログラムの最後にある前記
    マイクロ命令ポインタ復元用マクロ命令に応答し前記退
    避領域に退避されたマイクロ命令ポインタの値に基づい
    て前記マイクロ命令ポインタを復元して元のマイクロ命
    令プログラムに実行を戻し、該マイクロ命令プログラム
    の前記マクロ命令ポインタ復元用マイクロ命令に応答し
    て前記マクロ命令ポインタを復元するようにしたことを
    特徴とするインタプリタにおけるサブプログラム呼出し
    方式。
JP61309477A 1986-12-29 1986-12-29 インタプリタにおけるサブプログラム呼出し方式 Pending JPS63167933A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61309477A JPS63167933A (ja) 1986-12-29 1986-12-29 インタプリタにおけるサブプログラム呼出し方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61309477A JPS63167933A (ja) 1986-12-29 1986-12-29 インタプリタにおけるサブプログラム呼出し方式

Publications (1)

Publication Number Publication Date
JPS63167933A true JPS63167933A (ja) 1988-07-12

Family

ID=17993452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61309477A Pending JPS63167933A (ja) 1986-12-29 1986-12-29 インタプリタにおけるサブプログラム呼出し方式

Country Status (1)

Country Link
JP (1) JPS63167933A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047745A (ja) * 1990-04-26 1992-01-13 Pfu Ltd プログラム実行処理方式

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688538A (en) * 1979-12-21 1981-07-18 Hitachi Ltd Information processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688538A (en) * 1979-12-21 1981-07-18 Hitachi Ltd Information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047745A (ja) * 1990-04-26 1992-01-13 Pfu Ltd プログラム実行処理方式

Similar Documents

Publication Publication Date Title
JPS6364144A (ja) 記憶装置間デ−タ転送方式
JPS63167933A (ja) インタプリタにおけるサブプログラム呼出し方式
JPH02224131A (ja) コンピュータシステム
JPS54161237A (en) Address converting method
JPS63276162A (ja) マルチプロセッサシステムのプロセッサ起動方式
JPH0462093B2 (ja)
JPS6154542A (ja) タスク制御方式
JPS6020275A (ja) マルチプロセサの簡易プログラミングシステム
JPH04276834A (ja) プログラムのデバッグ方式
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
JPH02277146A (ja) プログラム・デバッグ方式
JP3011471B2 (ja) 帳票出力処理の制御方法
JPS59108153A (ja) デバツグ方法
JPH04128936A (ja) プログラム実行環境切換え方式
JPS5995653A (ja) マルチタスク用制御装置のタスク実行方法
JPS6020771B2 (ja) マイクロ診断方式
JPS6371761A (ja) オンラインシステムのシステム条件定義方式
JPH05127945A (ja) プログラム実行状況解析方式
JPS63158632A (ja) インタプリタシステムにおけるシステムプログラム実行方式
JPS6277645A (ja) ローカルジョブ起動制御方法
JPH04153741A (ja) 被デバッグプログラムのデバッグにおける逆方向実行方式
JPH01142827A (ja) プログラムの起動方式
JPS6275734A (ja) エミユレ−シヨン方式
JPH0488438A (ja) 高級言語による原始プログラムに対するデバッガの一命令実行方式
JPS62235641A (ja) プログラム実行制御方式