3.7.3 演算器からの 2 長語出力の複数PEメモリオペランドへの書き込み
以下のアセンブリはLM0から 2 長語/サイクルで読み出したデータを、LM1およびGRF1にコピーし、さ
らにALUが出力したフラグ値をマスクレジスタのエントリ 1 番に書き込む。
passa命令(第3.6.12.5節)は 2 長語動作なので、$m0から$m15までのデータは$s0から$s15までに完全に
コピーされる。一方LM1は長語指定なので、各サイクルでALUの 2 長語出力のMSB側 1 長語のみが書か
れる。これは読み出し元の領域で言うと$lm0, $lm4, $lm8, $lm12である。マスクフラグ生成においても
MSB側 1 長語が参照されるので、各サイクルで、$omr1のサイクル番号に対応する箇所には、それぞれ$lm0,
$lm4, $lm8, $lm12が全ビット 0 であれば0b1111が、そうでなければ0b0000が書き込まれることになる。
ここで0b1111などはマスクレジスタエントリのワード方向の 4 ビットを示す(第3.6.2節)。
code:txt
lpassa $llm0v $ln0v $lls0v $omr1