16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

alloc<br />

alloc ─ スタック・フレームの割り当て (Allocate Stack Frame)<br />

書式 : (qp)alloc r 1 = ar.pfs, i, l, o, r M34<br />

説明 : 汎用レジスタ ・ スタック上に新しいスタック ・ フレームが割り当てられ、 以前のファン<br />

クションの状態 (PFS) レジスタがGR r1 に コ ピ ー される。 フ レ ー ム ・ サイ ズの変更値は<br />

即値で指定す る。 GR r1 への書き込み と、 同じ命令グループ内の以降の命令では、 新し<br />

い フ レ ー ム を使用す る。<br />

4 つのパラメ ータ i ( 入力サイ ズ )、 l ( ローカル・サイズ )、 o ( 出力サイ ズ )、 r ( ローテー<br />

ト・サイズ) でス タ ッ ク ・ フ レ ー ムの各エリ アのサ イ ズを指定す る。<br />

図 2-2. スタック・フレーム<br />

GR32<br />

sor<br />

ローカル<br />

sol<br />

フレームのサイズ (sof) は i + l + o に よ っ て決定される。 こ の命令は、 現在のレ ジ ス タ ・<br />

スタッ ク ・ フレームのサイズを増減させる場合があるので注意する。 ローカル ・ サイズ<br />

(sol) は i + l に よ っ て与え ら れる。 入力 と ロ ー カ ル と の間に は実際的な相違はない。 こ れ<br />

らは、 ローカル ・ レジスタがどのよ うに使用されるかについてのヒン トをアセンブラに<br />

示すために別々のオペラ ン ド と して指定でき る。<br />

ローテートするレジスタはスタック ・ フレーム内に収まらなければならず、 それらの数<br />

は 8 の倍数でなければな らない。 この命令で CFM.sor のサイズを変更しよ う と したと き<br />

に、 レジスタ ・ リネーム ・ベース ・ レジスタ (CFM.rrb.gr、 CFM.rrb.fr、 CFM.rrb.pr) のす<br />

べてがゼロでなかった場合は、 予約レジスタ / フィールド (Reserved Register/Field) フォル<br />

トが発生する。<br />

アセンブラでは alloc の無効なオペラン ド の組み合わせを許可していないが、 命令に無<br />

効な組み合わせのエン コ ーデ ィ ングを使用するのは可能である。 96 レジスタを超えるス<br />

タッ ク ・ フレームを割り当てよ う としたり、 スタッ ク ・ フレームよ り大きなサイズの<br />

ローテートやスタック ・ フレームより大きなサイズのローカル・エリアを割り当てよう<br />

としたり、 あるいは、 PR0 以外のプ レ デ ィ ケ ー ト 修飾を指定した り す る と 、 無効操作<br />

(Illegal Operation) フォルトが発生する。<br />

こ の命令は、 同一命令グルー プ内の最初の命令でなければな ら ない。 さ ら に、 こ の命令<br />

は、 スロ ッ ト 0 の後にス ト ッ プ情報がある テンプレ ー ト の命令ス ロ ッ ト 0 または命令ス<br />

ロッ ト 1 のいずれかに入 っ ていなければな ら ない。そ う でない場合は、結果は不定にな る。<br />

使用可能なレ ジ ス タ が足 り ないために必要なフ レ ー ムが割 り 当て ら れない場合は、 ダ ー<br />

ティなレジスタが必要なだけバッキング・ストアに書き込まれるまで、alloc はプロセッ<br />

サをス ト ールさせる。 このよ うな RSE に よ る強制的な格納に よ り 、 次に示す よ う なデー<br />

タ関連のフォル ト が発生する と きがある。<br />

第 3 巻 : 命令リファレンス 3:13<br />

出力<br />

sof

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!