JPS6311703B2 - - Google Patents
Info
- Publication number
- JPS6311703B2 JPS6311703B2 JP56215499A JP21549981A JPS6311703B2 JP S6311703 B2 JPS6311703 B2 JP S6311703B2 JP 56215499 A JP56215499 A JP 56215499A JP 21549981 A JP21549981 A JP 21549981A JP S6311703 B2 JPS6311703 B2 JP S6311703B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- program
- csect
- area
- save area
- 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 description 11
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
(1) 発明の技術分野
本発明は、データ処理システムにおける異常時
のダンプ・リスト出力を考慮したレジスタ退避制
御方式に関する。
のダンプ・リスト出力を考慮したレジスタ退避制
御方式に関する。
あるデータ処理システムにおいては、タスクに
異常が生じたとき、ABEND(Abnormal End)
マクロ命令を用いて、タスクまたはそのジヨブ・
ステツプを異常終了させるとともに、仮想空間の
内容を編集してダンプすることが行なわれる。本
発明は、このダンプ・リスト(以後、アベンド・
ダンプ・リストという)において、特にレジスタ
の退避領域トレースを見やすくするためのレジス
タ退避制御方式に関係している。
異常が生じたとき、ABEND(Abnormal End)
マクロ命令を用いて、タスクまたはそのジヨブ・
ステツプを異常終了させるとともに、仮想空間の
内容を編集してダンプすることが行なわれる。本
発明は、このダンプ・リスト(以後、アベンド・
ダンプ・リストという)において、特にレジスタ
の退避領域トレースを見やすくするためのレジス
タ退避制御方式に関係している。
(2) 技術の背景
はじめに、レジスタの退避領域トレースについ
て説明する。
て説明する。
第1図は、プログラムの実行と、CPUにおけ
るレジスタの状態と、記憶装置内のレジスタ退避
領域の内容との関係を示す説明図である。
るレジスタの状態と、記憶装置内のレジスタ退避
領域の内容との関係を示す説明図である。
同図において、まずプログラム領域では、プロ
グラムAが実行されていて、プログラムBを呼び
出す直前では、レジスタ領域のレジスタ0乃至1
4の状態は、()に示すようにα0乃至α14となつ
ている。
グラムAが実行されていて、プログラムBを呼び
出す直前では、レジスタ領域のレジスタ0乃至1
4の状態は、()に示すようにα0乃至α14となつ
ている。
次に、プログラムAは、プログラムBを呼出
し、プログラムBに実行を移す。プログラムB
は、最初に、レジスタ状態()のレジスタ0乃
至14の内容を、レジスタ退避(セーブ)領域
に退避する処理を行なう。
し、プログラムBに実行を移す。プログラムB
は、最初に、レジスタ状態()のレジスタ0乃
至14の内容を、レジスタ退避(セーブ)領域
に退避する処理を行なう。
なお、レジスタ退避領域は、各プログラムのロ
ード・モジユール生成時に、たとえば、72バイト
の領域が自動的に確保されている。そしてレジス
タ15は、通常、復帰コードの設定用に使用され
るので、このレジスタ領域の退避および復元処理
では、レジスタ15を対象にしない。そのため、
レジスタ退避領域の対応位置は、未使用の状態
にとどまる。
ード・モジユール生成時に、たとえば、72バイト
の領域が自動的に確保されている。そしてレジス
タ15は、通常、復帰コードの設定用に使用され
るので、このレジスタ領域の退避および復元処理
では、レジスタ15を対象にしない。そのため、
レジスタ退避領域の対応位置は、未使用の状態
にとどまる。
このようにして、プログラムAのレジスタ状態
が退避されると、プログラムBの実際の処理が実
行される。そして最後にレジスタ0乃至14は、
b0乃至b14の値をもつ()の状態となる。プロ
グラムBの実行処理が終ると、レジスタ15に復
帰コードがセツトされ、レジスタ0乃至14には
退避領域の内容が復元され、レジスタ状態
()となる。これにより、プログラムAの実行
は再開される。
が退避されると、プログラムBの実際の処理が実
行される。そして最後にレジスタ0乃至14は、
b0乃至b14の値をもつ()の状態となる。プロ
グラムBの実行処理が終ると、レジスタ15に復
帰コードがセツトされ、レジスタ0乃至14には
退避領域の内容が復元され、レジスタ状態
()となる。これにより、プログラムAの実行
は再開される。
しかし、プログラムBが更にプログラムCを呼
び、プログラムCはプログラムDを呼ぶというよ
うな場合には、プログラムA,B,Cの分岐時の
レジスタ状態が、それぞれレジスタ退避領域に格
納される。もしここでプログラムDの実行中に異
常が生じたものとすると、ABENDマクロ命令が
発行され、終了処理が行なわれる。このとき、ア
ベンド・ダンプ・リストの出力が指示されていれ
ば、レジスタ退避領域のトレースがダンプされ
る。
び、プログラムCはプログラムDを呼ぶというよ
うな場合には、プログラムA,B,Cの分岐時の
レジスタ状態が、それぞれレジスタ退避領域に格
納される。もしここでプログラムDの実行中に異
常が生じたものとすると、ABENDマクロ命令が
発行され、終了処理が行なわれる。このとき、ア
ベンド・ダンプ・リストの出力が指示されていれ
ば、レジスタ退避領域のトレースがダンプされ
る。
ところで、アベンド・ダンプ・リスト中のレジ
スタ退避領域のトレースは、絶対アドレスで表示
される。そのため、各プログラムとの対応をとる
のに、絶対アドレスから調べなければならず、異
常発生原因の分析作業の障害となつていた。
スタ退避領域のトレースは、絶対アドレスで表示
される。そのため、各プログラムとの対応をとる
のに、絶対アドレスから調べなければならず、異
常発生原因の分析作業の障害となつていた。
(3) 発明の目的
本発明の目的は、アベンド・ダンプ・リストに
おけるレジスタ退避領域のトレースを見やすくす
るためのレジスタ退避処理方式に関する。
おけるレジスタ退避領域のトレースを見やすくす
るためのレジスタ退避処理方式に関する。
(4) 発明の構成
本発明は、レジスタの退避処理の際に、レジス
タのの退避領域中の未使用部分に、自動的にプロ
グラムの標識を書き込むようにし、それにより、
アベンド・ダンプ・リスト中でその標識を識別す
ることにより、関連するプログラムのトレース探
索を容易にするものである。
タのの退避領域中の未使用部分に、自動的にプロ
グラムの標識を書き込むようにし、それにより、
アベンド・ダンプ・リスト中でその標識を識別す
ることにより、関連するプログラムのトレース探
索を容易にするものである。
そのため、本発明の構成は、プログラムの分岐
時にレジスタの退避処理が行なわれる際、一部の
レジスタについては退避を行なわず、そのため記
憶装置中に予め用意されたレジスタ退避領域内に
未使用部分が生じるようなデータ処理装置におい
て、上記退避処理の際に上記レジスタ退避領域内
の未使用部分にプログラムの識別情報を書き込ん
でおき、異常処理発生時に出力されるダンプ・リ
スト中のレジスタ退避領域トレース中に上記プロ
グラム識別情報が表示されることを特徴とするも
のである。
時にレジスタの退避処理が行なわれる際、一部の
レジスタについては退避を行なわず、そのため記
憶装置中に予め用意されたレジスタ退避領域内に
未使用部分が生じるようなデータ処理装置におい
て、上記退避処理の際に上記レジスタ退避領域内
の未使用部分にプログラムの識別情報を書き込ん
でおき、異常処理発生時に出力されるダンプ・リ
スト中のレジスタ退避領域トレース中に上記プロ
グラム識別情報が表示されることを特徴とするも
のである。
(5) 発明の実施例
本発明を実施例にしたがつて説明する。
第2図は、本発明実施例システムの構成図であ
る。同図において、1はCPU、2はプログラム
実行制御部、3はレジスタ0乃至15からなるレ
ジスタ群、4はレジスタ退避復元処理部、5は異
常終了処理部、6はアベンド・ダンプ処理部、7
は記憶装置、8はオペレーテイング・システム
OSである。
る。同図において、1はCPU、2はプログラム
実行制御部、3はレジスタ0乃至15からなるレ
ジスタ群、4はレジスタ退避復元処理部、5は異
常終了処理部、6はアベンド・ダンプ処理部、7
は記憶装置、8はオペレーテイング・システム
OSである。
9はユーザの処理プログラムであり、共通使用
などのため制御セクシヨン(Control Section=
CSECT)と呼ばれる単位プログラムに分割され
ている。なお、各制御セクシヨンCSECTには、
CSECT名として、たとえば“JXWO1000”、
“JXWO1100”、“JXWO1200”、……などが、コ
ンパイル時に付与されている。
などのため制御セクシヨン(Control Section=
CSECT)と呼ばれる単位プログラムに分割され
ている。なお、各制御セクシヨンCSECTには、
CSECT名として、たとえば“JXWO1000”、
“JXWO1100”、“JXWO1200”、……などが、コ
ンパイル時に付与されている。
10はレジスタ退避領域であり、各CSECT毎
に定義された領域、SAO、SA1、SA2、…から
なつている。なお各SAのレジスタ15用の位置
には、CSECT標識が書き込まれる。そして11
は、アベンド・ダンプ・リストである。
に定義された領域、SAO、SA1、SA2、…から
なつている。なお各SAのレジスタ15用の位置
には、CSECT標識が書き込まれる。そして11
は、アベンド・ダンプ・リストである。
第3図は、本実施例の動作例を示す説明図であ
る。以下に第2図を参照しつつ、動作を説明す
る。
る。以下に第2図を参照しつつ、動作を説明す
る。
はじめに、プログラム実行制御部2において、
CSECT名“JXWO1000”をもつメインプログラ
ムがOSにより起動される。プログラムの最初の
部分で、OSが使用したレジスタ群3の退避処理
を行なう。退避処理は、退避復元処理部4により
実行され、退避領域の退避先アドレスはSA0であ
る。このとき、SA0の中のレジスタ15用の位置
には、CSECT名の後半分“1000”がCSECTの標
識として書き込まれる。
CSECT名“JXWO1000”をもつメインプログラ
ムがOSにより起動される。プログラムの最初の
部分で、OSが使用したレジスタ群3の退避処理
を行なう。退避処理は、退避復元処理部4により
実行され、退避領域の退避先アドレスはSA0であ
る。このとき、SA0の中のレジスタ15用の位置
には、CSECT名の後半分“1000”がCSECTの標
識として書き込まれる。
CSECT“JXWO1000”のプログラム処理を進
めて行くと、途中に分岐命令〔CALL
JXWO1100〕があり、ここでCSECT
“JXWO1100”が呼び出される。CSECT
“JXWO1100”の実行に先立つて処理部4によ
り、レジスタの退避処理が退避領域10のSA1に
行なわれる。このときSA1のレジスタ15用の位
置には、CSECT名“JXWO1100”の後半部
“1100”が、CSECT標識として書き込まれる。
めて行くと、途中に分岐命令〔CALL
JXWO1100〕があり、ここでCSECT
“JXWO1100”が呼び出される。CSECT
“JXWO1100”の実行に先立つて処理部4によ
り、レジスタの退避処理が退避領域10のSA1に
行なわれる。このときSA1のレジスタ15用の位
置には、CSECT名“JXWO1100”の後半部
“1100”が、CSECT標識として書き込まれる。
次に、CSECT“JXWO1100”実行が開始され、
ここで、再び分岐命令〔CALL JXWO1200〕に
行き当る。このため、CSECT“JXWO1200”が
呼び出され、前と同様に、レジスタの退避処理が
SA2に対して行なわれる。このとき、SA2のレジ
スタ15用の位置には、CSECT名
“JXWO1200”の後半部が、CSECT標識として
書き込まれる。
ここで、再び分岐命令〔CALL JXWO1200〕に
行き当る。このため、CSECT“JXWO1200”が
呼び出され、前と同様に、レジスタの退避処理が
SA2に対して行なわれる。このとき、SA2のレジ
スタ15用の位置には、CSECT名
“JXWO1200”の後半部が、CSECT標識として
書き込まれる。
ここで、CSECT“JXWO1200”の処理が、異
常処理になつたものとする。前述したように
ABENDマクロ命令が発行され、異常終了処理部
5は、アベンド・ダンプ処理部6を起動し、レジ
スタ退避領域10のトレース内容を、アベンド・
ダンプ・リスト中に出力する処理を行なわせる。
常処理になつたものとする。前述したように
ABENDマクロ命令が発行され、異常終了処理部
5は、アベンド・ダンプ処理部6を起動し、レジ
スタ退避領域10のトレース内容を、アベンド・
ダンプ・リスト中に出力する処理を行なわせる。
なお、レジスタ退避領域中のCSECT標識が書
き込まれたレジスタ15用の位置は、復元処理の
際、レジスタ退避復元処理部により、復元対象か
らはずされる。
き込まれたレジスタ15用の位置は、復元処理の
際、レジスタ退避復元処理部により、復元対象か
らはずされる。
以上のようにして、出力されたダンプ・リスト
中の退避領域のトレースの例を第4図に示す。
中の退避領域のトレースの例を第4図に示す。
(6) 発明の効果
以上述べたように、本発明によれば、通常のレ
ジスタ退避処理の際に、簡単な処理を付加するだ
けで、アベンド・ダンプ・リスト中のレジスタ退
避領域トレースを見やすいものにすることができ
る。
ジスタ退避処理の際に、簡単な処理を付加するだ
けで、アベンド・ダンプ・リスト中のレジスタ退
避領域トレースを見やすいものにすることができ
る。
第1図はレジスタ退避処理の説明図、第2図は
実施例システムの構成図、第3図は第2図の実施
例システムの動作説明図、第4図はレジスタ退避
領域トレースの例を示す説明図である。 図において、1はCPU、2はプログラム実行
制御部、3はレジスタ群、4はレジスタ退避復元
処理部、5は異常終了処理部、6はアベンド・ダ
ンプ処理部、7は記憶装置、8はOS、9は処理
プログラムCSECT、10はレジスタ退避領域、
11はアベンド・ダンプ・リストをそれぞれ示
す。
実施例システムの構成図、第3図は第2図の実施
例システムの動作説明図、第4図はレジスタ退避
領域トレースの例を示す説明図である。 図において、1はCPU、2はプログラム実行
制御部、3はレジスタ群、4はレジスタ退避復元
処理部、5は異常終了処理部、6はアベンド・ダ
ンプ処理部、7は記憶装置、8はOS、9は処理
プログラムCSECT、10はレジスタ退避領域、
11はアベンド・ダンプ・リストをそれぞれ示
す。
Claims (1)
- 1 プログラムの分岐時にレジスタの退避処理が
行なわれる際、一部のレジスタについては退避を
行なわず、そのため記憶装置中に予め用意された
レジスタ退避領域内に未使用部分が生じるような
データ処理装置において、上記退避処理の際に上
記レジスタ退避領域内の未使用部分にプログラム
の識別情報を書き込んでおき、異常処理発生時に
出力されるダンプ・リスト中のレジスタ退避領域
トレース中に上記プログラム識別情報が表示され
ることを特徴とするレジスタ退避処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56215499A JPS58114255A (ja) | 1981-12-28 | 1981-12-28 | デ−タ処理装置におけるレジスタ退避処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56215499A JPS58114255A (ja) | 1981-12-28 | 1981-12-28 | デ−タ処理装置におけるレジスタ退避処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58114255A JPS58114255A (ja) | 1983-07-07 |
JPS6311703B2 true JPS6311703B2 (ja) | 1988-03-15 |
Family
ID=16673400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56215499A Granted JPS58114255A (ja) | 1981-12-28 | 1981-12-28 | デ−タ処理装置におけるレジスタ退避処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58114255A (ja) |
-
1981
- 1981-12-28 JP JP56215499A patent/JPS58114255A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS58114255A (ja) | 1983-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04245543A (ja) | サブプログラム呼び出しを実行する方法および装置と コンパイラ装置 | |
JPS6311703B2 (ja) | ||
JPH0581070A (ja) | プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法 | |
JPH01217635A (ja) | レジスタ退避方式 | |
JP3130798B2 (ja) | バス転送装置 | |
JPS61134850A (ja) | 従属プロセツサのデバツグ方法 | |
JPS6250938A (ja) | 主記憶常駐化デ−タベ−ス復旧方式 | |
JPS6221134B2 (ja) | ||
JP3079238B2 (ja) | デバッグ装置 | |
JPH05108404A (ja) | デバツガシステム | |
JPH04205144A (ja) | マイクロプロセッサ | |
JP2786215B2 (ja) | 再開処理制御方式 | |
JPH04167146A (ja) | 情報処理装置のアドレストレース方式 | |
JPH0816431A (ja) | 利用者プログラムのデバッグ処理システム | |
JPH0522258B2 (ja) | ||
JPH0253146A (ja) | プログラム・トレース方法 | |
JPS6214240A (ja) | プログラム検査方式 | |
JPH0772874B2 (ja) | 割込み受取り装置 | |
JPH06103107A (ja) | プログラムトレース方法 | |
JPS61210440A (ja) | レベルトレ−ス装置 | |
JPS59202548A (ja) | デバツグ装置 | |
KR20000002900A (ko) | 프로세서 메모리의 텍스트영역 정정방법 | |
JPS63155330A (ja) | マイクロプログラム制御装置 | |
JPH0540653A (ja) | デバツグ装置及びデバツグ方法 | |
JPS6270947A (ja) | デバグ割込み制御方式 |