強化用のなぞの文字列です,NitePRだとほぼ必須とうかこれでつくれないと外人にごらぁされます。
JR━―━―━(゚∀゚)━―━―━― マスターはOneHitGamerの方法でみつけられるっぽい(0x03E00008でサーチ)。
全部はテストしてないのでうまくうごかないやつもあるかと。
IJIROCONVERTOR改造して一部たいおうしてみた,判定は未対応
更新日2012/08/20 未テスト(NPR+FC) 使用例
MKVIPS(ASM<->コード変換鶴)
0x0ADDRESS 0x0A200800 j $08802000
0x0ENDSUBR 0x03E00008 jr
#差し替え可能命令
lui t0,$値1
ori t0,t0,$値2
...
lw t0,$0000(t0)
↓
lui t0,$値1' 値2が0x8000以上の場合のみ、値1'=(値1+1)を入れる
lw t0,$値2
//通常
通常書き込み1byte 通常書き込み2byte 通常書き込み4byte
//アライメント無視書き込み
通常書き込み2byte 通常書き込み4byte
2byte演算 4byte演算
//浮動小数
浮動小数変換書き込み
浮動小数即値書き込み
半精度浮動小数即値書き込み
//加算
加減算1byte 加減算2byte 加減算4byte 浮動小数加算(FPU) 浮動小数加算(VFPU) 1回加算(マスク) 1回加算(2重判定)
乗算 浮動小数乗算(FPU) 浮動小数乗算(VFPU)
//判定符号なし
一致1byte 不一致1byte 以下1byte 大也1byte
一致2byte 不一致2byte 以下2byte 大也2byte
一致4byte 不一致4byte 以下4byte 大也4byte
論理積マスク+一致2byte 論理積マスク+不一致2byte 論理積マスク+以下2byte 論理積マスク+大也2byte
大小SLTIU 以下代入 大也代入
//判定符号有り
一致1byte 不一致1byte 以下1byte 大也1byte
一致2byte 不一致2byte 以下2byte 大也2byte
一致4byte 不一致4byte 以下4byte 大也4byte
大小SLTI 浮動小数一致(FPU) 浮動小数一致(VFPU)
以下代入 大也代入
//パッド判定
パッド判定 パッド判定時無効 パッド判定有無
1PADマスク
//アドレス判定符号なし
アドレス比較一致 アドレス比較不一致1byte アドレス比較以下1byte アドレス比較大也1byte
アドレス比較一致2byte アドレス比較不一致2byte アドレス比較以下2byte アドレス比較大也2byte
アドレス比較一致4byte アドレス比較不一致4byte アドレス比較以下4byte アドレス比較大也4byte
//アドレス判定符号有り
アドレス比較一致 アドレス比較不一致1byte アドレス比較以下1byte アドレス比較大也1byte
アドレス比較一致2byte アドレス比較不一致2byte アドレス比較以下2byte アドレス比較大也2byte
アドレス比較一致4byte アドレス比較不一致4byte アドレス比較以下4byte アドレス比較大也4byte
//論理演算
論理和1byte 論理和2byte 論理和4byte
論理積1byte 論理積2byte 論理積4byte
排他的論理和1byte 排他的論理和2byte 排他的論理和4byte
8bitマスク+論理和 16bitマスク+論理和 32bitマスク+論理和
//論理判定
2フラグ
A OR B A AND B A XOR B
A NOR B A NAND B A NXOR B
(A AND B) XOR A (A AND B) XOR B
3フラグ
A OR B OR C A AND B AND C A XOR B XOR C
(B NOR C) AND A (A NOR C) AND B (B NOR C) AND A
(A AND B) XOR (A AND B AND C) (A AND C) XOR (A AND B AND C) (B AND C) XOR (A AND B AND C)
//ポインタ
ポインタ1byte ポインタ2byte ポインタ4byte
多重ポインタ1byte 多重ポインタ2byte 多重ポインタ4byte
//コピー
コピー1byte コピー2byte コピー4byte
ポインタコピー1byte ポインタコピー2byte ポインタコピー4byte
多重ポインタコピー1byte 多重ポインタコピー2byte 多重ポインタコピー4byte
4byte交換 ポインタコピー(指定アドレス→多重) ポインタコピー(多重→指定アドレス) ポインタコピー(アドレス単独)
浮動小数点コピー(FPU) 浮動小数点コピー(VFPU) 浮動小数コピー16byte(VFPU)
4bit左シフトコピー 4bit右シフトコピー
//シリアル
シリアル1byte シリアル2byte シリアル4byte
加減算シリアル1byte 加減算シリアル2byte 加減算シリアル4byte
論理和シリアル1byte 論理和シリアル2byte
論理積シリアル1byte 論理積シリアル2byte
ポインタシリアル1byte ポインタシリアル2byte ポインタシリアル4byte
多重ポインタシリアル 多重ポインタシリアル2byte 多重ポインタシリアル4byte
ポインタ配列1byte ポインタ配列2byte ポインタ配列4byte
コピーシリアル1byte(オフセット=1) コピーシリアル1byte コピーシリアル2byte コピーシリアル4byte
文字列コピー 文字列コピー(ポインタ) 文字列コピー(UTF16) 文字列コピー(ポインタ,UTF16)
ポインタテーブル保存
//シリアルCWC風
シリアル1byte(CWC) シリアル2byte(CWC) シリアル4byte(CWC)
ポインタシリアル1byte(CWC) ポインタシリアル2byte(CWC) ポインタシリアル4byte(CWC)
多重ポインタシリアル(CWC) 多重ポインタシリアル2byte(CWC) 多重ポインタシリアル4byte(CWC)
ポインタ配列1byte(CWC) ポインタ配列2byte(CWC) ポインタ配列4byte(CWC)
ポインタ配列+多重1byte(CWC) ポインタ配列+多重2byte(CWC) ポインタ配列+多重4byte(CWC)
多重ポインタ+配列1byte(FC) 多重ポインタ+配列2byte(FC) 多重ポインタ+配列4byte(FC)
多重+配列+多重ポインタ1byte 多重+配列+多重ポインタ2byte 多重+配列+多重ポインタ4byte
ポインタコピー(CWC) 多重ポインタコピー(FC)
//タイマー
タイマー ループ
//スタック
sp
ra
at
v0
v1
a0
a1
a2
a3
s0
s1
s2
s3
s4
s5
s6
s7
s8
//応用
( ^ω^)
# Write(書き込み)
//1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0xA1090000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$00bb bb=書き込む値
sb t1,$0000(t0)
//2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0xA5090000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$bbbb bbbb=書き込む値
sh t1,$0000(t0)
//4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0xAD090000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t1,$bbbb
ori t1,t1,$bbbb bbbbbbb=書き込む値
sw t1,$0000(t0)
#ANY ADDRESS Write(アライメント無視書き込み)
//アライメント無視2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0xA1090000
0x00002010 0x00094A02
0x00002014 0xA1090001
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$bbbb bbbb=書き込む値
sb t1,$0000(t0)
srl t1,t1,8
sb t1,$0001(t0)
//アライメント無視4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0xA9090003
0x00002014 0xb9090000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t1,$bbbb
ori t1,t1,$bbbb bbbbbbb=書き込む値
swl t1,$0003(t0)
swr t1,$0000(t0)
//アライメント無視2byte演算
0x3C080aaa
0x3508aaaa
0x89090003
0x9A090000
0x3129FFFF
0x**09bbbb
0xA1090000
0x00094A02
0xA1090001
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lwl t1,$0003(t0)
lwr t1,$0000(t0)
andi t1,t1,$FFFF
** t1,t1,$bbbb #**=21 addi,25 addiu ,31 andi,35 ori,39 xori,
sb t1,$0000(t0)
srl t1,t1,8
sb t1,$0001(t0)
//アライメント無視4byte演算
0x3C080aaa
0x3508aaaa
0x3C0Abbbb
0x3549bbbb
0x89090003
0x9A090000
0x012A48**
0xA9090003
0xBA090000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t2,$bbbb
ori t2,t2,$bbbb
lwl t1,$0003(t0)
lwr t1,$0000(t0)
** t1,t1,$bbbb #**=20 add,21 addu,22 sub,23 subu,24 and,25 or,26 xor,27 nor
swl t1,$0003(t0)
swr t1,$0000(t0)
#FLOAT Write(浮動小数書き込み)
//浮動小数変換書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x4409F000
0x00002014 0x4680F7E0
0x00002018 0xE51F0000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t1,$bbbb
ori t1,t1,$bbbb bbbbbbbb=整数
mfc1 t1,$f30
cvt.s.w $f31,$f30
swc1 $f31,$0000(t0)
//浮動小数即値書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0xDF1Fbbbb
0x00002018 0xE91F000C
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
viim.s $730,bbbb bbbb=整数
lv.s $730,$0000(t0)
//半精度浮動小数即値書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0xDF9Fbbbb
0x00002018 0xE91F000C
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
vfim.s $730,bbbb bbbb=半精度浮動小数
lv.s $730,$0000(t0)
# In/Decrement(加減算コード)
//1byte加算
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x212900bb
0x00002010 0xA1090000
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
addi t1,t1,$00bb
sb t1,$0000(t0)
//加算+シリアル,1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x81090000
0x00002010 0x212900bb
0x00002014 0xA1090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lb t1,$0000(t0)
addi t1,t1,$00bb
sb t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//2byte加算
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x2129bbbb
0x00002010 0xA5090000
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
addi t1,t1,$bbbb
sh t1,$0000(t0)
//加算+シリアル,2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x85090000
0x00002010 0x2129bbbb
0x00002014 0xA5090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lh t1,$0000(t0)
addi t1,t1,$bbbb
sh t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//4byte加算
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0Abbbb
0x0000200C 0x354Abbbb
0x00002010 0x8D090000
0x00002014 0x012a4821
0x00002018 0xAD090000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$bbbb
ori t2,t2,$bbbb
lw t1,$0000(t0)
addu t1,t1,t2
sw t1,$0000(t0)
//加算+シリアル,4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0Abbbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x8D090000
0x00002018 0x012a4821
0x0000201C 0xAD090000
0x00002020 0x256BFFFF
0x00002024 0x2108dddd
0x00002028 0x1560FFFA
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$bbbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lw t1,$0000(t0)
addu t1,t1,t2
sw t1,$0000(t0)
addiu t3,t3,$FFFF
addi t0,t0,$dddd
bne t3,zero,$-5
nop
//乗算
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$bbbb
ori t2,t2,$bbbb
lw t1,$0000(t0)
mult t1,t2
mflo t1
sw t1,$0000(t0)
# Test Code(条件判定コード,符号なし)
//1byte一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x91080000
0x00002010 0x150900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lbu t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte不一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x91080000
0x00002010 0x110900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lbu t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte以下
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x91080000
0x00002010 0x0128502B
0x00002014 0x154000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lbu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte大
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x91080000
0x00002010 0x0128502B
0x00002014 0x114000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lbu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//2byte一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x150900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte不一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x110900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte以下
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x0128502B
0x00002014 0x154000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//2byte大
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x0128502B
0x00002014 0x114000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x9D080000
0x00002014 0x150900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lwu t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//不一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x9D080000
0x00002014 0x110900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lwu t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//以下4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x9D080000
0x00002014 0x0128502B
0x00002018 0x154000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lwu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//大4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x9D080000
0x00002014 0x0128502B
0x00002018 0x114000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lwu t0,$0000(t0)
sltu t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//2byte一致+AND有
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x3108cccc
0x00002014 0x150900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
andi t0,t0,$cccc
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte不一致+AND有
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x3108cccc
0x00002014 0x110900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
andi t0,t0,$cccc
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte以下+AND有
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x3108cccc
0x00002014 0x0128502B
0x00002018 0x154000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
andi t0,t0,$cccc
sltu t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte大+AND有
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x95080000
0x00002010 0x3108cccc
0x00002014 0x0128502B
0x00002018 0x114000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lhu t0,$0000(t0)
andi t0,t0,$cccc
sltu t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//アドレス比較一致1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x91090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x910A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lbu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lbu t2,$0000(t0)
bne t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較不一致1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x91090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x910A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lbu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lbu t2,$0000(t0)
beq t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較以下1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x91090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x910A0000
0x00002018 0x012A582B
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lbu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lbu t2,$0000(t0)
sltu t3,t1,t2
bne t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較大1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x91090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x910A0000
0x00002018 0x012A582B
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lbu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lbu t2,$0000(t0)
sltu t3,t1,t2
beq t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較一致2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x95090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x950A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lhu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lhu t2,$0000(t0)
bne t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較不一致2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x95090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x950A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lhu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lhu t2,$0000(t0)
beq t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較以下2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x95090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x950A0000
0x00002018 0x012A582B
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lhu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lhu t2,$0000(t0)
sltu t3,t1,t2
bne t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較大2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x95090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x950A0000
0x00002018 0x012A582B
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lhu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lhu t2,$0000(t0)
sltu t3,t1,t2
beq t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x9D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x9D0A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lwu t2,$0000(t0)
bne t1,t2,$+XX t1 != t2のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較不一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x9D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x9D0A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lwu t2,$0000(t0)
beq t1,t2,$+64 t1=t2のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較以下4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x9D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x9D0A0000
0x00002018 0x012A582B
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lwu t2,$0000(t0)
sltu t3,t1,t2 t3=1(t2>t1),t3=0(t2<=t1)
bne t3,zero,$+XX t3=1のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較大4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x9D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x9D0A0000
0x00002018 0x012A582B
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lwu t2,$0000(t0)
sltu t3,t1,t2 t3=1(t2>t1),t3=0(t2<=t1)
beq t3,zero,$+XX t3=0のときスキップ
nop
OPCODE
OPCODE
...
# Test Code(条件判定コード,符号有り)
//1byte一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x81080000
0x00002010 0x150900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lb t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte不一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x81080000
0x00002010 0x110900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lb t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte以下
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x81080000
0x00002010 0x0128502A
0x00002014 0x154000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lb t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//1byte大
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x81080000
0x00002010 0x0128502A
0x00002014 0x114000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lb t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//2byte一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x2409bbbb
0x0000200C 0x85080000
0x00002010 0x150900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
addiu t1,zero,$bbbb
lh t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte不一致
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x2409bbbb
0x0000200C 0x85080000
0x00002010 0x110900**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
addiu t1,zero,$bbbb
lh t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//2byte以下
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x2409bbbb
0x0000200C 0x85080000
0x00002010 0x0128502A
0x00002014 0x154000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
addiu t1,zero,$bbbb
lh t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//2byte大
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x2409bbbb
0x0000200C 0x85080000
0x00002010 0x0128502A
0x00002014 0x114000**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
addiu t1,zero,$bbbb
lh t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x2529bbbb
0x00002010 0x8D080000
0x00002014 0x150900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
addiu t1,t1,$bbbb
lw t0,$0000(t0)
bne t0,t1,$+XX t0 != t1 の時スキップ
nop
OPCODE
OPCODE
...
//不一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x2529bbbb
0x00002010 0x8D080000
0x00002014 0x110900**
0x00002018 0x00000000
0x0000201C 0x________
0x00002020 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
addiu t1,t1,$bbbb
lw t0,$0000(t0)
beq t0,t1,$+XX t0 = t1 の時スキップ
nop
OPCODE
OPCODE
...
//以下4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x2529bbbb
0x00002010 0x8D080000
0x00002014 0x0128502A
0x00002018 0x154000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
addiu t1,t1,$bbbb
lw t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
bne t2,zero,$+XX t2=1 の時スキップ
nop
OPCODE
OPCODE
...
//大4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x2409bbbb
0x00002010 0x8D080000
0x00002014 0x0128502A
0x00002018 0x114000**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
addiu t1,t1,$bbbb
lw t0,$0000(t0)
slt t2,t1,t0 t2=1(t0>t1)
beq t2,zero,$+XX t2=0 の時スキップ
nop
OPCODE
OPCODE
...
//アドレス比較一致1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x810A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lb t2,$0000(t0)
bne t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較不一致1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x810A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lb t2,$0000(t0)
beq t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較以下1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x810A0000
0x00002018 0x012A582A
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lb t2,$0000(t0)
slt t3,t1,t2
bne t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較大1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x810A0000
0x00002018 0x012A582A
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lb t2,$0000(t0)
slt t3,t1,t2
beq t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較一致2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x850A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lh t2,$0000(t0)
bne t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較不一致2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x850A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lh t2,$0000(t0)
beq t1,t2,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較以下2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x850A0000
0x00002018 0x012A582A
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lh t2,$0000(t0)
slt t3,t1,t2
bne t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較大2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x850A0000
0x00002018 0x012A582A
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lh t2,$0000(t0)
slt t3,t1,t2
beq t3,zero,$+XX
nop
OPCODE
OPCODE
...
//アドレス比較一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x8D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x8D0A0000
0x00002018 0x152A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lw t2,$0000(t0)
bne t1,t2,$+XX t1 != t2のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較不一致4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x8D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x8D0A0000
0x00002018 0x112A00**
0x0000201C 0x00000000
0x00002020 0x________
0x00002024 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lw t2,$0000(t0)
beq t1,t2,$+64 t1=t2のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較以下4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x8D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x8D0A0000
0x00002018 0x012A582A
0x0000201C 0x156000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lw t2,$0000(t0)
slt t3,t1,t2 t3=1(t2>t1),t3=0(t2<=t1)
bne t3,zero,$+XX t3=1のときスキップ
nop
OPCODE
OPCODE
...
//アドレス比較大4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x8D090000
0x0000200C 0x3C080ccc
0x00002010 0x3508cccc
0x00002014 0x8D0A0000
0x00002018 0x012A582A
0x0000201C 0x116000**
0x00002020 0x00000000
0x00002024 0x________
0x00002028 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$0ccc
ori t0,t0,$cccc
lw t2,$0000(t0)
slt t3,t1,t2 t3=1(t2>t1),t3=0(t2<=t1)
beq t3,zero,$+XX t3=0のときスキップ
nop
OPCODE
OPCODE
...
即値比較
//VVVVがt1以下(VVVV=FFFFなら-1<=t1)
slti t2, t1, $VVVV t2=1(VVVV>t1),t2=0(VVVV<=t1)
bne t2, zero, $+XX t2=0のとき実行
nop
...
//VVVVがt1より大(VVVV=FFFFなら-1>t1)
slti t2, t1, $VVVV t2=1(VVVV>t1),t2=0(VVVV<=t1)
beq t2, zero, $+XX t2=1のとき実行
nop
...
//補足:sltuだと符号なし
//VVVVがt1以下(VVVV=FFFFなら65535)
sltiu t2, t1, $VVVV t2=1(VVVV>t1),t2=0(VVVV<=t1)
bne t2, zero, $+XX t2=0のとき実行
nop
...
//VVVVがt1より大(VVVV=FFFFなら65535)
sltiu t2, t1, $VVVV t2=1(VVVV>t1),t2=0(VVVV<=t1)
beq t2, zero, $+XX t2=1のとき実行
nop
...
//大也代入
0x3C080aaa
0x3508aaaa
0x8D090000
0x3C08bbbb
0x3508bbbb
0x0109502A
0x010A480B
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$bbbb
ori t0,t0,$bbbb
sltu t2,t0,t1 #t0<t1 t2=1,t0>=t1 t2=0
movz t1,t0,t2 #t2=1の時 t1=bbbbbbbb
//以下代入
0x3C080aaa
0x3508aaaa
0x8D090000
0x3C08bbbb
0x3508bbbb
0x0109502A
0x010A480A
lui t0,$0aaa
ori t0,t0,$aaaa
lw t1,$0000(t0)
lui t0,$bbbb
ori t0,t0,$bbbb
sltu t2,t0,t1 #t0<t1 t2=1,t0>=t1 t2=0
movz t1,t0,t2 #t2=0の時 t1=bbbbbbbb
//大也代入符号なし
0x3C080aaa
0x3508aaaa
0x9D090000
0x3C08bbbb
0x3508bbbb
0x0109502B
0x010A480B
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$bbbb
ori t0,t0,$bbbb
sltu t2,t0,t1 #t0<t1 t2=1,t0>=t1 t2=0
movn t1,t0,t2 #t2=1の時 t1=bbbbbbbb
//以下代入符号なし
0x3C080aaa
0x3508aaaa
0x9D090000
0x3C08bbbb
0x3508bbbb
0x0109502B
0x010A480A
lui t0,$0aaa
ori t0,t0,$aaaa
lwu t1,$0000(t0)
lui t0,$bbbb
ori t0,t0,$bbbb
sltu t2,t0,t1 #t0<t1 t2=1,t0>=t1 t2=0
movz t1,t0,t2 #t2=1の時 t1=bbbbbbbb
# Multi Address Writes(シリアルコード)
//1byteシリアル
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0xA1090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x012B4821
0x00002024 0x1540FFFB
0x00002028 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$00bb bb=書き込む値
ori t2,zero,$00cc ループ回数
ori t3,zero,$00ee 値の加算値
sb t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addi t0,t0,$dddd オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 sbに戻る
nop
//2byteシリアル
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0xA5090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x012B4821
0x00002024 0x1540FFFB
0x00002028 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$bbbb bbbb=書き込む値
ori t2,zero,$00cc ループ回数
ori t3,zero,$eeee 値の加算値
sh t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addi t0,t0,$dddd オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 shに戻る
nop
//4byteシリアル
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0xAD090000
0x00002020 0x254AFFFF
0x00002024 0x2108dddd
0x00002028 0x012B4821
0x0000202C 0x1540FFFB
0x00002030 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t1,$bbbb
ori t1,t1,$bbbb bbbbbbbb=書き込む値
ori t2,zero,$00cc ループ回数
lui t3,$eeee
ori t3,t3,$eeee 値の加算値
sw t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addi t0,t0,$dddd オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 swに戻る
nop
//1byteシリアル(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340Cdddd
0x00002018 0xA1090000
0x0000201C 0x254AFFFF
0x00002020 0x010C4021
0x00002024 0x012B4821
0x00002028 0x1540FFFB
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$bbbb bbbb=書き込む値
ori t2,zero,$00cc ループ回数
ori t3,zero,$eeee 値の加算値
ori t4,zero,$dddd オフセット
sb t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addu t0,t0,t4 オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 sbに戻る
nop
//2byteシリアル(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340Cdddd
0x00002018 0x000C6040
0x0000201C 0xA5090000
0x00002020 0x254AFFFF
0x00002024 0x010C4021
0x00002028 0x012B4821
0x0000202C 0x1540FFFB
0x00002030 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
ori t1,zero,$bbbb bbbb=書き込む値
ori t2,zero,$00cc ループ回数
ori t3,zero,$eeee 値の加算値
ori t4,zero,$dddd オフセット
sll t4,t4,1 オフセット2倍
sh t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addu t0,t0,t4 オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 shに戻る
nop
//4byteシリアル(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340Cdddd
0x00002020 0x000C6080
0x00002024 0xAD090000
0x00002028 0x254AFFFF
0x0000202C 0x010C4021
0x00002030 0x012B4821
0x00002034 0x1540FFFB
0x00002038 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa aaaaaaa=アドレス
lui t1,$bbbb
ori t1,t1,$bbbb bbbbbbbb=書き込む値
ori t2,zero,$00cc ループ回数
lui t3,$eeee
ori t3,t3,$eeee 値の加算値
ori t4,zero,dddd オフセット
sll t4,t4,2 オフセット4倍
sw t1,$0000(t0) 書き込み
addiu t2,t2,$FFFF ループ-1
addu t0,t0,t4 オフセット加算
addu t1,t1,t3 値の加算
bne t2,zero,$-4 swに戻る
nop
# Boolean Commands(論理演算コード)
//論理和,1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x352900bb
0x00002010 0xA1090000
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
ori t1,t1,$00bb
sb t1,$0000(t0)
//論理和シリアル,1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x81090000
0x00002010 0x352900bb
0x00002014 0xA1090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lb t1,$0000(t0)
ori t1,t1,$00bb
sb t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//論理和,2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3529bbbb
0x00002010 0xA5090000
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
ori t1,t1,$bbbb
sh t1,$0000(t0)
//論理和シリアル,2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x85090000
0x00002010 0x3529bbbb
0x00002014 0xA5090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lh t1,$0000(t0)
ori t1,t1,$bbbb
sh t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//論理和4byte
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x3c0abbbb
0x0000200C 0x354abbbb
0x00002010 0x8d090000
0x00002014 0x012a4825
0x00002018 0xad090000
lui t0, $0aaa
ori t0, t0, $aaaa
lui t2, $bbbb
ori t2, t2, $bbbb
lw t1, $0000(t0)
or t1, t1, t2
sw t1, $0000(t0)
//論理積,1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x312900bb
0x00002010 0xA1090000
lui t0,$0aaa
ori t0,t0,$aaaa
lb t1,$0000(t0)
andi t1,t1,$00bb
sb t1,$0000(t0)
//論理積シリアル,1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x81090000
0x00002010 0x312900bb
0x00002014 0xA1090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lb t1,$0000(t0)
andi t1,t1,$00bb
sb t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//論理積,2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3129bbbb
0x00002010 0xA5090000
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,$0000(t0)
andi t1,t1,$bbbb
sh t1,$0000(t0)
//論理積シリアル,2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340A00cc
0x0000200C 0x85090000
0x00002010 0x3129bbbb
0x00002014 0xA5090000
0x00002018 0x254AFFFF
0x0000201C 0x2108dddd
0x00002020 0x1540FFFA
0x00002024 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t2,zero,$00cc
lh t1,$0000(t0)
andi t1,t1,$bbbb
sh t1,$0000(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
bne t2,zero,$-5
nop
//論理積4byte
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x3c0abbbb
0x0000200C 0x354abbbb
0x00002010 0x8d090000
0x00002014 0x012a4824
0x00002018 0xad090000
lui t0, $0aaa
ori t0, t0, $aaaa
lui t2, $bbbb
ori t2, t2, $bbbb
lw t1, $0000(t0)
and t1, t1, t2
sw t1, $0000(t0)
//排他的論理和1byte
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x392900bb
0x00002010 0xa1090000
lui t0, $0aaa
ori t0, t0, $aaaa
lb t1, $0000(t0)
xori t1, t1, $bbbb
sb t1, $0000(t0)
//排他的論理和2byte
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x85090000
0x0000200C 0x3929bbbb
0x00002010 0xa5090000
lui t0, $0aaa
ori t0, t0, $aaaa
lh t1, $0000(t0)
xori t1, t1, $bbbb
sh t1, $0000(t0)
//排他的論理和4byte
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x3c0abbbb
0x0000200C 0x354abbbb
0x00002010 0x8d090000
0x00002014 0x012a4826
0x00002018 0xad090000
lui t0, $0aaa
ori t0, t0, $aaaa
lui t2, $bbbb
ori t2, t2, $bbbb
lw t1, $0000(t0)
xor t1, t1, t2
sw t1, $0000(t0)
//8bitマスク+論理和
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x350a00bb
0x0000200C 0x81090000
0x00002010 0x012a4824
0x00002014 0x350a00cc
0x00002018 0x012a4825
0x0000201C 0xa5090000
lui t0, $0aaa
ori t0, t0, $aaaa
ori t2, zero, $00bb
lb t1, $0000(t0)
and t1, t1, t2
ori t2,zero $00cc
or t1, t1, t2
sb t1, $0000(t0)
//16bitマスク+論理和
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x350abbbb
0x0000200C 0x85090000
0x00002010 0x012a4824
0x00002014 0x350acccc
0x00002018 0x012a4825
0x0000201C 0xa5090000
lui t0, $0aaa
ori t0, t0, $aaaa
ori t2, zero, $bbbb
lh t1, $0000(t0)
and t1, t1, t2
ori t2,zero $cccc
or t1, t1, t2
sh t1, $0000(t0)
//32bitマスク+論理和
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x3c0abbbb
0x0000200C 0x354abbbb
0x00002010 0x8d090000
0x00002014 0x012a4824
0x00002018 0x3c0acccc
0x0000201C 0x354acccc
0x00002020 0x012a4825
0x00002024 0xad090000
lui t0, $0aaa
ori t0, t0, $aaaa
lui t2, $bbbb
ori t2, t2, $bbbb
lw t1, $0000(t0)
and t1, t1, t2
lui t2, $cccc
ori t2,t2 $cccc
or t1, t1, t2
sw t1, $0000(t0)
# Boolean TEST(論理判定)
//2フラグ保存
lui t0,$0aaa
ori t0,t0,$aaaa
lh t1,0(t0)
li t2,$TEST1
bne t1,t2,+5line
lui t0,$0880
li t1,1
b +3
sb t1,$3FF0(t0) //フラグA
sb zero$3FF0(t0)
lui t0,$0bbb
ori t0,t0,$bbbb
lh t1,0(t0)
li t2,$TEST2
bne t1,t2,+5
lui t0,$0880
li t1,1
b +3
sb t1,$3FF1(t0)
sb zero$3FF1(t0) //フラグB
//A OR B,1+2+3
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
or t1,t1,t2
beqz t1,codeline+1
nop
OPCODE
OPCODE
//A AND B,3
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
and t1,t1,t2
beqz t1,codeline+1
nop
OPCODE
OPCODE
//A XOR B,1+3
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
xor t1,t1,t2
beqz t1,codeline+1
nop
OPCODE
OPCODE
//A NOR B,0
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
or t1,t1,t2
xori t2,t1,$0001
beqz t2,codeline+1
nop
OPCODE
OPCODE
//A NAND B,0+1+2
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
and t1,t1,t2
xori t2,t1,$0001
beqz t2,codeline+1
nop
OPCODE
OPCODE
//A NXOR B,0+3
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
xor t1,t1,t2
xori t2,t1,$0001
beqz t2,codeline+1
nop
OPCODE
OPCODE
//(A AND B) XOR A,1
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
and t2,t1,t2
xor t2,t1,t2
beqz t2,codeline+1
nop
OPCODE
OPCODE
//(A AND B) XOR B,2
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
and t1,t1,t2
xor t2,t1,t3
beqz t2,codeline+1
nop
OPCODE
OPCODE
//3フラグ保存
lui t0,$0aaa
ori t0,t0,$aaaa
li t2,$TEST1
li t3,1
lh t1,0(t0)
bne t1,t2,+4line
lui t0,$0880
b +3
sb t3,$3FF0(t0) #フラグA
sb zero$3FF0(t0)
lui t0,$0bbb
ori t0,t0,$bbbb
lh t1,0(t0)
li t2,$TEST2
bne t1,t2,+4
lui t0,$0880
b +3
sb t3,$3FF1(t0)
sb zero$3FF1(t0) #フラグB
lui t0,$0ccc
ori t0,t0,$cccc
lh t1,0(t0)
li t2,$TEST3
bne t1,t2,+4
lui t0,$0880
b +3
sb t3,$3FF2(t0)
sb zero$3FF2(t0) #フラグC
//A OR B OR C,1+2+3+4+5+6+7
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
or t2,t1,t2
or t3,t2,t3
beqz t3,codeline+1
nop
OPCODE
OPCODE
//A AND B AND C,7
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
and t2,t1,t2
and t3,t2,t3
beqz t3,codeline+1
nop
OPCODE
OPCODE
//A XOR B XOR C,1+2+3+7
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
xor t2,t1,t2
xor t3,t2,t3
beqz t3,codeline+1
nop
OPCODE
OPCODE
//(B NOR C) AND A,1
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
or t2,t2,t3
xori t2,t2,$0001
and t3,t2,t1
beqz t3,codeline+1
nop
OPCODE
OPCODE
//(A NOR C) AND B,2
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
or t1,t1,t3
xori t1,t1,$0001
and t2,t2,t1
beqz t2,codeline+1
nop
OPCODE
OPCODE
//(A NOR B) AND C,3
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
or t2,t1,t2
xori t2,t2,$0001
and t3,t2,t3
beqz t3,codeline+1
nop
OPCODE
OPCODE
//(A AND B) XOR (A AND B AND C),4
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
and t1,t1,t2
and t3,t1,t3
xor t1,t1,t3
beqz t1,codeline+1
nop
OPCODE
OPCODE
//(A AND C) XOR (A AND B AND C),5
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
and t1,t1,t3
and t2,t1,t2
xor t3,t1,t2
beqz t3,codeline+1
nop
OPCODE
OPCODE
//(B AND C) XOR (A AND B AND C),6
lui t0,$0880
lb t1,3FF0(t0)
lb t2,3FF1(t0)
lb t3,3FF2(t0)
and t2,t2,t3
and t1,t1,t2
xor t3,t1,t2
beqz t3,codeline+1
nop
OPCODE
OPCODE
# Pointer Commands(ポインタコード)
//ポインタ1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200c 0x8D080000
0x00002010 0x11000002
0x00002014 0x00000000
0x00002018 0xA109pppp
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lw t0,$0000(t0)
beq t0,zero,$+3 NULLの時スキップ
nop
sb t1,$pppp(t0) pppp=オフセット
//ポインタ2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200c 0x8D080000
0x00002010 0x11000002
0x00002014 0x00000000
0x0000201c 0xA509pppp
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+3 NULLの時スキップ
nop
sh t1,$pppp(t0) pppp=オフセット
//ポインタ4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x8D080000
0x00002014 0x11000002
0x00002018 0x00000000
0x0000201C 0xAD09pppp
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+3 NULLの時スキップ
nop
sw t1,$pppp(t0) pppp=オフセット
//多重1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200c 0x8D080000
0x00002010 0x110000**
0x00002014 0x00000000
0x00002018 0x8D08pppp
0x0000201C 0x00000000
0x00002020 0x8D08qqqq
...
0x000020** 0xA109zzzz
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
lw t0,$0000(t0) ポインタ読み込み
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0) t0+ppppのポインタ読み込み
nop
lw t0,$qqqq(t0) t0+qqqqのポインタ読み込み
...
sb t1,$zzzz(t0) t0+zzzzにbbを書き込む
//多重2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200c 0x8D080000
0x00002010 0x110000**
0x00002014 0x00000000
0x00002018 0x8D08pppp
0x0000201C 0x00000000
0x00002020 0x8D08qqqq
...
0x000020** 0xA509zzzz
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
lw t0,$0000(t0) ポインタ読み込み
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0) t0+ppppのポインタ読み込み
nop
lw t0,$qqqq(t0) t0+qqqqのポインタ読み込み
...
sh t1,$zzzz(t0) t0+zzzzにbbbbを書き込む
//多重4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0xAD09zzzz
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
lw t0,$0000(t0) ポインタ読み込み
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0) t0+ppppのポインタ読み込み
nop
lw t0,$qqqq(t0) t0+qqqqのポインタ読み込み
...
sw t1,$zzzz(t0) t0+zzzzにbbbbbbbbを書き込む
//ポインタシリアル1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200c 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x8D080000
0x00002018 0x11000007
0x0000201C 0x00000000
0x00002020 0xA109pppp
0x00002024 0x254AFFFF
0x00002028 0x2108dddd
0x0000202C 0x012B4821
0x00002030 0x1540FFFB
0x00002034 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sb t1,$pppp(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタシリアル2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200c 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x8D080000
0x00002018 0x11000007
0x0000201C 0x00000000
0x00002020 0xA509pppp
0x00002024 0x254AFFFF
0x00002028 0x2108dddd
0x0000202C 0x012B4821
0x00002030 0x1540FFFB
0x00002034 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sh t1,$pppp(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタシリアル4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x8D080000
0x00002020 0x11000007
0x00002024 0x00000000
0x00002028 0xAD09pppp
0x0000202C 0x254AFFFF
0x00002030 0x2108dddd
0x00002034 0x012B4821
0x00002038 0x1540FFFB
0x0000203C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sw t1,$pppp(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタシリアル1byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x340Cdddd
0x00002018 0x8D080000
0x0000201C 0x11000007
0x00002020 0x00000000
0x00002024 0xA109pppp
0x00002028 0x254AFFFF
0x0000202C 0x010C4021
0x00002030 0x012B4821
0x00002034 0x1540FFFB
0x00002038 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
ori t4,t4,$dddd
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sw t1,$pppp(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタシリアル2byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340Cdddd
0x00002018 0x000C6040
0x0000201C 0x8D080000
0x00002020 0x11000007
0x00002024 0x00000000
0x00002028 0xA509pppp
0x0000202C 0x254AFFFF
0x00002030 0x010C4021
0x00002034 0x012B4821
0x00002038 0x1540FFFB
0x0000203C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
ori t4,zero,$dddd
sll t4,t4,1
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sh t1,$pppp(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタシリアル4byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340Cdddd
0x00002020 0x000C6080
0x00002024 0x8D080000
0x00002028 0x11000007
0x0000202C 0x00000000
0x00002030 0xAD09pppp
0x00002034 0x254AFFFF
0x00002038 0x010C4021
0x0000203C 0x012B4821
0x00002040 0x1540FFFB
0x00002044 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$$eeee
ori t3,t3,$eeee
ori t4,zero,$dddd
sll t4,t4,2
lw t0,$0000(t0)
beq t0,zero,$+8 NULLの時スキップ
nop
sw t1,$pppp(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタ配列1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200c 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x8D0C0000
0x00002018 0x11800007
0x0000201C 0x00000000
0x00002020 0xA189pppp
0x00002024 0x254AFFFF
0x00002028 0x2108dddd
0x0000202C 0x012B4821
0x00002030 0x1540FFF8
0x00002034 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
lw t4,$0000(t0)
beq t4,zero,$+8 NULLの時スキップ
nop
sb t1,$pppp(t4)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//ポインタ配列2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200c 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x8D0C0000
0x00002018 0x11800007
0x0000201C 0x00000000
0x00002020 0xA589pppp
0x00002024 0x254AFFFF
0x00002028 0x2108dddd
0x0000202C 0x012B4821
0x00002030 0x1540FFF8
0x00002034 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
lw t4,$0000(t0)
beq t4,zero,$+8 NULLの時スキップ
nop
sh t1,$pppp(t4)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-7
nop
//ポインタ配列4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x8D0C0000
0x00002020 0x11800007
0x00002024 0x00000000
0x00002028 0xAD89pppp
0x0000202C 0x254AFFFF
0x00002030 0x2108dddd
0x00002034 0x012B4821
0x00002038 0x1540FFF8
0x0000203C 0x00000000
lui t0,$0aaa ポインタアドレス上位を入力
ori t0,t0,$aaaa ポインタアドレス下位を入力
lui t1,$bbbb 書き込み値上位を入力
ori t1,t1,$bbbb 書き込み値下位を入力
ori t2,zero,$00cc cc=繰り返す回数
lui t3,$eeee 増加する値の上位を入力
ori t3,t3,$eeee 増加する値の下位を入力
lw t4,$0000(t0) t0にある基準アドレスの読込
beq t4,zero,$+8 基準アドレスがNULLの時スキップ
nop
sw t1,$pppp(t4) 基準アドレス+ppppに書き込み
addiu t2,t2,$FFFF 回数-1
addi t0,t0,$dddd ポインタアドレスをdddd分ずらす
addu t1,t1,t3 書き込み値の値の増加
bne t2,zero,$-7 回数が0になるまで基準アドレス読込のとことまで戻る
nop
//ポインタ配列1byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D7025
0x00002024 0x8D0F0000
0x00002028 0x100F0008
0x0000202C 0x01AF7821
0x00002030 0x01EE7823
0x00002034 0xA1E9pppp
0x00002038 0x254AFFFF
0x0000203C 0x010C4021
0x00002040 0x012B4821
0x00002044 0x01AE6821
0x00002048 0x1540FFF6
0x0000204C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa #ポインタアドレス
ori t1,zero,$00bb #値
ori t2,zero,$00cc #回数
ori t3,zero,$00ee #値オフセット
ori t4,zero,$0qqq
sll t4,t4,2 #ポインタオフセット*4
ori t5,zero,$ffff #書き込みオフセット
or t6,zero,t5 #計算用にコピー
lw t7,$0000(t0) #ベースアドレス
beq t7,zero,$+8 NULLの時スキップ
addu t7,t5,t7 #t7+t5*回数
subu t7,t7,t6 #1回分多いので引く
sb t1,$pppp(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-9
nop
//ポインタ配列2byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D6840
0x00002024 0x000D7025
0x00002028 0x8D0F0000
0x0000202C 0x100F0008
0x00002030 0x01AF7821
0x00002034 0x01EE7823
0x00002038 0xA5E9pppp
0x0000203C 0x254AFFFF
0x00002040 0x010C4021
0x00002044 0x012B4821
0x00002048 0x01AE6821
0x0000204C 0x1540FFF6
0x00002050 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t,1
or t6,zero,t5
lw t7,$0000(t0)
beq t7,zero,$+8 NULLの時スキップ
addu t7,t5,t7
subu t7,t7,t6
sh t1,$pppp(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-9
nop
//ポインタ配列4byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340C0qqq
0x00002020 0x000C6080
0x00002024 0x340Dffff
0x00002028 0x000D6880
0x0000202C 0x000D7025
0x00002030 0x8D0F0000
0x00002034 0x100F0008
0x00002038 0x01AF7821
0x0000203C 0x01EE7823
0x00002040 0xADE9pppp
0x00002044 0x254AFFFF
0x00002048 0x010C4021
0x0000204C 0x012B4821
0x00002050 0x01AE6821
0x00002054 0x1540FFF6
0x00002058 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t5,2
or t6,zero,t5
lw t7,$0000(t0)
beq t7,zero,$+8 NULLの時スキップ
addu t7,t5,t7
subu t7,t7,t6
sw t1,$pppp(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-9
nop
//多重+シリアル1byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200c 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x8D080000
0x00002018 0x110000**
0x0000201C 0x00000000
0x00002020 0x8D08pppp
0x00002024 0x00000000
0x00002028 0x8D08qqqq
...
0x000020** 0xA109zzzz
0x000020** 0x254AFFFF
0x000020** 0x2108dddd
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sb t1,$zzzz(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//多重+シリアル2byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200c 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x8D080000
0x00002018 0x110000**
0x0000201C 0x00000000
0x00002020 0x8D08pppp
0x00002024 0x00000000
0x00002028 0x8D08qqqq
...
0x000020** 0xA509zzzz
0x000020** 0x254AFFFF
0x000020** 0x2108dddd
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sh t1,$zzzz(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//多重+シリアル4byte書き込み
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x8D080000
0x00002020 0x110000**
0x00002024 0x00000000
0x00002028 0x8D08pppp
0x0000202C 0x00000000
0x00002028 0x8D08qqqq
...
0x000020** 0xAD09zzzz
0x000020** 0x254AFFFF
0x000020** 0x2108dddd
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sw t1,$zzzz(t0)
addiu t2,t2,$FFFF
addi t0,t0,$dddd
addu t1,t1,t3
bne t2,zero,$-4
nop
//多重ポインタシリアル1byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x340Cffff
0x00002018 0x8D080000
0x0000201C 0x110000**
0x00002020 0x00000000
0x00002024 0x8D08pppp
0x00002028 0x00000000
0x0000202C 0x8D08qqqq
0x00002030 0x00000000
...
0x000020** 0xA109zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
ori t4,zero,$ffff
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sb t1,$zzzz(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4 ☆
nop
//多重ポインタシリアル2byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340Cffff
0x00002018 0x000C6040
0x0000201C 0x8D080000
0x00002020 0x110000**
0x00002024 0x00000000
0x00002028 0x8D08pppp
0x0000202C 0x00000000
0x00002030 0x8D08qqqq
0x00002034 0x00000000
...
0x000020** 0xA509zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
ori t4,zero,$ffff
sll t4,t4,1
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sh t1,$zzzz(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4 ☆
nop
//多重ポインタシリアル4byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340Cffff
0x00002020 0x000C6080
0x00002024 0x8D080000
0x00002028 0x110000**
0x0000202C 0x00000000
0x00002030 0x8D08pppp
0x00002034 0x00000000
0x00002038 0x8D08qqqq
0x0000203C 0x00000000
...
0x000020** 0xAD09zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x1540FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
ori t4,zero,$ffff
sll t4,t4,2
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
sw t1,$zzzz(t0)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
bne t2,zero,$-4 ☆
nop
//ポインタ配列+多重1byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D7025
0x00002024 0x8D0F0000
0x00002028 0x100F00**
0x0000202C 0x00000000
0x00002030 0x8DEFpppp
0x00002034 0x00000000
0x00002038 0x8DEFqqqq
0x0000203C 0x00000000
....
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA1E9zzzz
0x000020** 0x254AFFFF
0x000020y** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
or t6,zero,t5
lw t7,$0000(t0) ★
beq t7,zero,$+? ☆+4へNULLの時スキップ
nop
lw t7,$pppp(t7)
nop
lw t7,$qqqq(t7)
nop
...
addu t7,t5,t7
subu t7,t7,t6
sb t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addiu t5,t5,t6
bne t2,zero,$-? ★へジャンプ,☆
nop
//ポインタ配列+多重2byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D6840
0x00002024 0x000D7025
0x00002028 0x8D0F0000
0x0000202C 0x100F00**
0x00002030 0x00000000
0x00002034 0x8DEFpppp
0x00002038 0x00000000
0x0000203C 0x8DEFqqqq
0x00002040 0x00000000
....
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA5E9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t,1
or t6,zero,t5
lw t7,$0000(t0) ★
beq t7,zero,$+? ☆+4へNULLの時スキップ
nop
lw t7,$pppp(t7)
nop
lw t7,$qqqq(t7)
nop
...
addu t7,t5,t7
subu t7,t7,t6
sh t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-?? ★へジャンプ,☆
nop
//ポインタ配列+多重4byte(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340C0qqq
0x00002020 0x000C6080
0x00002024 0x340Dffff
0x00002028 0x000D6880
0x0000202C 0x000D7025
0x00002030 0x8D0F0000
0x00002034 0x100F00**
0x00002038 0x00000000
0x0000203C 0x8DEFpppp
0x00002040 0x00000000
0x00002044 0x8DEFqqqq
0x00002048 0x00000000
....
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xADE9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa ポインタアドレス上位を入力
ori t0,t0,$aaaa ポインタアドレス下位を入力
lui t1,$bbbb 書き込む値の上位を入力
ori t1,t1,$bbbb 書き込む値の下位を入力
ori t2,zero,$00cc cc=繰り返す回数
lui t3,$eeee 増加する値の上位を入力
ori t3,t3,$eeee 増加する値の下位を入力
ori t4,zero,$0qqq ポインタオフセット
sll t4,t4,2 qqqを4倍
ori t5,zero,$ffff 書き込むアドレスのオフセット
sll t5,t5,2 オフセット4倍
or t6,zero,t5 オフセットのコピー
lw t7,$0000(t0) ★ 基準アドレス1を読み込む
beq t7,zero,$+? ☆+4へNULLの時スキップ
nop
lw t7,$pppp(t7) 基準アドレス2=基準アドレス1+ppppを読み込む
nop
lw t7,$qqqq(t7) 基準アドレス3=基準アドレス2+qqqqを読み込む
nop
...
addu t7,t5,t7 t7=t7+書き込むオフセット
subu t7,t7,t6 1回多いので引く
sw t1,$zzzz(t7) 最終基準アドレス+zzzzに書き込み
addiu t2,t2,$FFFF 回数-1
addu t0,t0,t4 ポインタアドレス+4qqq
addu t1,t1,t3 書き込む値の増加
addu t5,t5,t6 書き込むオフセットの増加
bne t2,zero,$-?? ★へジャンプ,☆
nop
//多重ポインタ+配列1byte(FC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D7025
0x00002024 0x8D080000
0x00002028 0x100800**
0x0000202C 0x00000000
0x00002030 0x8D08pppp
0x00002034 0x00000000
0x00002038 0x8D08qqqq
0x0000203C 0x00000000
...
0x000020** 0x8D0Fyyyy
0x000020** 0x00000000
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA1E9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FFF7
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$yyyy(t0)
addu t7,t5,t7
subu t7,t7,t6
sb t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-8 ☆
nop
//多重ポインタ+配列2byte(FC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D6840
0x00002024 0x000D7025
0x00002028 0x8D080000
0x0000202C 0x100800**
0x00002030 0x00000000
0x00002034 0x8D08pppp
0x00002038 0x00000000
0x0000203C 0x8D08qqqq
0x00002040 0x00000000
...
0x000020** 0x8D0Fyyyy
0x000020** 0x00000000
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA5E9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FFF7
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$bbbb
ori t2,zero,$00cc
ori t3,zero,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t5,1
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$yyyy(t0)
addu t7,t5,t7
subu t7,t7,t6
sh t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-8 ☆
nop
//多重ポインタ+配列4byte(FC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340C0qqq
0x00002020 0x000C6080
0x00002024 0x340Dffff
0x00002028 0x000D6880
0x0000202C 0x000D7025
0x00002030 0x8D080000
0x00002034 0x100800**
0x00002038 0x00000000
0x0000203C 0x8D08pppp
0x00002040 0x00000000
0x00002044 0x8D08qqqq
0x00002048 0x00000000
...
0x000020** 0x8D0Fyyyy
0x000020** 0x00000000
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xADE9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FFF7
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t5,2
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$yyyy(t0)
addu t7,t5,t7
subu t7,t7,t6
sw t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-8 ☆
nop
//多重+配列+多重1byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340900bb
0x0000200C 0x340A00cc
0x00002010 0x340B00ee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D7025
0x00002024 0x8D080000
0x00002028 0x100800**
0x0000202C 0x00000000
0x00002030 0x8D08pppp
0x00002034 0x00000000
0x00002038 0x8D08qqqq
0x0000203C 0x00000000
...
0x000020** 0x8D0Ftttt
0x000020** 0x00000000
0x000020** 0x8DEFuuuu
0x000020** 0x00000000
...
0x000020** 0x8DEFyyyy
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA5E9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t1,zero,$00bb
ori t2,zero,$00cc
ori t3,zero,$00ee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$tttt(t0) ★
nop
lw t7,$uuuu(t7)
nop
...
lw t7,$yyyy(t7)
addu t7,t5,t7
subu t7,t7,t6
sb t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-★ ☆
nop
//多重+配列+多重2byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3409bbbb
0x0000200C 0x340A00cc
0x00002010 0x340Beeee
0x00002014 0x340C0qqq
0x00002018 0x000C6080
0x0000201C 0x340Dffff
0x00002020 0x000D6840
0x00002024 0x000D7025
0x00002028 0x8D080000
0x0000202C 0x100800**
0x00002030 0x00000000
0x00002034 0x8D08pppp
0x00002038 0x00000000
0x0000203C 0x8D08qqqq
0x00002040 0x00000000
...
0x000020** 0x8D0Ftttt
0x000020** 0x00000000
0x000020** 0x8DEFuuuu
0x000020** 0x00000000
...
0x000020** 0x8DEFyyyy
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xA5E9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t5,1
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$+? ☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$tttt(t0) ★
nop
lw t7,$uuuu(t7)
nop
...
lw t7,$yyyy(t7)
addu t7,t5,t7
subu t7,t7,t6
sh t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-★ ☆
nop
//多重+配列+多重4byte
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x340A00cc
0x00002014 0x3C0Beeee
0x00002018 0x356Beeee
0x0000201C 0x340C0qqq
0x00002020 0x000C6080
0x00002024 0x340Dffff
0x00002028 0x000D6880
0x0000202C 0x000D7025
0x00002030 0x8D080000
0x00002034 0x100800**
0x00002038 0x00000000
0x0000203C 0x8D08pppp
0x00002040 0x00000000
0x00002044 0x8D08qqqq
0x00002048 0x00000000
...
0x000020** 0x8D0Ftttt
0x000020** 0x00000000
0x000020** 0x8DEFuuuu
0x000020** 0x00000000
...
0x000020** 0x8DEFyyyy
0x000020** 0x01AF7821
0x000020** 0x01EE7823
0x000020** 0xADE9zzzz
0x000020** 0x254AFFFF
0x000020** 0x010C4021
0x000020** 0x012B4821
0x000020** 0x01AE6821
0x000020** 0x1540FF**
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$bbbb
ori t1,t1,$bbbb
ori t2,zero,$00cc
lui t3,$eeee
ori t3,t3,$eeee
ori t4,zero,$0qqq
sll t4,t4,2
ori t5,zero,$ffff
sll t5,t5,2
or t6,zero,t5
lw t0,$0000(t0)
beq t0,zero,$☆+4へNULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t7,$tttt(t0) ★
nop
lw t7,$uuuu(t7)
nop
...
lw t7,$yyyy(t7)
addu t7,t5,t7
subu t7,t7,t6
sw t1,$zzzz(t7)
addiu t2,t2,$FFFF
addu t0,t0,t4
addu t1,t1,t3
addu t5,t5,t6
bne t2,zero,$-★ ☆
nop
# Joker Code(パッドコード)
//bbbbが押されたとき
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x850C0000
0x0000200C 0x3989bbbb
0x00002010 0x152000**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t4,$0000(t0)
xori t1,t4,$bbbb
bne t1,zero,$+XX
nop
OPCODE
OPCODE
...
//bbbbが押されてない時
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x850C0000
0x0000200C 0x3989bbbb
0x00002010 0x112000**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t4,$0000(t0)
xori t1,t4,$bbbb
beq t1,zero,$+XX
nop
OPCODE
OPCODE
...
//bbbが押されてる+押されてないとき
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x850C0000
0x0000200C 0x3989bbbb
0x00002010 0x152000XX
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
0x00002020 0x100000YY
0x00002024 0x00000000
0x00002028 0x________
0x0000202C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lh t4,$0000(t0)
xori t1,t4,$bbbb
bne t1,zero,$+(XX+1)
nop
beq zero,zero,$+(YY+1)
nop
//特定の1ボタンを押している限り
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x850C0000
0x0000200C 0x7D890ZZ0
0x00002010 0x112000**
0x00002014 0x00000000
0x00002018 0x________
0x0000201C 0x________
lui t0,$0aaa
ori t0,t0,$aaaa
lw t4,$0000(t0)
ext t1,t4,zz,1 #zz=3なら2^3=8 START,ZZ=4*3=0Cになる PADべき乗
beq t1,zero,$+XX
nop
OPCODE
OPCODE
...
# Copy bytes(コピー)
//1バイト
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x81090000
0x00002014 0xA1490000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lb t1,$0000(t0)
sb t1,$0000(t2)
//2バイト
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x85090000
0x00002014 0xA5490000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lh t1,$0000(t0)
sh t1,$0000(t2)
//4バイト
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x89090000
0x00002014 0xa9490000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t1,$0000(t0)
sw t1,$0000(t2)
//*4byteスワップ
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbbb
0x00002010 0x8D0A0000
0x00002014 0x8D2B0000
0x00002018 0xAD2A0000
0x0000201C 0xAD0B0000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$0bbb
ori t1,t1,$bbbb
lw t2,$0000(t0)
lw t3,$0000(t1)
sw t2,$0000(t1)
sw t3,$0000(t0)
#xorでも出来るかも?
//コピーバイト(オフセット=1)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x81090000
0x00002018 0xA1490000
0x0000201C 0x256BFFFF
0x00002020 0x21080001
0x00002024 0x214A0001
0x00002028 0x1560FFFA
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lb t1,$0000(t0)
sb t1,$0000(t2)
addiu t3,t3,$FFFF
addi t0,t0,$0001
addi t2,t2,$0001
bne t3,zero,$-5
nop
//コピー1バイト(オフセット1でない時)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x81090000
0x00002018 0xA1490000
0x0000201C 0x256BFFFF
0x00002020 0x2108dddd
0x00002024 0x214Adddd
0x00002028 0x1560FFFA
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lb t1,$0000(t0)
sb t1,$0000(t2)
addiu t3,t3,$FFFF
addi t0,t0,$dddd
addi t2,t2,$dddd
bne t3,zero,$-5
nop
//2バイト+シリアル
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x85090000
0x00002018 0xA5490000
0x0000201C 0x256BFFFF
0x00002020 0x2108dddd
0x00002024 0x214Adddd
0x00002028 0x1560FFFA
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lh t1,$0000(t0)
sh t1,$0000(t2)
addiu t3,t3,$FFFF
addi t0,t0,$dddd
addi t2,t2,$dddd
bne t3,zero,$-5
nop
//4バイト+シリアル
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x8D090000
0x00002018 0xAD490000
0x0000201C 0x256BFFFF
0x00002020 0x2108dddd
0x00002024 0x214Adddd
0x00002028 0x1560FFFA
0x0000202C 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lw t1,$0000(t0)
sw t1,$0000(t2)
addiu t3,t3,$FFFF
addi t0,t0,$dddd
addi t2,t2,$dddd
bne t3,zero,$-5
nop
//文字列コピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x81090000
0x00002018 0xA1490000
0x0000201C 0x21080001
0x00002020 0x214A0001
0x00002024 0x1520FFFB
0x00002028 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lb t1,$0000(t0)
sb t1,$0000(t2)
addi t0,t0,$0001
addi t2,t2,$0001
bne t1,zero,$-4 nullで終了
nop
//文字列コピー,UTF16
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x340B00cc
0x00002014 0x81090000
0x00002018 0xA1490000
0x0000201C 0x21080001
0x00002020 0x214A0001
0x00002024 0x1520FFFB
0x00002028 0x81090001
0x0000202C 0x1520FFF9
0x00002030 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lb t1,$0000(t0)
sb t1,$0000(t2)
addi t0,t0,$0001
addi t2,t2,$0001
bne t1,zero,$-4 null1つめ
lb t1,$0001(t0)
bne t1,zero,$-6 null*2で終了
nop
//ポインタ1byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x11000003
0x00002014 0x00000000
0x00002018 0x8109iiii
0x0000201C 0xA109ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+4 NULLの時スキップ
nop
lb t1,$iiii(t0)
sb t1,$ssss(t0)
//ポインタ2byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x11000003
0x00002014 0x00000000
0x00002018 0x8509iiii
0x0000201C 0xA509ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+4 NULLの時スキップ
nop
lh t1,$iiii(t0)
sh t1,$ssss(t0)
//ポインタ4byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x11000003
0x00002014 0x00000000
0x00002018 0x8D09iiii
0x0000201C 0xAD09ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+4 NULLの時スキップ
nop
lw t1,$iiii(t0)
sw t1,$ssss(t0)
//ポインタコピーバイト(CWC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340B00cc
0x0000200C 0x340C0qqq
0x00002010 0x000C6080
0x00002014 0x8D090000
0x00002018 0x11200008
0x0000201C 0x010C4021
0x00002020 0x8D080000
0x00002024 0x812Aiiii
0x00002028 0xA10Assss
0x0000202C 0x256BFFFF
0x00002030 0x21080001
0x00002034 0x21290001
0x00002038 0x1560FFFA
0x0000203C 0x00000000
lui t0,$0aaa ポインタアドレス上位を入力
ori t0,t0,$aaaa ポインタアドレス下位を入力
ori t3,zero,$00cc cc=コピー回数
ori t4,zero,$0qqq ポインタオフセット
sll t4,t4,2 qqqを4倍
lw t1,$0000(t0) 基準アドレス1を読み込む
addu t0,t0,t4 ポインタアドレス+4*qqq
beq t1,zero,$+9 基準アドレス1がNULLの時スキップ
lw t0,$0000(t0) 基準アドレス2を読み込む
lb t2,$iiii(t1) 基準アドレス1+iiiiの値を
sb t2,$ssss(t0) 基準アドレス2+ssssに書き込み
addiu t3,t3,$FFFF コピー回数-1
addiu t0,t0,$0001 コピー元をずらすため基準アドレス1+1
addiu t1,t1,$0001 コピー先をずらすため基準アドレス2+1
bne t2,zero,$-5 回数0になるまで繰り返す
nop
//多重ポインタ1byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x110000**
0x00002014 0x00000000
0x00002018 0x8D08pppp
0x0000201C 0x00000000
0x00002020 0x8D08qqqq
...
0x000020** 0x8109iiii
0x000020** 0xA109ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lb t1,$iiii(t0)
sb t1,$ssss(t0)
//多重ポインタ2byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x110000**
0x00002014 0x00000000
0x00002018 0x8D08pppp
0x0000201C 0x00000000
0x00002020 0x8D08qqqq
...
0x000020** 0x8509iiii
0x000020** 0xA509ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lh t1,$iiii(t0)
sh t1,$ssss(t0)
//多重ポインタ4byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x00000000
0x0000200C 0x8D080000
0x00002010 0x110000**
0x00002014 0x00000000
0x00002018 0x8D08pppp
0x0000201C 0x00000000
0x00002020 0x8D08qqqq
...
0x000020** 0x8D09iiii
0x000020** 0xAD09ssss
lui t0,$0aaa
ori t0,t0,$aaaa
nop
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t1,$iiii(t0)
sw t1,$ssss(t0)
//多重ポインタコピー(FC)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x340B00cc
0x0000200C 0x340C0qqq
0x00002010 0x000C6080
0x00002014 0x8D080000
0x00002018 0x110000**
0x0000201C 0x00000000
0x00002020 0x8D08pppp
0x00002024 0x00000000
0x00002028 0x8D08qqqq
0x0000202C 0x00000000
....
0x000020** 0x8D08zzzz
0x000020** 0x010C4021
0x000020** 0x8D080000
0x000020** 0x812Aiiii
0x000020** 0xA10Assss
0x000020** 0x256BFFFF
0x000020** 0x21080001
0x000020** 0x21290001
0x000020** 0x1560FFFA
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
ori t3,zero,$00cc
ori t4,zero,$0qqq
sll t4,t4,2
lw t0,$0000(t0)
beq t0,zero,$+★ NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
nop
...
lw t1,$zzzz(t0)
addu t0,t0,t4
lw t0,$0000(t0)
lb t2,$iiii(t1)
sb t2,$ssss(t0)
addiu t3,t3,$FFFF
addiu t0,t0,$0001
addiu t1,t1,$0001
bne t2,zero,$-5
nop ★
//指定アドレスから多重ポインタに4byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0x8D490000
0x000020** 0xAD09zzzz
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
...
lw t1,$0000(t2)
sw t1,$zzzz(t0)
//多重ポインタから指定アドレスに4byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0x8D09zzzz
0x000020** 0xAD49000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
...
lw t1,$zzzz(t0)
sw t1,$0000(t2)
//多重ポインタから別多重ポインタに4byteコピー
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0x8D09zzzz
0x000020** 0x8D4A0000
0x000020** 0x110000**
0x000020** 0x00000000
0x000020** 0x8D4Apppp
0x000020** 0x00000000
0x000020** 0x8D4Aqqqq
...
0x000020** 0x8D4Azzzz
0x000020** 0x00000000
0x000020** 0xAD490000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
...
lw t1,$iiii(t0)
lw t2,$0000(t2)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t2,$pppp(t2)
nop
...
sw t1,$0000(t2)
//多重ポインタから空きメモリにポインタ配列保存
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0880
0x0000200C 0x354A**** #0700~3FF0
0x00002010 0x340B00cc
0x00002014 0x8D080000
0x00002018 0x110000**
0x0000201C 0x00000000
0x00002020 0x8D08pppp
0x00002024 0x00000000
0x00002028 0x8D08qqqq
...
0x000020** 0x8D09zzzz
0x000020** 0xAD49000
0x000020** 0x256BFFFF
0x000020** 0x21080004
0x000020** 0x214A0004
0x000020** 0x1560FFFA
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
ori t3,zero,$00cc
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
...
lw t1,$zzzz(t0)
sw t1,$0000(t2)
addiu t3,t3,$FFFF
addi t0,t0,$0004
addi t2,t2,$0004
bne t3,zero,$-5
nop
//文字列コピー(ポインタ)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0x8109iiii
0x000020** 0xA109ssss
0x000020** 0x21080001
0x000020** 0x214A0001
0x000020** 0x1520FFFB
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
...
lb t1,$iiii(t0)
sb t1,$ssss(t2)
addi t0,t0,$0001
addi t2,t2,$0001
bne t1,zero,$-4 nullで終了
nop
//文字列コピー(ポインタ,UTF16)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C0A0bbb
0x0000200C 0x354Abbbb
0x00002010 0x8D080000
0x00002014 0x110000**
0x00002018 0x00000000
0x0000201C 0x8D08pppp
0x00002020 0x00000000
0x00002024 0x8D08qqqq
...
0x000020** 0x8109iiii
0x000020** 0xA109ssss
0x000020** 0x21080001
0x000020** 0x214A0001
0x000020** 0x1520FFFB
0x000020** 0x8109iii' iii'=iiii+1
0x000020** 0x1520FFF9
0x000020** 0x00000000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t2,$0bbb
ori t2,t2,$bbbb
lw t0,$0000(t0)
beq t0,zero,$+XX NULLの時スキップ
nop
lw t0,$pppp(t0)
nop
lw t0,$qqqq(t0)
...
lb t1,$iiii(t0)
sb t1,$ssss(t2)
addi t0,t0,$0001
addi t2,t2,$0001
bne t1,zero,$-4 null1つめ
lb t1,$iiii+1(t0)
bne t1,zero,$-6 null*2で終了
nop
//4bit左シフトコピー
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x3129000f
0x00002010 0x00095100
0x00002014 0x012a4825
0x00002018 0xa1090000
lui t0, $0aaa
ori t0, t0, $aaaa
lb t1, $0000(t0)
andi t1, t1, $000f
sll t2, t1, 4
or t1, t1, t2
sb t1, $0000(t0)
//4bit右シフトコピー
0x00002000 0x3c080aaa
0x00002004 0x3508aaaa
0x00002008 0x81090000
0x0000200C 0x312900f0
0x00002010 0x00095102
0x00002014 0x012a4825
0x00002018 0xa1090000
lui t0, $0aaa
ori t0, t0, $aaaa
lb t1, $0000(t0)
andi t1, t1, $00f0
srl t2, t1, 4
or t1, t1, t2
sb t1, $0000(t0)
//単精度浮動小数点コピー(FPU)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C090bbb
0x0000200C 0x3529bbbb
0x00002010 0xC51E0000
0x00002014 0xE53E0000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$0bbb
ori t1,t1,$bbbb
lwc1 $f30,$0000(t0)
swc1 $f30,$0000(t1)
//単精度浮動小数点コピー(VFPU)
0x00002000 0x3C080aaa
0x00002004 0x3508aaaa
0x00002008 0x3C090bbb
0x0000200C 0x3529bbbb
0x00002010 0xC91F0000
0x00002014 0xE91F0000
lui t0,$0aaa
ori t0,t0,$aaaa
lui t1,$0bbb
ori t1,t1,$bbbb
lv.s S730,$0000(t0)
sv.s S730,$0000(t1)
#ベクターレジスタは未使用なのがおおいのでこっちがオヌヌメ
//単精度浮動小数点コピー16byte(VFPU)
0x00002000 0x3C080aaa
0x00002004 0x3508aaa0
0x00002008 0x3C09bbbb
0x0000200C 0x3529bbb0
0x00002010 0xD91F0000
0x00002014 0xF91F0000
lui t0,$0aaa
ori t0,t0,$aaa0
lui t1,$0bbb
ori t1,t1,$bbb0
lv.q C730,$0000(t0)
sv.q C730,$0000(t1)
#アドレス4bitが0でなくてはならない
//単精度浮動小数点加算(FPU)
0x0000XXXX 0xFLOATVAL
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0xC51E0000
0x0000200C 0x3C080aaa
0x00002010 0x3508aaaa
0x00002014 0xC51F0000
0x00002018 0x461FF780
0x0000201C 0xE51E0000
lui t0,$0880
ori t0,t0,$XXXX
lwc1 $f30,$0000(t0)
lui t0,$0aaa
ori t0,t0,$aaaa
lwc1 $f31,$0000(t0)
add.s $f30,$f30,$f31
swc1 $f30,$0000(t0)
//単精度浮動小数点加算(VFPU)
0x0000XXXX 0xFLOATVAL
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0xC91F0000
0x0000200C 0x3C080aaa
0x00002010 0x3508aaaa
0x00002014 0xC91F0001
0x00002018 0x603F1F1F
0x0000201C 0xE91F0000
lui t0,$0880
ori t0,t0,$XXXX
lv.s S730,$0000(t0)
lui t0,$0aaa
ori t0,t0,$aaaa
lv.s S731,$0000(t0)
vadd.s S730,S730,S731
sv.s S730,$0000(t0)
//単精度浮動小数乗算(FPU)
0x0000XXXX 0xFLOATVAL
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0xC51E0000
0x0000200C 0x3C080aaa
0x00002010 0x3508aaaa
0x00002014 0xC51F0000
0x00002018 0x461FF782
0x0000201C 0xE51E0000
lui t0,$0880
ori t0,t0,$XXXX
lwc1 f30,$0000(t0)
lui t0,$0aaa
ori t0,t0,$aaaa
lwc1 f31,$0000(t0)
mul.s f30,f30,f31
swc1 f30,$0000(t0)
//単精度浮動小数乗算(VFPU)
0x0000XXXX 0xFLOATVAL
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0xC91F0000
0x0000200C 0x3C080aaa
0x00002010 0x3508aaaa
0x00002014 0xC91F0001
0x00002018 0x643F1F1F
0x0000201C 0xE91F0000
lui t0,$0880
ori t0,t0,$XXXX
lv.s S730,$0000(t0)
lui t0,$0aaa
ori t0,t0,$aaaa
lv.s S731,$0000(t1)
vmul.s S730,S730,S731
sv.s S730,$0000(t0)
//ボタン押し+1(マスク,PAD1+PAD2で通常加算)
lui t0,$0aa'
lhu t4,$aaaa(t0)
lui t1,$0bbb
ori t1,t1,$bbbb
ori t2,zero,$PAD1
lb t0,$0000(t1)
andi t0,t0,$0001
bne t0,zero,$+6
and t3,t4,t2
bne t3,t2,$+4
lb t2,$0000(t1)
addui t2,t2,$0001
sb t2,$0000(t1)
ori t2,zero,$PAD2
beq t0,zero,$+6
and t3,t4,t2
bne t3,t2,$+4
lb t2,$0000(t1)
addui t2,t2,$0001
sb t2,$0000(t1)
//ボタン押し+1(多重判定)
0x00002000 0x3C080aa'
0x00002004 0x9509aaaa
0x00002008 0x340Abbbb
0x0000200C 0x1549000B
0x00002010 0x3C080880
0x00002014 0x81093FF0
0x00002018 0x14090007
0x0000201C 0x3C0A0bbb
0x00002020 0x354Abbbb
0x00002024 0x814B0000
0x00002028 0x256B0001
0x0000202C 0xA14B0000
0x00002030 0x34090001
0x00002034 0xA1093FF0
0x00002038 0x10000002
0x0000203C 0x00000000
0x00002040 0xA1003FF0
lui t0,$0aa'
lhu t1,$aaaa(t0)
ori t2,zero,$bbbb
bne t1,t2,$+12
lui t0,$0880
lb t1,$3FF0(t0)
bne t1,zero,$+8
lui t1,$0bbb
ori t1,t1,$bbbb
lb t2,$0000(t1)
addui t2,t2,$0001
sb t2,$0000(t1)
ori t1,zero,$0001
sb t1,$3FF0(t0)
beq zero,zero,$+2
nop
sb zero,$0000(t0)
//カウント判定
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0x8D090000
0x0000200C 0x25290001
0x00002010 0xAD090000
0x00002014 0x3C0Abbbb
0x0000201C 0x354Abbbb
0x00002020 0x012A582B
0x00002024 0x156000**
0x00002028 0x00000000
lui t0,$0880
ori t0,t0,$XXXX
lw t1,$0000(t0)
addiu t1,t1,$0001
sw t1,$0000(t0)
lui t2,$bbbb
ori t2,t2,$bbbb 比較値bbbbbbbb
sltu t3,t1,t2 t3=1(t2>t1)
bne t3,zero,$+XX t3=1 の時スキップ
nop
OPCODE
OPCODE
...
//ループ有カウント判定
0x00002000 0x3C080880
0x00002004 0x3508XXXX
0x00002008 0x8D090000
0x0000200C 0x25290001
0x00002010 0xAD090000
0x00002014 0x3C0Abbbb
0x0000201C 0x354Abbbb
0x00002020 0x012A582B
0x00002024 0x156000**
0x00002028 0x00000000
...
0x000020** 0x3C080880
0x000020** 0x3508XXXX
0x000020** 0x34000008
lui t0,$0880
ori t0,t0,$XXXX
lw t1,$0000(t0)
addiu t1,t1,$0001
sw t1,$0000(t0)
lui t2,$bbbb
ori t2,t2,$bbbb 比較値bbbbbbbb
sltu t3,t1,t2 t3=1(t2>t1)
bne t3,zero,$+XX t3=1 の時スキップ
nop
OPCODE
OPCODE
lui t0,$0880
ori t0,t0,$XXXX
ori zero,$0000(t0) カウンターリセット
//レジスタ一時退避1(sp使用)
0x00001FD0 0x27BDFFD8
0x00001FD4 0xAFA80000
0x00001FD8 0xAFA90004
0x00001FDC 0xAFAA0008
0x00001FE0 0xAFAB000C
0x00001FE4 0xAFAC0010
0x00001FE8 0xAFAD0014
0x00001FEC 0xAFAE0018
0x00001FF0 0xAFAF001C
0x00001FF4 0xAFB80020
0x00001FF8 0xAFB90024
...
...
0x00002300 0x8FA80000
0x00002304 0x8FA90004
0x00002308 0x8FAA0008
0x0000230C 0x8FAB000C
0x00002310 0x8FAC0010
0x00002314 0x8FAD0014
0x00002318 0x8FAE0018
0x0000231C 0x8FAF001C
0x00002320 0x8FB80020
0x00002324 0x8FB90024
0x00002328 0x27BD0028
addiu sp,sp,$FFD8
sw t0,$0000(sp)
sw t1,$0004(sp)
sw t2,$0008(sp)
sw t3,$000C(sp)
sw t4,$0010(sp)
sw t5,$0014(sp)
sw t6,$0018(sp)
sw t7,$001C(sp)
sw t8,$0020(sp)
sw t9,$0024(sp)
...
...
lw t0,$0000(sp)
lw t1,$0004(sp)
lw t2,$0008(sp)
lw t3,$000C(sp)
lw t4,$0010(sp)
lw t5,$0014(sp)
lw t6,$0018(sp)
lw t7,$001C(sp)
lw t8,$0020(sp)
lw t9,$0024(sp)
addiu sp,sp,$0028
//レジスタ一時退避(ra使用)
#jr ra手前のlw ra,$****(sp)をつぶして使う
#HOOKはj+nopになることがおおい?
0x00001FD0 0x3C1F0880
0x00001FD4 0x37FF****
0x00001FD8 0xAFE80000
0x00001FDC 0xAFE90004
0x00001FE0 0xAFEA0008
0x00001FE4 0xAFEB000C
0x00001FE8 0xAFEC0010
0x00001FEC 0xAFED0014
0x00001FF0 0xAFEE0018
0x00001FF4 0xAFEF001C
0x00001FF8 0xAFF80020
0x00001FFC 0xAFF90024
...
...
0x00002300 0x8FE80000
0x00002304 0x8FE90004
0x00002308 0x8FEA0008
0x0000230C 0x8FEB000C
0x00002310 0x8FEC0010
0x00002314 0x8FED0014
0x00002318 0x8FEE0018
0x0000231C 0x8FEF001C
0x00002320 0x8FF80020
0x00002324 0x8FF90024
0x00002328 0x0A2*****
0x0000232C 0x8FBF****
lui ra,$0880
ori ra,ra,$**** ****=700~3FE0
sw t0,$0000(ra)
sw t1,$0004(ra)
sw t2,$0008(ra)
sw t3,$000C(ra)
sw t4,$0010(ra)
sw t5,$0014(ra)
sw t6,$0018(ra)
sw t7,$001C(ra)
sw t8,$0020(ra)
sw t9,$0024(ra)
...
...
lw t0,$0000(ra)
lw t1,$0004(ra)
lw t2,$0008(ra)
lw t3,$000C(ra)
lw t4,$0010(ra)
lw t5,$0014(ra)
lw t6,$0018(ra)
lw t7,$001C(ra)
lw t8,$0020(ra)
lw t9,$0024(ra)
j $潰したアドレス+8
lw ra, $****(sp)
//レジスタ一時退避(at使用)
0x00001FD0 0x3C010880
0x00001FD4 0x3421****
0x00001FD8 0xAC280000
0x00001FDC 0xAC290004
0x00001FE0 0xAC2A0008
0x00001FE4 0xAC2B000C
0x00001FE8 0xAC2C0010
0x00001FEC 0xAC2D0014
0x00001FF0 0xAC2E0018
0x00001FF4 0xAC2F001C
0x00001FF8 0xAC380020
0x00001FFC 0xAC390024
...
...
0x00002300 0x8C280000
0x00002304 0x8C290004
0x00002308 0x8C2A0008
0x0000230C 0x8C2B000C
0x00002310 0x8C2C0010
0x00002314 0x8C2D0014
0x00002318 0x8C2E0018
0x0000231C 0x8C2F001C
0x00002320 0x8C380020
0x00002324 0x8C390024
0x00002328 0x0A2*****
lui at,$0880
ori at,at,$**** ****=700~3FE0
sw t0,$0000(at)
sw t1,$0004(at)
sw t2,$0008(at)
sw t3,$000C(at)
sw t4,$0010(at)
sw t5,$0014(at)
sw t6,$0018(at)
sw t7,$001C(at)
sw t8,$0020(at)
sw t9,$0024(at)
...
...
lw t0,$0000(at)
lw t1,$0004(at)
lw t2,$0008(at)
lw t3,$000C(at)
lw t4,$0010(at)
lw t5,$0014(at)
lw t6,$0018(at)
lw t7,$001C(at)
lw t8,$0020(at)
lw t9,$0024(at)
j $潰したアドレス+8
//レジスタ一時退避(v0使用)
0x00001FD0 0x3C020880
0x00001FD4 0x3442****
0x00001FD8 0xAC480000
0x00001FDC 0xAC490004
0x00001FE0 0xAC4A0008
0x00001FE4 0xAC4B000C
0x00001FE8 0xAC4C0010
0x00001FEC 0xAC4D0014
0x00001FF0 0xAC4E0018
0x00001FF4 0xAC4F001C
0x00001FF8 0xAC580020
0x00001FFC 0xAC590024
...
...
0x00002300 0x8C480000
0x00002304 0x8C490004
0x00002308 0x8C4A0008
0x0000230C 0x8C4B000C
0x00002310 0x8C4C0010
0x00002314 0x8C4D0014
0x00002318 0x8C4E0018
0x0000231C 0x8C4F001C
0x00002320 0x8C580020
0x00002324 0x8C590024
0x00002328 0x0A2*****
lui v0,$0880
ori v0,v0,$**** ****=700~3FE0
sw t0,$0000(v0)
sw t1,$0004(v0)
sw t2,$0008(v0)
sw t3,$000C(v0)
sw t4,$0010(v0)
sw t5,$0014(v0)
sw t6,$0018(v0)
sw t7,$001C(v0)
sw t8,$0020(v0)
sw t9,$0024(v0)
...
...
lw t0,$0000(v0)
lw t1,$0004(v0)
lw t2,$0008(v0)
lw t3,$000C(v0)
lw t4,$0010(v0)
lw t5,$0014(v0)
lw t6,$0018(v0)
lw t7,$001C(v0)
lw t8,$0020(v0)
lw t9,$0024(v0)
j $潰したアドレス+8
//レジスタ一時退避(v1使用)
0x00001FD0 0x3C030880
0x00001FD4 0x3463****
0x00001FD8 0xAC680000
0x00001FDC 0xAC690004
0x00001FE0 0xAC6A0008
0x00001FE4 0xAC6B000C
0x00001FE8 0xAC6C0010
0x00001FEC 0xAC6D0014
0x00001FF0 0xAC6E0018
0x00001FF4 0xAC6F001C
0x00001FF8 0xAC780020
0x00001FFC 0xAC790024
...
...
0x00002300 0x8C680000
0x00002304 0x8C690004
0x00002308 0x8C6A0008
0x0000230C 0x8C6B000C
0x00002310 0x8C6C0010
0x00002314 0x8C6D0014
0x00002318 0x8C6E0018
0x0000231C 0x8C6F001C
0x00002320 0x8C780020
0x00002324 0x8C790024
0x00002328 0x0A2*****
lui v1,$0880
ori v1,v1,$**** ****=700~3FE0
sw t0,$0000(v1)
sw t1,$0004(v1)
sw t2,$0008(v1)
sw t3,$000C(v1)
sw t4,$0010(v1)
sw t5,$0014(v1)
sw t6,$0018(v1)
sw t7,$001C(v1)
sw t8,$0020(v1)
sw t9,$0024(v1)
...
...
lw t0,$0000(v1)
lw t1,$0004(v1)
lw t2,$0008(v1)
lw t3,$000C(v1)
lw t4,$0010(v1)
lw t5,$0014(v1)
lw t6,$0018(v1)
lw t7,$001C(v1)
lw t8,$0020(v1)
lw t9,$0024(v1)
j $潰したアドレス+8
//レジスタ一時退避(a0使用)
0x00001FD0 0x3C040880
0x00001FD4 0x3484****
0x00001FD8 0xAC880000
0x00001FDC 0xAC890004
0x00001FE0 0xAC8A0008
0x00001FE4 0xAC8B000C
0x00001FE8 0xAC8C0010
0x00001FEC 0xAC8D0014
0x00001FF0 0xAC8E0018
0x00001FF4 0xAC8F001C
0x00001FF8 0xAC980020
0x00001FFC 0xAC990024
...
...
0x00002300 0x8C880000
0x00002304 0x8C890004
0x00002308 0x8C8A0008
0x0000230C 0x8C8B000C
0x00002310 0x8C8C0010
0x00002314 0x8C8D0014
0x00002318 0x8C8E0018
0x0000231C 0x8C8F001C
0x00002320 0x8C980020
0x00002324 0x8C990024
0x00002328 0x0A2*****
lui a0,$0880
ori a0,a0,$**** ****=700~3FE0
sw t0,$0000(a0)
sw t1,$0004(a0)
sw t2,$0008(a0)
sw t3,$000C(a0)
sw t4,$0010(a0)
sw t5,$0014(a0)
sw t6,$0018(a0)
sw t7,$001C(a0)
sw t8,$0020(a0)
sw t9,$0024(a0)
...
...
lw t0,$0000(a0)
lw t1,$0004(a0)
lw t2,$0008(a0)
lw t3,$000C(a0)
lw t4,$0010(a0)
lw t5,$0014(a0)
lw t6,$0018(a0)
lw t7,$001C(a0)
lw t8,$0020(a0)
lw t9,$0024(a0)
j $潰したアドレス+8
//レジスタ一時退避(a1使用)
0x00001FD0 0x3C050880
0x00001FD4 0x34A5****
0x00001FD8 0xACA80000
0x00001FDC 0xACA90004
0x00001FE0 0xACAA0008
0x00001FE4 0xACAB000C
0x00001FE8 0xACAC0010
0x00001FEC 0xACAD0014
0x00001FF0 0xACAE0018
0x00001FF4 0xACAF001C
0x00001FF8 0xACB80020
0x00001FFC 0xACB90024
...
...
0x00002300 0x8CA80000
0x00002304 0x8CA90004
0x00002308 0x8CAA0008
0x0000230C 0x8CAB000C
0x00002310 0x8CAC0010
0x00002314 0x8CAD0014
0x00002318 0x8CAE0018
0x0000231C 0x8CBF001C
0x00002320 0x8CB80020
0x00002324 0x8CB90024
0x00002328 0x0A2*****
lui a1,$0880
ori a1,a1,$**** ****=700~3FE0
sw t0,$0000(a1)
sw t1,$0004(a1)
sw t2,$0008(a1)
sw t3,$000C(a1)
sw t4,$0010(a1)
sw t5,$0014(a1)
sw t6,$0018(a1)
sw t7,$001C(a1)
sw t8,$0020(a1)
sw t9,$0024(a1)
...
...
lw t0,$0000(a1)
lw t1,$0004(a1)
lw t2,$0008(a1)
lw t3,$000C(a1)
lw t4,$0010(a1)
lw t5,$0014(a1)
lw t6,$0018(a1)
lw t7,$001C(a1)
lw t8,$0020(a1)
lw t9,$0024(a1)
j $潰したアドレス+8
//レジスタ一時退避(a2使用)
0x00001FD0 0x3C060880
0x00001FD4 0x34C6****
0x00001FD8 0xACC80000
0x00001FDC 0xACC90004
0x00001FE0 0xACCA0008
0x00001FE4 0xACCB000C
0x00001FE8 0xACCC0010
0x00001FEC 0xACCD0014
0x00001FF0 0xACCE0018
0x00001FF4 0xACCF001C
0x00001FF8 0xACD80020
0x00001FFC 0xACD90024
...
...
0x00002300 0x8CC80000
0x00002304 0x8CC90004
0x00002308 0x8CCA0008
0x0000230C 0x8CCB000C
0x00002310 0x8CCC0010
0x00002314 0x8CCD0014
0x00002318 0x8CCE0018
0x0000231C 0x8CCF001C
0x00002320 0x8CD80020
0x00002324 0x8CD90024
0x00002328 0x0A2*****
lui a2,$0880
ori a2,a2,$**** ****=700~3FE0
sw t0,$0000(a2)
sw t1,$0004(a2)
sw t2,$0008(a2)
sw t3,$000C(a2)
sw t4,$0010(a2)
sw t5,$0014(a2)
sw t6,$0018(a2)
sw t7,$001C(a2)
sw t8,$0020(a2)
sw t9,$0024(a2)
...
...
lw t0,$0000(a2)
lw t1,$0004(a2)
lw t2,$0008(a2)
lw t3,$000C(a2)
lw t4,$0010(a2)
lw t5,$0014(a2)
lw t6,$0018(a2)
lw t7,$001C(a2)
lw t8,$0020(a2)
lw t9,$0024(a2)
j $潰したアドレス+8
//レジスタ一時退避(a3使用)
0x00001FD0 0x3C070880
0x00001FD4 0x35E7****
0x00001FD8 0xACE80000
0x00001FDC 0xACE90004
0x00001FE0 0xACEA0008
0x00001FE4 0xACEB000C
0x00001FE8 0xACEC0010
0x00001FEC 0xACED0014
0x00001FF0 0xACEE0018
0x00001FF4 0xACEF001C
0x00001FF8 0xACF80020
0x00001FFC 0xACF90024
...
...
0x00002300 0x8CE80000
0x00002304 0x8CF90004
0x00002308 0x8CEA0008
0x0000230C 0x8CEB000C
0x00002310 0x8CEC0010
0x00002314 0x8CED0014
0x00002318 0x8CEE0018
0x0000231C 0x8CEF001C
0x00002320 0x8CF80020
0x00002324 0x8CF90024
0x00002328 0x0A2*****
lui a3,$0880
ori a3,a3,$**** ****=700~3FE0
sw t0,$0000(a3)
sw t1,$0004(a3)
sw t2,$0008(a3)
sw t3,$000C(a3)
sw t4,$0010(a3)
sw t5,$0014(a3)
sw t6,$0018(a3)
sw t7,$001C(a3)
sw t8,$0020(a3)
sw t9,$0024(a3)
...
...
lw t0,$0000(a3)
lw t1,$0004(a3)
lw t2,$0008(a3)
lw t3,$000C(a3)
lw t4,$0010(a3)
lw t5,$0014(a3)
lw t6,$0018(a3)
lw t7,$001C(a3)
lw t8,$0020(a3)
lw t9,$0024(a3)
j $潰したアドレス+8
//レジスタ一時退避(s0使用)
0x00001FD0 0x3C100880
0x00001FD4 0x3610****
0x00001FD8 0xAE080000
0x00001FDC 0xAE090004
0x00001FE0 0xAE0A0008
0x00001FE4 0xAE0B000C
0x00001FE8 0xAE0C0010
0x00001FEC 0xAE0D0014
0x00001FF0 0xAE0E0018
0x00001FF4 0xAE0F001C
0x00001FF8 0xAE180020
0x00001FFC 0xAE190024
...
...
0x00002300 0x8E080000
0x00002304 0x8E090004
0x00002308 0x8E0A0008
0x0000230C 0x8E0B000C
0x00002310 0x8E0C0010
0x00002314 0x8E0D0014
0x00002318 0x8E0E0018
0x0000231C 0x8E0F001C
0x00002320 0x8E180020
0x00002324 0x8E190024
0x00002328 0x0A2*****
lui s0,$0880
ori s0,s0,$**** ****=700~3FE0
sw t0,$0000(s0)
sw t1,$0004(s0)
sw t2,$0008(s0)
sw t3,$000C(s0)
sw t4,$0010(s0)
sw t5,$0014(s0)
sw t6,$0018(s0)
sw t7,$001C(s0)
sw t8,$0020(s0)
sw t9,$0024(s0)
...
...
lw t0,$0000(s0)
lw t1,$0004(s0)
lw t2,$0008(s0)
lw t3,$000C(s0)
lw t4,$0010(s0)
lw t5,$0014(s0)
lw t6,$0018(s0)
lw t7,$001C(s0)
lw t8,$0020(s0)
lw t9,$0024(s0)
j $潰したアドレス+8
//レジスタ一時退避(s1使用)
0x00001FD0 0x3C110880
0x00001FD4 0x3631****
0x00001FD8 0xAE280000
0x00001FDC 0xAE290004
0x00001FE0 0xAE2A0008
0x00001FE4 0xAE2B000C
0x00001FE8 0xAE2C0010
0x00001FEC 0xAE2D0014
0x00001FF0 0xAE2E0018
0x00001FF4 0xAE2F001C
0x00001FF8 0xAE380020
0x00001FFC 0xAE390024
...
...
0x00002300 0x8E280000
0x00002304 0x8E290004
0x00002308 0x8E2A0008
0x0000230C 0x8E2B000C
0x00002310 0x8E2C0010
0x00002314 0x8E2D0014
0x00002318 0x8E2E0018
0x0000231C 0x8E2F001C
0x00002320 0x8E380020
0x00002324 0x8E390024
0x00002328 0x0A2*****
lui s1,$0880
ori s1,s1,$**** ****=700~3FE0
sw t0,$0000(s1)
sw t1,$0004(s1)
sw t2,$0008(s1)
sw t3,$000C(s1)
sw t4,$0010(s1)
sw t5,$0014(s1)
sw t6,$0018(s1)
sw t7,$001C(s1)
sw t8,$0020(s1)
sw t9,$0024(s1)
...
...
lw t0,$0000(s1)
lw t1,$0004(s1)
lw t2,$0008(s1)
lw t3,$000C(s1)
lw t4,$0010(s1)
lw t5,$0014(s1)
lw t6,$0018(s1)
lw t7,$001C(s1)
lw t8,$0020(s1)
lw t9,$0024(s1)
j $潰したアドレス+8
//レジスタ一時退避(s2使用)
0x00001FD0 0x3C120880
0x00001FD4 0x3652****
0x00001FD8 0xAE480000
0x00001FDC 0xAE490004
0x00001FE0 0xAE4A0008
0x00001FE4 0xAE4B000C
0x00001FE8 0xAE4C0010
0x00001FEC 0xAE4D0014
0x00001FF0 0xAE4E0018
0x00001FF4 0xAE4F001C
0x00001FF8 0xAE580020
0x00001FFC 0xAE590024
...
...
0x00002300 0x8E480000
0x00002304 0x8E490004
0x00002308 0x8E4A0008
0x0000230C 0x8E4B000C
0x00002310 0x8E4C0010
0x00002314 0x8E4D0014
0x00002318 0x8E4E0018
0x0000231C 0x8E4F001C
0x00002320 0x8E580020
0x00002324 0x8E590024
0x00002328 0x0A2*****
lui s2,$0880
ori s2,s2,$**** ****=700~3FE0
sw t0,$0000(s2)
sw t1,$0004(s2)
sw t2,$0008(s2)
sw t3,$000C(s2)
sw t4,$0010(s2)
sw t5,$0014(s2)
sw t6,$0018(s2)
sw t7,$001C(s2)
sw t8,$0020(s2)
sw t9,$0024(s2)
...
...
lw t0,$0000(s2)
lw t1,$0004(s2)
lw t2,$0008(s2)
lw t3,$000C(s2)
lw t4,$0010(s2)
lw t5,$0014(s2)
lw t6,$0018(s2)
lw t7,$001C(s2)
lw t8,$0020(s2)
lw t9,$0024(s2)
j $潰したアドレス+8
//レジスタ一時退避(s3使用)
0x00001FD0 0x3C130880
0x00001FD4 0x3673****
0x00001FD8 0xAE680000
0x00001FDC 0xAE690004
0x00001FE0 0xAE6A0008
0x00001FE4 0xAE6B000C
0x00001FE8 0xAE6C0010
0x00001FEC 0xAE6D0014
0x00001FF0 0xAE6E0018
0x00001FF4 0xAE6F001C
0x00001FF8 0xAE780020
0x00001FFC 0xAE790024
...
...
0x00002300 0x8E680000
0x00002304 0x8E690004
0x00002308 0x8E6A0008
0x0000230C 0x8E6B000C
0x00002310 0x8E6C0010
0x00002314 0x8E6D0014
0x00002318 0x8E6E0018
0x0000231C 0x8E6F001C
0x00002320 0x8E780020
0x00002324 0x8E790024
0x00002328 0x0A2*****
lui s2,$0880
ori s2,s2,$**** ****=700~3FE0
sw t0,$0000(s3)
sw t1,$0004(s3)
sw t2,$0008(s3)
sw t3,$000C(s3)
sw t4,$0010(s3)
sw t5,$0014(s3)
sw t6,$0018(s3)
sw t7,$001C(s3)
sw t8,$0020(s3)
sw t9,$0024(s3)
...
...
lw t0,$0000(s3)
lw t1,$0004(s3)
lw t2,$0008(s3)
lw t3,$000C(s3)
lw t4,$0010(s3)
lw t5,$0014(s3)
lw t6,$0018(s3)
lw t7,$001C(s3)
lw t8,$0020(s3)
lw t9,$0024(s3)
j $潰したアドレス+8
//レジスタ一時退避(s4使用)
0x00001FD0 0x3C140880
0x00001FD4 0x3694****
0x00001FD8 0xAE880000
0x00001FDC 0xAE890004
0x00001FE0 0xAE8A0008
0x00001FE4 0xAE8B000C
0x00001FE8 0xAE8C0010
0x00001FEC 0xAE8D0014
0x00001FF0 0xAE8E0018
0x00001FF4 0xAE8F001C
0x00001FF8 0xAE980020
0x00001FFC 0xAE990024
...
...
0x00002300 0x8E880000
0x00002304 0x8E890004
0x00002308 0x8E8A0008
0x0000230C 0x8E8B000C
0x00002310 0x8E8C0010
0x00002314 0x8E8D0014
0x00002318 0x8E8E0018
0x0000231C 0x8E8F001C
0x00002320 0x8E980020
0x00002324 0x8E990024
0x00002328 0x0A2*****
lui s4,$0880
ori s4,s4,$**** ****=700~3FE0
sw t0,$0000(s4)
sw t1,$0004(s4)
sw t2,$0008(s4)
sw t3,$000C(s4)
sw t4,$0010(s4)
sw t5,$0014(s4)
sw t6,$0018(s4)
sw t7,$001C(s4)
sw t8,$0020(s4)
sw t9,$0024(s4)
...
...
lw t0,$0000(s4)
lw t1,$0004(s4)
lw t2,$0008(s4)
lw t3,$000C(s4)
lw t4,$0010(s4)
lw t5,$0014(s4)
lw t6,$0018(s4)
lw t7,$001C(s4)
lw t8,$0020(s4)
lw t9,$0024(s4)
j $潰したアドレス+8
//レジスタ一時退避(s5使用)
0x00001FD0 0x3C150880
0x00001FD4 0x36B5****
0x00001FD8 0xAEA80000
0x00001FDC 0xAEA90004
0x00001FE0 0xAEAA0008
0x00001FE4 0xAEAB000C
0x00001FE8 0xAEAC0010
0x00001FEC 0xAEAD0014
0x00001FF0 0xAEAE0018
0x00001FF4 0xAEAF001C
0x00001FF8 0xAEB80020
0x00001FFC 0xAEB90024
...
...
0x00002300 0x8EA80000
0x00002304 0x8EA90004
0x00002308 0x8EAA0008
0x0000230C 0x8EAB000C
0x00002310 0x8EAC0010
0x00002314 0x8EAD0014
0x00002318 0x8EAE0018
0x0000231C 0x8EAF001C
0x00002320 0x8EB80020
0x00002324 0x8EB90024
0x00002328 0x0A2*****
lui s5,$0880
ori s5,s5,$**** ****=700~3FE0
sw t0,$0000(s5)
sw t1,$0004(s5)
sw t2,$0008(s5)
sw t3,$000C(s5)
sw t4,$0010(s5)
sw t5,$0014(s5)
sw t6,$0018(s5)
sw t7,$001C(s5)
sw t8,$0020(s5)
sw t9,$0024(s5)
...
...
lw t0,$0000(s5)
lw t1,$0004(s5)
lw t2,$0008(s5)
lw t3,$000C(s5)
lw t4,$0010(s5)
lw t5,$0014(s5)
lw t6,$0018(s5)
lw t7,$001C(s5)
lw t8,$0020(s5)
lw t9,$0024(s5)
j $潰したアドレス+8
//レジスタ一時退避(s6使用)
0x00001FD0 0x3C160880
0x00001FD4 0x36D6****
0x00001FD8 0xAEC80000
0x00001FDC 0xAEC90004
0x00001FE0 0xAECA0008
0x00001FE4 0xAECB000C
0x00001FE8 0xAECC0010
0x00001FEC 0xAECD0014
0x00001FF0 0xAECE0018
0x00001FF4 0xAECF001C
0x00001FF8 0xAED80020
0x00001FFC 0xAED90024
...
...
0x00002300 0x8EC80000
0x00002304 0x8EC90004
0x00002308 0x8ECA0008
0x0000230C 0x8ECB000C
0x00002310 0x8ECC0010
0x00002314 0x8ECD0014
0x00002318 0x8ECE0018
0x0000231C 0x8ECF001C
0x00002320 0x8ED80020
0x00002324 0x8ED90024
0x00002328 0x0A2*****
lui s6,$0880
ori s6,s6,$**** ****=700~3FE0
sw t0,$0000(s6)
sw t1,$0004(s6)
sw t2,$0008(s6)
sw t3,$000C(s6)
sw t4,$0010(s6)
sw t5,$0014(s6)
sw t6,$0018(s6)
sw t7,$001C(s6)
sw t8,$0020(s6)
sw t9,$0024(s6)
...
...
lw t0,$0000(s6)
lw t1,$0004(s6)
lw t2,$0008(s6)
lw t3,$000C(s6)
lw t4,$0010(s6)
lw t5,$0014(s6)
lw t6,$0018(s6)
lw t7,$001C(s6)
lw t8,$0020(s6)
lw t9,$0024(s6)
j $潰したアドレス+8
//レジスタ一時退避(s7使用)
0x00001FD0 0x3C170880
0x00001FD4 0x36F7****
0x00001FD8 0xAEE80000
0x00001FDC 0xAEE90004
0x00001FE0 0xAEEA0008
0x00001FE4 0xAEEB000C
0x00001FE8 0xAEEC0010
0x00001FEC 0xAEED0014
0x00001FF0 0xAEEE0018
0x00001FF4 0xAEEF001C
0x00001FF8 0xAEF80020
0x00001FFC 0xAEF90024
...
...
0x00002300 0x8EE80000
0x00002304 0x8EE90004
0x00002308 0x8EEA0008
0x0000230C 0x8EEB000C
0x00002310 0x8EEC0010
0x00002314 0x8EED0014
0x00002318 0x8EEE0018
0x0000231C 0x8EEF001C
0x00002320 0x8EF80020
0x00002324 0x8EF90024
0x00002328 0x0A2*****
lui s7,$0880
ori s7,s7,$**** ****=700~3FE0
sw t0,$0000(s7)
sw t1,$0004(s7)
sw t2,$0008(s7)
sw t3,$000C(s7)
sw t4,$0010(s7)
sw t5,$0014(s7)
sw t6,$0018(s7)
sw t7,$001C(s7)
sw t8,$0020(s7)
sw t9,$0024(s7)
...
...
lw t0,$0000(s7)
lw t1,$0004(s7)
lw t2,$0008(s7)
lw t3,$000C(s7)
lw t4,$0010(s7)
lw t5,$0014(s7)
lw t6,$0018(s7)
lw t7,$001C(s7)
lw t8,$0020(s7)
lw t9,$0024(s7)
j $潰したアドレス+8
//レジスタ一時退避(s8使用)
0x00001FD0 0x3C1E0880
0x00001FD4 0x36DE****
0x00001FD8 0xAFC80000
0x00001FDC 0xAFC90004
0x00001FE0 0xAFCA0008
0x00001FE4 0xAFCB000C
0x00001FE8 0xAFCC0010
0x00001FEC 0xAFCD0014
0x00001FF0 0xAFCE0018
0x00001FF4 0xAFCF001C
0x00001FF8 0xAFD80020
0x00001FFC 0xAFD90024
...
...
0x00002300 0x8FC80000
0x00002304 0x8FC90004
0x00002308 0x8FCA0008
0x0000230C 0x8FCB000C
0x00002310 0x8FCC0010
0x00002314 0x8FCD0014
0x00002318 0x8FCE0018
0x0000231C 0x8FCF001C
0x00002320 0x8FD80020
0x00002324 0x8FD90024
0x00002328 0x0A2*****
lui s8,$0880
ori s8,s8,$**** ****=700~3FE0
sw t0,$0000(s8)
sw t1,$0004(s8)
sw t2,$0008(s8)
sw t3,$000C(s8)
sw t4,$0010(s8)
sw t5,$0014(s8)
sw t6,$0018(s8)
sw t7,$001C(s8)
sw t8,$0020(s8)
sw t9,$0024(s8)
...
...
lw t0,$0000(s8)
lw t1,$0004(s8)
lw t2,$0008(s8)
lw t3,$000C(s8)
lw t4,$0010(s8)
lw t5,$0014(s8)
lw t6,$0018(s8)
lw t7,$001C(s8)
lw t8,$0020(s8)
lw t9,$0024(s8)
j $潰したアドレス+8
//あどばんすど
( ^ω^)#1 カーソル位置のアイテム変更
( ^ω^)#2 16進数→10進数
( ^ω^)#3 16進数→2進数
( ^ω^)#4 SJIS2EUC
( ^ω^)#5 EUC2SJIS