JPH0240734A - プログラム開発支援装置 - Google Patents
プログラム開発支援装置Info
- Publication number
- JPH0240734A JPH0240734A JP63190970A JP19097088A JPH0240734A JP H0240734 A JPH0240734 A JP H0240734A JP 63190970 A JP63190970 A JP 63190970A JP 19097088 A JP19097088 A JP 19097088A JP H0240734 A JPH0240734 A JP H0240734A
- Authority
- JP
- Japan
- Prior art keywords
- address
- program
- modified
- gate
- memory
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000004048 modification Effects 0.000 claims description 23
- 238000012986 modification Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 6
- 238000009795 derivation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、マイクロプロセッサの処理プログラム開発支
援装置に関し、特に処理プログラムの修正、実行を簡単
に行うことができる装置に関する。
援装置に関し、特に処理プログラムの修正、実行を簡単
に行うことができる装置に関する。
従来の技術
マイクロプロセッサの開発過程には、CPUに所定の処
理を行うプログラムを実行させてCPUの動作状況を見
て、プログラムに不都合な点が生じた場合はデバッグを
行うことが必要となってくる。このような処理を行う従
来の装置のブロック図を第10図に示す。
理を行うプログラムを実行させてCPUの動作状況を見
て、プログラムに不都合な点が生じた場合はデバッグを
行うことが必要となってくる。このような処理を行う従
来の装置のブロック図を第10図に示す。
本装置は、装置全体の制御を行うホストコンピュータ1
00と、所定の処理プログラムを実行させる対象となる
マイクロプロセッサ101 と、マイクロプロセッサ1
01が実行する命令を格納するコードメモリ106と、
処理対象のデータと結果を格納するデータメモリ107
とが、アドレスバス1000、データバス110を介し
て接続している。
00と、所定の処理プログラムを実行させる対象となる
マイクロプロセッサ101 と、マイクロプロセッサ1
01が実行する命令を格納するコードメモリ106と、
処理対象のデータと結果を格納するデータメモリ107
とが、アドレスバス1000、データバス110を介し
て接続している。
ホストコンピュータ100は、メモリアクセス権制御信
号124を用いてゲートA11l 、ゲートB112を
制御し、コードメモリ106とデータメモリ107とが
ホストコンピュータ100に接続するのか、マイクロプ
ロセッサ101に接続するのかを切り替える。また、ホ
ストコンピューター100は、リセット信号125を用
いてマイクロプロセッサ101がリセット状態かリセッ
ト解除状態であるかを指定する。
号124を用いてゲートA11l 、ゲートB112を
制御し、コードメモリ106とデータメモリ107とが
ホストコンピュータ100に接続するのか、マイクロプ
ロセッサ101に接続するのかを切り替える。また、ホ
ストコンピューター100は、リセット信号125を用
いてマイクロプロセッサ101がリセット状態かリセッ
ト解除状態であるかを指定する。
また、ホストコンピュータ100は、メモリアクセス権
制御信号124によりゲー) A11lを開くと共にゲ
ートB112を閉じ、マイクロプロセッサ101が実行
するプログラムをコードメモリ106に、処理対象のデ
ータをデータメモリ107にそれぞれロードする。また
、ホストコンピュータ100はマイクロプロセッサ10
1がプログラムを実行した後の結果をデータメモリ10
7から読み出す。
制御信号124によりゲー) A11lを開くと共にゲ
ートB112を閉じ、マイクロプロセッサ101が実行
するプログラムをコードメモリ106に、処理対象のデ
ータをデータメモリ107にそれぞれロードする。また
、ホストコンピュータ100はマイクロプロセッサ10
1がプログラムを実行した後の結果をデータメモリ10
7から読み出す。
マイクロプロセッサ101に処理プログラムを実行させ
る場合は、まずホストコンピュータ100がコードメモ
リ106 とデータメモリ107にマイクロプロセッサ
101が実行するプログラムと処理対象データをそれぞ
れロードした後、メモリアクセス権制御信号124を切
り替えて、ゲー) ALIIを閉じゲートB112を開
いてマイクロプロセッサ101がメモリアクセスできる
ようにする。その後、リセット信号125を解除すると
、マイクロプロセッサ1’01はコードメモリ106中
の処理プログラムの実行を開始する。プログラム実行後
、ホストコンピュータ100 はリセット信号125を
アクティブにし、マイクロプロセッサ101が実行した
プログラムの結果を得ていた。
る場合は、まずホストコンピュータ100がコードメモ
リ106 とデータメモリ107にマイクロプロセッサ
101が実行するプログラムと処理対象データをそれぞ
れロードした後、メモリアクセス権制御信号124を切
り替えて、ゲー) ALIIを閉じゲートB112を開
いてマイクロプロセッサ101がメモリアクセスできる
ようにする。その後、リセット信号125を解除すると
、マイクロプロセッサ1’01はコードメモリ106中
の処理プログラムの実行を開始する。プログラム実行後
、ホストコンピュータ100 はリセット信号125を
アクティブにし、マイクロプロセッサ101が実行した
プログラムの結果を得ていた。
発明が解決しようとする課題
マイクロプロセッサの処理プログラムの開発に限らず、
プログラムはその開発段階において、実際に実行させて
みてデバッグを行う過程が必要となることが大変多い。
プログラムはその開発段階において、実際に実行させて
みてデバッグを行う過程が必要となることが大変多い。
上述した従来の装置では、処理プログラムの修正が必要
となった場合、例えば第11図(a)の部分のプログラ
ムを同図(5)のプログラムに修正したいときのように
、修正されるプログラム(以下被修正プログラムという
)より修正プログラムのサイズ(バイト数)が増えた場
合には、被修正プログラム以降の部分のプログラム、す
なわち第11図(ハ)の場合ではro073H」(Hは
16進表現)以降のプログラムの再配置をするか、アセ
ンブルまたはコンパイルする以前のソースプログラムに
まで遡って修正を行う必要があったため、この作業に多
大な時間を消費しており非能率的であった。
となった場合、例えば第11図(a)の部分のプログラ
ムを同図(5)のプログラムに修正したいときのように
、修正されるプログラム(以下被修正プログラムという
)より修正プログラムのサイズ(バイト数)が増えた場
合には、被修正プログラム以降の部分のプログラム、す
なわち第11図(ハ)の場合ではro073H」(Hは
16進表現)以降のプログラムの再配置をするか、アセ
ンブルまたはコンパイルする以前のソースプログラムに
まで遡って修正を行う必要があったため、この作業に多
大な時間を消費しており非能率的であった。
そこで、本発明の目的は、処理プログラム自体の変更を
行うことなく修正したいプログラムをホストコンピュー
タから修正コードメモリに入力するだけで目的の修正プ
ログラムを実行させることができるプログラム開発支援
装置を提供することである。
行うことなく修正したいプログラムをホストコンピュー
タから修正コードメモリに入力するだけで目的の修正プ
ログラムを実行させることができるプログラム開発支援
装置を提供することである。
課題を解決するための手段
本発明のプログラム開発支援装置は、マイクロプロセッ
サが実行するプログラムの修正すべきアドレスを判別す
るアドレス判別部と、アドレス判別部からの制御信号に
より修正するプログラムのアドレスを出力する修正アド
レス生成部と、前記修正アドレス生成部がアドレス情報
を出力することによって実行される修正プログラムを格
納しておく修正コードメモリと目的の修正プログラムの
終了アドレスを検出して修正アドレス生成部からのアド
レス出力を禁止する終了アドレス検出部とを有している
。
サが実行するプログラムの修正すべきアドレスを判別す
るアドレス判別部と、アドレス判別部からの制御信号に
より修正するプログラムのアドレスを出力する修正アド
レス生成部と、前記修正アドレス生成部がアドレス情報
を出力することによって実行される修正プログラムを格
納しておく修正コードメモリと目的の修正プログラムの
終了アドレスを検出して修正アドレス生成部からのアド
レス出力を禁止する終了アドレス検出部とを有している
。
作用
以上のように、本発明によれば、従来のプログラム支援
開発装置にアドレス判別部と修正アドレス生成部と修正
コードメ舌すと終了アドレス検出部とを付加している。
開発装置にアドレス判別部と修正アドレス生成部と修正
コードメ舌すと終了アドレス検出部とを付加している。
かかる構成により、処理プログラム自体を直接修正する
ことなく、修正プログラムを修正コードメモリに格納す
る一方、本来のプログラムの修正部分のアドレスをアド
レス判別部により検出する。かくして、アドレス判別部
がプログラムの修正部分のアドレスを検出したとき、修
正コードメモリから修正プログラムを読み出して実行し
、その修正プログラムの終了を終了アドレス検出部で検
出して、元のプログラムに戻ることにより、処理プログ
ラム自体を直接修正することなく目的の修正したプログ
ラムを実行することができる。
ことなく、修正プログラムを修正コードメモリに格納す
る一方、本来のプログラムの修正部分のアドレスをアド
レス判別部により検出する。かくして、アドレス判別部
がプログラムの修正部分のアドレスを検出したとき、修
正コードメモリから修正プログラムを読み出して実行し
、その修正プログラムの終了を終了アドレス検出部で検
出して、元のプログラムに戻ることにより、処理プログ
ラム自体を直接修正することなく目的の修正したプログ
ラムを実行することができる。
実施例
次に添付図面を参照した本発明によるプログラム支援開
発装置の実施例を説明する。
発装置の実施例を説明する。
実施例1
本発明によるプログラム支援開発装置の1つの実施例の
ブロック図を第1図に示す。同図において、装置全体の
制御を行うホストコンピュータ100と、マイクロプロ
セッサ101と、被修正プログラムの開始アドレスとマ
イクロプロセッサ101が実行する命令のアドレスとを
比較してアドレス判定信号120を出力するアドレス判
別部102と、修正プログラムのアドレス情報をアドレ
スバスB109に出力する修正アドレス生成部103と
、修正プログラムのコードを格納する修正コードメモリ
104と、修正プログラムの終了を検出する終了アドレ
ス検出部105と、被修正プログラムを含む処理プログ
ラムを格納するコードメモ1月06 と、処理対象デー
タや結果を格納するデータメモリ107とがアドレスバ
スAlO3、アドレスバスB109オヨヒデータパス1
10を介してそれぞれ接続している。
ブロック図を第1図に示す。同図において、装置全体の
制御を行うホストコンピュータ100と、マイクロプロ
セッサ101と、被修正プログラムの開始アドレスとマ
イクロプロセッサ101が実行する命令のアドレスとを
比較してアドレス判定信号120を出力するアドレス判
別部102と、修正プログラムのアドレス情報をアドレ
スバスB109に出力する修正アドレス生成部103と
、修正プログラムのコードを格納する修正コードメモリ
104と、修正プログラムの終了を検出する終了アドレ
ス検出部105と、被修正プログラムを含む処理プログ
ラムを格納するコードメモ1月06 と、処理対象デー
タや結果を格納するデータメモリ107とがアドレスバ
スAlO3、アドレスバスB109オヨヒデータパス1
10を介してそれぞれ接続している。
ここで修正コードメモリ104およびコードメモリ10
6はチップセレクト付きのメモリを用いる。
6はチップセレクト付きのメモリを用いる。
すなわち、コードメモリ106はアドレスが「0XXX
HJで選択され修正コードメモ!J 104はそれ以外
のアドレスで選択されるものとする。
HJで選択され修正コードメモ!J 104はそれ以外
のアドレスで選択されるものとする。
なお、アドレスAlO3とアドレスB109の間には第
1ゲート113が設定され、また修正アドレス生成部1
03とアドレスバスB109間には第2ゲート114が
が設定され、修正アドレスデータおよび通常のプログラ
ム実行時のアドレスデータのアドレスバスB109への
導出を制御する。
1ゲート113が設定され、また修正アドレス生成部1
03とアドレスバスB109間には第2ゲート114が
が設定され、修正アドレスデータおよび通常のプログラ
ム実行時のアドレスデータのアドレスバスB109への
導出を制御する。
フリップフロップA117はアドレス判定信号120と
終了アドレス検出部105の出力信号である終了アドレ
ス検出信号126の状態によりフリップフロップ出力1
27を制御し、フリップフロップ8118はフリップフ
ロップ出力127を遅延した信号として第1ゲート制御
信号121を出力する。
終了アドレス検出部105の出力信号である終了アドレ
ス検出信号126の状態によりフリップフロップ出力1
27を制御し、フリップフロップ8118はフリップフ
ロップ出力127を遅延した信号として第1ゲート制御
信号121を出力する。
また、ホストコンピュータ100は、メモリアクセス権
制御信号124を用いてゲートA111およびゲー)B
112を制御し、コードメモリ106とデータメモリ1
07やその他のブロックが、ホストコンピュータ100
と接続するのか、マイクロプロセッサ101 と接続す
るのかを切り替える働きを持つほか、リセット信号12
5を用いて、マイクロプロセッサ101がリセット状態
かりセット解除状態であるかを指定する。
制御信号124を用いてゲートA111およびゲー)B
112を制御し、コードメモリ106とデータメモリ1
07やその他のブロックが、ホストコンピュータ100
と接続するのか、マイクロプロセッサ101 と接続す
るのかを切り替える働きを持つほか、リセット信号12
5を用いて、マイクロプロセッサ101がリセット状態
かりセット解除状態であるかを指定する。
第2図は、第1図中のアドレス判別部102、修正アド
レス生成部103および終了アドレス検出部105の構
成を詳細に示したブロック図である。
レス生成部103および終了アドレス検出部105の構
成を詳細に示したブロック図である。
アドレス判別部102は修正プログラムを挿入するアド
レス値より「IH」減算した値で初期化されるラッチA
201 と、ラッチA201とアドレスバスAlO3の
アドレス値を比較しアドレス判定信号120を出力する
コンパレータA200で構成されている。
レス値より「IH」減算した値で初期化されるラッチA
201 と、ラッチA201とアドレスバスAlO3の
アドレス値を比較しアドレス判定信号120を出力する
コンパレータA200で構成されている。
また、修正アドレス生成部103は修正アドレス値を格
納しておく修正アドレスポインタ202と修正アドレス
ポインタ202のインクリメンタ203により構成され
ている。
納しておく修正アドレスポインタ202と修正アドレス
ポインタ202のインクリメンタ203により構成され
ている。
終了アドレス検出部105は修正プログラムの終了アド
レス値で初期化されるラッチB2O5と、ラッチB2O
5の値とアドレスバスBのアドレスデータとを比較し終
了アドレス検出信号126を出力するコンパレータB2
04とで構成されている。
レス値で初期化されるラッチB2O5と、ラッチB2O
5の値とアドレスバスBのアドレスデータとを比較し終
了アドレス検出信号126を出力するコンパレータB2
04とで構成されている。
第1図及び第2図に示すプログラム開発支援装置を用い
て、第3図(a)に示した被修正プログラムを含むコー
ドメモリ106内のプログラムを第3図(b)の修正プ
ログラムに代えて実行したときの動作について以下説明
する。
て、第3図(a)に示した被修正プログラムを含むコー
ドメモリ106内のプログラムを第3図(b)の修正プ
ログラムに代えて実行したときの動作について以下説明
する。
ただし本実施例においては、ラッチA201には修正プ
ログラムを挿入する修正開始アドレス値より「IH」が
減算された値のr006P HJが格納され、修正アド
レスポインタ202には修正プログラムが格納されてい
る先頭アドレス値rlooo HJが格納され、ラッチ
B2O5には修正プログラムの終了アドレス値r100
6HJが格納されているものとする。
ログラムを挿入する修正開始アドレス値より「IH」が
減算された値のr006P HJが格納され、修正アド
レスポインタ202には修正プログラムが格納されてい
る先頭アドレス値rlooo HJが格納され、ラッチ
B2O5には修正プログラムの終了アドレス値r100
6HJが格納されているものとする。
まず、ホストコンビニータ100よりコードメモリ10
6 とデータメモリ107 に処理プログラムと処理対
象データとを゛それぞれロードしておき、第3図(5)
の修正プログラムを修正コードメモIJ104に書きこ
む。その後、ホストコンビニータ100がメモリアクセ
ス権制御信号124を切り替えて、ゲー) A11lを
閉じゲー)B112を開きリセット信号125を解除す
ることにより、マイクロプロセッサ101はコードメモ
リ106内に格納されている第3図(a)のroooo
HJから始まるプログラムの実行を開始する。
6 とデータメモリ107 に処理プログラムと処理対
象データとを゛それぞれロードしておき、第3図(5)
の修正プログラムを修正コードメモIJ104に書きこ
む。その後、ホストコンビニータ100がメモリアクセ
ス権制御信号124を切り替えて、ゲー) A11lを
閉じゲー)B112を開きリセット信号125を解除す
ることにより、マイクロプロセッサ101はコードメモ
リ106内に格納されている第3図(a)のroooo
HJから始まるプログラムの実行を開始する。
これ以降の説明は、第4図および第5図も参照しながら
説明する。第4図は修正プログラムのアドレス出力開始
時にふけるアドレスバスAlO3、アドレスバスB10
9、アドレス判定信号120、第1ゲート制御信号12
1、第2ゲート制御信号122、アドレス変化信号12
3、終了アドレス検出信号126、フリップフロップA
の出力127のタイミングチャートであり、第5図は修
正プログラムのアドレス出力終了時におけるアドレスバ
スB109、アドレス判定信号120、第1ゲート制御
信号121、第2ゲート制御信号122、アドレス変化
信号123、終了アドレス検出信号126、フリップフ
ロップAの出力127のタイミングチャートである。
説明する。第4図は修正プログラムのアドレス出力開始
時にふけるアドレスバスAlO3、アドレスバスB10
9、アドレス判定信号120、第1ゲート制御信号12
1、第2ゲート制御信号122、アドレス変化信号12
3、終了アドレス検出信号126、フリップフロップA
の出力127のタイミングチャートであり、第5図は修
正プログラムのアドレス出力終了時におけるアドレスバ
スB109、アドレス判定信号120、第1ゲート制御
信号121、第2ゲート制御信号122、アドレス変化
信号123、終了アドレス検出信号126、フリップフ
ロップAの出力127のタイミングチャートである。
プログラムの開始により、マイクロプロセッサ101は
アドレスバスAlO3にアドレス情報r0000 HJ
を出力するが、このアドレス情報はコンパレータA20
0でラッチA2旧の初期値ro06F HJと比較され
る。この場合、両者の値は一致しないのでアドレス判定
信号120は「0」となり、第1ゲート制御信号121
は「0」、第2ゲート制御信号122は「1」になるの
で第1ゲート113は開き第2ゲート114は閉じてい
るためマイクロプロセッサ101はコードメモリ106
内のプログラムを実行する。
アドレスバスAlO3にアドレス情報r0000 HJ
を出力するが、このアドレス情報はコンパレータA20
0でラッチA2旧の初期値ro06F HJと比較され
る。この場合、両者の値は一致しないのでアドレス判定
信号120は「0」となり、第1ゲート制御信号121
は「0」、第2ゲート制御信号122は「1」になるの
で第1ゲート113は開き第2ゲート114は閉じてい
るためマイクロプロセッサ101はコードメモリ106
内のプログラムを実行する。
以降ro06FHJまで同様に順次実行して行くが、次
のアドレスr006F HJがアドレスバスAlO3に
出力されると、ラッチA201に格納されている値と一
致するためコンパレータA200はアドレス判定信号1
20を「1」にして出力し、フリップフロップA117
がセットされる。引続きマイクロプロセッサ101が次
のアドレスを出力するタイミングで第1ゲート制御信号
121が「1」となるため、第2ゲート制御信号122
は「0」になり第1ゲート113は閉じ第2ゲート11
4は開く。よって、修正アドレスポインタ202に格納
されていたアドレスデータr1000 HJがアドレス
バスB109に出力され、修正コードメモリ104中の
プログラムのオペコードがフェッチされる。
のアドレスr006F HJがアドレスバスAlO3に
出力されると、ラッチA201に格納されている値と一
致するためコンパレータA200はアドレス判定信号1
20を「1」にして出力し、フリップフロップA117
がセットされる。引続きマイクロプロセッサ101が次
のアドレスを出力するタイミングで第1ゲート制御信号
121が「1」となるため、第2ゲート制御信号122
は「0」になり第1ゲート113は閉じ第2ゲート11
4は開く。よって、修正アドレスポインタ202に格納
されていたアドレスデータr1000 HJがアドレス
バスB109に出力され、修正コードメモリ104中の
プログラムのオペコードがフェッチされる。
さらに次のアドレス変化信号123の立ち上がりにより
インクリメンタ203は修正アドレスポインタ202の
値を更新し、そのアドレスデータ「1001H」がアド
レスバスB109に出力される。マイクロプロセッサ1
01は、以降r1004HJまで同様に修正コードメモ
リ104内のプログラムを実行する。
インクリメンタ203は修正アドレスポインタ202の
値を更新し、そのアドレスデータ「1001H」がアド
レスバスB109に出力される。マイクロプロセッサ1
01は、以降r1004HJまで同様に修正コードメモ
リ104内のプログラムを実行する。
ここで、目的の修正プログラム「BB」、「00」、「
CO」、「53」、「9D」が終了した直後に本来の処
理プログラムのアドレスに復帰するためのブランチ命令
を付加しておく。すなわち、修正プログラムのアドレス
r1005 HJ、r1006 HJに内容「6B」、
rFO」 (JMP 0073 H)を挿入しておく。
CO」、「53」、「9D」が終了した直後に本来の処
理プログラムのアドレスに復帰するためのブランチ命令
を付加しておく。すなわち、修正プログラムのアドレス
r1005 HJ、r1006 HJに内容「6B」、
rFO」 (JMP 0073 H)を挿入しておく。
これにより、第2ゲート114よりアドレスr1006
HJがアドレスバスB109に出力されると終了アド
レス検出部105中のコンパレータB204によってラ
ッチB2O5に格納されているアドレス値’1006
HJとブランチ命令の終了アドレスとを比較し、修正プ
ログラム終了検出信号126を「1」にすることにより
フリップフロップA117はリセットされ、引続きマイ
クロプロセッサ101が次のアドレスを出力するタイミ
ングで第1ゲート制御信号121は「0」となる。これ
により第1ゲート113は開き第2ゲート114は閉じ
るため修正アドレスデータがアドレスバスB109に出
力されるのを禁止して、マイクロプロセッサ101がブ
ランチ命令実行によって出力したアドレスに従いコード
メモリ106のr0073 HJからの処理プログラム
の実行に制御を戻す。
HJがアドレスバスB109に出力されると終了アド
レス検出部105中のコンパレータB204によってラ
ッチB2O5に格納されているアドレス値’1006
HJとブランチ命令の終了アドレスとを比較し、修正プ
ログラム終了検出信号126を「1」にすることにより
フリップフロップA117はリセットされ、引続きマイ
クロプロセッサ101が次のアドレスを出力するタイミ
ングで第1ゲート制御信号121は「0」となる。これ
により第1ゲート113は開き第2ゲート114は閉じ
るため修正アドレスデータがアドレスバスB109に出
力されるのを禁止して、マイクロプロセッサ101がブ
ランチ命令実行によって出力したアドレスに従いコード
メモリ106のr0073 HJからの処理プログラム
の実行に制御を戻す。
以上説明したハードウェア構成によって処理プログラム
自体を変更することなく簡単に修正プログラムを実行す
ることが可能になる。
自体を変更することなく簡単に修正プログラムを実行す
ることが可能になる。
実施例2
本発明の第2の実施例について説明する。なお、本実施
では複数箇所(三箇所)の修正を行う場合について説明
する。
では複数箇所(三箇所)の修正を行う場合について説明
する。
全体の構成は第1図と同じであるが、アドレス判別部1
02と修正アドレス生成部103 と終了アドレス検出
部105に違いがある。まずこの点から説明する。
02と修正アドレス生成部103 と終了アドレス検出
部105に違いがある。まずこの点から説明する。
第6図は本実施例におけるアドレス判別部102と修正
アドレス生成部103′の構成図であり、また第7図は
本実施例における終了アドレス検出部の構成図である。
アドレス生成部103′の構成図であり、また第7図は
本実施例における終了アドレス検出部の構成図である。
第6図においてアドレス判別部102は、修正プログラ
ムを挿入する各アドレス値より「IH」を減算した値を
書き込んだラッチ1−A604、ラッチ1−B605、
ラッチ1−C606と、各ラッチのアドレス値の導出を
制御するゲー)1−A600、ゲート1−B601、ゲ
ート1−C602と各ラッチより導出される値とアドレ
スバス1−AlO3に出力されるアドレス情報とを比較
するコンパレータA200と、各ゲートの開閉を制御す
るゲート制御信号A620 、ゲート制御信号B621
、ゲート制御信号C622を出力するゲート制御カウ
ンタ603とで構成されている。また修正アドレス生成
部103は、修正プログラムの各開始アドレス値を格納
しておくラッチ2−A607、ラッチ2−8608、ラ
ッチ2− C609と各ラッチのアドレス値の導出を制
御するゲート2−A610、ゲート2−8611、ゲー
ト2−C612と修正アドレスポインタ202と、修正
アドレスポインタ202のインクリメンタ203とで構
成されている。
ムを挿入する各アドレス値より「IH」を減算した値を
書き込んだラッチ1−A604、ラッチ1−B605、
ラッチ1−C606と、各ラッチのアドレス値の導出を
制御するゲー)1−A600、ゲート1−B601、ゲ
ート1−C602と各ラッチより導出される値とアドレ
スバス1−AlO3に出力されるアドレス情報とを比較
するコンパレータA200と、各ゲートの開閉を制御す
るゲート制御信号A620 、ゲート制御信号B621
、ゲート制御信号C622を出力するゲート制御カウ
ンタ603とで構成されている。また修正アドレス生成
部103は、修正プログラムの各開始アドレス値を格納
しておくラッチ2−A607、ラッチ2−8608、ラ
ッチ2− C609と各ラッチのアドレス値の導出を制
御するゲート2−A610、ゲート2−8611、ゲー
ト2−C612と修正アドレスポインタ202と、修正
アドレスポインタ202のインクリメンタ203とで構
成されている。
また、第7図において終了アドレス検出部105は各修
正プログラムの終了アドレス値が格納されているラッチ
3−A704、ラッチ3−B705、ラッチ3− C7
06と各ラッチのアドレス値の導出を制御するゲート3
−A701、ゲート3− B702、ゲー)3−C70
3と各ラッチより導出される値とアドレスバス1−81
09 に出力されるアドレス情報とを比較し終了アドレ
ス検出信号126を出力するコンパレータB204とで
構成されている。
正プログラムの終了アドレス値が格納されているラッチ
3−A704、ラッチ3−B705、ラッチ3− C7
06と各ラッチのアドレス値の導出を制御するゲート3
−A701、ゲート3− B702、ゲー)3−C70
3と各ラッチより導出される値とアドレスバス1−81
09 に出力されるアドレス情報とを比較し終了アドレ
ス検出信号126を出力するコンパレータB204とで
構成されている。
第6図及び第7図に示したプログラム開発支援装置を用
いて、第8図(a)に示す被修正プログラムを同図(b
)に示す修正プログラムに変更して実行させたときの動
作について以下説明する。
いて、第8図(a)に示す被修正プログラムを同図(b
)に示す修正プログラムに変更して実行させたときの動
作について以下説明する。
ただし本実施においては、ラッチ1−A604、ラッチ
1− B605、ラッチ1− C606には、それぞれ
roolF HJ、roOFF HJ、r03FF H
Jが格納され、またラッチ2− A607、ラッチ2−
8608、ラッチ2−C609には修正プログラムの先
頭アドレス値として、それぞれ[1000HJ、「20
00 HJ、r3000 HJが格納され、またラッチ
3− A704、ラッチ3− B705、ラッチ3−C
706、に修正プログラムの終了アドレス値としてそれ
ぞれr1004 HJ、r2005 HJ、r3003
HJが格納されているものとする。
1− B605、ラッチ1− C606には、それぞれ
roolF HJ、roOFF HJ、r03FF H
Jが格納され、またラッチ2− A607、ラッチ2−
8608、ラッチ2−C609には修正プログラムの先
頭アドレス値として、それぞれ[1000HJ、「20
00 HJ、r3000 HJが格納され、またラッチ
3− A704、ラッチ3− B705、ラッチ3−C
706、に修正プログラムの終了アドレス値としてそれ
ぞれr1004 HJ、r2005 HJ、r3003
HJが格納されているものとする。
さきの実施例と同様にまず、ホストコンピュータ100
よりコードメモリ106 とデータメモリ 107に処
理プログラムと処理対象データとをそれぞれロードし、
第8図0))の修正プログラムを修正コードメモリ10
4に書きこむ。その後、ホストコンピュータ100がメ
モリアクセス権制御信号124を切り替えて、ゲー)A
lllを閉じゲー) B112を開きリセット信号12
5を解除することにより、マイクロプロセッサ101は
コードメモリ106内に格納されている、第9図(a)
のroooo HJから始まるプログラムの実行を開始
する。同時に、リセット信号125によりゲート制御カ
ウンタ603の値は「0」に初期化され、ゲート制御信
号A620のみ「1」となり、ゲー) 1−A600
、ゲート2− A610、ゲー)3−A701が開かれ
、各ラッチの初期値が導出される。
よりコードメモリ106 とデータメモリ 107に処
理プログラムと処理対象データとをそれぞれロードし、
第8図0))の修正プログラムを修正コードメモリ10
4に書きこむ。その後、ホストコンピュータ100がメ
モリアクセス権制御信号124を切り替えて、ゲー)A
lllを閉じゲー) B112を開きリセット信号12
5を解除することにより、マイクロプロセッサ101は
コードメモリ106内に格納されている、第9図(a)
のroooo HJから始まるプログラムの実行を開始
する。同時に、リセット信号125によりゲート制御カ
ウンタ603の値は「0」に初期化され、ゲート制御信
号A620のみ「1」となり、ゲー) 1−A600
、ゲート2− A610、ゲー)3−A701が開かれ
、各ラッチの初期値が導出される。
プログラムの開始により、マイクロプロセッサ101は
、アドレスバス−A108 にアドレス情報r0000
HJを出力するが、このアドレス情報はコンパレータ
ーA200によりラッチ1−A604から導出された値
ro01F HJと比較される。この場合一致しないの
でアドレス判定信号120は「0」、第1ゲート制御信
号121は「口」、第2ゲート制御信号122は「1」
になるので、第1ゲート113は開き第2ゲート114
は閉じる。よってマイクロプロセッサ101 はコード
メモリ106内のプログラムを実行する。
、アドレスバス−A108 にアドレス情報r0000
HJを出力するが、このアドレス情報はコンパレータ
ーA200によりラッチ1−A604から導出された値
ro01F HJと比較される。この場合一致しないの
でアドレス判定信号120は「0」、第1ゲート制御信
号121は「口」、第2ゲート制御信号122は「1」
になるので、第1ゲート113は開き第2ゲート114
は閉じる。よってマイクロプロセッサ101 はコード
メモリ106内のプログラムを実行する。
以降ro01F HJまで同様に順次実行して行く。
次のアドレス’0OIF HJがアドレスバス−A10
8に出力されると、アドレス値が一致するためコンパレ
ータA200はアドレス判定信号120を「1」にして
出力するため、フリップフロップA117はセットされ
る。引続きマイクロプロセッサ101が次のアドレスを
出力するタイミングで第1ゲート制御信号121は「l
」、第2ゲート制御信号122は「0」になるから、第
1ゲート113は閉じて第2ゲート114は開くため修
正アドレスポインタ202からアドレスデータr100
0HJがアドレスバス−B109に導出され、修正コー
ドメモリ104内のプログラムのオペコードがフェッチ
される。さらに次のアドレス変化信号123の立ち上が
りでインクリメンタ203は修正アドレスポインタ20
2の値を変更し、更新されたアドレス値rlooI H
Jがアドレスバス−8109に出力される。マイクロプ
ロセッサ101はこれ以降rlo04HJまで同様に修
正コードメモ’J 104内のプログラムを実行する。
8に出力されると、アドレス値が一致するためコンパレ
ータA200はアドレス判定信号120を「1」にして
出力するため、フリップフロップA117はセットされ
る。引続きマイクロプロセッサ101が次のアドレスを
出力するタイミングで第1ゲート制御信号121は「l
」、第2ゲート制御信号122は「0」になるから、第
1ゲート113は閉じて第2ゲート114は開くため修
正アドレスポインタ202からアドレスデータr100
0HJがアドレスバス−B109に導出され、修正コー
ドメモリ104内のプログラムのオペコードがフェッチ
される。さらに次のアドレス変化信号123の立ち上が
りでインクリメンタ203は修正アドレスポインタ20
2の値を変更し、更新されたアドレス値rlooI H
Jがアドレスバス−8109に出力される。マイクロプ
ロセッサ101はこれ以降rlo04HJまで同様に修
正コードメモ’J 104内のプログラムを実行する。
ブランチ命令の最終アドレスr1004HJがアドレス
バス−8109に出力されると、アドレスバス−810
9のアドレスデータと終了アドレス検出部105中のラ
ッチ3− A704の値とが一致するので、終了アドレ
ス検出信号126は「1」となるため、フリップフロッ
プ117 はリセットされ、修正プログラムのアドレス
情報がアドレスバス−A108に導出されるのを禁止す
ることによりコードメモリ106のr0022 HJか
らの処理プログラムの実行に制御を戻し、次の修正プロ
グラムを挿入するアドレスになるまで、すなわちアドレ
スroOFF HJまでコードメモリ106中のプログ
ラムを順次実行する。
バス−8109に出力されると、アドレスバス−810
9のアドレスデータと終了アドレス検出部105中のラ
ッチ3− A704の値とが一致するので、終了アドレ
ス検出信号126は「1」となるため、フリップフロッ
プ117 はリセットされ、修正プログラムのアドレス
情報がアドレスバス−A108に導出されるのを禁止す
ることによりコードメモリ106のr0022 HJか
らの処理プログラムの実行に制御を戻し、次の修正プロ
グラムを挿入するアドレスになるまで、すなわちアドレ
スroOFF HJまでコードメモリ106中のプログ
ラムを順次実行する。
なお、ゲート制御カウンタ603の値は、第1ゲート制
御信号121の立ち下がりにより値を更新され、次に修
正されるプログラムの開始アドレス、修正プログラムの
先頭アドレス、修正プログラムの終了アドレスが格納さ
れているラッチからのアドレス値の導出を制御するゲー
ト制御信号B621は「1」となる。
御信号121の立ち下がりにより値を更新され、次に修
正されるプログラムの開始アドレス、修正プログラムの
先頭アドレス、修正プログラムの終了アドレスが格納さ
れているラッチからのアドレス値の導出を制御するゲー
ト制御信号B621は「1」となる。
これ以降、コードメモリ106のアドレスrQQFF
HJ、r03FF HJにおいてもマイクロプロセッサ
101は上述の場合と同様に、修正プログラムおよび処
理プログラムの実行を行う。
HJ、r03FF HJにおいてもマイクロプロセッサ
101は上述の場合と同様に、修正プログラムおよび処
理プログラムの実行を行う。
本発明を用いることにより、複数箇所のプログラムの修
正が必要な場合でも、簡単にプログラムの修正およ、び
実行が可能となる。
正が必要な場合でも、簡単にプログラムの修正およ、び
実行が可能となる。
発明の詳細
な説明したように、本発明は従来のプログラム開発装置
にアドレス判別部と修正アドレス生成部と修正コードメ
モリと終了アドレス検出部とを付加することによって処
理プログラム自体を直接修正することなく、目的の修正
プログラムを実行することができる効果がある。
にアドレス判別部と修正アドレス生成部と修正コードメ
モリと終了アドレス検出部とを付加することによって処
理プログラム自体を直接修正することなく、目的の修正
プログラムを実行することができる効果がある。
第1図は、本発明によるプログラム開発支援装置の実施
例のブロック図、 第2図は、本発明によるプログラム開発支援装置の第1
実施例にふけるアドレス判別部と修正アドレス生成部と
終了アドレス検出部の詳細なブロック図、 第3図は、本発明によるプログラム開発支援装置の第1
実施例を使用してのプログラム開発における被修正プロ
グラムと修正プログラムの配置例を示す図、 第4図は、本発明によるプログラム開発支援装置の第1
実施例を使用してのプログラム開発例での修正プログラ
ムのアドレス出力開始時の各部のタイミングチャート、 第5図は、第4図に示す例における修正プログラムのア
ドレス出力終了時における各部のタイミングチャート、 第6図は、本発明によるプログラム開発支援装置の第2
の実施例におけるアドレス判別部と修正アドレス生成部
の詳細なブロック図、 第7図は、本発明によるプログラム開発支援装置の第2
の実施例における終了アドレス検出部の構成図、 第8図は、本発明によるプログラム開発支援装置の第2
実施例を使用してのプログラム開発における被修正プロ
グラムと修正プログラムの配置例を示す図、 第9図は、本発明によるプログラム開発支援装置の第2
実施例を使用してのプログラム開発例での各部のタイミ
ングチャート、 第10図は、従来のプログラム開発支援装置のブロック
図、 第11図は、従来のプログラム開発支援装置の使用して
のプログラムの修正の一例を示す図である。 〔主な参照番号〕 100 ・・・ホストコンビ二一夕、101 ・・
・マイクロプロセッサ、102 ・・・アドレス判別
部、 103 ・・・修正アドレス生成部、104 ・・
・修正コードメモリ、 105 ・・・終了アドレス検出部、106 ・・
・コードメモリ、 107 ・・・データメモリ、 108 ・・・アドレスバスA1 109 ・・・アドレスバスB1 110 ・・・データバス、 111 ・・・ゲートA1 112 ・・・ゲートB1 113 ・・・第1ゲート、 114 ・・・第2ゲート、 117、iia ・・・フリップ70ツブ、200
・・・コンパレータA1 201 ・・・ラッチAl 2O2・・・修正アドレスポインタ、 203 ・・・インクリメンタ、 204 ・・・コンパレータB1 2O3・・・ラッチB1 600.601.602 ・・・ゲート603 ・
・・ゲート制御カウンタ、604.605.606.6
07.608.609・・・ラッチ610、611.6
12.701.702.703・・・・ゲート704.
705.706・・・ラッチ 1000・・・アドレスバス。
例のブロック図、 第2図は、本発明によるプログラム開発支援装置の第1
実施例にふけるアドレス判別部と修正アドレス生成部と
終了アドレス検出部の詳細なブロック図、 第3図は、本発明によるプログラム開発支援装置の第1
実施例を使用してのプログラム開発における被修正プロ
グラムと修正プログラムの配置例を示す図、 第4図は、本発明によるプログラム開発支援装置の第1
実施例を使用してのプログラム開発例での修正プログラ
ムのアドレス出力開始時の各部のタイミングチャート、 第5図は、第4図に示す例における修正プログラムのア
ドレス出力終了時における各部のタイミングチャート、 第6図は、本発明によるプログラム開発支援装置の第2
の実施例におけるアドレス判別部と修正アドレス生成部
の詳細なブロック図、 第7図は、本発明によるプログラム開発支援装置の第2
の実施例における終了アドレス検出部の構成図、 第8図は、本発明によるプログラム開発支援装置の第2
実施例を使用してのプログラム開発における被修正プロ
グラムと修正プログラムの配置例を示す図、 第9図は、本発明によるプログラム開発支援装置の第2
実施例を使用してのプログラム開発例での各部のタイミ
ングチャート、 第10図は、従来のプログラム開発支援装置のブロック
図、 第11図は、従来のプログラム開発支援装置の使用して
のプログラムの修正の一例を示す図である。 〔主な参照番号〕 100 ・・・ホストコンビ二一夕、101 ・・
・マイクロプロセッサ、102 ・・・アドレス判別
部、 103 ・・・修正アドレス生成部、104 ・・
・修正コードメモリ、 105 ・・・終了アドレス検出部、106 ・・
・コードメモリ、 107 ・・・データメモリ、 108 ・・・アドレスバスA1 109 ・・・アドレスバスB1 110 ・・・データバス、 111 ・・・ゲートA1 112 ・・・ゲートB1 113 ・・・第1ゲート、 114 ・・・第2ゲート、 117、iia ・・・フリップ70ツブ、200
・・・コンパレータA1 201 ・・・ラッチAl 2O2・・・修正アドレスポインタ、 203 ・・・インクリメンタ、 204 ・・・コンパレータB1 2O3・・・ラッチB1 600.601.602 ・・・ゲート603 ・
・・ゲート制御カウンタ、604.605.606.6
07.608.609・・・ラッチ610、611.6
12.701.702.703・・・・ゲート704.
705.706・・・ラッチ 1000・・・アドレスバス。
Claims (1)
- マイクロプロセッサが実行するプログラムの修正すべ
きプログラムの開始アドレスを判別するアドレス判別部
と、前記アドレス判別部からの制御信号により修正プロ
グラムのアドレス情報を出力する修正アドレス生成部と
、前記修正アドレス生成部から出力されるアドレス情報
によって実行される修正プログラム・コードを格納して
おく修正コードメモリと、該修正プログラムの終了アド
レスを検出して修正アドレス生成部からのアドレス情報
の出力を禁止する終了アドレス検出部とを有するプログ
ラム開発支援装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63190970A JPH0240734A (ja) | 1988-07-30 | 1988-07-30 | プログラム開発支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63190970A JPH0240734A (ja) | 1988-07-30 | 1988-07-30 | プログラム開発支援装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0240734A true JPH0240734A (ja) | 1990-02-09 |
Family
ID=16266707
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63190970A Pending JPH0240734A (ja) | 1988-07-30 | 1988-07-30 | プログラム開発支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0240734A (ja) |
-
1988
- 1988-07-30 JP JP63190970A patent/JPH0240734A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6915416B2 (en) | Apparatus and method for microcontroller debugging | |
| KR930016880A (ko) | 전자장치 및 그것의 고정정보 수정방법 | |
| US12340233B2 (en) | Method for operating application program, terminal device and computer-readable storage medium | |
| US7752427B2 (en) | Stack underflow debug with sticky base | |
| KR100206887B1 (ko) | 프로그램 오동작 방지를 위한 씨피유 | |
| US6957367B2 (en) | System and method for controlling activity of temporary files in a computer system | |
| US4870573A (en) | Microcomputer capable of testing execution of a program with no branch | |
| Breuer et al. | Avoiding hardware aliasing: Verifying RISC machine and assembly code for encrypted computing | |
| JPH0240734A (ja) | プログラム開発支援装置 | |
| JPH07182170A (ja) | マイクロプロセッサ | |
| US8458790B2 (en) | Defending smart cards against attacks by redundant processing | |
| KR20250050896A (ko) | 비-동작-호환 명령어 | |
| US11132305B1 (en) | Automatic static region generation for memory protection units (MPUs) | |
| US6785806B1 (en) | Bios having macro/effector pairs for hardware initialization | |
| JPH05216721A (ja) | 電子計算機 | |
| Brodeur et al. | tBPF: Testing Berkeley Packet Filter Programs Using User Mode Linux | |
| KR950005523B1 (ko) | 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 | |
| EP1221096A1 (en) | Method and apparatus for modifying microinstructions in a static memory device | |
| Kicinski et al. | Xdp hardware offload: Current work, debugging and edge cases | |
| Kosakai et al. | Compiling C programs into a strongly typed assembly language | |
| Mullen et al. | Peek: A formally verified peephole optimization framework for x86 | |
| Breuer et al. | Avoiding Hardware Aliasing | |
| JPH02103643A (ja) | デバッグ用割込発生回路 | |
| JPS63163543A (ja) | 情報処理装置 | |
| JPH0367340A (ja) | シミュレータ |