命令を復号するための命令復号器と、命令復号器によって復号される命令に応じてデータを処理するためのプロセッサと、を備え、前記命令復号器は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するように構成され、前記基本命令セットは、それぞれの命令が前記命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、前記少なくとも1つのさらなる命令セットは、それぞれの命令が前記少なくとも1つのさらなる命令セット内に前記命令を識別するためのオペレーションコードを含む、複数の命令を含み、前記命令復号器は、基本的な復号規則のセットによって、前記複数の定義済みのオペレーションコードのうちの1つを有する命令を復号し、かつ前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定される復号規則のセットによって、前記少なくとも1つのさらなる命令セットの前記オペレーションコードのうちの1つを有する命令を復号するように構成される、データ処理装置。前記命令復号器は、共通する少なくともいくつかのオペレーションコードを有する、少なくとも2つのさらなる命令セットを復号するように構成される、請求項1に記載のデータ処理装置。前記データ処理装置は、前記インジケータ値を記憶するための状態レジスタを備える、請求項1または2のいずれか1項に記載のデータ処理装置。前記命令復号器は、前記基本的な命令のセットからの命令である、命令セット更新命令に応じて、前記状態レジスタ内に記憶された前記インジケータ値を前記命令内で指定された値に設定する、請求項3に記載のデータ処理装置。前記プロセッサは、前記プログラムストリームが分岐するべきであることを示す分岐命令に応じて、戻りアドレスおよび前記インジケータ値を、前記分岐から戻ると、前記戻りアドレスおよびインジケータ値を復元することができるように、記憶するように構成される、請求項1~4のいずれか1項に記載のデータ処理装置。前記データ処理装置が前記分岐前に前記インジケータ値をリセットするように構成される、請求項5に記載のデータ処理装置。前記戻りアドレスおよびインジケータ値が同一のリンクレジスタ内に記憶される、請求項5に記載のデータ処理装置。前記リンクレジスタの前記上位有効ビットが前記インジケータ値を記憶し、前記下位有効ビットが前記戻りアドレスを記憶する、請求項7に記載のデータ処理装置。前記戻りアドレスおよびインジケータ値は、前記分岐に応じてスタックに記憶され、前記分岐から戻ると、前記スタックから読み出される、請求項7に記載のデータ処理装置。前記命令復号器は、前記少なくとも1つのさらなる命令セットのうちの1つを示す前記インジケータ、および前記少なくとも1つのさらなる命令セット内に復号規則がないオペレーションコードを有する命令の受信に応じて、例外を生成する、請求項1~9のいずれか1項に記載のデータ処理装置。前記命令復号器は、前記命令復号器が復号規則を有しないさらなる命令セットを示す値に遷移する前記インジケータ値を検出することに応じて、例外を生成する、請求項1~10のいずれか1項に記載のデータ処理装置。前記基本的な命令のセット内の命令の前記定義済みのオペレーションコードは、所定の基本符号化空間内にあり、前記少なくとも1つのさらなる命令セットの前記オペレーションコードは、所定の拡張符号化空間内にある、請求項1~11のいずれか1項に記載のデータ処理装置。複数の異なるインジケータ値が前記少なくとも1つのさらなる命令セットのうちの1つを識別する、請求項1~12のいずれか1項に記載のデータ処理装置。異なる命令セットから命令を復号する方法であって、命令を受信することと、前記命令のオペレーションコードが基本的な命令のセットからの命令のオペレーションコードである場合、前記基本的な命令のセットの復号規則によって前記命令を復号することと、前記命令の前記オペレーションコードが少なくとも1つのさらなる命令のセットからの命令のオペレーションコードである場合、前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって、前記命令を復号することと、を含む、方法。請求項14に記載の異なる命令セットからの命令を復号し、かつ前記復号された命令を処理する方法であって、命令セット更新命令の受信に応じて、前記基本的な命令のセットの復号規則によって前記命令を復号するステップと、前記復号された命令セット更新命令に応じて、前記状態レジスタ内の前記インジケータ値を前記復号された命令によって示された値に設定するステップと、を実施することを含む、方法。前記プログラムストリームが分岐するべきであることを示す分岐命令の受信に応じて、戻りアドレスおよび前記インジケータの現在の値を、前記分岐から戻ると、前記戻りアドレスおよびインジケータ値を復元することができるように、記憶する、請求項14または15に記載の方法。前記戻りアドレスおよびインジケータ値を記憶する前記ステップは、同一のリンクレジスタ内に前記値を記憶することを含む、請求項16に記載の方法。前記戻りアドレスおよびインジケータ値を記憶する前記ステップは、前記値をスタックに記憶することと、分岐命令からの戻りに応じて、前記スタックから前記値を読み出すこととを含む、請求項16に記載の方法。前記少なくとも1つのさらなる命令セットのうちの1つを示す前記インジケータ、および前記少なくとも1つのさらなる命令セット内に復号規則がないオペレーションコードを有する命令の受信に応じて、例外を生成するステップを含む、請求項14~18のいずれか1項に記載の方法。前記命令復号器が復号規則を有しないさらなる命令セットを示す値に遷移する前記インジケータ値を検出することに応じて、例外を生成するステップを含む、請求項14~19のいずれか1項に記載の方法。データ処理装置上で実行するコンピュータプログラムによって提供されるバーチャルマシンであって、請求項1~12のいずれか1項に記載のデータ処理装置によって命令実行環境を提供する、バーチャルマシン。データプロセッサ上で実行するとき、前記データプロセッサを制御し、状態レジスタ内のインジケータ値を命令セット更新命令によって示された値に設定する、命令セット更新命令を備え、前記データプロセッサの復号器が、基本的な復号規則のセットによって基本的な命令のセットからの命令を示すオペレーションコードを有する命令を復号し、前記インジケータ値によって判定される復号規則のセットによってさらなる命令のセットからの命令を示すオペレーションコードを有する命令を復号する、コンピュータプログラム製品。命令を復号するための命令復号手段と、命令復号手段によって復号された命令に応じて、データを処理するための処理手段と、を備え、前記命令復号手段は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するためのものであり、前記基本命令セットは、それぞれの命令が前記命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、前記少なくとも1つのさらなる命令セットは、それぞれの命令が前記少なくとも1つのさらなる命令セット内の前記命令を識別するためのオペレーションコードを含む、複数の命令を含み、前記命令復号手段は、基本的な復号規則のセットによって前記複数の定義済みのオペレーションコードのうちの1つを有する命令を復号し、かつ前記少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって、前記少なくとも1つのさらなる命令セットの前記オペレーションコードのうちの1つを有する命令を復号するためである、データを処理するための手段。図1~9を参照して実質的に本明細書に上記される、データ処理装置。図1~9を参照して実質的に本明細書に上記される、方法。図1~9を参照して実質的に本明細書に上記される、バーチャルマシン。図1~9を参照して実質的に本明細書に上記される、コンピュータプログラム製品。符号化空間を過度に増大せず、かつユーザが自身の命令を定義するための可能性を認めつつ、複数の命令セットを提供するのを可能にすることが望ましいであろう。第1の態様から見ると、本発明は、命令を復号するための命令復号器と、該命令復号器によって復号された命令に応じてデータを処理するためのプロセッサとを備え、該命令復号器は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するように構成され、該基本命令セットは、それぞれの命令が該命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、該少なくとも1つのさらなる命令セットは、それぞれの命令が該少なくとも1つのさらなる命令セット内の該命令を識別するためのオペレーションコードを含む、複数の命令を含み、該命令復号器は、基本的な復号規則のセットによって該複数の定義済みのオペレーションコードのうちの1つを有する命令を復号し、かつ該少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定される復号規則のセットによって該少なくとも1つのさらなる命令セットの該オペレーションコードのうちの1つを有する命令を復号するように構成される、データ処理装置を提供する。本発明は、ユーザが自身の命令を定義できる符号化空間を提供するのが有利であることを認識するが、常に復号することができる基本的な命令セットがある場合、有利であることも認識する。それは、命令復号器が基本的な規則のセットおよび少なくとも1つのさらなる命令セットによって復号し、この復号器がインジケータ値によって判定される規則のセットによって復号する、基本的な命令のセットを提供することによってこれらの競合する要求に対処する。このようにして、インジケータ値の単純な使用によって、異なる規則によって復号される多くの異なる命令セットを提供することができる。これは、同一の符号化は、インジケータ値によって選択され、かつ示される命令セットによって、異なる命令を定義するために使用することができることを意味する。このようにして、システムのユーザは、自身の命令を定義することができ、これらの命令は、インジケータ値がこの使用を動作させる復号規則を有することができる。基本的な命令のセットが常に復号することができるように、基本的な命令のセットを、およびインジケータビットが適切に設定される場合に復号することができる、さらなる命令を、提供することによって、常に定義される命令を有する有利性および非常に多数のさらなる命令を有する可能性は、符号化空間を過度に増大せずに提供される。一部の実施形態では、該命令復号器は、共通する少なくともいくつかのオペレーションコードを有する、少なくとも2つのさらなる命令セットを復号するように構成される。さらなる命令セットの符号化空間は、異なる命令セット内の命令のオペレーションコードが同一であるが異なる命令にマッピングするように共有される場合に有利である。これは、符号化空間の効果的な使用であり、インジケータ値の使用により、多くの異なる命令を定義することができることを意味する。一部の実施形態では、該データ処理装置は、該インジケータ値を記憶するための状態レジスタを備える。インジケータ値を多くの場所に記憶することができるが、一部の実施形態では、状態レジスタ内に記憶される。これは、それを記憶するための便利な場所であり、容易に設定され、かつ読み出されることを可能にする。一部の実施形態では、該命令復号器は、該基本的な命令のセットからの命令である、命令セット更新命令に応じて、該状態レジスタ内に記憶された該インジケータ値を該命令内の指定された値に設定する。インジケータ値は、命令セット更新命令によって更新されてよい。このようにして、特定の命令のセットを使用するのを望むプログラマは、この命令のセットを示すためにインジケータ値を単純に更新することができ、その後、復号器は、インジケータ値によって示された復号規則によってさらなる命令セットの復号空間内の命令を復号する。新しい命令のセットが必要とされるとき、次に命令セット更新命令は、新たな必要とされる命令セットを示すためのインジケータ値を変更するために再び単純に使用される。一部の実施形態では、該プロセッサは、該プログラムストリームが分岐することを示す分岐命令に応じて構成され、戻りアドレスおよび該インジケータ値を、該分岐から戻ると、該戻りアドレスおよびインジケータ値を復元することができるように、記憶する。このサブルーチンは異なるさらなる命令セットを使用するかもしれないので、プログラムがサブルーチンに分岐する場合に、潜在的な問題が生じる場合がある。この問題に対処するために、分岐が終了した後にプログラムが戻る必要がある次の命令のアドレスを示す戻りアドレスを記憶することに加えて、現在のインジケータ値はまた、インジケータ値がサブルーチンの間に変更される場合、プログラムがサブルーチンから戻るときに、その初期値にリセットされるように記憶される。一部の実施形態では、該データ処理装置は、該分岐前に該インジケータ値をリセットするように構成される。インジケータ値は分岐で変化がないままであるかもしれないが、一部の実施形態では、データ処理装置は、分岐前にそれをリセットするように構成される。サブルーチンは、プログラムが分岐するとき使用されているさらなる命令セットを使用しない場合があり、分岐する前にインジケータ値をリセットするのが便利である場合がある。しかし、基本的な命令のセットをさらに復号することができるとき、それをそのままにしておくことが便利である場合があり、異なるさらなる命令セットが必要とされる場合、いかなる場合でもインジケータ値がリセットされる必要がある。一部の実施形態では、該戻りアドレスおよびインジケータ値は、同一のリンクレジスタ内に記憶される。戻りアドレスおよびインジケータ値を記憶する1つの方法は、リンクレジスタ内でそれらを記憶することである。本発明の実施形態では、リンクレジスタは、インジケータ値および戻りアドレスの両方を記憶するのに十分な広さがあり、したがって、これは、アクセスするのに容易である位置にこれら2つの値を記憶する効率的かつ効果的な方法である。一部の実施形態では、該リンクレジスタの該上位有効ビットが該インジケータ値を記憶し、該下位有効ビットが該戻りアドレスを記憶する。リンクレジスタの最上位ビットは、戻りアドレスを記憶する必要がない場合があり、したがってインジケータ値を記憶するために便宜的に使用することができる。他の実施形態では、該戻りアドレスおよびインジケータ値は、該分岐に応じてスタックに記憶され、該分岐から戻ると、該スタックから読み出される。戻りアドレスおよびインジケータ値は、本実施形態がリンクレジスタを使用しない場合、分岐に応じてスタックから押し出される可能性がある。そのような場合、分岐から戻ると、それらは、スタックから読み直される。一部の実施形態では、該命令復号器は、該少なくとも1つのさらなる命令セットのうちの1つを示す該インジケータ、および該少なくとも1つのさらなる命令セット内に復号規則がないオペレーションコードを有する命令の受信に応じて、例外を生成する。データ処理装置は、復号規則を有しないオペレーションコードがある命令セットを指定するインジケータ値にトラップを仕掛けて構成されてよい。そのような場合、例外が生成され、次に、処理装置は、復号規則がない命令によって指定されるオペレーションコードがある原因を特定することができる。一部の実施形態では、該命令復号器は、該命令復号器が復号規則を有しないさらなる命令セットを示す値に遷移する該インジケータ値を検出することに応じて、例外を生成する。代替的および/または追加的に、データ処理装置は、命令復号器が復号規則を有しない値にインジケータ値が遷移するとき、判定するために構成されてよい。そのような場合、例外が生成され、ここでもプロセッサは、このエラーが生じた原因を判定する。一部の実施形態では、該基本的な命令のセット内の命令の該定義済みのオペレーションコードは、所定の基本符号化空間内にあり、該少なくとも1つのさらなる命令セットの該オペレーションコードは、所定の拡張符号化空間内にある。命令セットおよびさらなる命令セットの両方の使用は、基本命令セットの基本符号化空間および複数のさらなる命令セットを符号化するために使用されるさらなる符号化空間を使用することによって便宜的に符号化されることができる。このようにして、さらなる命令空間からの任意のオペレーションコードは、どの命令セットがその中にあるのかに応じて特定の命令を指定するために使用することができる。それが中にある命令セットは、インジケータ値によって示され、このインジケータ値は、適切な復号規則のセットを使用するために復号器を動作させる。一部の実施形態では、複数の異なるインジケータ値は、該少なくとも1つのさらなる命令セットのうちの1つを識別する。一部の実施形態では、命令セットを識別するための単一のインジケータ値があってよいが、他の実施形態では、多くの異なるインジケータ値があってよい。例えば、プロセッサが負のアドレスを支援する場合、2によって示される命令セットが、負のアドレスまたは正のアドレスのいずれが現在、支援されているかどうかに応じて2または-2によって示すことができると便利であるかもしれない。本発明の第2の態様は、命令を受信することと、該命令のオペレーションコードが基本的な命令のセットからの命令のオペレーションコードである場合、該基本的な命令のセットの復号規則によって該命令を復号することと、該命令の該オペレーションコードが少なくとも1つのさらなる命令のセットからの命令のオペレーションコードである場合、該少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって該命令を復号することとを含む、異なる命令セットから命令を復号する方法を提供する。本発明の第3の態様は、データ処理装置上で実行するコンピュータプログラムによって提供され、本発明の第1の態様に記載の該データ処理装置によって命令実行環境を提供する、バーチャルマシンを提供する。本発明の第4の態様は、データプロセッサ上で実行するとき、該データプロセッサを制御し、状態レジスタ内のインジケータ値を命令セット更新命令によって示された値に設定する、命令セット更新命令を備え、該データプロセッサの復号器が、基本的な復号規則のセットによって基本的な命令のセットからの命令を示すオペレーションコードを有する命令を復号し、かつ該インジケータ値によって判定される復号規則のセットによってさらなる命令のセットからの命令を示すオペレーションコードを有する命令を復号する、コンピュータプログラム製品を提供する。本発明の第5の態様は、命令を復号するための命令復号手段と、命令復号手段によって復号された命令に応じて、データを処理するための処理手段とを含み、該命令復号手段は、基本命令セットおよび少なくとも1つのさらなる命令セットを含む、複数の異なる命令セットからの命令を復号するためであり、該基本命令セットは、それぞれの命令が該命令を一意的に識別するための定義済みのオペレーションコードを含む、複数の命令を含み、該少なくとも1つのさらなる命令セットは、それぞれの命令が該少なくとも1つのさらなる命令セット内の該命令を識別するためのオペレーションコードを含む、複数の命令を含み、該命令復号手段は、基本的な復号規則のセットによって前記複数の定義済みのオペレーションコードのうちの1つを有する命令を復号するため、かつ該少なくとも1つのさらなる命令のセットのうちのどれが現在、復号されるべきであるかを示すインジケータ値によって判定された復号規則のセットによって、該少なくとも1つのさらなる命令セットの該オペレーションコードのうちの1つを有する命令を復号するためである、データを処理するための手段を提供する。図1は、プロセッサ12を有するデータ処理装置10を示す。命令を有するプログラムがデータストア20内に記憶され、これらの命令がフェッチユニット16によりフェッチされ、復号器14に送信される。復号器14は、命令を復号し、復号された命令を実行のためのプロセッサ12に送信する。この実施形態では、復号器14は、基本的な復号規則のセットによって基本的な命令のセットからの命令を復号し、かつそれらの特定の命令のセットに固有の復号規則によって複数のさらなる命令のセットのうちの1つから命令を復号するように構成される。したがって、復号器14は、レジスタバンク30内の状態レジスタ32内に記憶される命令セットインジケータ値ISASELおよび異なるインジケータ値に関連する複数の復号規則へのアクセスを有する。インジケータ値は、さらなる命令のうちのどのセットが現在、復号器14によって復号されるべきかを示し、この値に応じて、復号器は、さらなる命令セット符号化空間内の命令に対する適切な復号規則を選択し、それに応じてそれらを復号する。データ処理装置10は、後述の図に関して記載されるように分岐しているとき、プロセッサが戻りアドレスおよびインジケータ値を記憶するために使用するスタック40も備える。図2は、本発明の実施形態による復号器14を図式的に示す。命令の符号化の符号化空間は、ブロック50によって図式的に示される。これは、基本的な命令のセットのオペレーションコードに使用される基本符号化空間があり、かつさらなる命令セットのオペレーションコードに使用される拡張符号化空間があることを図示する。したがって、それぞれのさらなる命令セットは、それのオペレーションコードに対する拡張符号化空間全体を使用することができる。これは、拡張符号化空間内にある任意の命令を正しい規則によって復号することができるように、どの命令セットが現在、復号されているかの表示が復号器に提供される限り、可能になる。これは、復号器内に記憶される基本復号規則60を有する復号器14によって図2に図式的に示される。これらの復号規則は、基本符号化空間内の符号化を復号し、復号器は常に、これらへのアクセスを有する。拡張符号化空間内の符号化に関する他の復号規則は、62、64、および66としてこの図に図式的に示される。復号器14は、マルチプレクサ72を介してこれらの復号規則へのアクセスを有する。復号器14によって使用するための復号規則のセットは、図1の状態レジスタ32内に記憶される命令セット識別子またはインジケータ値70に応じてマルチプレクサ72によって選択される。この識別子は、どの特定の命令セットが現在、使用されているか、したがって、どの復号規則が拡張符号化空間内にある任意の命令に対して使用されるべきかを示す。このように、多くの異なる命令は、比較的小さな拡張符号化空間内で符号化することができ、インジケータ値が適切に設定される限り、復号器14によって復号されることができる。さらに、復号器14は常に、基本命令セットからの任意の命令を復号することができる。図3は、本発明の実施形態によるデータ処理装置10の一部分を図式的に示す。この図では、どのように命令セットインジケータ値ISASELが状態レジスタ70内に位置されるか、かつどのようにプロセッサ12が命令セット更新命令に応じてこの値を設定できるかを知ることができる。したがって、命令セット更新命令に応じて、この命令によって示される値は、状態レジスタ70に書き込まれる。次に、この値は、復号器14によって使用され、拡張符号化空間内にある命令のための復号規則を選択し、それらが関係するさらなる命令セットを示す。レジスタバンク30は、プログラムストリームが分岐するとき、現在の命令セットインジケータ値および戻りアドレスを記憶するために使用される分岐リンクレジスタ72も含む。プログラムが分岐するとき、それは、元のプログラムストリームに戻すことができるようにする必要があり、したがって、戻りアドレスが常に記憶される。しかし、本発明の実施形態では、復号することができる異なる命令セットがあるように、現在の命令セットインジケータ値は、プログラムが分岐し、それによりプログラムが元のストリームに戻るとき、復号器が正しい復号規則を使用することができるように、記憶されることが重要である。したがって、戻りアドレスを記憶することに加えて、命令セットインジケータ値もまた記憶される。分岐リンクレジスタのサイズおよびアドレスのサイズにより、戻りアドレスおよびインジケータ値の両方を記憶するための分岐リンクレジスタ内に便宜的に十分な空間がある。この実施形態では、単一の分岐リンクレジスタ72のみがあり、したがって、プログラムが再び、分岐する場合、レジスタ内のデータがスタック40に書き込まれ、次に、分岐リンクレジスタは、分岐時に次の戻りアドレスおよび現在の命令セットインジケータ値で上書きされることに注目すべきである。図4は、データ処理装置10の一部分を示し、プロセッサによって支援されない命令セットインジケータ値ISASELをどのように検出し、トラップを生成することができるかを示す。したがって、この実施形態では、命令セット更新命令に応じて、プロセッサ12は、新しいISASEL値をレジスタ72に送信し、記憶された値を更新する。この新しい値は、コンパレータ90を通過し、ストア80内に記憶されたISASEL値のセットで比較される。ストア80は、あらゆる可能な命令セット値を記憶し、したがって、一致がない場合、不一致信号がコンパレータ90によって送信され、これは、例外を生成する。一致がある場合、次に、コンパレータ90は、インジケータ値をレジスタ72に送信し、ISASELの新しい値が設定される。図5は、分岐命令を含む実行されている命令のストリームを図式的に示す。したがって、この実施形態では、関数2で分岐があり、リンクレジスタが戻りアドレスを記憶し、この場合、0である現在の命令セットインジケータは、さらなる命令セットが現在、支援されていないことを示す。次に、分岐が飛び越すサブルーチンが実行され、このサブルーチンが命令セットインジケータ値を3に設定し、インジケータ値3によって指定されたさらなる命令セットからの命令を使用するのを望むことを示す。次に、命令セットは、再び分岐し、ここで、リンクレジスタは、この分岐の戻りアドレスを記憶するために更新され、3のインジケータは、プログラムが命令ストリームのこの部分に戻るとき、命令セットインジケータ値が3にリセットされるべきであることを示す。この実施形態では、単一リンクレジスタのみがあり、したがって、リンクレジスタ内にすでに記憶された値は、新しい値で上書きされているこのリンクレジスタより前にスタックに押し出されることに注目すべきである。次に、飛び越されたサブルーチンが実行され、このサブルーチンは、4によって指定されたさらなる命令セットが使用されるべきであることを示す命令セット更新命令を含む。したがって、命令セットインジケータ値が4に設定される。このサブルーチンの最後部の戻り命令に応じて、リンクレジスタからの値は、戻りアドレスに関するプログラムカウンタ、および、この場合、3である、インジケータ値に関する状態レジスタにロードされる。図6は、分岐リンクレジスタを有しない処理装置内の分岐サブルーチンを図式的に示す。この場合、元の命令ストリームは、命令セットインジケータ値を3に設定し、したがって、分岐命令に応じて、このインジケータ値は、戻りアドレスとともにスタックに押し出される。サブルーチンから戻ると、インジケータ値は、スタックから外へポップされ、状態レジスタ70に記憶され、戻りアドレスは、プログラムカウンタ内に記憶される。図7は、本発明の実施形態による復号命令の方法を図示するフロー図を示す。命令が復号器で受信され、復号器は、命令のオペレーションコードから、命令が基本命令セットからであるか否かを判定する。命令が基本命令セットからである場合、復号器は、基本命令セット復号規則によって命令を復号する。命令が基本命令セットからでない場合、命令は、さらなる命令セットからである必要があり、復号器は、状態レジスタ内のインジケータ値を読み出し、この命令がどのさらなる命令セットから生じたか判定する。次に、復号器は、このインジケータ値によって示される復号規則によって命令を復号する。図8は、本発明の実施形態による命令を処理しているとき、実施される方法におけるステップを示す。初めに、命令セット更新命令が受信され、この命令に応じて、インジケータ値が設定される。このインジケータ値に応じて、さらなる命令セット符号化空間からの命令は、インジケータによって識別された復号規則によって復号される。次に、分岐命令が受信され、現在のインジケータ値および戻りアドレスが記憶される。分岐によって示された命令は、その後飛び越され、次の命令が実行される。これらの命令は、インジケータ値を更新するための命令を含み、したがって、インジケータ値が更新される。分岐からの戻りが示されるとき、インジケータ値は、記憶された値から、分岐および戻りアドレスもまたストアから読み出され、プログラムカウンタをリセットするために使用される前に、有した値に復元される。図9は、使用される場合があるバーチャルマシン実装を図示する。先に記載された実施形態は、関心のある技法を支援する特定の処理ハードウェアを動作させるための装置および方法の観点から、本発明を実装する一方、また、ハードウェアデバイスのいわゆるバーチャルマシン実装を提供することも可能である。これらのバーチャルマシン実装は、バーチャルマシンプログラム510を支援するホストオペレーティングシステム520を実行するホストプロセッサ530上で実行される。妥当な速度で実行するバーチャルマシン実装を提供するためには、典型的に、大きく強力なプロセッサが必要とされるが、そのような手法は、別のプロセッサに固有のコードを実行することを所望する際等の特定の状況においては、互換性または再利用の理由から正当化される。バーチャルマシンプログラム510は、アプリケーションプログラム500に、バーチャルマシンプログラム510によってモデル化されているデバイスである実際のハードウェアによって提供されることになるアプリケーションプログラムインターフェースと同一である、アプリケーションプログラムインターフェースを提供する。したがって、上述されるメモリアクセスの制御を含むプログラム命令は、それらのバーチャルマシンハードウェアとの対話をモデル化するために、バーチャルマシンプログラム510を使用して、アプリケーションプログラム500内から実行されてもよい。本発明の様々なさらなる態様および特徴は、添付された特許請求の範囲に定義される。本発明の範囲から逸脱することなく、本明細書に上記される実施形態に様々な変更を行うことができる。