JPH0279125A - ベイシックインタプリタ言語での中断処理方法 - Google Patents
ベイシックインタプリタ言語での中断処理方法Info
- Publication number
- JPH0279125A JPH0279125A JP63231528A JP23152888A JPH0279125A JP H0279125 A JPH0279125 A JP H0279125A JP 63231528 A JP63231528 A JP 63231528A JP 23152888 A JP23152888 A JP 23152888A JP H0279125 A JPH0279125 A JP H0279125A
- Authority
- JP
- Japan
- Prior art keywords
- basic
- program
- stack
- initial state
- sentence
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 9
- 238000010586 diagram Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、パーソナルコンピュータとインタフェースI
10によって接続された装置において、このパーソナル
コンピュータ上で動作するベイシック(RASIC)イ
ンタプリタ言語でコントロールされる装置を対象とした
コンピュータプログラムに関するものである。
10によって接続された装置において、このパーソナル
コンピュータ上で動作するベイシック(RASIC)イ
ンタプリタ言語でコントロールされる装置を対象とした
コンピュータプログラムに関するものである。
従来の技術
装置をパーソナルコンピュータによってコントロールす
る方法としては、アセンブラ言語、あるいは各種コンパ
イラ言語が使用されていた。ところが、これらは、処理
速度も速く、装置を有効にコントロールできるが、プロ
グラミングに高度のレベルが必要であって、開発期間も
長い。
る方法としては、アセンブラ言語、あるいは各種コンパ
イラ言語が使用されていた。ところが、これらは、処理
速度も速く、装置を有効にコントロールできるが、プロ
グラミングに高度のレベルが必要であって、開発期間も
長い。
しかしながら、パーソナルコンピュータの背反によって
、コントロールされる装置も多くなり、また、一つの装
置にも、各種の対象があり、多くのプログラムが必要と
なってきた。
、コントロールされる装置も多くなり、また、一つの装
置にも、各種の対象があり、多くのプログラムが必要と
なってきた。
これに対応するために、汎用的なプログラムを作ること
は、さらに開発期間がかかり、連応性に欠ける。このた
めに、専門のプログラマでなくても使用できるベイシッ
クインタプリタ言語が広く使用されるようになってきた
。
は、さらに開発期間がかかり、連応性に欠ける。このた
めに、専門のプログラマでなくても使用できるベイシッ
クインタプリタ言語が広く使用されるようになってきた
。
この言語は、インタプリタのために処理速度は遅いが、
開発期間も短く、デバッグも容易なので、多様性および
連応性の要求される分野で広まってきている。
開発期間も短く、デバッグも容易なので、多様性および
連応性の要求される分野で広まってきている。
発明が解決しようとする課題
上記、従来のベイシックインタプリタ言語によって、装
置をコントロールする方法では、プログラムの任意の場
所からいままでの処理を中断して初期状態にもどすには
、rRUN、またはrGOTOJ文を実行する。ところ
が前者は、いままで、入力したベイシックの変数もクリ
アされてしまうので、装置の状態などを保持している変
数を再度入力しなければならない、また、後者では、中
断処理を行った所がサブルーチンならば、ベイシックの
スタックがちとにもどらない、このため、プログラムは
サブルーチンによってモジュール化することが常である
から、中断処理を複数回行うとスタックオーバフローと
なって、プロプラムが停止してしまう。再開するには、
rRUN、文によらねばならないので、ベイシックの変
数はクリアされてしまうという欠点があった。
置をコントロールする方法では、プログラムの任意の場
所からいままでの処理を中断して初期状態にもどすには
、rRUN、またはrGOTOJ文を実行する。ところ
が前者は、いままで、入力したベイシックの変数もクリ
アされてしまうので、装置の状態などを保持している変
数を再度入力しなければならない、また、後者では、中
断処理を行った所がサブルーチンならば、ベイシックの
スタックがちとにもどらない、このため、プログラムは
サブルーチンによってモジュール化することが常である
から、中断処理を複数回行うとスタックオーバフローと
なって、プロプラムが停止してしまう。再開するには、
rRUN、文によらねばならないので、ベイシックの変
数はクリアされてしまうという欠点があった。
本発明は従来の上記実情に鑑みてなされたものであり、
従って本発明の目的は、従来の技術に内在する上記課題
を解決すること可能とした新規なベイシックインタプリ
タ言語での中断処理方法を提供することにある。
従って本発明の目的は、従来の技術に内在する上記課題
を解決すること可能とした新規なベイシックインタプリ
タ言語での中断処理方法を提供することにある。
発明の従来技術に対する相違点
上述した従来におけるプログラムの処理を中断してプロ
グラムを初期状態にもどす方法に対し、本発明による方
法は、ベイシックの変数をクリアしないので、いままで
のデータを保持することができ、かつ00308文のス
タックを初期化できるのでスタックオーバフローするこ
とがないという相違点を有する。
グラムを初期状態にもどす方法に対し、本発明による方
法は、ベイシックの変数をクリアしないので、いままで
のデータを保持することができ、かつ00308文のス
タックを初期化できるのでスタックオーバフローするこ
とがないという相違点を有する。
課題を解決するための手段
前記目的を達成する為に、本発明に係る上記ベイシック
インタプリタ言語での中断処理方法は、ベイシック(R
ASIC)インタプリタのエラー割込みと行番号指定R
ETURN文を組合せることによって、00308文の
スタックを初期化して、スタックオーバフローを防止す
ると共に、ベイシックの変数をクリアしないという特徴
を有している。
インタプリタ言語での中断処理方法は、ベイシック(R
ASIC)インタプリタのエラー割込みと行番号指定R
ETURN文を組合せることによって、00308文の
スタックを初期化して、スタックオーバフローを防止す
ると共に、ベイシックの変数をクリアしないという特徴
を有している。
実施例
次に、本発明をその好ましい一実施例について、日本電
気株式会社製のパーソナルコンピュータであるPC−9
801のN88−ベイシック(86)インタプリタ言語
での例によって説明する。
気株式会社製のパーソナルコンピュータであるPC−9
801のN88−ベイシック(86)インタプリタ言語
での例によって説明する。
第2図は本発明の一実施例のプログラムの基本構成を示
す図であり、第1図はその動作フローチャートである。
す図であり、第1図はその動作フローチャートである。
第1図、第2図を参照するに、1000行からプログラ
ムが始まり、2000行くラベル*R00T)がプロプ
ラムの初期状態のエントリポイントである。そのあとす
ぐベイシック(RASIC)の文rON ERRORG
OTOJ文を実行して、エラーが生じたときの飛び先き
を8000行くラベル* 5YSERR)に指定する。
ムが始まり、2000行くラベル*R00T)がプロプ
ラムの初期状態のエントリポイントである。そのあとす
ぐベイシック(RASIC)の文rON ERRORG
OTOJ文を実行して、エラーが生じたときの飛び先き
を8000行くラベル* 5YSERR)に指定する。
そのあとの8000行から8240行までのエラー処理
ルーチンをのぞいたプログラムが実際の装置をコントロ
ールするプログラムである。このプログラムの中で、初
期状態(ラベル*R00T)にもどしたい時には、ベイ
シックの文r ERRORΔ255」を実行する。
ルーチンをのぞいたプログラムが実際の装置をコントロ
ールするプログラムである。このプログラムの中で、初
期状態(ラベル*R00T)にもどしたい時には、ベイ
シックの文r ERRORΔ255」を実行する。
すると、ベイシックのエラーが生じたことと同様になり
、8000行に行< 、 gooo行には他のベイシッ
クのエラーが生じても入ってくるので、8010行のX
F文でエラ一番号255だけを、rREsUMEJ文に
よって、エラーをクリアしたあと8200行くラベル*
5YSERI )にジャンプさせる。
、8000行に行< 、 gooo行には他のベイシッ
クのエラーが生じても入ってくるので、8010行のX
F文でエラ一番号255だけを、rREsUMEJ文に
よって、エラーをクリアしたあと8200行くラベル*
5YSERI )にジャンプさせる。
次に、8210行でrON ERRORGOTO,文に
よって、次にエラーが生じたと゛きに、ジャンプさせる
8230行(ラベル* GOROOT)を定義する0次
に、8220行で戻り先き指定のRETURN文を実行
して、同一行でループさせる。すると、00308文に
よるスタックを戻しきると、ベイシックのエラ一番号3
(RETURNwithout GOSUB)が生じる
。すると8210行で指定した8230行にジャンプし
、次の8240行でエラーをクリアして、2000行の
プログラムの初期状態にジャンプする。
よって、次にエラーが生じたと゛きに、ジャンプさせる
8230行(ラベル* GOROOT)を定義する0次
に、8220行で戻り先き指定のRETURN文を実行
して、同一行でループさせる。すると、00308文に
よるスタックを戻しきると、ベイシックのエラ一番号3
(RETURNwithout GOSUB)が生じる
。すると8210行で指定した8230行にジャンプし
、次の8240行でエラーをクリアして、2000行の
プログラムの初期状態にジャンプする。
このようにして、プログラムの任意の所から、ベイシッ
クの変数をクリアせず、00308文のスタックを初期
化して、プログラムの初期状態に戻ることができる。
クの変数をクリアせず、00308文のスタックを初期
化して、プログラムの初期状態に戻ることができる。
発明の詳細
な説明したように、本発明によれば、ベイシックインタ
プリタ言語でコントロールされる装置において、プログ
ラムの任意の場所からベイシッりの変数とクリアするこ
となく初期状態にもどることができるので、データを再
入力しないで装置のコントロールを再開できるので、デ
ータ再入力の時間が不要となる。さらに、GO3UB文
によるスタックも初期化されるので、この中断処理を何
回行って初期状態に戻しても、スタックオーバフローし
てプログラムエラーとなることがなく、装置を効率よく
コントロールできるという効果が得られる。
プリタ言語でコントロールされる装置において、プログ
ラムの任意の場所からベイシッりの変数とクリアするこ
となく初期状態にもどることができるので、データを再
入力しないで装置のコントロールを再開できるので、デ
ータ再入力の時間が不要となる。さらに、GO3UB文
によるスタックも初期化されるので、この中断処理を何
回行って初期状態に戻しても、スタックオーバフローし
てプログラムエラーとなることがなく、装置を効率よく
コントロールできるという効果が得られる。
第1図は本発明の一実施例を示すフローチャート、第2
図は本発明を実行する一つのプログラムの例を示す図で
ある。 特許出願人 日本電気株式会社 代 理 人 弁理士 熊谷雄太部 第1図
図は本発明を実行する一つのプログラムの例を示す図で
ある。 特許出願人 日本電気株式会社 代 理 人 弁理士 熊谷雄太部 第1図
Claims (1)
- ベイシックインタプリタ言語によって作成されたプログ
ラムにおいて、ベイシック言語のみによって任意のプロ
グラムの部分で中断処理を行い、ベイシックの変数を保
存するが、ベイシックのスタックのみを初期化してプロ
グラムを初期状態にもどすことを特徴とするベイシック
インタプリタ言語での中断処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63231528A JPH0279125A (ja) | 1988-09-16 | 1988-09-16 | ベイシックインタプリタ言語での中断処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63231528A JPH0279125A (ja) | 1988-09-16 | 1988-09-16 | ベイシックインタプリタ言語での中断処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0279125A true JPH0279125A (ja) | 1990-03-19 |
Family
ID=16924902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63231528A Pending JPH0279125A (ja) | 1988-09-16 | 1988-09-16 | ベイシックインタプリタ言語での中断処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0279125A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8839191B2 (en) | 2011-09-30 | 2014-09-16 | Fujitsu Limited | Computer-readable recording medium, compiler, execution control apparatus, and execution control method for converting a program to be called |
-
1988
- 1988-09-16 JP JP63231528A patent/JPH0279125A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8839191B2 (en) | 2011-09-30 | 2014-09-16 | Fujitsu Limited | Computer-readable recording medium, compiler, execution control apparatus, and execution control method for converting a program to be called |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6017539A (ja) | エミユレ−シヨン方式 | |
DE69221041D1 (de) | Verbesserte fehleranzeige bei der ausführung von übersetztem befehlscode | |
CA2152041A1 (en) | An Apparatus for Executing a Plurality of Program Segments Having Different Object Code Types in a Single Program or Processor Environment | |
EP0534597B1 (en) | Computer system having software interrupt (INTN) instructions selectively operating in a virtual mode | |
EP0777877B1 (en) | Processing system, processor, memory storing instruction stream and compiler | |
KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
JPH0279125A (ja) | ベイシックインタプリタ言語での中断処理方法 | |
JPS5960645A (ja) | プロセツサ命令実行処理方式 | |
KR930006555A (ko) | 가상모드에서 동작하는 인터럽트 관계 명령어를 구비한 컴퓨터 시스템 | |
JPS60124746A (ja) | デ−タ処理装置 | |
Magnusson | Process oriented programming | |
JPS6316336A (ja) | タスク切り替え制御機構を備える情報処理装置 | |
JPS6266357A (ja) | フアイル制御装置 | |
JP2581327B2 (ja) | 仮想計算機の入出力割込み処理方式 | |
JPH0588934A (ja) | デバツグ方式 | |
JPH0693225B2 (ja) | 事象処理方式 | |
JPS6261127A (ja) | プログラムの暴走回避方法 | |
JPS60204034A (ja) | 制御記憶装置の書換え制御方式 | |
JPS63178343A (ja) | 中断点の設定方式 | |
JPS6462701A (en) | Programmable controller | |
JPH01288931A (ja) | Pl/iプログラムのデバック方式 | |
JPH037973B2 (ja) | ||
JPS63255738A (ja) | デ−タ単一化装置 | |
JPH01303548A (ja) | メモリ保護回路 | |
JPS62279431A (ja) | 入出力エミユレ−タ− |