トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 被検査プログラムのデバグ方法とそのデバグ方式
【発明者】 【氏名】峯田 文男

【氏名】佐藤 優人

【要約】 【課題】プログラム命令の比較と、比較命令の制御フィールドの選択コードの構成により、ソースコードをプログラム命令の置き換えにより、ソースステップの実行を最後まで停止させない被検査プログラムのデバグ方法を提供する。

【解決手段】本発明のデバグ方法は、制御フィールドとプログラム命令領域を持つ制御記憶装置に被検査プログラムのプログラム命令を書き込み、プログラム命令の実行まで保持する。処理手続きの選択コードを保持する制御フィールドとプログラム命令の命令領域を持つ記憶装置のプログラム命令と制御記憶装置のプログラム命令とを比較演算回路により比較して命令の一致検出を行う。一致検出により、プログラム命令に伴う記憶装置の制御フィールドに格納された選択コードを制御記憶装置の制御フィールドに書き込み制御回路により書き込む。書き込まれた選択コードに応じた処理手続きを選択回路により選択制御する。
【特許請求の範囲】
【請求項1】 被検査プログラムのデバグ方法において、制御フィールドとプログラム命令領域を持つ制御記憶装置に被検査プログラムのプログラム命令を書き込み、前記プログラム命令の実行まで保持するステップと、処理手続きの選択コードを保持する制御フィールドとプログラム命令の命令領域を持つ記憶装置のプログラム命令と前記制御記憶装置のプログラム命令とを比較演算回路により比較して前記命令の一致検出を行うステップと、一致検出により、プログラム命令に伴う記憶装置の制御フィールドに格納された選択コードを前記制御記憶装置の制御フィールドに書き込み制御回路により書き込むステップと、書き込まれた選択コードに応じた処理手続きを選択回路により選択制御するステップと、を有することを特徴とする被検査プログラムのデバグ方法。
【請求項2】 前記処理手続きを選択制御するステップが、制御記憶装置の制御フィールドに格納された選択コードにより、プログラム命令の実行を停止させ、ソースステップ処理の制御抑制を行うステップと、ソースステップ処理が、基底のトラップアドレスをベースに、トラップ領域先を演算させ、記憶装置に設けたトラップ領域に飛び、前記トラップ領域により指定されたプログラム命令に置き換えを行うステップと、プログラム命令の通常処理によって、実行済み処理と未実行処理とに分けてソースステップ処理を行うステップを有する請求項1記載の被検査プログラムのデバグ方法。
【請求項3】 前記トラップ領域により指定されたプログラム命令に置き換えを行うステップが、演算回路により記憶装置に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算し、記憶装置のトラップ領域にあるN番目に格納されている置き換えプログラム命令の格納アドレスを、基底アドレスに定数のN倍を加算して、求めるステップと、書き込み制御の指示により、記憶装置のトラップ領域から求めた置き換えプログラム命令と制御フィールドに保持されている選択コードをプログラム命令レジスタのプログラム命令領域と制御フィールドに格納するステップを有する請求項1または2記載の被検査プログラムのデバグ方法。
【請求項4】 前記命令の一致検出を行うステップが、不一致検出により、記憶装置の比較命令カウンタにより比較プログラム命令の取り込みを行い、制御フィールドの最終選択コードを検出するまで比較検出を行い、検出後に比較命令カウンタを初期化するステップを有する請求項1乃至3の何れかに記載の被検査プログラムのデバグ方法。
【請求項5】 被検査プログラムのデバグ方式において、前記被検査プログラムのプログラム命令の書き込みを行い、書き込まれた前記命令を該命令の実行まで保持する制御フィールドとプログラム命令領域を持つ制御記憶装置と、処理手続きの選択コードを保持する制御フィールドとプログラム命令の命令領域を持つ記憶装置と、前記記憶装置のプログラム命令と前記制御記憶装置のプログラム命令とを比較して命令の一致検出を行う比較演算回路と、一致検出により、プログラム命令に伴う記憶装置の制御フィールドに格納された選択コードをプログラム命令が格納された前記制御記憶装置の制御フィールドに書き込みを行う書き込み制御回路と、書き込まれた選択コードに応じた処理手続きを選択制御する選択回路と、を有することを特徴とする被検査プログラムのデバグ方式。
【請求項6】 前記処理手続きを選択制御する選択回路が、制御記憶装置の制御フィールドに格納された選択コードにより、プログラム命令の実行を停止させ、ソースステップ処理の制御抑制を行うクロック制御回路と、ソースステップ処理が、基底のトラップアドレスをベースに、トラップ領域先を演算する演算制御回路と、演算されたアドレスによって記憶装置のトラップ領域に飛び、前記トラップ領域により指定されたプログラム命令に置き換えを行うトラップ制御回路と、実行済み処理と未実行処理とに分けてソースステップ処理を行うプログラム命令通常処理回路を有する請求項5記載の被検査プログラムのデバグ方式。
【請求項7】 前記トラップ制御回路が、演算回路により記憶装置に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算し、記憶装置のトラップ領域にあるN番目に格納されている置き換えプログラム命令の格納アドレスを、基底アドレスに定数のN倍を加算して、求める手段と、書き込み制御の指示により、記憶装置のトラップ領域から求めた置き換えプログラム命令と制御フィールドに保持されている選択コードをプログラム命令レジスタのプログラム命令領域と制御フィールドに格納する手段を有する請求項5または6記載の被検査プログラムのデバグ方式。
【請求項8】 前記比較演算回路が、不一致検出により、記憶装置の比較命令カウンタにより比較プログラム命令の取り込みを行い、制御フィールドの最終選択コードを検出するまで比較検出を行い、検出後に比較命令カウンタを初期化する手段を有する請求項5乃至7の何れかに記載の被検査プログラムのデバグ方式。
【発明の詳細な説明】【0001】
【発明の属する技術分野】被検査プログラムのデバグ方法とそのデバグ方式に関する。
【0002】
【従来の技術】従来のデバグ方式は、被検査プログラムをソースステップ実行によりソースデバグをする場合に、クロック停止を行い、デバグのためのデータ採取を行っていた。従来のデバグ方式の一例が、特開昭61−269744号公報に記載されている。
【0003】特開昭61−269744号公報では、データ処理装置から得られた各種データをあらかじめ用意した比較データと比較し、一致する毎に比較データを順次更新して最後の比較データとの間で一致が検出されたときにクロックを停止させることにより、複雑な条件を持つシーケンスのデバグを容易にする。
【0004】
【発明が解決しようとする課題】しかし、従来技術には、次のような問題点があった。
【0005】第1の問題点は、被検査プログラムの実行開始時点からの実行履歴を収集し、比較データの種類としている。従って、命令を実行してしまうと、被検査プログラムのソースコードの「実行済み」の検出のみが対象になり、本来の比較対象になるべき比較データが取り残される。一度でもプログラムを実行してしまうと実行履歴が「実行済み」となり、被検査プログラムのソースコードの1行内で行われる繰り返し処理に対して、繰り返し毎にソースステップ実行を停止させるために「実行済み」の検出を解除することが煩雑である。
【0006】第2の問題点は、被検査プログラムのソースステップ実行として利用する場合に、使用者による範囲指定ステップ実行毎にソースコードの先頭アドレスと最終アドレスを調べ、そのアドレス範囲を指示しなければならないので、余分な作業時間を使ってしまいデバグの能率を阻害する欠点があった。
【0007】本発明の目的は、プログラム命令の比較と、比較命令の制御フィールドの選択コードの構成により、被検査プログラムのソースコードをプログラム命令の“置き換えプログラム命令”により置き換え、ソースステップの実行を最後まで停止させない被検査プログラムのデバグ方法とそのデバグ方式を提供することである。
【0008】
【課題を解決するための手段】本発明の被検査プログラムのデバグ方法は、制御フィールドとプログラム命令領域を持つ制御記憶装置に被検査プログラムのプログラム命令を書き込み、プログラム命令の実行まで保持するステップと、処理手続きの選択コードを保持する制御フィールドとプログラム命令の命令領域を持つ記憶装置のプログラム命令と制御記憶装置のプログラム命令とを比較演算回路により比較して命令の一致検出を行うステップと、一致検出により、プログラム命令に伴う記憶装置の制御フィールドに格納された選択コードを制御記憶装置の制御フィールドに書き込み制御回路により書き込むステップと、書き込まれた選択コードに応じた処理手続きを選択回路により選択制御するステップとを有することを特徴とする。
【0009】また、処理手続きを選択制御するステップは、制御記憶装置の制御フィールドに格納された選択コードにより、プログラム命令の実行を停止させ、ソースステップ処理の制御抑制を行うステップと、ソースステップ処理が、基底のトラップアドレスをベースに、トラップ領域先を演算させ、記憶装置に設けたトラップ領域に飛び、トラップ領域により指定されたプログラム命令に置き換えを行うステップと、プログラム命令の通常処理によって、実行済み処理と未実行処理とに分けてソースステップ処理を行うステップを有する。
【0010】また、トラップ領域により指定されたプログラム命令に置き換えを行うステップは、演算回路により記憶装置に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算し、記憶装置のトラップ領域にあるN番目に格納されている置き換えプログラム命令の格納アドレスを、基底アドレスに定数のN倍を加算して、求めるステップと、書き込み制御の指示により、記憶装置のトラップ領域から求めた置き換えプログラム命令と制御フィールドに保持されている選択コードをプログラム命令レジスタのプログラム命令領域と制御フィールドに格納するステップを有する。
【0011】更に、命令の一致検出を行うステップは、不一致検出により、記憶装置の比較命令カウンタにより比較プログラム命令の取り込みを行い、制御フィールドの最終選択コードを検出するまで比較検出を行い、検出後に比較命令カウンタを初期化するステップを有する。
【0012】本発明の被検査プログラムのデバグ方式は、被検査プログラムのプログラム命令の書き込みを行い、書き込まれた命令を該命令の実行まで保持する制御フィールドとプログラム命令領域を持つ制御記憶装置と、処理手続きの選択コードを保持する制御フィールドとプログラム命令の命令領域を持つ記憶装置と、記憶装置のプログラム命令と制御記憶装置のプログラム命令とを比較して命令の一致検出を行う比較演算回路と、一致検出により、プログラム命令に伴う記憶装置の制御フィールドに格納された選択コードをプログラム命令が格納された制御記憶装置の制御フィールドに書き込みを行う書き込み制御回路と、書き込まれた選択コードに応じた処理手続きを選択制御する選択回路とを有することを特徴とする。
【0013】また、処理手続きを選択制御する選択回路は、制御記憶装置の制御フィールドに格納された選択コードにより、プログラム命令の実行を停止させ、ソースステップ処理の制御抑制を行うクロック制御回路と、ソースステップ処理が、基底のトラップアドレスをベースに、トラップ領域先を演算する演算制御回路と、演算されたアドレスによって記憶装置のトラップ領域に飛び、トラップ領域により指定されたプログラム命令に置き換えを行うトラップ制御回路と、実行済み処理と未実行処理とに分けてソースステップ処理を行うプログラム命令通常処理回路を有する。
【0014】また、トラップ制御回路は、演算回路により記憶装置に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算し、記憶装置のトラップ領域にあるN番目に格納されている置き換えプログラム命令の格納アドレスを、基底アドレスに定数のN倍を加算して、求める手段と、書き込み制御の指示により、記憶装置のトラップ領域から求めた置き換えプログラム命令と制御フィールドに保持されている選択コードをプログラム命令レジスタのプログラム命令領域と制御フィールドに格納する手段を有する。
【0015】更に、比較演算回路は、不一致検出により、記憶装置の比較命令カウンタにより比較プログラム命令の取り込みを行い、制御フィールドの最終選択コードを検出するまで比較検出を行い、検出後に比較命令カウンタを初期化する手段を有する。
【0016】具体的には、図1に示すように、制御記憶装置2は、被検査プログラムのソースステップ実行の開始とともに、図2に示す制御記憶装置2の制御記憶領域41からプログラム命令202と制御フィールド201の選択コードを、プログラムカウンタ42に従い、命令レジスタ6のプログラム命令602と制御フィールド601に格納する。
【0017】記憶装置3は、被検査プログラムのプログラム命令を置き換えるためのプログラム命令302と制御フィールド301の選択コードを格納している。図3に示す記憶装置3の記憶領域51から、プログラム命令と選択コードを比較命令カウンタ52に従い、被検査プログラムのソースステップの実行に合わせて、比較命令レジスタ5のプログラム命令502と制御フィールド501に格納する。比較演算回路7は命令レジスタ6のプログラム命令602と比較命令レジスタ5のプログラム命令502のプログラム命令の一致検出を行い、検出情報を有効フラグレジスタ8に格納する。制御フィールド601の選択コードは有効フラグレジスタ9に格納される。選択回路10は、ゲート回路21を介して有効フラグレジスタ9の選択コードと有効フラグレジスタ8の検出情報によりプログラム命令の処理を判断する。選択回路10は、有効フラグレジスタ9に格納された選択コードにより、記憶装置3の図示されないトラップ領域の「置き換えプログラム命令」を被検査プログラムの「プログラム命令」に置き換える。制御記憶装置2の被検査プログラムのソースコードの制御フィールド201に記憶装置3からの制御フィールド501の選択コードを書き込むことによりプログラム命令の置き換えができ、ソースステップ実行を停止させずに被検査プログラムのデバグを可能にする。
【0018】本発明のデバグ方式は、プログラム命令の取り込みを行い、取り込んだ命令をその実行まで保持する制御記憶装置2と、プログラム命令の記憶領域と制御の選択コードを持つ制御フィールドから構成される記憶装置3と、記憶装置3のプログラム命令と制御記憶装置2のプログラム命令とを比較して命令の一致検出を行い、一致検出されたときにプログラム命令に伴う制御フィールドに格納されている選択コードを制御記憶装置の制御フィールドに書き込みを行い、プログラム命令の比較実行を行う比較演算回路7と、制御フィールドの書き換えを判断する有効フラグレジスタ8、9との結果により処理手続きを選択制御する選択回路10とを有することを特徴とする。
【0019】
【発明の実施の形態】次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0020】図1は、本発明のブロック図である。図によれば、本発明のデバグ方式は、被検査プログラムのソースステップの実行を制御する書き込み制御回路1と、プログラム命令302と制御フィールド301を持つ記憶装置3と、プログラム命令302を取り込み、プログラム命令502と制御フィールド501を書き込む比較命令レジスタ5と、プログラム命令を格納する制御記憶装置2と、制御記憶装置2から格納されたプログラム命令202を取り込む命令レジスタ6と、比較命令レジスタ5のプログラム命令502と命令レジスタ6のプログラム命令602とを比較し、両プログラム命令が一致検出したときに記憶装置3のプログラム命令302に対応する制御フィールド301の選択コードを制御記憶装置2のプログラム命令202に対応する制御フィールド201にその選択コードの書き込みを行う比較演算回路7と、比較演算回路7の出力を格納する有効フラグレジスタ8と、制御フィールド601を格納する有効フラグレジスタ9と、ゲート回路21と、ゲート回路21を介して有効フラグレジスタ9の有効性を判断し、或いは有効フラグレジスタ8の有効性を判断し、制御フィールド601を選択演算する選択回路10と、ゲート回路22と、選択回路10の結果からゲート回路22を介して選択処理されるトラップ制御回路12と、同じくクロック制御回路11と、あるいはプログラム命令通常処理回路13とから構成される。
【0021】図2は、制御記憶装置の構成を示す図である。制御記憶装置で処理される任意に実行されるプログラム命令の各処理手段として、被検査プログラムを格納する制御記憶領域41と、ソースステップ命令を取り込み、アドレス指示により実行するプログラムカウンタ42と、プログラムカウンタ42により実行され、履歴として格納するプログラム実行履歴43と、プログラム取込手段44により構成される。制御記憶領域41は制御フィールドと、プログラム命令領域で構成されている。
【0022】図3は、記憶装置の構成を示す図である。記憶装置で処理される各処理手段として、比較するプログラム命令を格納する記憶領域51と、比較するプログラム命令のアドレスを指示する比較命令カウンタ52と、比較命令取込手段53で構成される。記憶領域51は制御フィールドと、プログラム命令領域と、トラップ領域で構成される。
【0023】図4は、図2の制御記憶領域41と図3の記憶領域51とのデータ配列の構成を示す図である。(1)は、制御記憶領域41と記憶領域51で使用される制御フィールドとプログラム命令領域のデータ配列を示す。(2)は、記憶領域51で使用される制御フィールドとプログラム命令とトラップ領域のデータ配列を示す。なお、制御記憶装置の制御記憶領域41にはトラップ領域は存在しない。
【0024】したがって、記憶領域51は、記憶領域とトラップ領域に分かれ、ビット列の構成は、制御フィールドとプログラム命令とからなる。また、制御記憶領域41は、記憶領域のみで、ビット列の構成は、制御フィールドとプログラム命令とからなる。
【0025】図5は、図2と、図3と、図4に示されている制御フィールドの構成を示す図である。制御フィールドは各種の選択コードを有している。選択コードは選択ビット列と順番ビット列で構成され、選択コードに対応する各種の制御回路が定められている。各種の制御回路の処理ステップが図6〜8に示されている。
【0026】図6は、トラップ制御回路12による処理ステップを示す図である。その処理ステップは、図1の演算制御回路14を用いて記憶装置3に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算するステップS61と、記憶装置3のトラップ領域にあるN番目に格納されている置き換えプログラム命令の格納アドレスを基底アドレスに定数のN倍をした後に加算をおこない、格納されている置き換えプログラム命令のアドレスに飛ぶ、すなわち、N番目の置き換えプログラム命令の格納先は、“基底アドレス+定数*N番目”により求めるステップS62と、ゲート回路20により、書き込み制御回路1の指示により、記憶装置3のトラップ領域からの置き換えプログラム命令と制御フィールドに格納されている選択コードを命令レジスタ6のプログラム命令602と制御フィールド601に格納するステップS63によりトラップ制御が実行される。
【0027】図7は、クロック制御回路11による処理ステップを示す図である。その処理ステップは、図1のクロック制御回路11から選択先の図2の制御記憶装置のプログラムカウンタ42により、ソースステップ実行を停止するステップS71と、 ソースステップ実行されたプログラム実行履歴43を格納するステップS72によりクロック制御が実行される。
【0028】図8は、プログラム命令通常処理回路13による処理ステップを示す図である。その処理ステップは、プログラム命令の比較実行が行われた「実行済み」を設定するステップS81と、「実行済み」を書き込み制御回路1により、制御記憶装置2の制御フィールド201に設定するステップS82によりプログラム命令通常処理が実行される。
【0029】図9は、本発明のデバグ方式の全体の実行ステップを示す図であり、被検査プログラムのプログラム命令のソースステップ・デバグ実行開始から、実行終了までの流れを示したものである。
【0030】次に、本発明の実施例の動作について図1を参照して説明する。
【0031】図によれば、制御記憶装置2は、プログラム命令202と制御フィールド201からなる。書き込み制御回路1は、制御記憶装置2の制御フィールド201に選択コードの書き込みを行う。記憶装置3はデバグのためのプログラム命令302と制御フィールド301に選択コードを格納する記憶装置である。比較命令レジスタ5はプログラム命令502と制御フィールド501からなるレジスタで、記憶装置3に格納されたプログラム命令302を比較するためのレジスタである。命令レジスタ6はプログラム命令602と制御フィールド601からなり、書き込み制御回路1と制御記憶装置2からプログラム命令と制御フィールドに一時的に格納されるレジスタである。
【0032】比較演算回路7は命令レジスタ6のプログラム命令602を、同時にそのプログラム命令602の制御フィールド601を有効フラグレジスタ9に書き込みをおこなう。比較演算回路7は命令レジスタ6のプログラム命令602と比較命令レジスタ5のプログラム命令502を比較演算し、一致検出を行う。有効フラグレジスタ8は比較演算回路7の一致検出結果を格納する。
【0033】比較演算回路7の一致検出結果から一致検出の時は、比較命令レジスタ5の制御フィールド501を有効フラグレジスタ8に選択コードを立て、ゲート回路21で有効フラグレジスタ8と有効フラグレジスタ9の論理をとり、有効フラグレジスタ8にフラグが立ち、且つ有効フラグレジスタ9に選択コードが立っていないときに、選択回路10を介して、書き込み制御回路1から制御記憶装置2の制御フィールド201に比較命令レジスタ5の制御フィールド501にも書き込みを行う。選択回路10はゲート回路21を介して有効フラグレジスタ9を取り込み、有効フラグレジスタ9の処理をおこなう回路である。
【0034】有効フラグレジスタ9にトラップ制御回路処理12と、クロック制御回路処理11と、プログラム命令通常処理回路13の実行済み処理が格納されていない場合は、選択回路10はつぎの有効フラグレジスタ8を取り込み比較演算を行い、処理先の選択をゲート回路22を介しておこなう。
【0035】記憶装置3に格納されている置き換えプログラム命令先のトラップ領域の格納アドレスを演算する演算制御回路14は、比較演算回路7で行われる命令レジスタ6のプログラム命令602と記憶装置3に格納されている比較命令レジスタ5のプログラム命令502との命令N個の比較を制御する。N個の終わりプログラム命令の判定は記憶装置3の選択コードにより行い、図3の比較命令カウンタ52の初期化を行う。
【0036】以上の動作において、制御記憶装置2の制御フィールド201に格納された選択コードにより、ソースステップのデバグの処理では、制御フィールドの選択コード201に応じた処理手続きが行われる。図5の制御フィールドの構成から選択コードの選択が“011”の場合は「クロック制御回路11」により、ソースステップ処理はプログラム命令の実行を停止させ、制御抑制を行う。選択コードの選択が“100”の場合は「トラップ制御回路12」により、ソースステップ処理は演算制御回路14で基底のトラップアドレスをベースにトラップ領域先を演算させ、記憶装置3に設けたトラップ領域に飛び、記憶装置3のトラップ領域で指定されたプログラム命令に置き換えを行う。選択コードの選択が“001”の場合はその他制御回路11の選択により、「プログラム命令通常処理回路13」によって、“実行済み処理”、“未実行処理”とに分けてソースステップ処理を行う。
【0037】上記のソースステップ処理の“実行済み”は、命令レジスタ6に格納された命令レジスタ601のデータ有効フラグレジスタ9にロードさせ、有効フラグレジスタ8と有効フラグレジスタ9の選択コードをゲート回路21で有効フラグレジスタ9の選択コードの“選択”により、ソースステップを実行させ、デバグが行われる。
【0038】次に、本発明のデバグ方式の実行ステップについて、図1のブロック図を基に、図2と図3を使用して、図9に示す本発明の実行ステップにしたがい、処理の流れを説明する。
【0039】はじめに、本発明のデバグ方式の処理の流れは、ステップS1により、被検査プログラムが図2の制御記憶領域41に格納され,プログラムカウンタ42からプログラム命令のアドレスを読み出す。次にステップS2により、図2の制御記憶装置のプログラムカウンタ42のアドレスにしたがい、図1のプログラム命令202と制御フィールド201を命令レジスタ6の命令601と制御フィールド602に格納する。ステップS3により、命令レジスタ6の制御フィールド601を有効フラグレジスタ9に書き込みをおこなう。ステップS4により、有効フラグレジスタ9の内容が選択回路10ですでに書き込みされたものかを確認し、比較演算をおこなう。
【0040】ステップS5により、選択回路10で比較演算された有効フラグレジスタ9、あるいは有効フラグレジスタ8の結果から、トラップ制御回路12か否か、ステップS6により、選択回路10でおこなわれた比較演算の結果から、クロック制御回路11か否かの分岐先の判断をおこなう。ステップS20により、トッラプ制御回路の処理に飛び、ステップS21により、クロック制御回路の処理に飛び、ソースステップ・デバグ実行の1ステップの処理が完了する。
【0041】ステップS4により、選択回路10において有効フラグレジスタ9の比較演算の結果から、ステップS20により、トラップ制御回路、ステップS21により、クロック制御回路に該当しない場合は、ステップS8により、被検査プログラムをソースステップ実行によりソースデバグを行うために、比較演算回路7は、命令レジスタ6のプログラム命令601と比較命令レジスタ5のプログラム命令501との一致検出を行う。そして、図3の記憶装置の比較命令カウンタ52により比較プログラム命令の取り込みを行い、プログラム命令の一致検出、あるいは比較演算回路7による比較命令カウンタ52で取り込まれた制御フィールドの最終選択コードを検出するまで比較検出を行う。検出後に比較命令カウンタ52を初期化して、次のステップに進む。
【0042】ステップS9により、比較演算回路7の一致検出の結果を有効フラグレジスタ8に書き込み、ステップS10により、選択回路10による比較演算を有効フラグレジスタ8をもって実行する。ステップS10により、有効フラグレジスタ8を選択回路10で比較演算を実行する。
【0043】繰り返し実行をステップS5に戻し、選択回路10での比較演算の結果により、トラップ制御回路12か、クロック制御回路11か、の分岐の判断をおこなわせる。
【0044】ステップS11により、有効フラグレジスタ9と、有効フラグレジスタ8を選択回路10で比較演算回路7の結果が該当の処理に合致しない場合にソースステップ実行に戻り、プログラム命令通常処理回路13として実行する。
【0045】ステップS12により、記憶装置3の制御フィールド301を書き込み制御回路1を通して、制御記憶装置2の制御フールド201に書き込みを行い、実行済みの処理を行う。
【0046】本発明のデバグ方式は、上記処理の流れにより、プログラム命令による比較でソースステップ・デバグ実行が可能になる。
【0047】
【発明の効果】第1の効果は、プログラム命令の比較により、被検査プログラムのソースコードの1行内で繰り返し処理がおこなわれても、繰り返し毎にソースステップ実行によるプログラム命令の比較がおこなわれる。よって、被検査プログラムの実行状況の確認ができ、デバグの能率を向上させることができる。
【0048】その理由は、被検査プログラムのソースステップ実行において、プログラム命令の比較により、実行済みを被検査プログラムの制御フィールドに格納されることで、実行済みかどうかの検出が可能であるからである。
【0049】第2の効果は、プログラム命令による比較演算を用いることで、先取りしたプログラム命令をデバグの条件であるプログラム命令との比較演算により、記憶装置にプログラム命令とその制御フィールドと記憶装置に設けられているトラップ領域の組み合わせとトラップ条件の組み立てで、制御記憶装置の比較命令の制御フィールドにより、デバグ対象の“置き換えプログラム命令”により、ソースステップ実行を停止することがなく、最後までソースステップ・デバグを進めることが可能になり、デバグ能率を向上させることができる。
【0050】その理由は、トラップ制御の“置き換えプログラム命令”ができることで、従来のデバグのソースステップ実行による先頭アドレスと終了アドレスのアドレス範囲指定を煩雑に調べる必要がない。さらに、アドレス範囲指定によるソースステップ実行を停止をしないで実行の確認ができる。最終までソースステップのステップ実行を可能にし、実行時間の短縮になる。
【0051】第3の効果はアドレスによる比較処理ではないため、ソースステップ実行に合わせて、プログラム命令の比較演算が実行されるので、アドレスによる比較と違い、マクロ命令など内部展開されるものについても、プログラム命令の比較演算が実行される。
【0052】その理由は、ソースステップ実行に合わせたプログラム命令による比較演算を行うことで、繰り返し、などの条件を持つシ―ケンスでも、ソースステップの実行状況を制御記憶装置の制御フィールドで確認ができる。
【0053】第4の効果はプログラム命令と制御フィールドの組み合わせと、選択回路により、制御フィールドに格納されたデータにより、2度目以降のソースステップ実行が制御記憶装置に格納された制御フィールドを基に、同じ処理が繰り返し再現され、デバグの能率を向上させることができる。
【0054】その理由は、被検査プログラムのソースステップ実行の再現性が制御記憶装置の制御フィールドにより実現されるためである。
【出願人】 【識別番号】000232036
【氏名又は名称】日本電気アイシーマイコンシステム株式会社
【出願日】 平成10年11月6日(1998.11.6)
【代理人】 【識別番号】100100893
【弁理士】
【氏名又は名称】渡辺 勝 (外3名)
【公開番号】 特開2000−148537(P2000−148537A)
【公開日】 平成12年5月30日(2000.5.30)
【出願番号】 特願平10−316335