JPH0497435A - 例外処理制御方式 - Google Patents

例外処理制御方式

Info

Publication number
JPH0497435A
JPH0497435A JP21559890A JP21559890A JPH0497435A JP H0497435 A JPH0497435 A JP H0497435A JP 21559890 A JP21559890 A JP 21559890A JP 21559890 A JP21559890 A JP 21559890A JP H0497435 A JPH0497435 A JP H0497435A
Authority
JP
Japan
Prior art keywords
exception handling
handling routine
etr
routine
exception
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
JP21559890A
Other languages
English (en)
Inventor
Kenji Hori
賢治 堀
Tomohiro Ekubo
江久保 智宏
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP21559890A priority Critical patent/JPH0497435A/ja
Publication of JPH0497435A publication Critical patent/JPH0497435A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は例外処理制御方式に関し、特に電子計算機シス
テムにおいて、タスクにて例外が発生した場合に起動さ
れる例外処理ルーチンの制御方式〔従来の技術〕 従来、タスク単位に使用する例外処理ルーチンは1タス
クに対し1つしか設定できず、複数の設定を行う場合に
も設定された1つの例外処理ルーチン内にて例外の判別
を行った後各々の例外処理ルーチンヘディスパッチされ
ていた。
〔発明が解決しようとする課題〕
上述した従来の例外処理方式では、例外処理ルーチンの
処理は該例外処理ルーチンの適応範囲内に該タスクの実
行する全ての処理を意識して作成されなければならなが
った。
また、上位のモジュールでは下位のモジュールで例外処
理ルーチンが設定される事を意識し下位モジュールから
の復帰後は例外処理ルーチンを再設定する必要があった
〔課題を解決するための手段〕
本発明の例外処理方式は、自タスクにて例外が発生した
ときに前記例外割り込み発生機構により起動される例外
処理ルーチンを該タスク固有のものとして設定し、既に
例外処理ルーチンが設定されている場合は旧例外処理ル
ーチンを退避し、新例外処理ルーチンを新たに再設定す
る例外処理ルーチン設定手段と、前記例外処理ルーチン
設定手段により設定された例外処理ルーチンの適応範囲
が終了したときに該例外処理ルーチンを解放し、退避さ
れた旧例外処理ルーチンを復帰する例外処理ルーチン解
放手段とを有している。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の全体構成を示した図である。
第1図において、メインルーチン11はサブルーチン1
2をコールするプログラムであり、各ルーチンはそれぞ
れのルーチン独自の例外処理ルーチンを設定する。メイ
ンルーチン11は自ルーチン内にて例外か発生した場合
に起動される例外処理ルーチンを設定するために例外処
理ルーチン設定手段13を起動する。
例外処理ルーチン設定手段13は例外処理ルーチンが既
に設定されているかチエツクを行い、例外処理ルーチン
の設定が行われていないのでメインルーチン11から指
定された例外処理ルーチンのエントリアドレスを記憶し
メインルーチン11に制御を戻す。サブルーチン12は
メインルーチン11からコールされると、同サブルーチ
ン12内にて使用する例外処理ルーチンを設定するため
に例外処理ルーチン設定手段13を起動する。例外処理
ルーチン設定手段13は例外処理ルーチンが設定されて
いるかチエツクを行い、メインルーチン11にて既に設
定済みであるので設定済み例外処理ルーチンのエントリ
アドレスを退避した後サブルーチン12から指定された
例外処理ルーチンのエントリアドレスを記憶しサブルー
チン12に制御を戻す。サブルーチン12は例外処理ル
ーチンの適応範囲が終了すると該例外処理ルーチンを解
放するために例外処理ルーチン解放手段14を起動する
例外処理ルーチン解放手段14は現在設定されている例
外処理ルーチンを解放した後前記例外処理ルーチン設定
手段13により例外処理ルーチンのエントリアドレスが
退避されているかチエ・ツクを行い、例外処理ルーチの
エントリアドレスは退避されていないので、そのままメ
インルーチン11に処理を戻す。
例外処理ルーチン適応範囲15処理中に例外が発生する
と例外割り込み機構16が動作し、例外処理ルーチンが
設定されているかチエツクを行う。この場合は対応した
例外処理ルーチンが設定されているので例外処理ルーチ
ンに制御を渡す。
第2図は本発明の一実施例のうち例外処理ルーチンを使
用するプログラムの構成を示した図である。第2図にお
いて、メインルーチン21はサブルーチン22をコール
し、サブルーチン22はサブルーチン23をコールする
。サブルーチン23は更にサブルーチン24をコールし
、各サブルーチンは各々のコーラ−に復帰する。
第3図から第5図は第2図に関連して制御構造体の関係
の推移を示した図である。制御構造体31は例外処理ル
ーチンエントリアドレス記憶エリアへのポインタ(以後
例外処理ポインタと略す)32と例外処理ルーチンを使
用するタスク34へのポインタ33が格納されている。
例外処理ポインタ32は例外処理ルーチンが設定されて
いないときは例外処理ルーチンエントリアドレス記憶エ
リア35の最高位アドレスを指している。メインルーチ
ン21及びサブルーチン22〜24はそれぞれ各ルーチ
ン内にのみ対応する例外処理ルーチンを設定する。
第4図はメインルーチン2]に対応した例外処理ルーチ
ン41を設定した後の状態を示した図である。
メインルーチン21は起動されると自ルーチン内に対応
する例外処理ルーチン41を設定するために前記例外処
理ルーチン設定手段13を起動する。例外処理ルーチン
設定手段13はポインタ32を低位方向にずらし、前記
メインルーチン21に対応する例外処理ルーチン41の
エントリアドレスをポインタ32′の示すエリア42に
格納する。この時点でメインルーチン21処理中に例外
が発生すると前記例外発生機構16はポインタ32′の
示すエリア42にニトリアドレスが格納されている例外
処理ルーチン41に制御を渡す。
第5図はメインルーチン21と同様にサブルーチン21
・23・24がコールされ各ルーチンに対応した例外処
理ルーチン5153・55のエントリアドレスを設定し
た状態である。この時点でサブルーチン24処理中に例
外が発生すると前記例外発生機構16はポインタ32゛
′の示すエリア56にエントリアドレスが格納されてい
る例外処理ルーチン55に制御を渡す。
サブルーチン24の例外処理ルーチン適応範囲が終了す
ると同サブルーチン24は前記例外処理ルーチン解放手
段14を起動する。例外処理ルーチン解放手段14はポ
インタ32′′の示すエリアに例外処理ルーチンのエン
トリアドレスか格納されているかチエツクを行い、現在
は例外処理ルーチン56のエントリアドレスか格納され
ているのて、同例外処理ルーチン56を解放するために
ポインタ32”を高位方向にずらす。
サブルーチン24と同様にサブルーチン23・22とメ
インルーチン21が各々に対応した例外処理ルーチン5
3・51・41を解放すると第2図の初期状態に戻る。
この時点でメインルーチン21の処理終了までの間に例
外が発生すると前記例外発生機構17はポインタ32が
例外処理ルーチンエントリ記憶エリアの最下位番地を示
しているので例外処理ルーチンが設定されていないと判
断し処理を終了する。
〔発明の効果〕
以上説明したように本発明の例外処理方式では、例外処
理ルーチンの一時的な切換を可能とすることにより、モ
ジュール間の関連を無くし、例外処理ルーチンの作成を
容易にするものである。
【図面の簡単な説明】
第1図は本発明の全体構成を示す図、第2図は本発明の
一実施例のうち例外処理ルーチンを使用するプログラム
の構成を示す図、第3図から第5図は第2図に関連して
制御構造体の関係の推移を示す図である。 11・・・メインルーチン、12・・・サブルーチン、
13・・・例外処理ルーチン設定手段、14・・・例外
処理ルーチン設定手段、15・・・例外処理ルーチン適
応範囲、16・・・例外割り込み発生機構、21・・・
メインルーチン、22〜24・・・サブルーチン、31
・・制御構造体、32・32′ ・32°′・・・例外
処理ルーチンエントリへのポインタ、33・・・タスク
ポインタ、34・・・タスク、35・・・例外処理ルー
チンエントリ記憶エリア、41・・・メインルーチン2
]に対応する例外処理ルーチン、42・・・例外処理ル
ーチン41のエントリアドレス、51・・・サブルーチ
ン22に対応する例外処理ルーチン、52・・・例外処
理ルーチン51のエントリアドレス、53・・・サブル
ーチン23に対応する例外処理ルーチン、54・・・例
外処理ルーチン53のニトリアドレス、55・・・サブ
ルーチン24に対応する例外処理ルーチン、56・・・
例外処理ルーチン55のエントリアドレス。

Claims (1)

    【特許請求の範囲】
  1. 例外割り込み発生機構を有する電子計算機システムにお
    いて、自タスクにて例外が発生したときに前記例外割り
    込み発生機構により起動される例外処理ルーチンを該タ
    スク固有のものとして設定し、既に例外処理ルーチンが
    設定されている場合は旧例外処理ルーチンを退避し、新
    例外処理ルーチンを新たに再設定する例外処理ルーチン
    設定手段と、前記例外処理ルーチン設定手段により設定
    された例外処理ルーチンの適応範囲が終了したときに該
    例外処理ルーチンを解放し、退避された旧例外処理ルー
    チンを復帰する例外処理ルーチン解放手段とを有し、例
    外処理ルーチンの一時的な切換を行うことを特徴とする
    例外処理制御方式。
JP21559890A 1990-08-15 1990-08-15 例外処理制御方式 Pending JPH0497435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21559890A JPH0497435A (ja) 1990-08-15 1990-08-15 例外処理制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21559890A JPH0497435A (ja) 1990-08-15 1990-08-15 例外処理制御方式

Publications (1)

Publication Number Publication Date
JPH0497435A true JPH0497435A (ja) 1992-03-30

Family

ID=16675083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21559890A Pending JPH0497435A (ja) 1990-08-15 1990-08-15 例外処理制御方式

Country Status (1)

Country Link
JP (1) JPH0497435A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173746A (ja) * 2015-03-17 2016-09-29 キヤノン株式会社 情報処理装置及びその制御方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173746A (ja) * 2015-03-17 2016-09-29 キヤノン株式会社 情報処理装置及びその制御方法、プログラム

Similar Documents

Publication Publication Date Title
JPH0497435A (ja) 例外処理制御方式
JPH01217635A (ja) レジスタ退避方式
JPH04181351A (ja) コマンドによるsg情報の動的変更方式
JPH02178855A (ja) データベースのデッドロック処理方式
JP2790472B2 (ja) 多重会話処理制御方式
JPS6154542A (ja) タスク制御方式
JPH03163630A (ja) プロセッサのスタック制御方法
JPS58155588A (ja) 論理スワツプアウト処理方式
JP2822728B2 (ja) コンピュータシステム
JPH0962500A (ja) 動的パッチ方法および動的パッチシステム
JPS6353650A (ja) 計算機
JPS63245736A (ja) 排他制御コントロ−ラ引き継ぎ方式
JPH04155532A (ja) タスク切替方式
JPS63131246A (ja) ペ−ジ解放装置
JPH04284555A (ja) 外部リング遷移を行う処理装置および方法
JPH11312108A (ja) 副ロードモジュールのトランザクション同期置換方式
JPH04127333A (ja) アプリケーションタスクの障害検出方式
JPH0311431A (ja) オーバレイ方式
JPH05257887A (ja) プログラム置換方式
JPH02300824A (ja) 情報処理装置におけるジョブ中断・再開制御方式
Miller et al. CMS Nucleus Extensions In a DCSS
JPH0640312B2 (ja) プログラムインタフエ−ス方式
JPS6394339A (ja) 仮想計算機システム
JPH0681342B2 (ja) 再開処理方式
JPH0367357A (ja) マルチcpuシステム