JPS6221134B2 - - Google Patents
Info
- Publication number
- JPS6221134B2 JPS6221134B2 JP56047410A JP4741081A JPS6221134B2 JP S6221134 B2 JPS6221134 B2 JP S6221134B2 JP 56047410 A JP56047410 A JP 56047410A JP 4741081 A JP4741081 A JP 4741081A JP S6221134 B2 JPS6221134 B2 JP S6221134B2
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- parameter area
- main routine
- word
- called
- 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
Links
- 238000000034 method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明はサブルーチンを多用するプログラムの
処理中にエラーを生じたような場合に、どのサブ
ルーチンをどこで用いたときにエラーを生じたの
かを判別し易くしたものである。
処理中にエラーを生じたような場合に、どのサブ
ルーチンをどこで用いたときにエラーを生じたの
かを判別し易くしたものである。
一般にサブルーチンはメインルーチンの複数箇
所で呼ばれるものであり、何処で呼ばれたかによ
つて処理条件を変更したいことがある。そのた
め、サブルーチンを呼ぶに先立つてそのときの条
件をパラメータエリアに設定し、そのパラメータ
エリアの位置を指定してサブルーチンを呼ぶこと
により、呼ばれたサブルーチンはそのパラメータ
エリアを参照して必要な条件を考慮しつつ処理を
することができる。
所で呼ばれるものであり、何処で呼ばれたかによ
つて処理条件を変更したいことがある。そのた
め、サブルーチンを呼ぶに先立つてそのときの条
件をパラメータエリアに設定し、そのパラメータ
エリアの位置を指定してサブルーチンを呼ぶこと
により、呼ばれたサブルーチンはそのパラメータ
エリアを参照して必要な条件を考慮しつつ処理を
することができる。
本発明はサブルーチンの実行中にエラーを生じ
たとき、メインルーチンの何処で呼ばれたどのサ
ブルーチンでエラーを生じたかを容易に判別する
ことを目的としている。
たとき、メインルーチンの何処で呼ばれたどのサ
ブルーチンでエラーを生じたかを容易に判別する
ことを目的としている。
図は本発明の一実施例を示しており、1はメイ
ンルーチン、2はサブルーチンA、3はパラメー
タエリアであり、すべて主記憶上に設けられる。
メインルーチン中のあるステツプでサブルーチン
Aを呼ぶ命令11が実行されるとき、以下のよう
に処理される。
ンルーチン、2はサブルーチンA、3はパラメー
タエリアであり、すべて主記憶上に設けられる。
メインルーチン中のあるステツプでサブルーチン
Aを呼ぶ命令11が実行されるとき、以下のよう
に処理される。
先ずサブルーチンコール命令11の前の命令ス
テツプで、サブルーチンAを実行するに必要なパ
ラメータをパラメータエリア3のパラメータ記述
部33に設定しておく。サブルーチンコール命令
11の実行に際してはそのパラメータエリア3の
先頭アドレスRnを指定するとともに該エリアの
第2ワード32に戻りアドレスを入れておく。呼
ばれたサブルーチンA12はその先頭にLKGON
(リンケージオン)という命令21が設けられ、
この命令はRnで指示された領域の先頭ワード3
1の第1ビツト(リンケージフラグ)311を
“1”にセツトする。と同時に該ワードの残りの
部分に自サブルーチンの名前を書込んでおく。
テツプで、サブルーチンAを実行するに必要なパ
ラメータをパラメータエリア3のパラメータ記述
部33に設定しておく。サブルーチンコール命令
11の実行に際してはそのパラメータエリア3の
先頭アドレスRnを指定するとともに該エリアの
第2ワード32に戻りアドレスを入れておく。呼
ばれたサブルーチンA12はその先頭にLKGON
(リンケージオン)という命令21が設けられ、
この命令はRnで指示された領域の先頭ワード3
1の第1ビツト(リンケージフラグ)311を
“1”にセツトする。と同時に該ワードの残りの
部分に自サブルーチンの名前を書込んでおく。
またサブルーチンの終りにはLKGOFF(リン
ケージオフ)命令22が設けられ、この命令はパ
ラメータエリアのリンケージフラグ311を
“0”にリセツトし、第2ワード32のアドレス
に戻るように動作する。尚、戻りアドレス32は
一般にサブルーチンコール命令11の次の命令の
アドレスである。
ケージオフ)命令22が設けられ、この命令はパ
ラメータエリアのリンケージフラグ311を
“0”にリセツトし、第2ワード32のアドレス
に戻るように動作する。尚、戻りアドレス32は
一般にサブルーチンコール命令11の次の命令の
アドレスである。
このように動作することにより、エラーが生じ
て処理が中断したときには、パラメータエリア3
の第1、第2ワード31,32を参照するのみで
以下のことが判明する。
て処理が中断したときには、パラメータエリア3
の第1、第2ワード31,32を参照するのみで
以下のことが判明する。
(1) リンケージフラグ311が“1”であればサ
ブルーチンの実行中にエラーを生じたことが判
る。
ブルーチンの実行中にエラーを生じたことが判
る。
(2) そのサブルーチンがどのサブルーチンである
かは第1ワード31を見れば判る。
かは第1ワード31を見れば判る。
(3) またそのサブルーチンがメインルーチンのど
こで呼ばれたものであるかは、第2ワード32
を見れば判る。
こで呼ばれたものであるかは、第2ワード32
を見れば判る。
(4) リンケージフラグ311が“0”であれば、
エラーはメインルーチン中で生じたことが判
る。
エラーはメインルーチン中で生じたことが判
る。
(5) またそのときの第1、第2ワードを見れば、
エラーの起きる前にどのサブルーチンをどこで
呼んだかが判る。
エラーの起きる前にどのサブルーチンをどこで
呼んだかが判る。
以上の如く、本発明ではパラメータエリア中に
リンケージ情報を含ませることによつて、エラー
の切分けを容易に行なうことができる。尚、パラ
メータエリア3は複数のサブルーチンに共用し得
る。またパラメータエリア3はレジスタとしてハ
ード的に設けてもよい。
リンケージ情報を含ませることによつて、エラー
の切分けを容易に行なうことができる。尚、パラ
メータエリア3は複数のサブルーチンに共用し得
る。またパラメータエリア3はレジスタとしてハ
ード的に設けてもよい。
図は本発明の一実施例説明図で、1はメインル
ーチン、2はサブルーチン、3はパラメータエリ
ア、311はリンケージフラグである。
ーチン、2はサブルーチン、3はパラメータエリ
ア、311はリンケージフラグである。
Claims (1)
- 1 メインルーチンとサブルーチンとパラメータ
エリアとを有し、メインルーチンはサブルーチン
を呼ぶに際して予じめパラメータエリアに所定パ
ラメータを設定し、サブルーチンは該パラメータ
エリアを参照しつつ処理を実行するようなデータ
処理システムにおいて、該パラメータエリアの先
頭ワードの第1ビツトをリンケージフラグとし、
該サブルーチンはメインルーチンから呼ばれたと
きに該リンケージフラグをセツトすると同時に該
先頭ワードの残りの部分に自サブルーチン名を書
き込んでから処理を開始し、処理終了後該フラグ
をリセツトしてから該メインルーチンへ戻るよう
にしたことを特徴とするサブルーチンリンク制御
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56047410A JPS57162033A (en) | 1981-03-31 | 1981-03-31 | Subroutine link controlling system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56047410A JPS57162033A (en) | 1981-03-31 | 1981-03-31 | Subroutine link controlling system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57162033A JPS57162033A (en) | 1982-10-05 |
JPS6221134B2 true JPS6221134B2 (ja) | 1987-05-11 |
Family
ID=12774350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56047410A Granted JPS57162033A (en) | 1981-03-31 | 1981-03-31 | Subroutine link controlling system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57162033A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60116039A (ja) * | 1983-11-28 | 1985-06-22 | Canon Inc | 制御装置 |
JPH01263734A (ja) * | 1988-04-08 | 1989-10-20 | Internatl Business Mach Corp <Ibm> | マルチ・タスク環境における動的リンク識別子供給方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5010092A (ja) * | 1973-05-24 | 1975-02-01 | ||
JPS50111954A (ja) * | 1974-02-12 | 1975-09-03 | ||
JPS51144540A (en) * | 1975-06-09 | 1976-12-11 | Hitachi Ltd | Electronic computer |
-
1981
- 1981-03-31 JP JP56047410A patent/JPS57162033A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5010092A (ja) * | 1973-05-24 | 1975-02-01 | ||
JPS50111954A (ja) * | 1974-02-12 | 1975-09-03 | ||
JPS51144540A (en) * | 1975-06-09 | 1976-12-11 | Hitachi Ltd | Electronic computer |
Also Published As
Publication number | Publication date |
---|---|
JPS57162033A (en) | 1982-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6212529B2 (ja) | ||
JPS6221134B2 (ja) | ||
JPS6049352B2 (ja) | デ−タ処理装置 | |
JPS63825B2 (ja) | ||
JPH0443301B2 (ja) | ||
JP3130798B2 (ja) | バス転送装置 | |
JPS5842891B2 (ja) | メイレイセイギヨホウシキ | |
JPS62137627A (ja) | メモリダンプ方式 | |
JPS6212538B2 (ja) | ||
JP3024131B2 (ja) | コンパイラシステム | |
JPS62243032A (ja) | 情報処理装置 | |
JPS63120336A (ja) | メモリアクセスモ−ド切替え方式 | |
JP3120841B2 (ja) | インサーキットエミュレータ | |
JPS6236576B2 (ja) | ||
JP3095483B2 (ja) | レジスタ保存命令処理方法 | |
JP2501393B2 (ja) | 直接メモリアクセス装置 | |
JPS6341092B2 (ja) | ||
JPH0512100A (ja) | セルの管理方法及びセル管理テーブル | |
JPS61134850A (ja) | 従属プロセツサのデバツグ方法 | |
JPS59180755A (ja) | トレ−ス方式 | |
JPH04167146A (ja) | 情報処理装置のアドレストレース方式 | |
JPS6368935A (ja) | マイクロプロセツサ暴走防止方式 | |
JPH04181321A (ja) | マイクロプログラムロード方式 | |
JPS6270947A (ja) | デバグ割込み制御方式 | |
JPS645332B2 (ja) |