JPS63311439A - コ−ル・リタ−ン方式 - Google Patents

コ−ル・リタ−ン方式

Info

Publication number
JPS63311439A
JPS63311439A JP14765387A JP14765387A JPS63311439A JP S63311439 A JPS63311439 A JP S63311439A JP 14765387 A JP14765387 A JP 14765387A JP 14765387 A JP14765387 A JP 14765387A JP S63311439 A JPS63311439 A JP S63311439A
Authority
JP
Japan
Prior art keywords
module
call
processing
name
return
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
JP14765387A
Other languages
English (en)
Inventor
Shiro Kondo
近藤 四郎
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 JP14765387A priority Critical patent/JPS63311439A/ja
Publication of JPS63311439A publication Critical patent/JPS63311439A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコール・リターン方式に関し、特に任意のコー
ル先モジュールから特定のコール元モジュールに直接リ
ターンするコール・リターン方式に間する。
〔従来の技術〕
従来のコール・リターン方式は、第2図に示すような階
層化モジュール構造で、第3図に示すような処理フロー
の場合、メインルーチンであるMモジュールの処理中に
、CALL命令を見つけると1階層低いAモジュールに
、プログラムの実行シーケンスが移動する。移動後、A
モジュールの処理中に再びCALL命令を見つけると、
再度1階層低いDモジュールにプログラムの実行シーケ
ンスが移動する。以降、前述と同様にFモジュールもし
くはGモジュールまでプログラムの実行シーケンスが移
動し、FモジュールもしくはGモジュールのプログラム
の実行が終了すると、コール元モジュールであるDモジ
ュールにリターンし、DモジュールからAモジュールを
経てMモジュールにリターンする。このときリターンさ
れた各コール元モジュールは、それぞれのCALL命令
以降の処理を構築する必要がある。
〔発明が解決しようとする問題点〕
上述した従来のコール・リターン方式は、シール先モジ
ュールからコール元モジュールに必ずリターンする方式
を採っており、各モジュールでリターン後の処理を必ず
構築しなければいけない。このためダイナミックステッ
プ数も増えることになり、処理時間を増加させることに
なる。
またコールのネストが複雑になるようなケースでは、プ
ログラムの作成に相当量の工数が係るという欠点がある
本発明の目的は、任意のコール先モジュールから特定の
コール元モジュールへ直接リターンするコール・リター
ン方式を提供することにある。
〔問題点を解決するための手段〕
本発明のコール・リターン方式は、階層化モジュール構
造におけるモジュールのコール・リターン方式において
、呼び出すモジュールのモジュール名を格納している入
口変数テーブルと、前記入口変数テーブルで指定したモ
ジュールを呼び出すときにコール機能を含んだマクロ命
令のアドレスをワークエリアに退避させモジュールをコ
ールするモジュールコール手段と、このモジュールコー
ル手段により退避させたアドレスを復旧するモジュール
リターン手段とを備えて構成されている。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例の処理手順を説明するための
説明図である。
第1図に示すMモジュール1中にコールする相手先モジ
ュールのモジュール名を格納した入口変数テーブル4を
予め定義しておき、Mモジュール1の処理をロジック通
り行う。処理中に“¥W#ABAL (ETBL、NU
M)” (ここで¥W#A B A Lはマクロ名であ
り、ETBLは入口変数テーブルの名称であり、NUM
は入口変数テーブル4の個別部番号である)を検出する
と、NUMの番号のモジュール名と同じモジュールへプ
ログラムの実行シーケンスが移動する。移動後は、¥W
#AEND (X)” (ここで¥W#AENDはマク
ロ名であり、Xはリターン先モジュールのモジュール名
を意味する)を検出するまでそのモジュールのロジック
通りに処理を行う。“¥W#AEND (X)″を検出
すると、Xの内容であるモジュール名と同じモジュール
へプログラムの実行シーケンスが戻る。
次に本実施例の動作説明を行う、メインルーチンである
Mモジュールlの処理をロジックに従い通常通り行う、
処理途中で“¥W#ABAL(ETBL、NUM)”を
検出すると、Mモジュール1中に定義しである入口変数
テーブル4をNUMの内容に基いて参照(この場合、S
モジュール)する。入口変数テーブル4の中には、呼び
出す各モジュールのモジュール名が格納されている。こ
の格納されている各モジュール名のアドレスをリンカ−
がリンク時に、アドレス専用テーブル(図示省略)に自
動的に格納し、該当するモジュール名のアドレスを用い
ることでプログラムの実行シーケンスが移動する。この
実施例の場合は、Sモジュール2へ移動する。このとき
、“¥W#ABAL (ETBL、NUM)内でコンパ
イラ作業域アドレスをワークエリアに退避させておく。
Sモジュール2からTモジュール3をコールするときに
は、通常のコール命令を使用し、プログラムの実行シー
ケンスが移動する。
処理途中で“¥W#AEND (X)”を検出すると、
Xの内容のモジュール名と同じモジュール内でワークエ
リアに退避させたコンパイラ作業域アドレスを復旧させ
ることにより、Xの内容のモジュール名と同じモジュー
ルへ直接リターンすることができる。
〔発明の効果〕
以上説明したように本発明のコール・リターン方式は、
任意のコール先モジュールから特定のコール元モジュー
ルへ、直接リターンすることを可能としたことにより、
従来方式のようにリターン時に各モジュールで後処理を
構築する必要がなく、ダイナミックステップの削減およ
び処理時間の短縮が図れるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例処理手順を説明する説明図、
第2図は階層化されたモジュールの構成図、第3図は従
来のコール・リターン方式の処理フローの説明図である
。 1・・・Mモジュール、2・・・Sモジュール、3・・
・Tモジュール、4・・・入口変数テーブル。 1〜−1?′ 躬2図

Claims (1)

    【特許請求の範囲】
  1. 階層化モジュール構造におけるモジュールのコール・リ
    ターン方式において、呼び出すモジュールのモジュール
    名を格納している入口変数テーブルと、前記入口変数テ
    ーブルで指定したモジュールを呼び出すときにコール機
    能を含んだマクロ命令のアドレスをワークエリアに退避
    させモジュールをコールするモジュールコール手段と、
    このモジュールコール手段により退避させたアドレスを
    復旧するモジュールリターン手段とを備えたことを特徴
    とするコール・リターン方式。
JP14765387A 1987-06-12 1987-06-12 コ−ル・リタ−ン方式 Pending JPS63311439A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14765387A JPS63311439A (ja) 1987-06-12 1987-06-12 コ−ル・リタ−ン方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14765387A JPS63311439A (ja) 1987-06-12 1987-06-12 コ−ル・リタ−ン方式

Publications (1)

Publication Number Publication Date
JPS63311439A true JPS63311439A (ja) 1988-12-20

Family

ID=15435215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14765387A Pending JPS63311439A (ja) 1987-06-12 1987-06-12 コ−ル・リタ−ン方式

Country Status (1)

Country Link
JP (1) JPS63311439A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530712A (ja) * 2005-02-18 2008-08-07 クゥアルコム・インコーポレイテッド 復帰スタックを管理する方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530712A (ja) * 2005-02-18 2008-08-07 クゥアルコム・インコーポレイテッド 復帰スタックを管理する方法および装置
JP2012123810A (ja) * 2005-02-18 2012-06-28 Qualcomm Inc 復帰スタックを管理する方法および装置

Similar Documents

Publication Publication Date Title
CN107656933A (zh) 一种语音播报方法及装置
JPS63311439A (ja) コ−ル・リタ−ン方式
JPS6232497B2 (ja)
JPH10293691A (ja) レジスタ割り付け方法
JPH02206838A (ja) 共通サブル―チンリンク方法
JPS63156255A (ja) インタプリタにおけるオ−バレイ方法
JPH0368417B2 (ja)
JPH01193940A (ja) オブジェクト指向言語による時間の処理方式
JPS63247837A (ja) 例外処理方式
JPS61131124A (ja) 会話入力処理方式
JPH04170643A (ja) 最適セグメンテーション決定システム
JPS584451A (ja) 関数型情報処理装置
JPH02199540A (ja) 呼び出し文の自動生成方式
JPH0341518A (ja) プログラムの呼出し方式
JPS62216042A (ja) デ−タ領域のメモリ割付方式
JPH04138530A (ja) ソフトウェア割り込み制御方式
JPH02214942A (ja) 親ロードモジュールへの制御移行機能の作成方式
JPH01292501A (ja) 制御情報/状態関係処理方式
JPS63180129A (ja) プログラム結合方式
JPS62226334A (ja) 汎用宣言マクロ定義方式
JPS628230A (ja) プログラム特殊化方式
JPS62216036A (ja) プログラム決定方式
JPS62137641A (ja) 高級言語のコンパイラ
JPH03103975A (ja) 記憶要素割当て支援装置
JPH09311792A (ja) レジスタ割り付け方法