ブレーク命令を実行したときに割り込みが発生してブレーク状態に遷移するプロセッサであって、フェッチした命令をデコードするデコード手段と、前記デコード手段によるデコード結果に応じて前記プロセッサの制御を行なう制御手段と、前記プロセッサがブレーク状態のときに、前記デコード手段によって割り込み復帰命令がデコードされると、前記制御手段による制御に応じて、フェッチされた復帰先命令をスタックに退避される本来命令に置換して前記デコード手段にデコードさせる置換手段とを含む、プロセッサ。前記置換手段は、前記本来命令を保持する保持手段を含み、前記制御手段は、前記デコード手段によって前記割り込み復帰命令がデコードされたときに、前記スタックからプログラムカウンタの値を復帰させ、前記スタックからプログラムステータスワードの値を復帰させた後に、前記置換手段に前記スタックから取得した前記本来命令を前記保持手段に保持させ、前記置換手段は、フェッチされた復帰先命令を前記保持手段に保持した前記本来命令に置換する、請求項1記載のプロセッサ。前記置換手段は、前記本来命令を保持する保持手段を含み、前記制御手段は、前記デコード手段によって前記割り込み復帰命令がデコードされたときに、前記スタックからプログラムステータスワードの値を復帰させ、前記スタックからプログラムカウンタの値を復帰させた後に、前記置換手段に前記スタックから取得した前記本来命令を前記保持手段に保持させ、前記置換手段は、フェッチされた復帰先命令を前記保持手段に保持した前記本来命令に置換する、請求項1記載のプロセッサ。前記制御手段は、前記デコード手段によって前記割り込み復帰命令がデコードされたときに、前記置換手段に前記スタックから取得した前記本来命令を前記保持手段に保持させ、前記置換手段が、フェッチされた復帰先命令を前記保持手段に保持した前記本来命令に置換した後、前記制御手段が、前記スタックからプログラムステータスワードの値を復帰させ、前記スタックからプログラムカウンタの値を復帰させる、請求項1記載のプロセッサ。ブレーク命令を実行したときに割り込みが発生してブレーク状態に遷移するプロセッサを含んだシステムをデバッグするデバッグ装置であって、前記デバッグ装置は、前記割り込みが発生したときに前記プロセッサがスタックに退避させたプログラムカウンタおよびプログラムステータスワードに対応して、本来命令を前記スタックに退避させる本来命令退避手段を含み、前記プロセッサは、フェッチした命令をデコードするデコード手段と、前記デコード手段によるデコード結果に応じて前記プロセッサの制御を行なう制御手段と、前記プロセッサがブレーク状態のときに、前記デコード手段によって割り込み復帰命令がデコードされると、前記制御手段による制御に応じて、フェッチされた復帰先命令を前記スタックに退避される前記本来命令に置換して前記デコード手段にデコードさせる置換手段とを含む、デバッグ装置。S/Wブレークポイントがフラッシュメモリに設定されている場合、ブレーク命令から本来命令への書き戻しのためのブロック単位での消去/書き換え、および本来命令からブレーク命令への書き換えのためのブロック単位での消去/書き換えが必要となり、操作上の反応が遅くなるといった問題点があった。また、フラッシュメモリは消去/書き込み回数に制限がある。そのため、上述のように消去/書き換えが頻繁に行なわれると、フラッシュメモリの寿命が短くなるといった問題点もあった。本発明は、上記問題点を解決するためになされたものであり、その目的は、ブレーク状態から復帰するときにフラッシュメモリに対する消去/書き込み回数を削減することが可能なプロセッサおよびそれを用いたデバッグ装置を提供することである。本発明の一実施例によれば、ブレーク命令を実行したときに割り込みが発生してブレーク状態に遷移するプロセッサが提供される。命令デコーダは、フェッチした命令をデコードする。制御部は、命令デコーダによるデコード結果に応じてプロセッサの制御を行なう。プロセッサがブレーク状態のときに、命令デコーダによって割り込み復帰命令がデコードされると、命令置換部は、制御部による制御に応じて、フェッチされた復帰先命令をスタックに退避される本来命令に置換して命令デコーダにデコードさせる。本発明の一実施例によれば、命令置換部が、制御部による制御に応じて、フェッチされた復帰先命令をスタックに退避される本来命令に置換して命令デコーダにデコードさせるので、フラッシュメモリに対する消去/書き込み回数を削減することが可能となる。図1は、本発明の実施の形態におけるプロセッサを含んだユーザシステムをデバッグするためのデバッグ装置の構成例を示す図である。このシステムは、ホストマシン1と、エミュレータ2と、ユーザシステム3とを含む。また、ユーザシステム3は、コンピュータシステムの1つであって、デバッグ対象のCPU11と、デバッグ制御回路12と、RAM13と、フラッシュメモリ以下、単にROMと呼ぶ。14とを含み、バス15を介してこれらが接続されている。ホストマシン1は、PCPersonalComputerなどのコンピュータ装置であり、ユーザシステム3のデバッグを支援するためのプログラムデバッガを実行する。このデバッガは、操作者が対話的にユーザシステム3内のプログラムの実行を制御したり、CPU11内のレジスタ値や、RAM13、ROM14などのメモリ内容を変更したりする機能を提供する。また、デバッガは、ホストマシン1内のUSBUniversalSerialBusなどの通信I/FInterfaceを介してエミュレータ2と通信を行ない、エミュレータ2と連携して動作する。エミュレータ2は、コンピュータシステムであるユーザシステム3内のCPU11で実行されるプログラムのデバッグ作業に用いられる装置である。エミュレータ2は、JTAGJointTestActionGroupなどの通信I/Fを介してデバッグ制御回路12と通信を行ない、ユーザシステム3内のCPU11の実行制御、CPU11内部のレジスタ値の取得や変更、RAM13、ROM14などのメモリ内容の取得や変更などのデバッグ機能を制御する。デバッグ制御回路12は、エミュレータ2からの制御によって動作し、CPU11の実行制御、CPU11内部のレジスタ値の取得や変更、RAM13、ROM14などのメモリ内容の取得や変更、指定されたアドレスでプログラムの実行を停止させるブレークポイントなどのデバッグ機能を実現する。ブレークポイントとして、指定アドレスの本来命令をブレーク用命令に置き換えることによってブレークを実現するS/Wブレーク機能や、アドレスなどの条件を設定する専用レジスタを備えることで実現するH/Wブレーク機能などがある。S/Wブレーク機能は、上述のようにブレークポイントのアドレスにある本来命令をブレーク用命令に置き換えることによって実現するものであり、ユーザシステム3内のCPU11がプログラムを実行中に、ブレークポイントで置き換えられたブレーク用命令を実行すると割り込みが発生してブレーク状態に遷移する。なお、本実施の形態においては、エミュレータ2とデバッグ制御回路12とが存在する場合について説明するが、ROM14の一部にCPU11の情報を収集するためのモニタプログラムを予め書き込んでおき、UARTUniversalAsynchronousReceiverTransmitter、USBなどの通信I/Fを介してモニタプログラムとホストマシン1とが直接通信を行なう方式であってもよい。図2は、本発明の実施の形態におけるCPU11の内部構成を説明するためのブロック図である。このCPU11は、アドレスレジスタ21と、プログラムカウンタ22と、命令レジスタ23と、命令デコーダ24と、制御部25と、命令置換部26と、データレジスタ27と、ALUArithmeticLogicalUnit28と、アキュムレータ29とを含み、クロックパルスに同期して動作を行なう。また、命令置換部26は、本来命令一時保存レジスタ30を含む。アドレスレジスタ21は、CPU11がメモリやI/OInputOutputに対して命令やデータをアクセスする際に用いられるアドレスを保持するレジスタであり、たとえば、命令をフェッチする場合にはプログラムカウンタ22に格納される値を保持する。プログラムカウンタ22は、次に実行する命令のメモリ上のアドレスを格納するものであり、制御部24によって制御される。命令レジスタ23は、図示しない命令フェッチ部によってフェッチされた命令を、制御部25による制御によって保持するレジスタであり、保持した命令を命令デコーダ24に転送する。命令デコーダ24は、命令レジスタ23から転送された命令をデコードし、デコード結果を制御部25に転送する。制御部25は、命令デコーダ24によるデコード結果に応じて、CPU11内のALU28、アキュムレータ29などの各ブロックを制御する。命令置換部26は、命令デコーダ24が後述の指定命令付き割り込み復帰命令をデコードしたときに制御部25から制御信号を受け、スタックから取得した本来命令を本来命令一時保存レジスタに保存する。そして、制御部25が指定命令付き割り込み復帰命令を実行して割り込みから復帰したときに、本来であれば復帰先PCプログラムカウンタからフェッチされた命令が命令レジスタ23に記憶されることになるが、命令置換部26は、命令デコーダ24によって復帰先命令がデコードされる前に、命令レジスタ23に記憶される復帰先命令の一部または全部を、本来命令一時保存部30に記憶した本来命令に置換して命令レジスタ23に格納する。その結果、CPU11は、指定命令付き割り込み復帰命令を実行後に、本来命令を実行することになる。命令置換部26は、それ以外の命令置換が不要な場合には、データレジスタ27に記憶される命令をそのまま命令レジスタ23に格納する。命令レジスタ23は、制御部25から制御信号を受け、データレジスタ27に記憶される命令または置換部26によって置換された命令を保持し、命令デコーダ24にその命令を与えてデコードさせる。データレジスタ27は、CPU11がメモリやI/Oから読み出した命令やデータ、メモリやI/Oに書き込むデータを一時的に保持するレジスタであり、たとえば命令フェッチの場合にはフェッチされた命令が格納される。図3は、本発明の実施の形態におけるCPU11が指定命令付き割り込み復帰命令を実行したときの動作を説明するための図である。例1は、割り込みから復帰する際に、スタックに退避されている本来命令を指定命令として取得して本来命令一時保存レジスタ30に格納し、SPスタックポインタの値を4だけ加算した後にスタックに退避されているPSWProgramStatusWordを復帰させる。そして、SPの値を4だけ加算した後にスタックに退避されているPCを復帰させ、さらにSPの値を4だけ加算する。例2は、割り込みから復帰する際に、スタックに退避されている本来命令を指定命令として取得して本来命令一時保存レジスタ30に格納し、SPの値を4だけ加算した後にスタックに退避されているPCを復帰させる。そして、SPの値を4だけ加算した後にスタックに退避されているPSWを復帰させ、さらにSPの値を4だけ加算する。例3は、割り込みから復帰する際に、スタックに退避されているPCを復帰させ、SPの値を4だけ加算した後にスタックに退避されているPSWを復帰させる。そして、さらにSPの値を4だけ加算してスタックに退避されている本来命令を指定命令として取得して本来命令一時保存レジスタ30に格納し、SPの値を4だけ加算する。例4は、専用レジスタとしてPC退避用レジスタおよびPSW退避用レジスタを設けた場合を示しており、PC退避用レジスタの値をPCに復帰させ、PSW退避用レジスタの値をPSWに復帰させ、さらにスタックに退避されている本来命令を指定命令として取得して本来命令一時保存レジスタ30に格納し、SPの値を4だけ加算する。例1~例4のいずれの場合にも、上述のように、割り込みから復帰後に、PCに設定されているブレーク命令の代わりに、本来命令一時保存レジスタ30に格納された本来命令が実行されることになる。図4は、本発明の実施の形態におけるCPU11を含んだシステムのS/Wブレーク機能を説明するための図である。まず、デバッガ操作者がホストマシン1を用いてデバッガにS/Wブレークポイントを設定する指示を行なうと、デバッガ装置はS/Wブレークポイント設定アドレスにブレーク命令を埋め込む処理をCPU11に指示する。この指示は、エミュレータ2と、デバッグ制御回路12またはモニタプログラムとの間の通信I/Fを介して行なわれる。ここで、デバッガ装置とは、ホストコンピュータ1上で動作するエミュレータ制御用ソフトウェアデバッガおよびエミュレータ2によって構成されるものとする。最後に、CPU11はエミュレータ2からの指示に応じて、S/Wブレークポイント設定アドレスの本来命令をブレーク命令に書き換える。図5~図7は、CPU11による命令実行がS/Wブレークポイントに到達したときの動作を説明するための図である。なお、PCの値およびPSWの値が退避される順番はCPU11の仕様によって異なる。図5は、図3の例1の仕様に対応する場合を示している。CPU11が指定アドレスのブレーク命令を実行すると、割り込みが発生してブレーク状態に遷移する。このとき、CPU11は、PCの値をスタックに退避した後にPSWの値をスタックに退避する。図6は、図3の例2および例3の仕様に対応する場合を示している。CPU11が指定アドレスのブレーク命令を実行すると、割り込みが発生してブレーク状態に遷移する。このとき、CPU11は、PSWの値をスタックに退避した後にPCの値をスタックに退避する。図7は、図3の例4の仕様に対応する場合を示している。専用レジスタとしてPC退避用レジスタおよびPSW退避用レジスタが設けられているため、図7aに示すように、PCの値およびPSWの値はスタックには退避されない。また、図7bに示すように、PCの値がPC退避用レジスタに格納され、PSWの値がPSW退避用レジスタに格納される。図8は、本発明の実施の形態におけるCPU11のブレーク命令による割り込み発生時の動作を説明するための図である。まず、CPU11がプログラムを順次実行してS/Wブレークポイントに到達すると、そのアドレスに埋め込まれたブレーク命令を実行して割り込みが発生する。CPU11は、割り込みが発生するとブレークポイントのPCの値とPSWの値とをスタックに退避する。この処理は、図5および図6の場合に対応している。また、CPU11は、割り込みが発生するとブレークポイントのPCの値をPC退避用レジスタに退避し、PSWの値をPSW退避用レジスタに退避するようにしてもよい。この処理は、図7の場合に対応している。次に、CPU11は、割込み処理ルーチンに分岐して、デバッグ制御回路12によりエミュレータ2からの指示待ち状態となる。また、モニタプログラムによって処理を行なう場合には、割込み処理ルーチンによりエミュレータ2からの指示待ち状態となる。図9は、CPU11がブレーク状態から実行再開するときの処理を説明するための図である。まず、デバッガ操作者がホストマシン1を用いてデバッガにCPU11の実行再開を指示する。デバッガ装置はCPU11に対してSPの移動4だけ減算を指示し、スタックにS/Wブレークポイントの本来命令を格納するように指示する。この処理は、図11、図12および図14に対応している。また、デバッガ装置はCPU11に対してスタックに退避されているPCの値およびPSWの値をスタック内でコピーするように指示し、スタックにS/Wブレークポイントの本来命令を格納するように指示し、SPの移動4だけ減算を指示するようにしてもよい。この処理は、図13に対応している。CPU11は、デバッグ装置から指示を受けると、その指示に対応する処理を行なう。これらの処理は、図11~図14を用いて後述する。次に、デバッグ装置がCPU11に対して指定命令付き割り込み復帰命令の実行を指示すると、CPU11は、指示された指定命令付き割り込み復帰命令を実行する。この処理は、図10および図15を用いて後述する。最後に、CPU11は、プログラムの以降の命令を順次実行する。図10は、本発明の実施の形態におけるCPU11が指定命令付き割り込み復帰命令を実行するときの処理を説明するための図である。まず、CPU11は、スタックから本来命令、復帰先PC値およびPSW値を取得する。この処理は、図3の例1、例2および例3に対応している。また、CPU11は、スタックから本来命令のみを取得するようにしてもよい。この処理は、図3の例4に対応している。次に、取得した本来命令が本来命令一時保存レジスタ30に保存された後、スタックから取得したPC値およびPSW値でPCおよびPSWを復帰する。この処理は、図3の例1、例2および例3に対応している。また、取得した本来命令が本来命令一時保存レジスタ30に保存された後、PC退避用レジスタおよびPSW退避用レジスタから取得したPC値およびPSW値でPCおよびPSWを復帰するようにしてもよい。この処理は、図3の例4に対応している。次に、復帰先PCから命令をフェッチする。このとき、ブレーク命令を含んだまま命令がフェッチされるので、命令置換部26がフェッチした命令を本来命令一時保存レジスタ30に保存される本来命令に置き換える。次に、命令デコーダ24は、命令置換部26によって置換された本来命令をデコードし、制御部25が本来命令を実行する。図11~図14は、本発明の実施の形態におけるCPU11がデバッガ装置から指示された処理を行なうときの動作を説明するための図である。なお、本来命令が退避されるアドレスはCPU11の仕様によって異なる。図11は、図3の例1の仕様に対応する場合を示している。CPU11は、SPの移動4だけ減算を行ない、スタックにS/Wブレークポイントの本来命令を格納する。なお、再開PCおよびPSWは、CPU11が割り込み発生時に退避させたものである。図12は、図3の例2の仕様に対応する場合を示している。CPU11は、SPの移動4だけ減算を行ない、スタックにS/Wブレークポイントの本来命令を格納する。なお、PSWおよび再開PCは、CPU11が割り込み発生時に退避させたものである。図13は、図3の例3の仕様に対応する場合を示している。CPU11は、4だけ減算したアドレスに再開PCの値をコピーし、さらに4だけ減算したアドレスにPSWの値をコピーし、元のPSWがあったアドレスにS/Wブレークポイントの本来命令を格納し、SPの移動4だけ減算を行なう。図14は、図3の例4の仕様に対応する場合を示している。CPU11は、SPの移動4だけ減算を行ない、スタックにS/Wブレークポイントの本来命令を格納する。なお、再開PCおよびPSWは、PC退避用レジスタおよびPSW退避用レジスタに退避されている。図15は、本発明の実施の形態におけるCPU11が指定命令付き割り込み復帰命令をフェッチして実行する時の全体動作を説明するための図である。まず、CPU11が指定命令付き割り込み復帰命令図15においては発明命令と記載する。をフェッチすると、命令デコーダ24が指定命令付き割り込み復帰命令をデコードし、制御部25が指定命令付き割り込み復帰命令の実行を開始する。このとき、制御部25は、メモリアクセスによってスタックから本来命令、PC値およびPSW値を取得し、本来命令を本来命令一時保存レジスタ30に保存し、復帰PSWをPSWに設定し、復帰先PCをPCに設定する。この処理は、図3の例1~例3に対応している。また、制御部25は、メモリアクセスによってスタックから本来命令を取得して本来命令一時保存レジスタに保存し、PSW退避用レジスタから復帰PSWを取得してPSWに設定し、PC退避用レジスタから復帰先PCを取得してPCに設定するようにしてもよい。この処理は、図3の例4に対応している。次に、CPU11が復帰先PCの命令をフェッチすることになるが、この命令にはブレーク命令が含まれているため、命令置換部26は、ブレーク命令を本来命令一時保存レジスタ30に保存される本来命令に置換して命令レジスタ23に格納する。命令デコーダ24が命令レジスタ23に格納される本来命令をデコードすると、制御部25は、本来命令の実行を開始する。以上説明したように、本実施の形態におけるCPU11によれば、指定命令付き割り込み復帰命令を実行するときに、スタックに退避される本来命令を本来命令一時保存レジスタ30に格納し、ブレーク命令を含んだ復帰先PC値の命令を本来命令に置換するようにしたので、フラッシュメモリのブロック単位での消去/書き換えが不要となり、操作上の反応が遅くなるといった問題点を解消することが可能となった。また、フラッシュメモリのブロック単位での消去/書き換えが不要となるため、フラッシュメモリの寿命が短くなるといった問題点を防止することが可能となった。今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。