------------------- vsm --------------------
imm i"4" $s0/1000 # s0 に 4 を即値ロード (l1bid の左シフト量として利用)
imm i"7" $s1/1000 # s1 に 7 を即値ロード (peid の下位3bitをマスクするため)
imm i"14" $s2/1000 # s2 に 14 を即値ロード (mabid の下位4bitから3bitをマスク)
imm i"6" $s3/1000 # s3 に 6 を即値ロード (mabid の値を64倍=左シフト6bitするため)
ilsl $l1bid $s0 $nowrite # l1bid を s0(=4) ビット左シフト (×16) し、結果を ALU内部へ (書戻しなし)
iadd $aluf $s128v $s128v # s128v にそのシフト結果(=16×l1bid) を加算する下準備 (ALU内演算)
iand $peid $s1 $nowrite # peid の下位3ビットだけ抽出 (peid & 0b111) → ALU内部
ipackbit $aluf $n0 $nowrite # ALU内部にある値同士をビットパック (詳細は不明だがビット結合用と推測) (書戻しなし)
iadd $aluf $s128v $s128v # s128v に (peid & 0b111)×2 分を加算 (×2 は ipackbit 結果?)
iand $mabid $s2 $nowrite # mabid の下位4ビットから 0b1110(14) と AND → ALU内部
ilsl $aluf $s3 $nowrite # 取り出した mabid & 0b1110 を 6 ビット左シフト (×64)
iadd $aluf $s128v $s128v # s128v に (mabid & 0b1110)×64 分を加算
ipassa $aluf $s132v # 上記加算結果を s132v にパス (最終的なアドレス/オフセットが s132v に格納)
imm i"4096" $ls256v # ls256v に 4096 を即値ロード (アドレス/オフセット計算用)
imm i"1" $r0/1000 # r0 に 1 をロード
imm i"2" $r1/1000 # r1 に 2 をロード
imm i"1025" $r2/1000 # r2 に 1025 をロード
imm i"1026" $r3/1000 # r3 に 1026 をロード
imm i"2049" $r4/1000 # r4 に 2049 をロード
imm i"2050" $r5/1000 # r5 に 2050 をロード
imm i"3073" $r6/1000 # r6 に 3073 をロード