"元のプロセッサ用に作成されたプログラムコードのエミュレーションにおいてベースレジスタ相対アドレス指定を有する少なくとも2つの命令を目標プロセッサのプログラムコードに変換する方法であって、前記元のプロセッサは、巡回アドレス空間においてnビット長のアドレスを使用し、前記目標プロセッサは、mビット長のアドレスを使用し、mはnよりも大きく、前記目標プロセッサは、より低い値minと、より高い値maxとの間に位置する距離値でのベースレジスタ相対アドレス指定を可能にし、以下の工程に記載したアドレスオペランドの変換が前記目標プロセッサ上の意味論的に同等な挙動につながり、ベースレジスタRに対する第1のオフセットD1で生じるアドレスオペランドで前記元のプロセッサの第1の命令を変換する工程と、前記第1のオフセットD1以上であり、差max-min未満であるオフセットD及び前記ベースレジスタRの内容の和を形成することにより、前記目標プロセッサ上の投影アドレスを判定する工程と、nビットの長さを有するアドレスを有する巡回アドレス空間に和を投影する工程と、前記投影アドレス及び前記第1のオフセットD1の和からオフセットDを引いたものとして前記目標プロセッサ上の第1のアドレスを求める工程と、前記第1のアドレスを前記アドレスオペランドとして、前記目標プロセッサ上で、変換された第1の命令を実行する工程と、ベースレジスタRに対する第2のオフセットD2で生じるアドレスオペランドで前記元のプロセッサの第2の命令を変換する工程と、前記投影アドレス及び前記第2のオフセットD2の和から前記オフセットDを引いたものとして前記目標プロセッサ上の第2のアドレスを求める工程と、前記第2のアドレスを前記アドレスオペランドとして、前記目標プロセッサ上で、変換された第2の命令を実行する工程とを含む方法。請求項1記載の方法であって、前記投影されたアドレスが前記目標プロセッサのレジスタrpに確保され、前記目標プロセッサ上のベースレジスタ相対アドレス指定を有する前記変換された命令のうちの少なくとも1つが、前記ベースレジスタとして前記レジスタrpに対するベースレジスタ相対アドレス指定を有する命令である方法。請求項1又は2に記載の方法であって、前記元のプロセッサの並列のアドレス空間が前記目標プロセッサのアドレス空間における別個のアドレス空間にマッピングされる方法。本発明の課題は、元のプロセッサ及び目標プロセッサの異なるサイズのアドレス空間が正しく考慮に入れられ、できる限り、少ない更なる命令により、効果的なエミュレーションを同時に可能にするエミュレーションにおいてベースレジスタ相対命令を変換する方法を規定することである。前述の課題は、本出願の独立請求項の特徴を備えたエミュレータ及び方法によって解決される。効果的な構成及び精緻化は、それぞれの独立請求項に記載している。本発明による方法は、実施例の具体例及び図を参照して以下に詳細に説明する。図の以下の説明では、元のプロセッサのベースレジスタは、参照符号としてRでマーキングされ、目標プロセッサのレジスタはrでマーキングされる。別々のレジスタriを区別するためにインデクスを使用することが可能である。単純にするために、参照シンボルR及びrは、それぞれのレジスタを表し、式又は算出では、それぞれのレジスタ内容を表す。元のプロセッサ又は目標プロセッサの距離値は、参照符号としてD又はdを呈する。別々の距離値は、インデクス例えば、D1、D2を規定することによって区別される。括弧内の表現は、上記表現によって指定されたアドレスの実効アドレスの、当該プロセッサによって自動的に実行される判定を表す。実効アドレスが算出される当該アドレス空間におけるアドレスの長さは、前述の場合、括弧において示すことが可能である。よって、[2165]n=16という表現は、16ビット幅の巡回アドレス空間において、アドレス値2165が実効アドレスに変換されることを意味する。したがって、ラップアラウンドは、上述の例の場合に行われるので、特定された表現は、5という実効アドレスにつながる。図1は、ベースレジスタ相対アドレス指定により、命令を変換する方法の第1の実施例の具体例のフロー図を示す。図示した方法は、元のプロセッサのために作成されたプログラムコードの目標プロセッサ上のエミュレーションの一部として実行される。エミュレーションは、元のプログラムコードにおける命令を個々に連続して、目標プロセッサのプログラムコードに変換し、それを直接、実行解釈することが可能である。エミュレーションを加速化させるために、特に、プログラム構成部分の複数の実行が期待される場合、例えば、ループ構造の場合、プログラムコードの少なくとも一部の動的変換であり得る。この場合、元のプログラムの頻繁に実行される部分は、動的にすなわち、エミュレーション中に変換され、目標プロセッサの作業メモリに記憶され、必要な場合、複数回、エミュレータの制御下で目標プロセッサ上で最終的に直接実行される。元のプロセッサ及び目標プロセッサは、異なったサイズのアドレス空間を有する。アドレス空間のサイズの単純化された表示の場合、幅又はビット幅という語は、以下においてレジスタのみに使用されるのみならず、アドレス空間にも使用される。nビットの幅を有するアドレス空間は、長さnのアドレスをそのアドレス空間におけるアドレス指定に使用することが可能である。以下の実施例の具体例の全てでは、元のプロセッサはnビットの幅のアドレス空間を有し、目標プロセッサはmビットの幅を有するアドレス空間を有する。ここで、mはnよりも大きい。更に、元のプロセッサのアドレス空間は巡回的であり、目標プロセッサのアドレス空間は巡回的であり得るが、そうでなくてもよい。第2のアドレス空間が同様に巡回的なより一般的なケースは、以下で仮定する。第1の工程S1では、ベースレジスタR及びオフセットD1を有する、元のプログラムコードにおける第1のベースレジスタ相対命令が読み込まれる。目標プロセッサ上での実行のためにこの命令を変換するために、べースレジスタRの内容を有するレジスタrが第2の工程S2において作成される。このレジスタrはよって、ベースレジスタRをトラッキングする。ベースレジスタRは一般に、プログラムの内部では変更されない。工程S2はしたがって、通常、第1のベースレジスタ相対命令に関して、プログラムのエミュレーション中に一度のみ必要である。その後の工程S3では、工程S1で読み出された命令のオフセットD1及びレジスタrの内容の和が形成され、目標プロセッサのレジスタr1に割り当てられる。フロー図に示す単純な総和rD1の代わりに、レジスタr1の内容は、目標プロセッサのmビット幅のアドレス空間における実効アドレスとしてすなわち、[rD1]mとして算出することも可能である。特に、第2のアドレス空間がやはり巡回的に構成された場合、実効アドレス値でレジスタをロードするために利用可能な特殊プロセッサ命令が通常、存在している。後続する工程S4では、レジスタr1の内容が、アドレス長nを有するアドレス空間すなわち、元のプロセッサのサイズを有するアドレス空間に投影される。この投影は、値2nでの除算の剰余を得ることによって行われ、これは、一般に、モデュロ演算として表される。後続工程S5では、工程S3及びS4において求められた投影アドレスを有するエミュレートされた第1の命令は、レジスタr1を介した間接アドレス指定による命令として目標プロセッサ上で実行される。エミュレーションの更なる過程では、元のプロセッサのプログラムコードからの第2のベースレジスタ相対命令が工程S6で読み込まれる。この第2の命令はやはり、ベースレジスタRに対して相対的であり、更に、この内容は工程S1から変わっておらず、オフセットD2を有するものとする。後続工程S7では、第2の命令は、第2のオフセットD2から第1のオフセットD1を引いた差、及び、レジスタr1になお記憶された投影アドレスの和として構成される。よって算出された第2のアドレスはレジスタr2に記憶される。工程S3におけるように、第2のレジスタr2の内容は、目標プロセッサのmビット幅のアドレス空間における実効アドレスとして得ることが可能である。最後に、後続工程S8では、レジスタr2に記憶された、エミュレートされた第2のアドレスを有するエミュレートされた第2の命令は、間接アドレス指定による命令として実行される。図1の説明では、変換された命令シーケンスは、解釈モードにおいて直ちに実行されるものとする。あるいは、既に示したように、再変換又は解釈動的変換なしで一回又は好ましくは複数回、後に実行することができるために、変換を実行し、当初、獲得されたプログラムコードを記憶することも同様に考えられる。元のプロセッサのアドレス空間のより小さなビット幅を、ベースレジスタ相対命令毎のモデュロ演算の使用及び加算により、考慮に入れなければならない既知の手法と比較して、これは、第1の命令の変換においてここで提示する手法においてのみ行わなければならない工程S3及びS4。第2の命令の実効アドレスは、単純な加算によってのみ求められる工程S7。エミュレーションの実行時間は、モデュロ演算のセーブによって削減される。このことは、ループのために第2の命令を複数回実行する場合、又は、第2の命令の実効アドレスと同様に実効アドレスを求めることが可能な元のプログラムコードにおいて更なる命令が続く場合に特にあてはまる。元のプロセッサにおけるベースレジスタ相対アドレス指定を有する命令における距離値Dの場合、通常、利用可能な限定的な値の範囲が存在しており、このサイズは、アドレス空間のサイズに比べて、かなり小さい場合が大きい。許容される値の範囲の境界がmin及びmaxで表される場合、結果は、min≦D≦maxである。例えば、IBMによるモデルS/390プロセッサの場合、値範囲は0≦D≦409512ビットである。工程S8における第2の命令は特に、ベースとしてのレジスタr1及びオフセットとしての工程S7からの差d=D2-D1を有するベースレジスタ相対命令として目標プロセッサ上で事実上実現することが可能である。このようにして差を得ることにより、オフセットdの負の値も存在し得る。よって、目標プロセッサが、特にmin-max≦d≦max-minの範囲内で、ベースレジスタ相対ジャンプについて負の値を可能にする図示した方法が前提条件となる。この状態は、制限なしで231≦d≦231-の範囲での距離値を可能にする、インテル社によるx86シリーズのプロセッサなどの大半の現代のプロセッサにおいて満たされる。0乃至2n-1のアドレスを有する元のプロセッサの実際のアドレス空間のうち、0乃至2n-1-max-minの範囲内のアドレスのみをエミュレートプログラムによって使用することを更に必要とする。前述の制約は、アプリケーションプログラムによって使用されるアドレス空間が相応に制限される規則によって達成することが可能である。別の可能性には、前述の制約が規定されるか、又は監視されるシステムプログラムの使用がある。前述の制約なしで、ラップアラウンドが既に元のプロセッサにおいて行われるが、目標プロセッサにおいては行われないので、除外された範囲におけるアドレスの誤った算出が存在する。しかし、差max-minは通常、アドレス空間のサイズよりもずっと小さいので、これは、実際には不利な制約でない。例において上述したIBMシステムS/390では、max-minは、212バイト=4kBキロバイトである。対照的に、サポートされたアドレス空間のサイズは、224バイト=16MBメガバイト又は231バイト=2GBギガバイトである。元々利用可能であった前述の程度の大きさのアドレス空間のうち、アプリケーションプログラムにもうアクセス可能でないのは、4KBの範囲のみである。アドレス空間の前述の上位メモリ領域は通常、オペレーティングシステム用に予約されており、いずれの場合にもアプリケーションプログラムによって使用されることが可能でない。本発明はこの点を利用する。制限されたアドレス空間の前提状況下では、工程S3において算出される実効アドレスは、メモリアクセスを首尾良く行うために、0≦r1≦2n-1-max-minの範囲になければならない。実効アドレスが工程S7で算出されるすなわち、r2=[D2-D1r1]=D2-D1r1モデュロ2mものとする。アドレスオペランドの変換が、元のプロセッサの意味論を正しくエミュレートするということを検証するために、以下のケースが区別される。a0≦D2-D1r1≦2n-1-max-min元のプロセッサは、実効アドレスモジュロ2n及び目標プロセッサモジュロ2mを算出する。D2-D1r1<2n<2mであるので、何れのプロセッサも同じ実効アドレスD2-D1r1を算出する。bD2-D1r1<0元のプロセッサは実効アドレスを2nD2-D1r1≧2nmax-minとして算出する。これは、制限されたアドレス空間の外にあり、よって、元のプロセッサは、アドレス指定エラーにより、実効を中断する。目標プロセッサは実効アドレスを2mD2-D1r1≧2nmax-minとして算出する。これは、同様に、制限されたアドレス空間の外にあり、よって、元のプロセッサは更に、アドレス指定エラーにより、実効を中断する。よって、何れのプロセッサも、アドレス指定エラーによる中断により、同様に反応する。元のプロセッサが、中断処理のための特殊レジスタにおけるアドレス指定エラーをもたらした実効アドレスを提供した場合、目標プロセッサ上のエミュレーションは、中断処理を読み出す前のモデュロ2nによるエラーにつながった前述の実効アドレスfを補正しなければならない。cD2-D1r1>2n-1-max-minr1、D1、及びD2に対する制約により、2n>D2-D1r1であるので、よって、何れのプロセッサも同じ実効アドレスすなわち、D2-D1r1を算出する。これは、制限されたアドレス空間の外にあるが、何れのプロセッサも、アドレス指定エラーによるプログラム実行を中断する。よって、このケースにおけるアドレスオペランドの変換は、目標プロセッサ上の元のプロセッサの意味論を厳密にエミュレートするということが示された。図1による方法は、例としてベースレジスタ相対アドレス指定を使用したロード命令を含む擬似表現で図2に再現している。以下の図では全て、変換する対象の元のプロセッサのプログラムコードにおける命令は左側に列挙する。以下にプログラムブロックとしても表す元のプロセッサのプログラムコード部分は、Uで始まる参照符号を備える。目標プロセッサについて変換される当該プログラムコードは右側に示す。Zで始まる参照符号は、目標プロセッサのプログラムブロックをラベリングするために使用される。元のプロセッサ及び目標プロセッサの対応する部分は、同じ桁配列を備えた参照符号を有する。示したケースでは全て、目標プロセッサのレジスタrへの元のプロセッサ内のレジスタRの内容の転送は既に行われているものとする。プログラムコード部分Z21は、元のプログラムコードにおける第1のベースレジスタ相対ロード命令U21を目標プロセッサが変換するために生成される。ロード命令U21ld-loadは、オフセットD1及びベースレジスタRの内容によって規定されるアドレスにおけるメモリ内容に関する。括弧で示すように、アドレスは実効アドレスとして算出され、巡回アドレス空間の幅はnビットである。目標プロセッサのプログラムコード部分Z21では、目標プロセッサ内のレジスタrpには、まず、値[D1r]lea-ロード実効アドレスがロードされる。この特殊なロード命令により、rの内容及びD1の和が、実効アドレスとしてすなわち、目標プロセッサにおける幅mの巡回アドレス空間におけるアドレスとして求められる。後続する命令及び論理AND演算では、図1の工程S4からのモデュロ2n演算は、レジスタ内のn番目のビットよりも高次のビット全てをゼロに設定することにより、ビット単位の論理ANDによって実現される。プログラムコード部分Z21の最終命令では、レジスタr1には、レジスタrpに記憶されたアドレスにおけるメモリの内容でロードされる。元のコードでは、後に、第2のべースレジスタ相対ロード命令U22が存在している。目標プロセッサの対応するプログラムコード部分Z22では、ベースレジスタ相対ロード命令が図1の工程S7及びS8と同様に、べースレジスタrpに対し、かつオフセットD2-D1で生成される。ロード命令内で直ちに差の算出を目標プロセッサがプログラムコードにおいて実行する可能性がない場合、オペランドとしてロード命令に、後に転送するために、差D2-D1をまず、中間的に記憶する第2のレジスタを使用することが可能である。プログラムコード部分Z21における第1のロード命令の変換と比較すれば、モデュロ2n演算の命令が、全ての場合において、部分Z22に保存される。図3は、ロード命令の代わりにベースレジスタ相対ジャンプ命令を有する同様な例を示す。プログラムコード部分Z31及びZ32が、元のプログラムコードにおける2つのベースレジスタ相対ジャンプ命令U31及びU32を目標プロセッサが変換するために生成される。U31及びU32におけるジャンプ命令jmp-ジャンプは、ベースレジスタR、並びに、距離値D1及びD2に関係する。目標プロセッサのプログラムコード部分Z31では、目標プロセッサのアドレス空間における第1のジャンプ命令のジャンプアドレスがまず、レジスタrpにおいて、意味論的に正しく求められすなわち、元のプロセッサのアドレス空間に投影され、次いで、このアドレスに対する第1のジャンプが実行される。第2のジャンプは、D2-D1というオフセット及びベースレジスタ値として第1のジャンプアドレスを使用して実行することが可能であり、それにより、直接意味論的に正しい変換に必要なモデュロ演算は再び、第2の命令のために保存することが可能である。先行して提示された実施例の具体例は、線形プログラムシーケンスに関する。例えば、図2及び図3のプログラム部分U22及びU32にはそれぞれ、必然的に、プログラム部分U21が先行する。相応に、プログラム部分Z21及びZ31は、対応するプログラム部分Z22及びZ32の前に確かに実行され、それにより、レジスタrpが正しい値すなわち、第1のロード又はジャンプ命令に関するアドレスに設定される。後続する実施例の具体例は、これがもう必ずしもあたらない、プログラム分岐を有する場合に関する。図4の擬似コードに示すベースレジスタ相対ロードコマンドを変換する方法では、代替的に実行される2つのプログラムブロックU41及びU42が、元のプロセッサのプログラムコードにおいて設けられ、そのそれぞれから、ジャンプ標的Mへのロード命令後のジャンプが存在しており、そこで、第3のプログラムブロックU43が実行される。第3のロードコマンドは第3のプログラムブロックU43において実行される。第3のロードコマンドは、ちょうどジャンプ目標Mのアドレスにおけるプログラムコードに必ずしもなくてよく、別のプログラム分岐後でないが、プログラムブロックU43において、後に、位置付けることが可能である。ロード命令は全て、ベースレジスタとしてのレジスタRに関係する。プログラムブロックU41における第1のロード命令はオフセットD1を有し、プログラムブロックU42における第2のロード命令はオフセットD2を有し、プログラムブロックU43における第3のロード命令はオフセットD3を有する。プログラムブロックZ41への第1のプログラムブロックU41の変換の場合、プログラムブロックU21の、プログラムブロックZ21への変換と同様に、元のプロセッサにおけるアドレスのサイズを考慮に入れ、意味論的に正しく算出され、レジスタrpに記憶される。ベースレジスタR及びD3のオフセットにも関係する、プログラムブロックU43における第3のロードコマンドの変換は、相応に、図2のプロックZ22へのプログラムブロックU22の変換と同様に実行する。プログラムブロックZ42における第2のロード命令を変換するために、変換されたプログラムブロックU43における前提が、プログラムブロックU41からの第1のロード命令のオフセットD1がレジスタrpに既に入力されているという点であるということが考慮に入れられる。ジャンプ目標Mへのジャンプの前に、レジスタrpは、プログラムブロックZ41からのジャンプの場合に設定されるように設定されなければならない。プログラムブロックZ43における第3のロード命令は、プログラムブロックZ43にプログラムが達した場所Z41又はZ42と無関係に、全ての場合に正しく算出される。第2のロード命令のロードアドレスがまず、レジスタrpにおいて意味論的に正確に求められ、対応するロード命令がレジスタr1に実行されるということにより、達成される。その後、ジャンプ目標Mへのジャンプが実行される前に、レジスタrpが、加算命令により、D1-D2の差で補正される。よって、プログラムブロックZ43における第3のロード命令のアドレスは、rpD3-D1として算出される。ここで、ここで、rp=rD2D1-D2であり、最初の括弧内の値が、プログラムブロックZ42の第1のロード命令lea...に従い、第2の括弧の値が、第4の命令add...から得られる。これが挿入された場合、結果はジャンプアドレスになる。rpD3-D1=rD2D1-D2D3-D1=rD3であり、これは、ちょうど、第3のジャンプの目標アドレスである。レジスタrpにおけるアドレスを適合させ、補正することにより、更なる2つの命令がプログラムブロックZ42において必要であるが、それに対して、第3のプログラムブロックU43におけるロード命令の単純化された変換が、可能になり、時間集約的命令が避けられる。例えば、プログラムループにおけるように、U43におけるロード命令が複数回実行された場合に特にあてはまる。図5は、図4と同様なプログラム分岐に対する状況を示す。第3のプログラムブロックU53における共通のジャンプ目標Mへの2つのプログラムブロックU51及びU52それぞれからのジャンプが存在している。図4の実施例と違って、ベースレジスタ相対ロード命令は、プログラムブロックU51及びU53にのみ存在する一方、プログラムブロックU52には存在しない。両方のケースにおいてすなわち、プログラムブロックZ51及びZ52からジャンプ目標Mへのジャンプが存在しているので、ベースレジスタrに対する距離D3はレジスタrpに既に存在している。目標コード部分Z53において実行される対象のロード命令の目標アドレスが、よって、事前に求められ、第3のロード命令が、所定の絶対アドレスrpを有するロード命令として実行される。このことを保証するために、レジスタrpにおける第1のロードアドレスの意味論的に正しい変換がプログラムブロックZ51において実行され、第1のレジスタをロードするための対応するロード命令が実行される。ジャンプ目標Mへのジャンプの前に、レジスタrpの内容が、加算命令により、ジャンプ長の差すなわち、D3-D1で補正される。よって、図4のプログラムブロックZ43によるロード命令のアドレスの算出が、ある意味で、予期される。更に、プログラムブロックU53からのロード命令のオフセットD3のロードアドレスは、ジャンプ目標Mへのジャンプが実行される前にプログラムブロックZ52において意味論的に正しく求められ、レジスタrpに記憶される。プログラムブロックU51及びU53からのロード命令の従来の意味論的に正しい直接変換と比較するに、本明細書で示した変換におけるZ52乃至Z53の過程でセーブされないが、Z51からZ53への過程でセーブされる。セーブは、図4の実施例の具体例におけるZ42からZ43への経路上のものと同様である。図6は、やはり擬似コードで、ジャンプ目標Mに達した後に更なるプログラム分岐が行われるプログラムシーケンスにおけるベースレジスタ相対ロード命令の変換を示す。図5の実施例の具体例と同様に、第3のプログラムブロックU63において、代替的に実行可能な2つのプログラムブロックU61及びU62から、共通のジャンプ目標Mへのジャンプ又はプログラムの続きが存在しており、ここで、オフセットD1を有するベースレジスタ相対ロード命令は、プログラムブロックU61において、一プログラム経路においてのみ実行される。プログラム分岐が、第3のプログラムブロックU63において、第4のプログラムブロックU64に、又は第5のプログラムブロックU65に備えられる。前述のブロックはそれぞれ、それぞれの距離値D4及びD5を有するベースレジスタ相対ロード命令を有する。変換は、基本的に、図5の実施例の具体例における変換と同じパターンに応じて行われる。目標Mへのジャンプに既に入っており、更なるロード命令のうちの1つのオフセット、本具体例におけるオフセットD4を有するプログラム部分U64におけるロード命令のオフセットをレジスタrpにおいて考慮に入れる。目標コード部分Z61、Z62、及びZ64への変換はよって、図5の実施例の具体例のブロックZ51、Z52及びZ53における目標コード部分とちょうど一致している。相応に、プログラムブロックZ61から始まる経路上のみの従来の変換と比較してこの変換には利点が存在している。目標コード部分Z65におけるロードアドレスは同様に、一般に、意味論的に正しい変換を介して変換される。この理由で、プログラムコード部分Z65に至る経路上では、利点は全く存在しない。よって、一経路のみすなわち、プログラムブロックZ61からプログラムブロックZ64が、この実施例の具体例において恩恵を受ける。しかし、複雑なプログラムのエミュレーションでは、別々の経路がプログラムの実行時に採られる相対的な頻度を判定又は推定するためにプログラムフロー解析を行うことがよく知られており、慣習的である。確実にされた相対周波数をエミュレータに提供することが可能であるので、厳密に、最も一般的に採られる経路が、上述の方法によって最適にされる。したがって、図6の具体例では、厳密には、2つのプログラムブロックZ64又はZ65のうち、より頻繁に実行されるプログラムブロックが、ロ―ド命令の変換がブロックZ64と同様に単一の命令によって実行することが可能であるように最適にされる。基本的に、本発明の実現形態のためのプログラムフローにおける種々の状況を区別することができるように既知のプログラムフロー解析も使用することが可能である。図7は、図6の具体例と同様に、元のプログラムコードに対して、同じ開始状況の方法の別の実施例を示す。図6の実施例の具体例と違って、目標Mへのジャンプについて、レジスタrpにおいて考慮されるのは、更なるロード命令のうちの1つのオフセットでなく、その代わりに、最大オフセットDMAX=max-minであり、ここで、min及びmaxは、元のプロセッサにおける距離値の許容された値範囲の限度を表す。プログラムブロックZ71及びZ72はよって、ブロックZ61及びZ62にちょうど対応し、オフセットD4のみが最大オフセットDMAXによって置き換えられる。プログラムブロックZ74及びZ75では、その場合、rpをベースレジスタとして、それぞれの距離値D4及びD5について、何れの場合にも、ロードアドレスの判定があり得る。変換中にベースレジスタの特定の内容のラップアラウンドを行い得る場合、最大オフセットDMAXを呈する場合に、確かに行われる。プログラムZ72におけるこのケースの予期により、後続プログラムZ74及びZ75における正しいアドレス判定が確実になる。図6の具体例では、これは、ブロックZ62において処理された後続ブロックZ64についてのみ提供されている。これが、ブロックZ65において完全に意味論的に正しいアドレス判定が存在しなければならなかった理由である。図6の具体例と比較するに、経路Z71乃至Z74上のみならず、経路Z71乃至Z75上でもセーブが達成される。最大オフセットDMAXが、確保されたレジスタrpにおける投影アドレスを求めるために基本的に使用される、この例と同様な手順では、図6乃至図7に示すプログラムシーケンスに限定されない一方、考えられる全てのプログラムシーケンス特に、図2乃至図5に示す実施例の具体例に関して実現することが可能である。本発明の別の構成は、いくつかのアドレス空間を同時に使用するプログラムに関する。例えば、既に述べたIBM社のS/390プロセッサにより、いくつかのアドレス空間の前述の使用が可能である。このケースにおけるベースレジスタRそれぞれの場合、アドレス空間選択レジスタアクセスレジスタAが存在しており、その内容は、選択する対象のアドレス空間の識別子を含む。図8の左側では、ベースレジスタR、オフセットD1及びアクセスレジスタAを有するベースレジスタ相対ロード命令を、元のプロセッサのプログラムブロックU81において示す。並列に使用されるアドレス空間が目標プロセッサ上で知られていない場合が、その代わりに、十分に大容量の単一のアドレス空間例えば、64ビット長のアドレスを伴う場合。すなわち、m=64の場合、ロード命令は、プログラムブロックZ81に示すように目標プロセッサ用に変換することが可能である。目標プロセッサのプログラムコードブロックZ81における最初の2つの命令は、例えば図2のプログラムコードブロックZ21と同様にレジスタrpにおける投影アドレスを求めるために使用される。前述の2つに続く余分に挿入された命令は、エミュレーションのためにアクセスレジスタAがトラッキングされるレジスタaの内容がレジスタrxにロードされる。後続例shlrx,n1-左シフトは、レジスタrxの二進の内容をn1ビットだけ左にシフトさせる。これは、アドレス空間を考慮しない、原始的な実効アドレスに対するa2n1の加算に対応する。ベースレジスタ相対ロード命令は次いで、オフセットとしてのrx及びベースレジスタとしてのrpに変換される。更なるプロセッサの個々の系列アドレス空間がよって、目標プロセッサのアドレス空間の別個の範囲にマッピングされる。目標プロセッサ上のアドレスにおいては、別々の順序で隣同士の位置ビットを占める。前述のアドレス空間それぞれがそれ自身で制限されるので、a2n1...a2n12n-1-max-minの範囲においてのみアドレスがそれぞれ許容可能な場合であり、かつ、任意的には、aにコンパクトに符号化されたアドレス識別子が制限されるので、0<a2n1<2m-max-minである場合、先行する考慮点は全て、Aの内容によって区別されるアドレス空間にも適用する。第1のベースレジスタ相対ジャンプに続く第2のベースレジスタ相対ジャンプの変換における適用による方法によってセーブすることが可能である命令は更に、ld命令及びshl命令を含むので、合計4個の命令をセーブすることが可能である。"