汎用レジスター(GPR)の一時保管

昔は数ワードの保管域を作業域に確保したり、GR13がポイントするRSAを一時的に使ったりしたが、24または31ビット・アドレッシング・モードのプログラムであればz/Architecture以降なら64ビットGPRの高位ワードやアクセス・レジスターを利用することもできる。(アクセス・レジスターはESA/390以降で利用可)下記に示す命令はモーダル命令ではないのでアドレッシング・モードは関係ない。

GPRの下位ワードを全く別の値に変更して使用し、使い終わったら元に戻す

GPRの下位ワードを上位ワードに移動する。下位ワードはゼロになるので、そこに別の値をロードして使う。使い終わったら逆にシフトして元の下位ワードの値を元に戻す。

GPRの下位ワードをARにコピーしてから元の値を使用し、使い終わったら元に戻す

GPRの下位ワードをARに複写する。下位ワードは変わらないので、そのまま使うことができる。使い終わったらARから逆コピーして元の下位ワードの値を元に戻す。

モジュール間連携にリンケージ・スタックを使っていれば、復帰時のPR命令でGPRとARの2番~14番の内容は復元される(15番~1番は必要に応じてEREGG命令で復元できる)。リンケージ・スタックを使っていなくても、64ビットでもなくクロスメモリーも使わない一般的なプログラムであれば、64ビットGPRの高位ワードやアクセス・レジスターを壊してもその実行に支障が出ることは基本的にない。