# |
|
|
|
|
# |
TAB=8 |
|
|
|
# |
|
|
|
|
__081e7ba4: |
|
|
# |
|
sll |
v0, v0, 3 |
# 081e7ba4:000210c0 |
|
|
addu |
a0, a3, v0 |
# 081e7ba8:00e22021 |
|
|
lw |
a2, $0004(a0) |
# 081e7bac:8c860004 |
:a2=コード1行目ヒダリ |
|
lui |
t0, $e100 |
# 081e7bb0:3c08e100 |
t0=$e1000000 |
|
sltu |
v0, a2, t0 |
# 081e7bb4:00c8102b |
:a2>=E1000000 |
|
bnel |
v0, zero, $081e7c70 |
# 081e7bb8:5440002d |
▼__081e7c70 |
|
lui |
t0, $e000 |
# 081e7bbc:3c08e000 |
t0=$e0000000 |
|
lw |
a1, $0008(a0) |
# 081e7bc0:8c850008 |
:8bit判定,a1=コード右 |
|
lui |
v1, $3000 |
# 081e7bc4:3c033000 |
v1=$30000000 |
|
sltu |
v0, a1, v1 |
# 081e7bc8:00a3102b |
:a1>=30000000 |
|
bnel |
v0, zero, $081e7bf4 |
# 081e7bcc:54400009 |
▼__081e7bf4 |
|
lui |
v1, $2000 |
# 081e7bd0:3c032000 |
v1=$20000000 |
|
lw |
v0, $3780(s1) |
# 081e7bd4:8e223780 |
v0=$881f3780 |
|
subu |
v1, a1, v1 |
# 081e7bd8:00a31823 |
:コード右除去 //0xE1 8bit判定 0x3 |
|
xor |
a0, a2, t0 |
# 081e7bdc:00c82026 |
:E1除去,00nnTEST |
|
addu |
v0, v0, v1 |
# 081e7be0:00431021 |
:コード右+0x8800000 |
|
lbu |
v0, $0000(v0) |
# 081e7be4:90420000 |
:コード右アドレスの値 |
|
andi |
v1, a0, $ffff |
# 081e7be8:3083ffff |
:00nn除去,TEST |
|
j |
$081e7cac |
# 081e7bec:0a079f2b |
▼__081e7cac |
|
andi |
v0, v0, $00ff |
# 081e7bf0:304200ff |
|
|
__081e7bf4: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7bf4:00a3102b |
:a1>=20000000 |
|
bnel |
v0, zero, $081e7c20 |
# 081e7bf8:54400009 |
▼__081e7c20 |
|
lui |
v1, $1000 |
# 081e7bfc:3c031000 |
v1=$10000000 |
|
lw |
v0, $3780(s1) |
# 081e7c00:8e223780 |
v0=$881f3780://0xE1~ 0x2 |
|
subu |
v1, a1, v1 |
# 081e7c04:00a31823 |
:コード右除去 |
|
xor |
a0, a2, t0 |
# 081e7c08:00c82026 |
:E1除去,00nnTEST |
|
addu |
v0, v0, v1 |
# 081e7c0c:00431021 |
:コード右+0x8800000 |
|
lbu |
v0, $0000(v0) |
# 081e7c10:90420000 |
:コード右アドレスの値 |
|
andi |
v1, a0, $ffff |
# 081e7c14:3083ffff |
|
|
j |
$081e7cdc |
# 081e7c18:0a079f37 |
▼__081e7cdc |
|
andi |
v0, v0, $00ff |
# 081e7c1c:304200ff |
|
|
__081e7c20: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7c20:00a3102b |
:a1>=10000000 |
|
bne |
v0, zero, $081e7c58 |
# 081e7c24:1440000c |
▼__081e7c58 |
|
xor |
a2, a2, t0 |
# 081e7c28:00c83026 |
|
|
lw |
v0, $3780(s1) |
# 081e7c2c:8e223780 |
://0xE1~ 0x1 |
|
subu |
v1, a1, v1 |
# 081e7c30:00a31823 |
|
|
andi |
a0, a2, $ffff |
# 081e7c34:30c4ffff |
|
|
addu |
v0, v0, v1 |
# 081e7c38:00431021 |
|
|
lbu |
v0, $0000(v0) |
# 081e7c3c:90420000 |
|
|
andi |
v0, v0, $00ff |
# 081e7c40:304200ff |
|
|
__081e7c44: |
|
|
# |
|
bnel |
v0, a0, $081e8d28 |
# 081e7c44:54440438 |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e7c48:02003821 |
|
|
srl |
v0, a2, 16 |
# 081e7c4c:00061402 |
|
|
__081e7c50: |
|
|
# |
|
j |
$081e8d28 |
# 081e7c50:0a07a34a |
▼__081e8d28:コード終了後 |
|
addu |
a3, s0, v0 |
# 081e7c54:02023821 |
:nn加算 |
|
__081e7c58: |
|
|
# |
|
lw |
v0, $3780(s1) |
# 081e7c58:8e223780 |
:a1<10000000 //0xE1~ 0x0 |
|
andi |
v1, a2, $ffff |
# 081e7c5c:30c3ffff |
|
|
addu |
v0, v0, a1 |
# 081e7c60:00451021 |
|
|
lbu |
v0, $0000(v0) |
# 081e7c64:90420000 |
|
|
j |
$081e7d2c |
# 081e7c68:0a079f4b |
▼__081e7d2c |
|
andi |
v0, v0, $00ff |
# 081e7c6c:304200ff |
|
|
__081e7c70: |
|
|
# |
|
sltu |
v0, a2, t0 |
# 081e7c70:00c8102b |
:a2>=E0000000 |
|
bne |
v0, zero, $081e7d3c |
# 081e7c74:14400031 |
▼__081e7d3c |
|
lui |
v0, $d000 |
# 081e7c78:3c02d000 |
v0=$d0000000 |
|
lw |
a1, $0008(a0) |
# 081e7c7c:8c850008 |
:16bit判定 |
|
lui |
v1, $3000 |
# 081e7c80:3c033000 |
v1=$30000000 |
|
sltu |
v0, a1, v1 |
# 081e7c84:00a3102b |
:a1>=30000000 |
|
bnel |
v0, zero, $081e7cb4 |
# 081e7c88:5440000a |
▼__081e7cb4 |
|
lui |
v1, $2000 |
# 081e7c8c:3c032000 |
v1=$20000000 |
|
lw |
v0, $3780(s1) |
# 081e7c90:8e223780 |
://0xE0~ 0x3 16bit判定 |
|
subu |
v1, a1, v1 |
# 081e7c94:00a31823 |
|
|
xor |
a0, a2, t0 |
# 081e7c98:00c82026 |
|
|
addu |
v0, v0, v1 |
# 081e7c9c:00431021 |
|
|
lhu |
v0, $0000(v0) |
# 081e7ca0:94420000 |
|
|
andi |
v1, a0, $ffff |
# 081e7ca4:3083ffff |
|
|
andi |
v0, v0, $ffff |
# 081e7ca8:3042ffff |
|
|
__081e7cac: |
|
|
# |
|
j |
$081e7ce0 |
# 081e7cac:0a079f38 |
▼__081e7ce0 |
|
sltu |
v0, v1, v0 |
# 081e7cb0:0062102b |
:TEST<右アドレスの値とき実行 |
|
__081e7cb4: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7cb4:00a3102b |
:a1>=20000000 |
|
bnel |
v0, zero, $081e7cf0 |
# 081e7cb8:5440000d |
▼__081e7cf0 |
|
lui |
v1, $1000 |
# 081e7cbc:3c031000 |
v1=$10000000 |
|
lw |
v0, $3780(s1) |
# 081e7cc0:8e223780 |
://0xE0~ 0x2 |
|
subu |
v1, a1, v1 |
# 081e7cc4:00a31823 |
|
|
xor |
a0, a2, t0 |
# 081e7cc8:00c82026 |
|
|
addu |
v0, v0, v1 |
# 081e7ccc:00431021 |
|
|
lhu |
v0, $0000(v0) |
# 081e7cd0:94420000 |
|
|
andi |
v1, a0, $ffff |
# 081e7cd4:3083ffff |
|
|
andi |
v0, v0, $ffff |
# 081e7cd8:3042ffff |
|
|
__081e7cdc: |
|
|
# |
|
sltu |
v0, v0, v1 |
# 081e7cdc:0043102b |
:TEST<右アドレスの値のとき↓ |
|
__081e7ce0: |
|
|
# |
|
bnel |
v0, zero, $081e8d28 |
# 081e7ce0:54400411 |
▼__081e8d28:コード終了後 |
|
addu |
a3, s0, zero |
# 081e7ce4:02003821 |
|
|
j |
$081e7c50 |
# 081e7ce8:0a079f14 |
▲__081e7c50 |
|
srl |
v0, a0, 16 |
# 081e7cec:00041402 |
:nn抽出 |
|
__081e7cf0: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7cf0:00a3102b |
:a1>=10000000 |
|
bne |
v0, zero, $081e7d18 |
# 081e7cf4:14400008 |
▼__081e7d18 |
|
xor |
a2, a2, t0 |
# 081e7cf8:00c83026 |
|
|
lw |
v0, $3780(s1) |
# 081e7cfc:8e223780 |
://0xE0~ 0x1 |
|
subu |
v1, a1, v1 |
# 081e7d00:00a31823 |
|
|
andi |
a0, a2, $ffff |
# 081e7d04:30c4ffff |
|
|
addu |
v0, v0, v1 |
# 081e7d08:00431021 |
|
|
lhu |
v0, $0000(v0) |
# 081e7d0c:94420000 |
|
|
j |
$081e7c44 |
# 081e7d10:0a079f11 |
▲__081e7c44 |
|
andi |
v0, v0, $ffff |
# 081e7d14:3042ffff |
|
|
__081e7d18: |
|
|
# |
|
lw |
v0, $3780(s1) |
# 081e7d18:8e223780 |
:a1<10000000 //0xE0~ 0x0 |
|
andi |
v1, a2, $ffff |
# 081e7d1c:30c3ffff |
|
|
addu |
v0, v0, a1 |
# 081e7d20:00451021 |
|
|
lhu |
v0, $0000(v0) |
# 081e7d24:94420000 |
|
|
andi |
v0, v0, $ffff |
# 081e7d28:3042ffff |
|
|
__081e7d2c: |
|
|
# |
|
bne |
v0, v1, $081e7c50 |
# 081e7d2c:1443ffc8 |
▲__081e7c50 |
|
srl |
v0, a2, 16 |
# 081e7d30:00061402 |
|
|
j |
$081e8d28 |
# 081e7d34:0a07a34a |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e7d38:02003821 |
|
|
__081e7d3c: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e7d3c:00c2102b |
:a2>=D0000000 |
|
bne |
v0, zero, $081e815c |
# 081e7d40:14400106 |
▼__081e815c:#4c |
|
lui |
t0, $c000 |
# 081e7d44:3c08c000 |
t0=$c0000000 |
|
lw |
a1, $0008(a0) |
# 081e7d48:8c850008 |
://0xD 判定/パッド |
|
lui |
v0, $4000 |
# 081e7d4c:3c024000 |
v0=$40000000 |
|
sltu |
v0, a1, v0 |
# 081e7d50:00a2102b |
:a1=コード右>=40000000なら下 |
|
bnel |
v0, zero, $081e7e98 |
# 081e7d54:54400050 |
▼__081e7e98 |
|
lui |
v1, $3000 |
# 081e7d58:3c033000 |
v1=$30000000 |
|
slt |
v0, s0, v1 |
# 081e7d5c:0203102a |
:s0<v1なら下 |
|
beq |
v0, zero, $081e7ea8 |
# 081e7d60:10400051 |
▼__081e7ea8:JOKER |
|
lui |
a0, $d000 |
# 081e7d64:3c04d000 |
a0=$d0000000 |
|
addiu |
v0, s0, $0005 |
# 081e7d68:26020005 |
:アドレス比較? |
|
sll |
v0, v0, 3 |
# 081e7d6c:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e7d70:00e21021 |
|
|
lw |
v1, $0008(v0) |
# 081e7d74:8c430008 |
:bitタイプ |
|
bne |
v1, zero, $081e7db0 |
# 081e7d78:1460000d |
▼__081e7db0:比較16bitへジャンプ |
|
addiu |
t0, s0, $0001 |
# 081e7d7c:26080001 |
|
|
lw |
v1, $3780(s1) |
# 081e7d80:8e233780 |
|
|
lui |
v0, $0fff |
# 081e7d84:3c020fff |
v0=$0fff0000 |
|
ori |
v0, v0, $ffff |
# 081e7d88:3442ffff |
v0=$0fffffff |
|
and |
a0, a2, v0 |
# 081e7d8c:00c22024 |
|
|
and |
v0, a1, v0 |
# 081e7d90:00a21024 |
|
|
addu |
v0, v1, v0 |
# 081e7d94:00621021 |
|
|
addu |
v1, v1, a0 |
# 081e7d98:00641821 |
|
|
lbu |
v1, $0000(v1) |
# 081e7d9c:90630000 |
|
|
lbu |
v0, $0000(v0) |
# 081e7da0:90420000 |
|
|
andi |
a0, v1, $00ff |
# 081e7da4:306400ff |
|
|
j |
$081e7e0c |
# 081e7da8:0a079f83 |
▼__081e7e0c |
|
andi |
v1, v0, $00ff |
# 081e7dac:304300ff |
|
|
__081e7db0: |
|
|
# |
|
addiu |
v0, zero, $0001 |
# 081e7db0:24020001 |
v0=$00000001:16bit比較 |
|
bne |
v1, v0, $081e7dec |
# 081e7db4:1462000d |
▼__081e7dec:比較32bitへジャンプ |
|
lw |
v0, $3780(s1) |
# 081e7db8:8e223780 |
|
|
lw |
v1, $3780(s1) |
# 081e7dbc:8e233780 |
|
|
lui |
v0, $0fff |
# 081e7dc0:3c020fff |
v0=$0fff0000 |
|
ori |
v0, v0, $ffff |
# 081e7dc4:3442ffff |
v0=$0fffffff |
|
and |
a0, a2, v0 |
# 081e7dc8:00c22024 |
|
|
and |
v0, a1, v0 |
# 081e7dcc:00a21024 |
|
|
addu |
v0, v1, v0 |
# 081e7dd0:00621021 |
|
|
addu |
v1, v1, a0 |
# 081e7dd4:00641821 |
|
|
lhu |
v1, $0000(v1) |
# 081e7dd8:94630000 |
|
|
lhu |
v0, $0000(v0) |
# 081e7ddc:94420000 |
|
|
andi |
a0, v1, $ffff |
# 081e7de0:3064ffff |
|
|
j |
$081e7e0c |
# 081e7de4:0a079f83 |
▼__081e7e0c |
|
andi |
v1, v0, $ffff |
# 081e7de8:3043ffff |
|
|
__081e7dec: |
|
|
# |
|
lui |
v1, $0fff |
# 081e7dec:3c030fff |
v1=$0fff0000:32bitアドレス比較 |
|
ori |
v1, v1, $ffff |
# 081e7df0:3463ffff |
v1=$0fffffff |
|
and |
a0, a2, v1 |
# 081e7df4:00c32024 |
|
|
and |
v1, a1, v1 |
# 081e7df8:00a31824 |
|
|
addu |
v1, v0, v1 |
# 081e7dfc:00431821 |
|
|
addu |
v0, v0, a0 |
# 081e7e00:00441021 |
|
|
lw |
a0, $0000(v0) |
# 081e7e04:8c440000 |
|
|
lw |
v1, $0000(v1) |
# 081e7e08:8c630000 |
|
|
__081e7e0c: |
|
|
# |
|
lui |
v0, $7000 |
# 081e7e0c:3c027000 |
v0=$70000000:アドレス比較共通処理 |
|
ori |
v0, v0, $0001 |
# 081e7e10:34420001 |
v0=$70000001 |
|
sltu |
v0, a1, v0 |
# 081e7e14:00a2102b |
:1行目コード右>=70000000なら下 |
|
bnel |
v0, zero, $081e7e28 |
# 081e7e18:54400003 |
▼__081e7e28 |
|
lui |
v0, $6000 |
# 081e7e1c:3c026000 |
v0=$60000000 |
|
j |
$081e7e3c |
# 081e7e20:0a079f8f |
▼__081e7e3c //0xD~ 7 アドレス比較大 |
|
sltu |
v0, v1, a0 |
# 081e7e24:0064102b |
|
|
__081e7e28: |
|
|
# |
|
ori |
v0, v0, $0001 |
# 081e7e28:34420001 |
:v0=60000001 |
|
sltu |
v0, a1, v0 |
# 081e7e2c:00a2102b |
:1行目コード右>=60000001なら下 |
|
bne |
v0, zero, $081e7e4c |
# 081e7e30:14400006 |
▼__081e7e4c |
|
lui |
v0, $5000 |
# 081e7e34:3c025000 |
v0=$50000000 |
|
sltu |
v0, a0, v1 |
# 081e7e38:0083102b |
:0x6 a0>=v1なら下 //0xD ~6 アドレス比較小 |
|
__081e7e3c: |
|
|
# |
|
bnel |
v0, zero, $081e7c50 |
# 081e7e3c:5440ff84 |
▲__081e7c50:0x7 v1>=a0なら下 |
|
addiu |
v0, zero, $0001 |
# 081e7e40:24020001 |
v0=$00000001 |
|
j |
$081e7e80 |
# 081e7e44:0a079fa0 |
▼__081e7e80 |
|
addiu |
v0, t0, $0004 |
# 081e7e48:25020004 |
|
|
__081e7e4c: |
|
|
# |
|
ori |
v0, v0, $0001 |
# 081e7e4c:34420001 |
|
|
sltu |
v0, a1, v0 |
# 081e7e50:00a2102b |
:1行目コード右>=50000001なら下 |
|
bnel |
v0, zero, $081e7e6c |
# 081e7e54:54400005 |
▼__081e7e6c |
|
lui |
v0, $4000 |
# 081e7e58:3c024000 |
v0=$40000000 |
|
bnel |
a0, v1, $081e7c50 |
# 081e7e5c:5483ff7c |
▲__081e7c50:a0!=v1の場合ジャンプ//0xD ~5 アドレス比較不一致 |
|
addiu |
v0, zero, $0001 |
# 081e7e60:24020001 |
v0=$00000001 |
|
j |
$081e7e80 |
# 081e7e64:0a079fa0 |
▼__081e7e80 |
|
addiu |
v0, t0, $0004 |
# 081e7e68:25020004 |
|
|
__081e7e6c: |
|
|
# |
|
beql |
a1, v0, $081e7c50 |
# 081e7e6c:50a2ff78 |
▲__081e7c50:1行目コード右>=40000000なら下 |
|
addiu |
v0, zero, $0001 |
# 081e7e70:24020001 |
v0=$00000001 |
|
beql |
a0, v1, $081e7c50 |
# 081e7e74:5083ff76 |
▲__081e7c50:a0=v1の場合ジャンプ //0xD ~4 アドレス比較一致 |
|
addiu |
v0, zero, $0001 |
# 081e7e78:24020001 |
v0=$00000001 |
|
addiu |
v0, t0, $0004 |
# 081e7e7c:25020004 |
|
|
__081e7e80: |
|
|
# |
|
sll |
v0, v0, 3 |
# 081e7e80:000210c0 |
:アドレス比較共通処理、スキップ |
|
addu |
v0, a3, v0 |
# 081e7e84:00e21021 |
|
|
lw |
v0, $0004(v0) |
# 081e7e88:8c420004 |
|
|
addiu |
v0, v0, $0001 |
# 081e7e8c:24420001 |
|
|
j |
$081e7c50 |
# 081e7e90:0a079f14 |
▲__081e7c50 |
|
andi |
v0, v0, $00ff |
# 081e7e94:304200ff |
|
|
__081e7e98: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7e98:00a3102b |
:a1,コード右>=30000000なら下 //INVERSE JOKER 制御PAD |
|
bne |
v0, zero, $081e7f14 |
# 081e7e9c:1440001d |
▼__081e7f14 |
|
lui |
a0, $2030 |
# 081e7ea0:3c042030 |
a0=$20300000 |
|
lui |
a0, $d000 |
# 081e7ea4:3c04d000 |
a0=$d0000000 |
|
__081e7ea8: |
|
|
# |
|
addu |
a0, a1, a0 |
# 081e7ea8:00a42021 |
:a0=D+3で コードPADだけが残る |
|
jal |
$081e26f4 |
# 081e7eac:0e0789bd |
▲FNC_081e26f4:PAD分解 |
|
addiu |
a1, sp, $0008 |
# 081e7eb0:27a50008 |
|
|
lw |
v0, $0008(sp) |
# 081e7eb4:8fa20008 |
:sp+8=a1 コードPAD |
|
beql |
v0, zero, $081e7ed4 |
# 081e7eb8:50400006 |
▼__081e7ed4 |
|
lw |
v0, $000c(sp) |
# 081e7ebc:8fa2000c |
|
|
lw |
a1, $003c(sp) |
# 081e7ec0:8fa5003c |
:メモリPAD |
|
and |
v0, a1, v0 |
# 081e7ec4:00a21024 |
|
|
beq |
v0, zero, $081e8d28 |
# 081e7ec8:10400397 |
▼__081e8d28:コード処理後 |
|
addu |
a3, s0, zero |
# 081e7ecc:02003821 |
|
|
lw |
v0, $000c(sp) |
# 081e7ed0:8fa2000c |
|
|
__081e7ed4: |
|
|
# |
|
beql |
v0, zero, $081e7ef0 |
# 081e7ed4:50400006 |
▼__081e7ef0 |
|
lw |
v0, $0010(sp) |
# 081e7ed8:8fa20010 |
|
|
lw |
a2, $003c(sp) |
# 081e7edc:8fa6003c |
:メモリPAD |
|
and |
v0, a2, v0 |
# 081e7ee0:00c21024 |
|
|
beq |
v0, zero, $081e8d28 |
# 081e7ee4:10400390 |
▼__081e8d28:コード処理後 |
|
addu |
a3, s0, zero |
# 081e7ee8:02003821 |
|
|
lw |
v0, $0010(sp) |
# 081e7eec:8fa20010 |
|
|
__081e7ef0: |
|
|
# |
|
beq |
v0, zero, $081e7f0c |
# 081e7ef0:10400006 |
▼__081e7f0c |
|
lui |
t0, $881f |
# 081e7ef4:3c08881f |
t0=$881f0000 |
|
lw |
a3, $003c(sp) |
# 081e7ef8:8fa7003c |
|
|
and |
v0, a3, v0 |
# 081e7efc:00e21024 |
|
|
beql |
v0, zero, $081e8d28 |
# 081e7f00:50400389 |
▼__081e8d28">:コード処理後 |
|
addu |
a3, s0, zero |
# 081e7f04:02003821 |
|
|
lui |
t0, $881f |
# 081e7f08:3c08881f |
t0=$881f0000 |
|
__081e7f0c: |
|
|
# |
|
j |
$081e8058 |
# 081e7f0c:0a07a016 |
▼__081e8058:JOKERPAD の処理と共通 |
|
lw |
v1, $64d8(t0) |
# 081e7f10:8d0364d8 |
v1=$881f64d8 |
|
__081e7f14: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e7f14:00a4102b |
:a1,コード右>=20300000なら下 |
|
bnel |
v0, zero, $081e7f44 |
# 081e7f18:5440000a |
▼__081e7f44 |
|
lui |
a0, $2020 |
# 081e7f1c:3c042020 |
a0=$20200000 |
|
lw |
v0, $3780(s1) |
# 081e7f20:8e223780 |
//0xD ~0x203 8bit判定大 |
|
addu |
v1, a2, v1 |
# 081e7f24:00c31821 |
|
|
subu |
a0, a1, a0 |
# 081e7f28:00a42023 |
|
|
addu |
v0, v0, v1 |
# 081e7f2c:00431021 |
|
|
lbu |
v0, $0000(v0) |
# 081e7f30:90420000 |
|
|
addiu |
a3, s0, $0001 |
# 081e7f34:26070001 |
|
|
andi |
v0, v0, $00ff |
# 081e7f38:304200ff |
|
|
j |
$081e80e0 |
# 081e7f3c:0a07a038 |
▼__081e80e0 |
|
sltu |
v0, a0, v0 |
# 081e7f40:0082102b |
|
|
__081e7f44: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e7f44:00a4102b |
:a1=コード右>=20200000なら下 |
|
bnel |
v0, zero, $081e7f74 |
# 081e7f48:5440000a |
▼__081e7f74 |
|
lui |
a0, $2010 |
# 081e7f4c:3c042010 |
a0=$20100000 |
|
lw |
v0, $3780(s1) |
# 081e7f50:8e223780 |
//0xD ~0x202 8bit判定小 |
|
addu |
v1, a2, v1 |
# 081e7f54:00c31821 |
|
|
subu |
a0, a1, a0 |
# 081e7f58:00a42023 |
|
|
addu |
v0, v0, v1 |
# 081e7f5c:00431021 |
|
|
lbu |
v0, $0000(v0) |
# 081e7f60:90420000 |
|
|
addiu |
a3, s0, $0001 |
# 081e7f64:26070001 |
|
|
andi |
v0, v0, $00ff |
# 081e7f68:304200ff |
|
|
j |
$081e80e0 |
# 081e7f6c:0a07a038 |
▼__081e80e0 |
|
sltu |
v0, v0, a0 |
# 081e7f70:0044102b |
|
|
__081e7f74: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e7f74:00a4102b |
:a1,コード右>=20100000なら下 |
|
bne |
v0, zero, $081e7fa8 |
# 081e7f78:1440000b |
▼__081e7fa8 |
|
lui |
v0, $2000 |
# 081e7f7c:3c022000 |
v0=$20000000 |
|
lw |
v0, $3780(s1) |
# 081e7f80:8e223780 |
//0xD ~0x201 8bit判定不一致 |
|
addu |
v1, a2, v1 |
# 081e7f84:00c31821 |
|
|
subu |
a0, a1, a0 |
# 081e7f88:00a42023 |
|
|
addu |
v0, v0, v1 |
# 081e7f8c:00431021 |
|
|
lbu |
v0, $0000(v0) |
# 081e7f90:90420000 |
|
|
andi |
v0, v0, $00ff |
# 081e7f94:304200ff |
|
|
bne |
v0, a0, $081e8d24 |
# 081e7f98:14440362 |
▼__081e8d24 |
|
addiu |
a3, s0, $0001 |
# 081e7f9c:26070001 |
|
|
j |
$081e8d2c |
# 081e7fa0:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e7fa4:24f00001 |
|
|
__081e7fa8: |
|
|
# |
|
sltu |
v0, a1, v0 |
# 081e7fa8:00a2102b |
:a1,コード右>=20000000なら下 |
|
bne |
v0, zero, $081e7fe4 |
# 081e7fac:1440000d |
▼__081e7fe4 |
|
lui |
v1, $1000 |
# 081e7fb0:3c031000 |
v1=$10000000 |
|
lw |
v1, $3780(s1) |
# 081e7fb4:8e233780 |
//0xD ~0x200 8bit判定一致 |
|
lui |
v0, $3000 |
# 081e7fb8:3c023000 |
v0=$30000000 |
|
addu |
v0, a2, v0 |
# 081e7fbc:00c21021 |
|
|
addu |
v1, v1, v0 |
# 081e7fc0:00621821 |
|
|
lbu |
v1, $0000(v1) |
# 081e7fc4:90630000 |
|
|
lui |
v0, $e000 |
# 081e7fc8:3c02e000 |
v0=$e0000000 |
|
addu |
v0, a1, v0 |
# 081e7fcc:00a21021 |
|
|
andi |
v1, v1, $00ff |
# 081e7fd0:306300ff |
|
|
bne |
v1, v0, $081e8d28 |
# 081e7fd4:14620354 |
▼__081e8d28 |
|
addiu |
a3, s0, $0001 |
# 081e7fd8:26070001 |
|
|
j |
$081e8d28 |
# 081e7fdc:0a07a34a |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e7fe0:02003821 |
|
|
__081e7fe4: |
|
|
# |
|
sltu |
v0, a1, v1 |
# 081e7fe4:00a3102b |
:a1,コード右>=10000000なら下,//JOKER パッドコード |
|
bne |
v0, zero, $081e807c |
# 081e7fe8:14400024 |
▼__081e807c |
|
lui |
a0, $0030 |
# 081e7fec:3c040030 |
a0=$00300000 |
|
subu |
a0, a1, v1 |
# 081e7ff0:00a32023 |
:a0=コードのPAD |
|
jal |
$081e26f4 |
# 081e7ff4:0e0789bd |
▲FNC_081e26f4:コードPAD分解 |
|
addiu |
a1, sp, $0008 |
# 081e7ff8:27a50008 |
|
|
lw |
v0, $0008(sp) |
# 081e7ffc:8fa20008 |
:コードPAD分解値 |
|
beql |
v0, zero, $081e801c |
# 081e8000:50400006 |
▼__081e801c |
|
lw |
v0, $000c(sp) |
# 081e8004:8fa2000c |
:コードPAD分解値2 |
|
lw |
t1, $003c(sp) |
# 081e8008:8fa9003c |
|
|
and |
v0, t1, v0 |
# 081e800c:01221024 |
:#and v0, t1, v0 |
|
beql |
v0, zero, $081e8054 |
# 081e8010:50400010 |
▼__081e8054:SKIP #beql v0, zero, $081e8054 |
|
lui |
a1, $881f |
# 081e8014:3c05881f |
a1=$881f0000 |
|
lw |
v0, $000c(sp) |
# 081e8018:8fa2000c |
:コードPAD分解値2 |
|
__081e801c: |
|
|
# |
|
beql |
v0, zero, $081e8038 |
# 081e801c:50400006 |
▼__081e8038 |
|
lw |
v0, $0010(sp) |
# 081e8020:8fa20010 |
:コードPAD分解値3 |
|
lw |
v1, $003c(sp) |
# 081e8024:8fa3003c |
|
|
and |
v0, v1, v0 |
# 081e8028:00621024 |
|
|
beql |
v0, zero, $081e8054 |
# 081e802c:50400009 |
▼__081e8054:SKIP |
|
lui |
a1, $881f |
# 081e8030:3c05881f |
a1=$881f0000 |
|
lw |
v0, $0010(sp) |
# 081e8034:8fa20010 |
:コードPAD分解値3 |
|
__081e8038: |
|
|
# |
|
beq |
v0, zero, $081e8d28 |
# 081e8038:1040033b |
▼__081e8d28:コード処理後 |
|
addu |
a3, s0, zero |
# 081e803c:02003821 |
|
|
lw |
a0, $003c(sp) |
# 081e8040:8fa4003c |
:メモリPAD |
|
and |
v0, a0, v0 |
# 081e8044:00821024 |
|
|
bnel |
v0, zero, $081e8d2c |
# 081e8048:54400338 |
▼__081e8d2c:コード処理後 |
|
addiu |
s0, a3, $0001 |
# 081e804c:24f00001 |
|
|
lui |
a1, $881f |
# 081e8050:3c05881f |
a1=$881f0000 |
|
__081e8054: |
|
|
# |
|
lw |
v1, $64d8(a1) |
# 081e8054:8ca364d8 |
v1=$881f64d8 |
|
__081e8058: |
|
|
# |
|
addiu |
v0, s0, $0004 |
# 081e8058:26020004 |
:INVERSE JOKERと共通,スキップ行? |
|
sll |
v0, v0, 3 |
# 081e805c:000210c0 |
|
|
addu |
v1, v1, s2 |
# 081e8060:00721821 |
|
|
addu |
v1, v1, v0 |
# 081e8064:00621821 |
|
|
lw |
v1, $0004(v1) |
# 081e8068:8c630004 |
|
|
lui |
v0, $3000 |
# 081e806c:3c023000 |
v0=$30000000 |
|
ori |
v0, v0, $0001 |
# 081e8070:34420001 |
v0=$30000001 |
|
j |
$081e8824 |
# 081e8074:0a07a209 |
▼__081e8824 |
|
addu |
v1, v1, v0 |
# 081e8078:00621821 |
|
|
__081e807c: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e807c:00a4102b |
:a1>=00300000 |
|
bnel |
v0, zero, $081e80b0 |
# 081e8080:5440000b |
▼__081e80b0 |
|
lui |
a0, $0020 |
# 081e8084:3c040020 |
a0=$00200000 |
|
lw |
v1, $3780(s1) |
# 081e8088:8e233780 |
//0xD ~ 0x003 16bit判定大 |
|
lui |
v0, $3000 |
# 081e808c:3c023000 |
v0=$30000000 |
|
addu |
v0, a2, v0 |
# 081e8090:00c21021 |
|
|
addu |
v1, v1, v0 |
# 081e8094:00621821 |
|
|
lhu |
v0, $0000(v1) |
# 081e8098:94620000 |
|
|
subu |
v1, a1, a0 |
# 081e809c:00a41823 |
|
|
addiu |
a3, s0, $0001 |
# 081e80a0:26070001 |
|
|
andi |
v0, v0, $ffff |
# 081e80a4:3042ffff |
|
|
j |
$081e80e0 |
# 081e80a8:0a07a038 |
▼__081e80e0 |
|
sltu |
v0, v1, v0 |
# 081e80ac:0062102b |
|
|
__081e80b0: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e80b0:00a4102b |
:a1>=00200000 |
|
bnel |
v0, zero, $081e80f0 |
# 081e80b4:5440000e |
▼__081e80f0 |
|
lui |
a0, $0010 |
# 081e80b8:3c040010 |
a0=$00100000 |
|
lw |
v1, $3780(s1) |
# 081e80bc:8e233780 |
//0xD ~ 0x002 16bit判定小 |
|
lui |
v0, $3000 |
# 081e80c0:3c023000 |
v0=$30000000 |
|
addu |
v0, a2, v0 |
# 081e80c4:00c21021 |
|
|
addu |
v1, v1, v0 |
# 081e80c8:00621821 |
|
|
lhu |
v0, $0000(v1) |
# 081e80cc:94620000 |
|
|
subu |
v1, a1, a0 |
# 081e80d0:00a41823 |
|
|
addiu |
a3, s0, $0001 |
# 081e80d4:26070001 |
|
|
andi |
v0, v0, $ffff |
# 081e80d8:3042ffff |
|
|
sltu |
v0, v0, v1 |
# 081e80dc:0043102b |
|
|
__081e80e0: |
|
|
# |
|
beql |
v0, zero, $081e8d2c |
# 081e80e0:50400312 |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e80e4:24f00001 |
|
|
j |
$081e8d28 |
# 081e80e8:0a07a34a |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e80ec:02003821 |
|
|
__081e80f0: |
|
|
# |
|
sltu |
v0, a1, a0 |
# 081e80f0:00a4102b |
:a1>=00100000 |
|
bne |
v0, zero, $081e8128 |
# 081e80f4:1440000c |
▼__081e8128 |
|
lw |
v0, $3780(s1) |
# 081e80f8:8e223780 |
|
|
lw |
v1, $3780(s1) |
# 081e80fc:8e233780 |
//0xD ~ 0x001 16BIT判定不一致 |
|
lui |
v0, $3000 |
# 081e8100:3c023000 |
v0=$30000000 |
|
addu |
v0, a2, v0 |
# 081e8104:00c21021 |
|
|
addu |
v1, v1, v0 |
# 081e8108:00621821 |
|
|
lhu |
v0, $0000(v1) |
# 081e810c:94620000 |
|
|
subu |
v1, a1, a0 |
# 081e8110:00a41823 |
|
|
andi |
v0, v0, $ffff |
# 081e8114:3042ffff |
|
|
bne |
v0, v1, $081e8d24 |
# 081e8118:14430302 |
▼__081e8d24 |
|
addiu |
a3, s0, $0001 |
# 081e811c:26070001 |
|
|
j |
$081e8d2c |
# 081e8120:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e8124:24f00001 |
|
|
__081e8128: |
|
|
# |
|
lui |
v1, $3000 |
# 081e8128:3c033000 |
v1=$30000000:a1<00100000,//0xD ~ 0x000 16bit判定一致 |
|
addu |
v1, a2, v1 |
# 081e812c:00c31821 |
|
|
addu |
v0, v0, v1 |
# 081e8130:00431021 |
|
|
lhu |
v0, $0000(v0) |
# 081e8134:94420000 |
|
|
andi |
v0, v0, $ffff |
# 081e8138:3042ffff |
|
|
bne |
v0, a1, $081e8d28 |
# 081e813c:144502fa |
▼__081e8d28 |
|
addiu |
a3, s0, $0001 |
# 081e8140:26070001 |
|
|
j |
$081e8d28 |
# 081e8144:0a07a34a |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e8148:02003821 |
|
|
nop |
|
|
# 081e814c:00000000 |
:#sltu v0, a2, t0 a2>=C0000000 |
beq |
zero, zero, $081e8158 |
# 081e8150:10000001 |
▼伊次郎不可:#bne v0, zero, $081e8180 |
|
nop |
|
|
# 081e8154:00000000 |
:#lui v0, $b000 |
伊次郎不可: |
|
|
# |
|
nop |
|
|
# 081e8158:00000000 |
:#lw v1, $3780(s1) //0xC |
__081e815c: |
|
|
# |
|
lw |
v0, $0008(sp) |
# 081e815c:8fa20008 |
:#lui v0, $4000 |
|
lui |
t0, $0880 |
# 081e8160:3c080880 |
t0=$08800000:#addu v0, a2, v0 |
|
sw |
v0, $3ffc(t0) |
# 081e8164:ad023ffc |
[08803ffc]:#addu v1, v1, v0 |
|
lui |
t0, $c000 |
# 081e8168:3c08c000 |
t0=$c0000000:#lw v1, $0000(v1) |
|
sltu |
v0, a2, t0 |
# 081e816c:00c8102b |
:#lw v0, $0008(a0) |
|
beql |
v0, zero, $081e8bc8 |
# 081e8170:50400295 |
▼__081e8bc8 |
|
nop |
|
|
# 081e8174:00000000 |
:#addu a3, s0, zero |
E0 1B: |
|
|
# |
|
j |
$081e8180 |
# 081e8178:0a07a060 |
▼__081e8180:#j $081e8d4c |
|
lui |
v0, $b000 |
# 081e817c:3c02b000 |
v0=$b0000000:#lw a3, $0034(sp) |
|
__081e8180: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8180:00c2102b |
:a2>=b0000000 |
|
bne |
v0, zero, $081e81a4 |
# 081e8184:14400007 |
▼__081e81a4 |
|
nop |
|
|
# 081e8188:00000000 |
|
lw |
v0, $0008(a0) |
# 081e818c:8c820008 |
://0xB タイマー |
|
beq |
v0, zero, $081e8d28 |
# 081e8190:104002e5 |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e8194:02003821 |
|
|
addiu |
v0, v0, $ffff |
# 081e8198:2442ffff |
|
|
j |
$081e8d48 |
# 081e819c:0a07a352 |
▼__081e8d48 |
|
sw |
v0, $0008(a0) |
# 081e81a0:ac820008 |
|
|
__081e81a4: |
|
|
# |
|
bgez |
a2, $081e8314 |
# 081e81a4:04c1005b |
▼__081e8314:符号拡張判定 0x7ならジャンプ,0x8なら↓ |
|
lui |
t0, $7000 |
# 081e81a8:3c087000 |
t0=$70000000 |
|
slt |
v0, s0, v1 |
# 081e81ac:0203102a |
:s0<v1のとき↓ |
|
beq |
v0, zero, $081e8318 |
# 081e81b0:10400059 |
▼__081e8318 |
|
sltu |
v0, a2, t0 |
# 081e81b4:00c8102b |
:a2>=70000000 |
|
addiu |
v0, s0, $0005 |
# 081e81b8:26020005 |
://0x8 シリアル |
|
sll |
v0, v0, 3 |
# 081e81bc:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e81c0:00e21021 |
|
|
lw |
a2, $0008(a0) |
# 081e81c4:8c860008 |
:コード右 |
|
lw |
v1, $0004(v0) |
# 081e81c8:8c430004 |
:コード2行目左 |
|
addiu |
a3, s0, $0001 |
# 081e81cc:26070001 |
|
|
andi |
t5, a2, $ffff |
# 081e81d0:30cdffff |
:t5=オフセット |
|
lui |
v0, $1000 |
# 081e81d4:3c021000 |
v0=$10000000 |
|
sltu |
v1, v1, v0 |
# 081e81d8:0062182b |
:コード2行目<10000000 |
|
addiu |
a1, s0, $0004 |
# 081e81dc:26050004 |
|
|
sll |
v0, t5, 1 |
# 081e81e0:000d1040 |
:v0=t5*2 |
|
addiu |
a0, a3, $0004 |
# 081e81e4:24e40004 |
|
|
movz |
t5, v0, v1 |
# 081e81e8:0043680a |
:16bit時 t5=オフセット2倍 |
|
sll |
t6, a0, 3 |
# 081e81ec:000470c0 |
|
|
sll |
a1, a1, 3 |
# 081e81f0:000528c0 |
|
|
srl |
a2, a2, 16 |
# 081e81f4:00063402 |
:a2=回数 |
|
addu |
t4, zero, zero |
# 081e81f8:00006021 |
|
|
addu |
t3, zero, zero |
# 081e81fc:00005821 |
|
|
j |
$081e8300 |
# 081e8200:0a07a0c0 |
▼__081e8300 |
|
lui |
t7, $1000 |
# 081e8204:3c0f1000 |
t7=$10000000 |
|
__081e8208: |
|
|
# |
|
lw |
v0, $64d8(t1) |
# 081e8208:8d2264d8 |
:シリアルループ |
|
addu |
v0, v0, s2 |
# 081e820c:00521021 |
|
|
addu |
v1, v0, t6 |
# 081e8210:004e1821 |
|
|
lw |
t0, $0004(v1) |
# 081e8214:8c680004 |
:コード2行目左 |
|
addu |
t1, v0, a1 |
# 081e8218:00454821 |
|
|
sltu |
v0, t0, t7 |
# 081e821c:010f102b |
:t0>=10000000なら↓ |
|
bnel |
v0, zero, $081e82cc |
# 081e8220:5440002a |
▼__081e82cc |
|
lw |
v0, $0008(v1) |
# 081e8224:8c620008 |
:コード2行目右 //0x8 16bitシリアル |
|
lw |
v0, $0004(t1) |
# 081e8228:8d220004 |
|
|
lui |
a0, $c000 |
# 081e822c:3c04c000 |
a0=$c0000000 |
|
lw |
t1, $0008(v1) |
# 081e8230:8c690008 |
:コード2行目右 |
|
addu |
v1, v0, a0 |
# 081e8234:00441821 |
:C+8 ヘッダ4 |
|
andi |
v0, v0, $0001 |
# 081e8238:30420001 |
:奇数アドレス判定 |
|
bne |
v0, zero, $081e8268 |
# 081e823c:1440000a |
▼__081e8268 |
|
addu |
t2, v1, t3 |
# 081e8240:006b5021 |
:アドレス+アドレスオフセット*回数 |
|
mult |
t4, t1 |
|
# 081e8244:01890018 |
:偶数アドレス |
lw |
v1, $3780(s1) |
# 081e8248:8e233780 |
:8800000 |
|
addu |
v1, v1, t2 |
# 081e824c:006a1821 |
:+8800000 |
|
mflo |
v0 |
|
# 081e8250:00001012 |
|
addu |
v0, v0, t0 |
# 081e8254:00481021 |
:コード値+値オフセット*回数 |
|
andi |
v0, v0, $ffff |
# 081e8258:3042ffff |
|
|
sh |
v0, $0000(v1) |
# 081e825c:a4620000 |
|
|
j |
$081e82fc |
# 081e8260:0a07a0bf |
▼__081e82fc |
|
addiu |
t4, t4, $0001 |
# 081e8264:258c0001 |
|
|
__081e8268: |
|
|
# |
|
mult |
t4, t1 |
|
# 081e8268:01890018 |
:回数*値オフセット 奇数アドレス |
lw |
v1, $3780(s1) |
# 081e826c:8e233780 |
:8800000 |
|
addu |
v1, v1, t2 |
# 081e8270:006a1821 |
:アドレス+アドレスオフセット*回数+8800000 |
|
mflo |
v0 |
|
# 081e8274:00001012 |
|
addu |
v0, v0, t0 |
# 081e8278:00481021 |
:コード値+値オフセット*回数 |
|
sh |
v0, $0000(sp) |
# 081e827c:a7a20000 |
|
|
lbu |
v0, $0000(sp) |
# 081e8280:93a20000 |
|
|
lui |
t0, $c000 |
# 081e8284:3c08c000 |
t0=$c0000000 |
|
ori |
t0, t0, $0001 |
# 081e8288:35080001 |
t0=$c0000001 |
|
andi |
v0, v0, $00ff |
# 081e828c:304200ff |
|
|
sb |
v0, $0000(v1) |
# 081e8290:a0620000 |
:1byte目 |
|
lui |
v1, $881f |
# 081e8294:3c03881f |
v1=$881f0000 |
|
lw |
v0, $64d8(v1) |
# 081e8298:8c6264d8 |
v0=$881f64d8 |
|
lw |
a0, $3780(s1) |
# 081e829c:8e243780 |
:8800000 |
|
lbu |
v1, $0001(sp) |
# 081e82a0:93a30001 |
|
|
addu |
v0, v0, s2 |
# 081e82a4:00521021 |
|
|
addu |
v0, v0, a1 |
# 081e82a8:00451021 |
|
|
lw |
v0, $0004(v0) |
# 081e82ac:8c420004 |
:コード左 |
|
andi |
v1, v1, $00ff |
# 081e82b0:306300ff |
|
|
addu |
v0, v0, t0 |
# 081e82b4:00481021 |
:コード左+C0000001 |
|
addu |
v0, v0, t3 |
# 081e82b8:004b1021 |
:+アドレスオフセット |
|
addu |
a0, a0, v0 |
# 081e82bc:00822021 |
:+8800000 |
|
sb |
v1, $0000(a0) |
# 081e82c0:a0830000 |
:2byte目 |
|
j |
$081e82fc |
# 081e82c4:0a07a0bf |
▼__081e82fc |
|
addiu |
t4, t4, $0001 |
# 081e82c8:258c0001 |
|
|
__081e82cc: |
|
|
# |
|
lw |
v1, $0004(t1) |
# 081e82cc:8d230004 |
:v1=コード左 //0x8 ~ 0x0 シリアル8bit |
|
lw |
a0, $3780(s1) |
# 081e82d0:8e243780 |
:8800000 |
|
mult |
t4, v0 |
|
# 081e82d4:01820018 |
:回数*値オフセット |
lui |
t1, $c000 |
# 081e82d8:3c09c000 |
t1=$c0000000 |
|
addu |
v1, v1, t1 |
# 081e82dc:00691821 |
:8+C? ヘッダ4のこるが問題なし |
|
addu |
v1, v1, t3 |
# 081e82e0:006b1821 |
:アドレス+回数*オフセット |
|
addu |
a0, a0, v1 |
# 081e82e4:00832021 |
:+8800000 |
|
mflo |
v0 |
|
# 081e82e8:00001012 |
|
addu |
v0, v0, t0 |
# 081e82ec:00481021 |
:コード値+値オフセット*回数 |
|
andi |
v0, v0, $00ff |
# 081e82f0:304200ff |
|
|
sb |
v0, $0000(a0) |
# 081e82f4:a0820000 |
|
|
addiu |
t4, t4, $0001 |
# 081e82f8:258c0001 |
:回数加算 |
|
__081e82fc: |
|
|
# |
|
addu |
t3, t3, t5 |
# 081e82fc:016d5821 |
:アドレスオフセット |
|
__081e8300: |
|
|
# |
|
slt |
v0, t4, a2 |
# 081e8300:0186102a |
:t4>=コード回数になるまでループ |
|
bne |
v0, zero, $081e8208 |
# 081e8304:1440ffc0 |
▲__081e8208 |
|
lui |
t1, $881f |
# 081e8308:3c09881f |
t1=$881f0000 |
|
j |
$081e8d2c |
# 081e830c:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e8310:24f00001 |
|
|
__081e8314: |
|
|
# |
|
sltu |
v0, a2, t0 |
# 081e8314:00c8102b |
:a2>=70000000 |
|
__081e8318: |
|
|
# |
|
bne |
v0, zero, $081e83f8 |
# 081e8318:14400037 |
▼__081e83f8 |
|
lui |
v0, $6000 |
# 081e831c:3c026000 |
v0=$60000000:pointer? |
|
addiu |
v0, s0, $0004 |
# 081e8320:26020004 |
://0x7 論理演算 |
|
sll |
v0, v0, 3 |
# 081e8324:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8328:00e21021 |
|
|
lw |
a1, $0008(v0) |
# 081e832c:8c450008 |
|
|
lw |
a0, $3780(s1) |
# 081e8330:8e243780 |
|
|
lui |
v0, $0005 |
# 081e8334:3c020005 |
v0=$00050000 |
|
subu |
v1, a2, t0 |
# 081e8338:00c81823 |
|
|
sltu |
v0, a1, v0 |
# 081e833c:00a2102b |
:a1>=0005000 |
|
bne |
v0, zero, $081e8358 |
# 081e8340:14400005 |
▼__081e8358 |
|
addu |
v1, a0, v1 |
# 081e8344:00831821 |
|
|
lhu |
v0, $0000(v1) |
# 081e8348:94620000 |
//0x7 ~ 0x005 16bitXOR |
|
addu |
a3, s0, zero |
# 081e834c:02003821 |
|
|
j |
$081e83d8 |
# 081e8350:0a07a0f6 |
▼__081e83d8 |
|
xor |
v0, a1, v0 |
# 081e8354:00a21026 |
|
|
__081e8358: |
|
|
# |
|
lui |
v0, $0004 |
# 081e8358:3c020004 |
v0=$00040000 |
|
sltu |
v0, a1, v0 |
# 081e835c:00a2102b |
:a1>=40000 |
|
bnel |
v0, zero, $081e8378 |
# 081e8360:54400005 |
▼__081e8378 |
|
lui |
v0, $0003 |
# 081e8364:3c020003 |
v0=$00030000 |
|
lbu |
v0, $0000(v1) |
# 081e8368:90620000 |
//0x7 ~ 0x004 8bitXOR |
|
addu |
a3, s0, zero |
# 081e836c:02003821 |
|
|
j |
$081e8b80 |
# 081e8370:0a07a2e0 |
▼__081e8b80 |
|
xor |
v0, a1, v0 |
# 081e8374:00a21026 |
|
|
__081e8378: |
|
|
# |
|
sltu |
v0, a1, v0 |
# 081e8378:00a2102b |
:a1>=30000 |
|
bnel |
v0, zero, $081e8398 |
# 081e837c:54400006 |
▼__081e8398 |
|
lui |
v0, $0002 |
# 081e8380:3c020002 |
v0=$00020000 |
|
lhu |
v0, $0000(v1) |
# 081e8384:94620000 |
//0x7 ~ 0x003 16bitAND |
|
addu |
a3, s0, zero |
# 081e8388:02003821 |
|
|
andi |
v0, v0, $ffff |
# 081e838c:3042ffff |
|
|
j |
$081e83dc |
# 081e8390:0a07a0f7 |
▼__081e83dc |
|
and |
v0, v0, a1 |
# 081e8394:00451024 |
|
|
__081e8398: |
|
|
# |
|
sltu |
v0, a1, v0 |
# 081e8398:00a2102b |
:a1>=20000 |
|
bne |
v0, zero, $081e83c0 |
# 081e839c:14400008 |
▼__081e83c0 |
|
lui |
v0, $0001 |
# 081e83a0:3c020001 |
v0=$00010000 |
|
lbu |
v0, $0000(v1) |
# 081e83a4:90620000 |
//0x7 ~ 0x002 8bitAND |
|
addu |
a3, s0, zero |
# 081e83a8:02003821 |
|
|
andi |
v0, v0, $00ff |
# 081e83ac:304200ff |
|
|
and |
v0, v0, a1 |
# 081e83b0:00451024 |
|
|
__081e83b4: |
|
|
# |
|
sb |
v0, $0000(v1) |
# 081e83b4:a0620000 |
:8bit書き込み |
|
j |
$081e8d2c |
# 081e83b8:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e83bc:24f00001 |
|
|
__081e83c0: |
|
|
# |
|
sltu |
v0, a1, v0 |
# 081e83c0:00a2102b |
:a1>=10000 |
|
bne |
v0, zero, $081e83e8 |
# 081e83c4:14400008 |
▼__081e83e8 |
|
nop |
|
|
# 081e83c8:00000000 |
|
lhu |
v0, $0000(v1) |
# 081e83cc:94620000 |
//0x7 ~ 0x001 16bitOR |
|
addu |
a3, s0, zero |
# 081e83d0:02003821 |
|
|
or |
v0, a1, v0 |
# 081e83d4:00a21025 |
|
|
__081e83d8: |
|
|
# |
|
andi |
v0, v0, $ffff |
# 081e83d8:3042ffff |
|
|
__081e83dc: |
|
|
# |
|
sh |
v0, $0000(v1) |
# 081e83dc:a4620000 |
|
|
j |
$081e8d2c |
# 081e83e0:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e83e4:24f00001 |
|
|
__081e83e8: |
|
|
# |
|
lbu |
v0, $0000(v1) |
# 081e83e8:90620000 |
//0x7 ~ 0x000 8bitOR |
|
addu |
a3, s0, zero |
# 081e83ec:02003821 |
|
|
j |
$081e8b80 |
# 081e83f0:0a07a2e0 |
▼__081e8b80 |
|
or |
v0, a1, v0 |
# 081e83f4:00a21025 |
|
|
__081e83f8: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e83f8:00c2102b |
:a2>=60000000 |
|
bne |
v0, zero, $081e882c |
# 081e83fc:1440010b |
▼__081e882c |
|
lui |
v0, $5000 |
# 081e8400:3c025000 |
v0=$50000000 |
|
slt |
v0, s0, v1 |
# 081e8404:0203102a |
:s0<v1,//0x6 ポインタ |
|
beq |
v0, zero, $081e88b8 |
# 081e8408:1040012b |
▼__081e88b8 |
|
lui |
v0, $4000 |
# 081e840c:3c024000 |
v0=$40000000 |
|
addiu |
v0, s0, $0005 |
# 081e8410:26020005 |
:s0+5 |
|
sll |
v0, v0, 3 |
# 081e8414:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8418:00e21021 |
|
|
lw |
v1, $0004(v0) |
# 081e841c:8c430004 |
:CODE2行目 |
|
addiu |
v0, s0, $0001 |
# 081e8420:26020001 |
|
|
sw |
v0, $0024(sp) |
# 081e8424:afa20024 |
:sp+24=s0+1 |
|
srl |
a1, v1, 20 |
# 081e8428:00032d02 |
:QQQ |
|
sll |
v0, a1, 20 |
# 081e842c:00051500 |
:v0=QQQ00000 |
|
xor |
v0, v0, v1 |
# 081e8430:00431026 |
:QQQ除去したコード2行目 |
|
andi |
fp, v0, $ffff |
# 081e8434:305effff |
:マスク(回数nn=fp) |
|
sltiu |
v1, fp, $0002 |
# 081e8438:2fc30002 |
:回数>=2とき以下を実行 |
|
bne |
v1, zero, $081e8484 |
# 081e843c:14600011 |
▼__081e8484 |
|
srl |
t5, v0, 16 |
# 081e8440:00026c02 |
:t5=オフセットの+- |
|
addiu |
v0, s0, $0006 |
# 081e8444:26020006 |
:s0+6 |
|
sll |
v0, v0, 3 |
# 081e8448:000210c0 |
|
|
addu |
v1, a3, v0 |
# 081e844c:00e21821 |
|
|
lw |
a0, $0004(v1) |
# 081e8450:8c640004 |
:コード3行目左 |
|
lui |
v0, $9000 |
# 081e8454:3c029000 |
v0=$90000000:serial |
|
sltu |
v0, a0, v0 |
# 081e8458:0082102b |
:コード3行目<90000000 |
|
beql |
v0, zero, $081e8d74 |
# 081e845c:50400245 |
▼__081e8d74 |
|
lw |
v1, $0008(v1) |
# 081e8460:8c630008 |
:コード3行目右 |
|
lui |
v0, $2000 |
# 081e8464:3c022000 |
v0=$20000000:多重+ |
|
sltu |
v0, a0, v0 |
# 081e8468:0082102b |
:コード3行目<20000000 ↓ |
|
beq |
v0, zero, $081e8488 |
# 081e846c:10400006 |
▼__081e8488 |
|
addiu |
t3, zero, $0002 |
# 081e8470:240b0002 |
t3=$00000002:t3=2 多重0x2,0x3 |
|
lui |
v0, $1000 |
# 081e8474:3c021000 |
v0=$10000000:コピー |
|
sltu |
v0, a0, v0 |
# 081e8478:0082102b |
:コード3行目<10000000 |
|
beq |
v0, zero, $081e8488 |
# 081e847c:10400002 |
▼__081e8488 |
|
addiu |
t3, zero, $0003 |
# 081e8480:240b0003 |
t3=$00000003:t3=3 0x1 ポインタコピー |
|
__081e8484: |
|
|
# |
|
addu |
t3, zero, zero |
# 081e8484:00005821 |
:type NULL |
|
__081e8488: |
|
|
# |
|
sw |
zero, $0030(sp) |
# 081e8488:afa00030 |
:シリアル以外値オフセットなし |
|
addu |
t6, zero, zero |
# 081e848c:00007021 |
:シリアル以外値オフセットなし |
|
__081e8490: |
|
|
# |
|
sll |
a1, a1, 2 |
# 081e8490:00052880 |
:4*qqq |
|
addiu |
v0, zero, $0003 |
# 081e8494:24020003 |
v0=$00000003:ポインタコピーはジャンプ |
|
beq |
t3, v0, $081e8754 |
# 081e8498:116200ae |
▼__081e8754 |
|
sw |
a1, $0020(sp) |
# 081e849c:afa50020 |
:sp+20=4qqq |
|
sll |
v1, t6, 2 |
# 081e84a0:000e1880 |
:v1=シリアルオフセット*4 |
|
sw |
v1, $0038(sp) |
# 081e84a4:afa30038 |
:sp+38=4*offset |
|
lw |
a1, $0024(sp) |
# 081e84a8:8fa50024 |
:s0+1 |
|
lw |
a2, $0038(sp) |
# 081e84ac:8fa60038 |
|
|
sll |
a0, t6, 1 |
# 081e84b0:000e2040 |
:a0=シリアルオフセット*2 |
|
addiu |
v0, s0, $0004 |
# 081e84b4:26020004 |
:v0=s0+4 |
|
addiu |
v1, a1, $0004 |
# 081e84b8:24a30004 |
:v1=s0+5 |
|
subu |
a2, zero, a2 |
# 081e84bc:00063023 |
:a2=負シリアルオフセット*4 |
|
subu |
a3, zero, a0 |
# 081e84c0:00043823 |
:a3=負シリアルオフセット*2 |
|
subu |
t0, zero, t6 |
# 081e84c4:000e4023 |
:t0=オフセット負 |
|
sw |
a0, $001c(sp) |
# 081e84c8:afa4001c |
:sp+1c=2*offset |
|
sll |
t2, v0, 3 |
# 081e84cc:000250c0 |
:t2=8*(s0+4) |
|
sll |
t4, v1, 3 |
# 081e84d0:000360c0 |
:t4=8*(s0+5) |
|
sw |
a2, $002c(sp) |
# 081e84d4:afa6002c |
:sp+2C=-4*offset |
|
sw |
a3, $0028(sp) |
# 081e84d8:afa70028 |
:sp+28=-2*offset |
|
sw |
t0, $0018(sp) |
# 081e84dc:afa80018 |
:sp+18=-offset |
|
addu |
s7, zero, zero |
# 081e84e0:0000b821 |
|
|
addu |
s6, zero, zero |
# 081e84e4:0000b021 |
|
|
addu |
t1, zero, zero |
# 081e84e8:00004821 |
|
|
addu |
s5, zero, zero |
# 081e84ec:0000a821 |
|
|
addu |
s4, zero, zero |
# 081e84f0:0000a021 |
|
|
addu |
s3, zero, zero |
# 081e84f4:00009821 |
|
|
addu |
t9, zero, zero |
# 081e84f8:0000c821 |
|
|
addu |
t8, zero, zero |
# 081e84fc:0000c021 |
|
|
j |
$081e8734 |
# 081e8500:0a07a1cd |
▼__081e8734 |
|
addu |
t7, zero, zero |
# 081e8504:00007821 |
|
|
__081e8508: |
|
|
# |
|
lw |
v0, $64d8(v1) |
# 081e8508:8c6264d8 |
:ポインタループ |
|
lui |
a0, $a000 |
# 081e850c:3c04a000 |
a0=$a0000000 |
|
lw |
v1, $3780(s1) |
# 081e8510:8e233780 |
|
|
addu |
a1, v0, s2 |
# 081e8514:00522821 |
|
|
addu |
v0, a1, t2 |
# 081e8518:00aa1021 |
|
|
lw |
v0, $0004(v0) |
# 081e851c:8c420004 |
:コード1行目左 |
|
addiu |
a3, zero, $0002 |
# 081e8520:24070002 |
a3=$00000002 |
|
addiu |
t0, zero, $0001 |
# 081e8524:24080001 |
t0=$00000001 |
|
addu |
v0, v0, a0 |
# 081e8528:00441021 |
:ヘッダ除去 6+a |
|
addu |
v0, v0, t7 |
# 081e852c:004f1021 |
:ポインタアドレス+4QQQ回数分 |
|
addu |
v1, v1, v0 |
# 081e8530:00621821 |
|
|
lw |
a2, $0000(v1) |
# 081e8534:8c660000 |
:ポインタ読み込み 多重なら↓ |
|
bne |
t3, a3, $081e8600 |
# 081e8538:15670031 |
▼__081e8600 |
|
nop |
|
|
# 081e853c:00000000 |
|
j |
$081e85c8 |
# 081e8540:0a07a172 |
▼__081e85c8 |
|
lw |
a0, $0024(sp) |
# 081e8544:8fa40024 |
|
|
__081e8548: |
|
|
# |
|
beql |
a2, zero, $081e86f8 |
# 081e8548:50c0006b |
▼__081e86f8 |
|
lw |
a1, $002c(sp) |
# 081e854c:8fa5002c |
|
|
bnel |
v1, zero, $081e8590 |
# 081e8550:5460000f |
▼__081e8590 |
|
lw |
v0, $0004(a0) |
# 081e8554:8c820004 |
|
|
lw |
v0, $0008(a3) |
# 081e8558:8ce20008 |
|
|
lui |
a0, $3000 |
# 081e855c:3c043000 |
a0=$30000000 |
|
lui |
a3, $e000 |
# 081e8560:3c07e000 |
a3=$e0000000 |
|
subu |
v1, a0, v0 |
# 081e8564:00821823 |
|
|
addu |
a0, v0, a3 |
# 081e8568:00472021 |
|
|
addu |
a3, v1, a2 |
# 081e856c:00663821 |
|
|
addu |
v1, a0, a2 |
# 081e8570:00861821 |
|
|
lui |
a0, $3000 |
# 081e8574:3c043000 |
a0=$30000000 |
|
sltu |
v0, v0, a0 |
# 081e8578:0044102b |
:v0>=3000000なら↓ |
|
bne |
v0, zero, $081e85b0 |
# 081e857c:1440000c |
▼__081e85b0 |
|
nop |
|
|
# 081e8580:00000000 |
|
lw |
a2, $0000(a3) |
# 081e8584:8ce60000 |
|
|
j |
$081e85c4 |
# 081e8588:0a07a171 |
▼__081e85c4 |
|
addiu |
t0, t0, $0001 |
# 081e858c:25080001 |
|
|
__081e8590: |
|
|
# |
|
lui |
a3, $e000 |
# 081e8590:3c07e000 |
a3=$e0000000 |
|
addu |
v1, v0, a3 |
# 081e8594:00471821 |
|
|
lui |
a3, $3000 |
# 081e8598:3c073000 |
a3=$30000000 |
|
addu |
a0, v1, a2 |
# 081e859c:00662021 |
|
|
subu |
v1, a3, v0 |
# 081e85a0:00e21823 |
|
|
sltu |
v0, v0, a3 |
# 081e85a4:0047102b |
:v0>=30000000なら↓ |
|
bne |
v0, zero, $081e85bc |
# 081e85a8:14400004 |
▼__081e85bc |
|
addu |
v1, v1, a2 |
# 081e85ac:00661821 |
|
|
__081e85b0: |
|
|
# |
|
lw |
a2, $0000(v1) |
# 081e85b0:8c660000 |
|
|
j |
$081e85c4 |
# 081e85b4:0a07a171 |
▼__081e85c4 |
|
addiu |
t0, t0, $0001 |
# 081e85b8:25080001 |
|
|
__081e85bc: |
|
|
# |
|
lw |
a2, $0000(a0) |
# 081e85bc:8c860000 |
|
|
addiu |
t0, t0, $0001 |
# 081e85c0:25080001 |
|
|
__081e85c4: |
|
|
# |
|
lw |
a0, $0024(sp) |
# 081e85c4:8fa40024 |
|
|
__081e85c8: |
|
|
# |
|
addiu |
v0, t0, $0001 |
# 081e85c8:25020001 |
:多重ポインタ |
|
sra |
v0, v0, 1 |
# 081e85cc:00021043 |
|
|
addu |
v0, a0, v0 |
# 081e85d0:00821021 |
|
|
sra |
v1, t0, 1 |
# 081e85d4:00081843 |
|
|
addu |
v1, a0, v1 |
# 081e85d8:00831821 |
|
|
addiu |
v0, v0, $0004 |
# 081e85dc:24420004 |
|
|
sll |
v0, v0, 3 |
# 081e85e0:000210c0 |
|
|
addiu |
v1, v1, $0004 |
# 081e85e4:24630004 |
|
|
sll |
v1, v1, 3 |
# 081e85e8:000318c0 |
|
|
addu |
a0, a1, v0 |
# 081e85ec:00a22021 |
|
|
sltu |
v0, t0, fp |
# 081e85f0:011e102b |
:t0>=回数fpなら↓ |
|
addu |
a3, a1, v1 |
# 081e85f4:00a33821 |
|
|
bne |
v0, zero, $081e8548 |
# 081e85f8:1440ffd3 |
▲__081e8548 |
|
andi |
v1, t0, $0001 |
# 081e85fc:31030001 |
|
|
__081e8600: |
|
|
# |
|
beq |
a2, zero, $081e86f4 |
# 081e8600:10c0003c |
▼__081e86f4:NULLPOINTER 回避 |
|
addiu |
a3, zero, $0005 |
# 081e8604:24070005 |
a3=$00000005:t5=ビットタイプ 32bit -書き込み |
|
bne |
t5, a3, $081e8628 |
# 081e8608:15a70007 |
▼__081e8628 |
|
addiu |
t0, zero, $0004 |
# 081e860c:24080004 |
t0=$00000004 |
|
addu |
v0, a1, t4 |
# 081e8610:00ac1021 |
|
|
lw |
v0, $0008(v0) |
# 081e8614:8c420008 |
:2行目オフセット |
|
addu |
v1, a1, t2 |
# 081e8618:00aa1821 |
|
|
lw |
v1, $0008(v1) |
# 081e861c:8c630008 |
:コード右 |
|
j |
$081e8684 |
# 081e8620:0a07a1a1 |
▼__081e8684 |
|
subu |
v0, s6, v0 |
# 081e8624:02c21023 |
:-32bit用-(2行目オフセット) |
|
__081e8628: |
|
|
# |
|
bnel |
t5, t0, $081e8648 |
# 081e8628:55a80007 |
▼__081e8648 |
|
addiu |
v0, zero, $0003 |
# 081e862c:24020003 |
v0=$00000003 |
|
addu |
v0, a1, t4 |
# 081e8630:00ac1021 |
:16bit - |
|
lw |
v1, $0008(v0) |
# 081e8634:8c430008 |
|
|
addu |
a0, a1, t2 |
# 081e8638:00aa2021 |
|
|
lw |
v0, $0008(a0) |
# 081e863c:8c820008 |
|
|
j |
$081e86b0 |
# 081e8640:0a07a1ac |
▼__081e86b0 |
|
subu |
v1, s5, v1 |
# 081e8644:02a31823 |
:-16bit用-(2行目オフセット) |
|
__081e8648: |
|
|
# |
|
bnel |
t5, v0, $081e8668 |
# 081e8648:55a20007 |
▼__081e8668 |
|
addiu |
v1, zero, $0002 |
# 081e864c:24030002 |
v1=$00000002 |
|
addu |
v0, a1, t4 |
# 081e8650:00ac1021 |
:8bit - |
|
lw |
v1, $0008(v0) |
# 081e8654:8c430008 |
|
|
addu |
a0, a1, t2 |
# 081e8658:00aa2021 |
|
|
lw |
v0, $0008(a0) |
# 081e865c:8c820008 |
|
|
j |
$081e86e4 |
# 081e8660:0a07a1b9 |
▼__081e86e4 |
|
subu |
v1, s4, v1 |
# 081e8664:02831823 |
:-8bit用-(2行目オフセット) |
|
__081e8668: |
|
|
# |
|
bne |
t5, v1, $081e8698 |
# 081e8668:15a3000b |
▼__081e8698 |
|
addiu |
a0, zero, $0001 |
# 081e866c:24040001 |
a0=$00000001 |
|
addu |
v0, a1, t4 |
# 081e8670:00ac1021 |
:32bit + |
|
lw |
v0, $0008(v0) |
# 081e8674:8c420008 |
|
|
addu |
v1, a1, t2 |
# 081e8678:00aa1821 |
|
|
lw |
v1, $0008(v1) |
# 081e867c:8c630008 |
|
|
addu |
v0, s3, v0 |
# 081e8680:02621021 |
:+32bit用+(2行目オフセット) |
|
__081e8684: |
|
|
# |
|
addu |
v0, v0, a2 |
# 081e8684:00461021 |
:32bit共通 |
|
addu |
v1, t1, v1 |
# 081e8688:01231821 |
|
|
swl |
v1, $0003(v0) |
# 081e868c:a8430003 |
:32bit書き込み #sw v1, $0000(v0) |
|
j |
$081e86f4 |
# 081e8690:0a07a1bd |
▼__081e86f4:#j $081e86f8 |
|
swr |
v1, $0000(v0) |
# 081e8694:b8430000 |
:#lw a1, $002c(sp) |
|
__081e8698: |
|
|
# |
|
bne |
t5, a0, $081e86c8 |
# 081e8698:15a4000b |
▼__081e86c8 |
|
addu |
v0, a1, t4 |
# 081e869c:00ac1021 |
|
|
lw |
v1, $0008(v0) |
# 081e86a0:8c430008 |
:16bit + |
|
addu |
a0, a1, t2 |
# 081e86a4:00aa2021 |
|
|
lw |
v0, $0008(a0) |
# 081e86a8:8c820008 |
|
|
addu |
v1, t9, v1 |
# 081e86ac:03231821 |
:+16bit用+(2行目オフセット) |
|
__081e86b0: |
|
|
# |
|
addu |
v0, t1, v0 |
# 081e86b0:01221021 |
:16bit+-共通 |
|
addu |
v1, v1, a2 |
# 081e86b4:00661821 |
|
|
andi |
v0, v0, $ffff |
# 081e86b8:3042ffff |
|
|
sh |
v0, $0000(v1) |
# 081e86bc:a4620000 |
:16bit書き込み |
|
j |
$081e86f8 |
# 081e86c0:0a07a1be |
▼__081e86f8 |
|
lw |
a1, $002c(sp) |
# 081e86c4:8fa5002c |
|
|
__081e86c8: |
|
|
# |
|
bnel |
t5, zero, $081e86f8 |
# 081e86c8:55a0000b |
▼__081e86f8 |
|
lw |
a1, $002c(sp) |
# 081e86cc:8fa5002c |
|
|
addu |
v0, a1, t4 |
# 081e86d0:00ac1021 |
:8bit+ |
|
lw |
v1, $0008(v0) |
# 081e86d4:8c430008 |
|
|
addu |
a0, a1, t2 |
# 081e86d8:00aa2021 |
|
|
lw |
v0, $0008(a0) |
# 081e86dc:8c820008 |
|
|
addu |
v1, t8, v1 |
# 081e86e0:03031821 |
:+8bit用+(2行目オフセット) |
|
__081e86e4: |
|
|
# |
|
addu |
v0, t1, v0 |
# 081e86e4:01221021 |
:8bit +-共通 |
|
addu |
v1, v1, a2 |
# 081e86e8:00661821 |
|
|
andi |
v0, v0, $00ff |
# 081e86ec:304200ff |
|
|
sb |
v0, $0000(v1) |
# 081e86f0:a0620000 |
:8bit書き込み |
|
__081e86f4: |
|
|
# |
|
lw |
a1, $002c(sp) |
# 081e86f4:8fa5002c |
:-4*offset |
|
__081e86f8: |
|
|
# |
|
lw |
a2, $0030(sp) |
# 081e86f8:8fa60030 |
:値オフセット 書き込み終了後 |
|
lw |
a3, $0028(sp) |
# 081e86fc:8fa70028 |
:-2*offset |
|
lw |
t0, $0018(sp) |
# 081e8700:8fa80018 |
:-offset,t6=+0ffset |
|
lw |
v0, $0038(sp) |
# 081e8704:8fa20038 |
:4*offset |
|
lw |
v1, $001c(sp) |
# 081e8708:8fa3001c |
:2*offset |
|
lw |
a0, $0020(sp) |
# 081e870c:8fa40020 |
:4QQQ |
|
addiu |
s7, s7, $0001 |
# 081e8710:26f70001 |
:s7=ループカウンター+1 |
|
addu |
s6, s6, a1 |
# 081e8714:02c5b021 |
:s6=-32bit用 |
|
addu |
t1, t1, a2 |
# 081e8718:01264821 |
:t1=値オフセット*回数 |
|
addu |
s5, s5, a3 |
# 081e871c:02a7a821 |
:s5=-16bit用 |
|
addu |
s4, s4, t0 |
# 081e8720:0288a021 |
:s4=-8bit用 |
|
addu |
s3, s3, v0 |
# 081e8724:02629821 |
:s3=32bit+用 |
|
addu |
t9, t9, v1 |
# 081e8728:0323c821 |
:t9=16bit+用 |
|
addu |
t8, t8, t6 |
# 081e872c:030ec021 |
:t8=8bit+用 |
|
addu |
t7, t7, a0 |
# 081e8730:01e47821 |
:t7=4QQQ*回数 |
|
__081e8734: |
|
|
# |
|
sltu |
v0, s7, fp |
# 081e8734:02fe102b |
:s7>=回数fpなら下 |
|
bne |
v0, zero, $081e8508 |
# 081e8738:1440ff73 |
▲__081e8508 |
|
lui |
v1, $881f |
# 081e873c:3c03881f |
v1=$881f0000 |
|
addiu |
v0, zero, $0002 |
# 081e8740:24020002 |
v0=$00000002:多重ならジャンプ |
|
beq |
t3, v0, $081e8808 |
# 081e8744:11620030 |
▼__081e8808 |
|
addiu |
v0, fp, $ffff |
# 081e8748:27c2ffff |
:回数fp-1 |
|
j |
$081e881c |
# 081e874c:0a07a207 |
▼__081e881c |
|
addiu |
v1, zero, $0002 |
# 081e8750:24030002 |
v1=$00000002 |
|
__081e8754: |
|
|
# |
|
lw |
a1, $0020(sp) |
# 081e8754:8fa50020 |
:4*QQQ読み込み ポインタコピー |
|
lw |
a0, $3780(s1) |
# 081e8758:8e243780 |
|
|
lui |
v1, $a000 |
# 081e875c:3c03a000 |
v1=$a0000000 |
|
addu |
v1, a2, v1 |
# 081e8760:00c31821 |
:6+A ポインタヘッド除去 |
|
addu |
v0, v1, a1 |
# 081e8764:00651021 |
:ポインタアドレス+4*QQQ |
|
addu |
v0, a0, v0 |
# 081e8768:00821021 |
:ポインタアドレス+8800000 |
|
lw |
t0, $0000(v0) |
# 081e876c:8c480000 |
:コピー先ポインタ読み込み |
|
addu |
a0, a0, v1 |
# 081e8770:00832021 |
:ポインタアドレス+4*QQQ+8800000 |
|
lw |
a3, $0000(a0) |
# 081e8774:8c870000 |
:コピー元ポインタ読み込み |
|
beq |
t0, zero, $081e881c |
# 081e8778:11000028 |
▼__081e881c:NULL POINTER |
|
addiu |
v1, zero, $0002 |
# 081e877c:24030002 |
v1=$00000002 |
|
beq |
a3, zero, $081e8820 |
# 081e8780:10e00027 |
▼__081e8820:NULL POINTR |
|
addiu |
v0, zero, $0001 |
# 081e8784:24020001 |
v0=$00000001 |
|
lw |
a2, $0024(sp) |
# 081e8788:8fa60024 |
|
|
addiu |
v1, s0, $0004 |
# 081e878c:26030004 |
|
|
addiu |
a0, s0, $0006 |
# 081e8790:26040006 |
|
|
addiu |
v0, a2, $0004 |
# 081e8794:24c20004 |
|
|
sll |
t2, v1, 3 |
# 081e8798:000350c0 |
|
|
sll |
a0, a0, 3 |
# 081e879c:000420c0 |
|
|
sll |
t1, v0, 3 |
# 081e87a0:000248c0 |
|
|
addu |
a1, zero, zero |
# 081e87a4:00002821 |
:a1=0 |
|
j |
$081e87d8 |
# 081e87a8:0a07a1f6 |
▼__081e87d8 |
|
lui |
t4, $f000 |
# 081e87ac:3c0cf000 |
t4=$f0000000 |
|
__081e87b0: |
|
|
# |
|
lw |
v1, $0004(v1) |
# 081e87b0:8c630004 |
:v1=コード3行目 コピー処理 |
|
addu |
v0, a3, v0 |
# 081e87b4:00e21021 |
:コピー元計算 |
|
addu |
v0, v0, a1 |
# 081e87b8:00451021 |
:コピー時のオフセット加算 |
|
lbu |
v0, $0000(v0) |
# 081e87bc:90420000 |
|
|
addu |
v1, v1, t4 |
# 081e87c0:006c1821 |
:1+f コード3行目オフセット |
|
addu |
v1, v1, t0 |
# 081e87c4:00681821 |
:コピー先計算 |
|
addu |
v1, v1, a1 |
# 081e87c8:00651821 |
:コピー時のオフセット加算 |
|
andi |
v0, v0, $00ff |
# 081e87cc:304200ff |
|
|
sb |
v0, $0000(v1) |
# 081e87d0:a0620000 |
|
|
addiu |
a1, a1, $0001 |
# 081e87d4:24a50001 |
:a1+1 |
|
__081e87d8: |
|
|
# |
|
lui |
v1, $881f |
# 081e87d8:3c03881f |
v1=$881f0000 |
|
lw |
v0, $64d8(v1) |
# 081e87dc:8c6264d8 |
v0=$881f64d8 |
|
addu |
v0, v0, s2 |
# 081e87e0:00521021 |
|
|
addu |
a2, v0, t1 |
# 081e87e4:00493021 |
|
|
addu |
v1, v0, a0 |
# 081e87e8:00441821 |
|
|
addu |
v0, v0, t2 |
# 081e87ec:004a1021 |
|
|
lw |
v0, $0008(v0) |
# 081e87f0:8c420008 |
|
|
sltu |
v0, a1, v0 |
# 081e87f4:00a2102b |
:a1>=回数になるまでループ |
|
bnel |
v0, zero, $081e87b0 |
# 081e87f8:5440ffed |
▲__081e87b0 |
|
lw |
v0, $0008(a2) |
# 081e87fc:8cc20008 |
:コード2行目右 |
|
j |
$081e881c |
# 081e8800:0a07a207 |
▼__081e881c |
|
addiu |
v1, zero, $0002 |
# 081e8804:24030002 |
v1=$00000002 |
|
__081e8808: |
|
|
# |
|
andi |
v1, v0, $0001 |
# 081e8808:30430001 |
|
|
srl |
v0, v0, 1 |
# 081e880c:00021042 |
|
|
addu |
v0, v0, v1 |
# 081e8810:00431021 |
|
|
j |
$081e8824 |
# 081e8814:0a07a209 |
▼__081e8824 |
|
addiu |
v1, v0, $0001 |
# 081e8818:24430001 |
|
|
__081e881c: |
|
|
# |
|
addiu |
v0, zero, $0001 |
# 081e881c:24020001 |
v0=$00000001 |
|
__081e8820: |
|
|
# |
|
movz |
v1, v0, t3 |
# 081e8820:004b180a |
|
|
__081e8824: |
|
|
# |
|
j |
$081e8d28 |
# 081e8824:0a07a34a |
▼__081e8d28 |
|
addu |
a3, v1, s0 |
# 081e8828:00703821 |
|
|
__081e882c: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e882c:00c2102b |
:a2>=50000000なら下 |
|
bne |
v0, zero, $081e88b8 |
# 081e8830:14400021 |
▼__081e88b8 |
|
lui |
v0, $4000 |
# 081e8834:3c024000 |
v0=$40000000 |
|
slt |
v0, s0, v1 |
# 081e8838:0203102a |
://0x5 コピー |
|
beq |
v0, zero, $081e88b4 |
# 081e883c:1040001d |
▼__081e88b4 |
|
addiu |
v0, s0, $0004 |
# 081e8840:26020004 |
|
|
addiu |
v1, s0, $0005 |
# 081e8844:26030005 |
|
|
sll |
t0, v0, 3 |
# 081e8848:000240c0 |
|
|
sll |
a3, v1, 3 |
# 081e884c:000338c0 |
|
|
addu |
a1, zero, zero |
# 081e8850:00002821 |
|
|
j |
$081e8888 |
# 081e8854:0a07a222 |
▼__081e8888 |
|
lui |
t1, $b000 |
# 081e8858:3c09b000 |
t1=$b0000000 |
|
__081e885c: |
|
|
# |
|
lw |
a0, $3780(s1) |
# 081e885c:8e243780 |
|
|
lw |
v1, $0004(a2) |
# 081e8860:8cc30004 |
|
|
addu |
v0, v0, t1 |
# 081e8864:00491021 |
|
|
addu |
v0, v0, a1 |
# 081e8868:00451021 |
|
|
addu |
v0, a0, v0 |
# 081e886c:00821021 |
|
|
lbu |
v0, $0000(v0) |
# 081e8870:90420000 |
|
|
addu |
v1, a1, v1 |
# 081e8874:00a31821 |
|
|
addu |
a0, a0, v1 |
# 081e8878:00832021 |
|
|
andi |
v0, v0, $00ff |
# 081e887c:304200ff |
|
|
sb |
v0, $0000(a0) |
# 081e8880:a0820000 |
|
|
addiu |
a1, a1, $0001 |
# 081e8884:24a50001 |
|
|
__081e8888: |
|
|
# |
|
lui |
a0, $881f |
# 081e8888:3c04881f |
a0=$881f0000 |
|
lw |
v0, $64d8(a0) |
# 081e888c:8c8264d8 |
v0=$881f64d8 |
|
addu |
v0, v0, s2 |
# 081e8890:00521021 |
|
|
addu |
v1, v0, t0 |
# 081e8894:00481821 |
|
|
addu |
a2, v0, a3 |
# 081e8898:00473021 |
|
|
lw |
v0, $0008(v1) |
# 081e889c:8c620008 |
|
|
sltu |
v0, a1, v0 |
# 081e88a0:00a2102b |
|
|
bnel |
v0, zero, $081e885c |
# 081e88a4:5440ffed |
▲__081e885c |
|
lw |
v0, $0004(v1) |
# 081e88a8:8c620004 |
|
|
__081e88ac: |
|
|
# |
|
j |
$081e8d28 |
# 081e88ac:0a07a34a |
▼__081e8d28 |
|
addiu |
a3, s0, $0001 |
# 081e88b0:26070001 |
|
|
__081e88b4: |
|
|
# |
|
lui |
v0, $4000 |
# 081e88b4:3c024000 |
v0=$40000000 |
|
__081e88b8: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e88b8:00c2102b |
:a2>=40000000なら下 |
|
bne |
v0, zero, $081e8a40 |
# 081e88bc:14400060 |
▼__081e8a40 |
|
lui |
v0, $3060 |
# 081e88c0:3c023060 |
v0=$30600000 |
|
slt |
v0, s0, v1 |
# 081e88c4:0203102a |
|
|
beq |
v0, zero, $081e8a40 |
# 081e88c8:1040005d |
▼__081e8a40 |
|
lui |
v0, $3060 |
# 081e88cc:3c023060 |
v0=$30600000 |
|
addiu |
v0, s0, $0004 |
# 081e88d0:26020004 |
://0x4 32bitシリアル |
|
sll |
v0, v0, 3 |
# 081e88d4:000210c0 |
|
|
addu |
v1, a3, v0 |
# 081e88d8:00e21821 |
|
|
lw |
v1, $0008(v1) |
# 081e88dc:8c630008 |
:コード右 |
|
addiu |
a0, s0, $0005 |
# 081e88e0:26040005 |
|
|
addu |
t2, v0, zero |
# 081e88e4:00405021 |
|
|
andi |
v0, v1, $ffff |
# 081e88e8:3062ffff |
:v1=アドレスオフセット |
|
sll |
t5, v0, 2 |
# 081e88ec:00026880 |
:t5=4*offset |
|
sll |
t3, a0, 3 |
# 081e88f0:000458c0 |
|
|
srl |
t4, v1, 16 |
# 081e88f4:00036402 |
:t4=コード回数 |
|
addu |
t1, zero, zero |
# 081e88f8:00004821 |
|
|
j |
$081e8a2c |
# 081e88fc:0a07a28b |
▼__081e8a2c |
|
addu |
a1, zero, zero |
# 081e8900:00002821 |
|
|
__081e8904: |
|
|
# |
|
lw |
v0, $64d8(a2) |
# 081e8904:8cc264d8 |
:シリアルループ |
|
lui |
t0, $c000 |
# 081e8908:3c08c000 |
t0=$c0000000 |
|
addu |
v0, v0, s2 |
# 081e890c:00521021 |
|
|
addu |
a3, v0, t3 |
# 081e8910:004b3821 |
|
|
addu |
v0, v0, t2 |
# 081e8914:004a1021 |
|
|
lw |
v0, $0004(v0) |
# 081e8918:8c420004 |
:コード左 |
|
addu |
v1, v0, t0 |
# 081e891c:00481821 |
:4+C ヘッダ除去 |
|
nop |
|
|
# 081e8920:00000000 |
:#andi v0, v0, $0003 |
nop |
|
|
# 081e8924:00000000 |
:#bne v0, zero, $081e8954 |
addu |
t0, v1, a1 |
# 081e8928:00654021 |
:+4nn*offset |
|
lw |
v0, $0008(a3) |
# 081e892c:8ce20008 |
:コード2行目右 |
|
lw |
a0, $0004(a3) |
# 081e8930:8ce40004 |
:コード2行目左 |
|
lw |
v1, $3780(s1) |
# 081e8934:8e233780 |
:8800000 |
|
mult |
t1, v0 |
|
# 081e8938:01220018 |
:値オフセット*回数 |
addu |
v1, v1, t0 |
# 081e893c:00681821 |
:+8800000 |
|
mflo |
v0 |
|
# 081e8940:00001012 |
|
addu |
v0, v0, a0 |
# 081e8944:00441021 |
:値+値オフセット*回数 |
|
swl |
v0, $0003(v1) |
# 081e8948:a8620003 |
:#sw v0, $0000(v1) |
|
j |
$081e8a24 |
# 081e894c:0a07a289 |
:#j $081e8a28 |
|
swr |
v0, $0000(v1) |
# 081e8950:b8620000 |
:#addiu t1, t1, $0001 |
|
__081e8954: |
|
|
# |
|
lw |
v0, $0008(a3) |
# 081e8954:8ce20008 |
:奇数アドレス時 |
|
lw |
a0, $0004(a3) |
# 081e8958:8ce40004 |
|
|
lw |
v1, $3780(s1) |
# 081e895c:8e233780 |
|
|
mult |
t1, v0 |
|
# 081e8960:01220018 |
|
lui |
a2, $c000 |
# 081e8964:3c06c000 |
a2=$c0000000 |
|
ori |
a2, a2, $0001 |
# 081e8968:34c60001 |
a2=$c0000001 |
|
addu |
v1, v1, t0 |
# 081e896c:00681821 |
|
|
lui |
a3, $881f |
# 081e8970:3c07881f |
a3=$881f0000 |
|
lui |
t0, $c000 |
# 081e8974:3c08c000 |
t0=$c0000000 |
|
ori |
t0, t0, $0002 |
# 081e8978:35080002 |
t0=$c0000002 |
|
mflo |
v0 |
|
# 081e897c:00001012 |
|
addu |
v0, v0, a0 |
# 081e8980:00441021 |
|
|
sw |
v0, $0004(sp) |
# 081e8984:afa20004 |
|
|
lbu |
v0, $0004(sp) |
# 081e8988:93a20004 |
|
|
andi |
v0, v0, $00ff |
# 081e898c:304200ff |
|
|
sb |
v0, $0000(v1) |
# 081e8990:a0620000 |
|
|
lui |
v1, $881f |
# 081e8994:3c03881f |
v1=$881f0000 |
|
lw |
v0, $64d8(v1) |
# 081e8998:8c6264d8 |
v0=$881f64d8 |
|
lbu |
a0, $0005(sp) |
# 081e899c:93a40005 |
|
|
lw |
v1, $3780(s1) |
# 081e89a0:8e233780 |
|
|
addu |
v0, v0, s2 |
# 081e89a4:00521021 |
|
|
addu |
v0, v0, t2 |
# 081e89a8:004a1021 |
|
|
lw |
v0, $0004(v0) |
# 081e89ac:8c420004 |
|
|
andi |
a0, a0, $00ff |
# 081e89b0:308400ff |
|
|
addu |
v0, v0, a2 |
# 081e89b4:00461021 |
|
|
addu |
v0, v0, a1 |
# 081e89b8:00451021 |
|
|
addu |
v1, v1, v0 |
# 081e89bc:00621821 |
|
|
sb |
a0, $0000(v1) |
# 081e89c0:a0640000 |
|
|
lw |
v0, $64d8(a3) |
# 081e89c4:8ce264d8 |
v0=$881f64d8 |
|
lbu |
a0, $0006(sp) |
# 081e89c8:93a40006 |
|
|
lw |
v1, $3780(s1) |
# 081e89cc:8e233780 |
|
|
addu |
v0, v0, s2 |
# 081e89d0:00521021 |
|
|
addu |
v0, v0, t2 |
# 081e89d4:004a1021 |
|
|
lw |
v0, $0004(v0) |
# 081e89d8:8c420004 |
|
|
andi |
a0, a0, $00ff |
# 081e89dc:308400ff |
|
|
lui |
a2, $c000 |
# 081e89e0:3c06c000 |
a2=$c0000000 |
|
addu |
v0, v0, t0 |
# 081e89e4:00481021 |
|
|
addu |
v0, v0, a1 |
# 081e89e8:00451021 |
|
|
addu |
v1, v1, v0 |
# 081e89ec:00621821 |
|
|
sb |
a0, $0000(v1) |
# 081e89f0:a0640000 |
|
|
lw |
v0, $64d8(a3) |
# 081e89f4:8ce264d8 |
v0=$881f64d8 |
|
lw |
a0, $3780(s1) |
# 081e89f8:8e243780 |
|
|
lbu |
v1, $0007(sp) |
# 081e89fc:93a30007 |
|
|
addu |
v0, v0, s2 |
# 081e8a00:00521021 |
|
|
addu |
v0, v0, t2 |
# 081e8a04:004a1021 |
|
|
lw |
v0, $0004(v0) |
# 081e8a08:8c420004 |
|
|
ori |
a2, a2, $0003 |
# 081e8a0c:34c60003 |
a2=$c0000003 |
|
andi |
v1, v1, $00ff |
# 081e8a10:306300ff |
|
|
addu |
v0, v0, a2 |
# 081e8a14:00461021 |
|
|
addu |
v0, v0, a1 |
# 081e8a18:00451021 |
|
|
addu |
a0, a0, v0 |
# 081e8a1c:00822021 |
|
|
sb |
v1, $0000(a0) |
# 081e8a20:a0830000 |
|
|
addiu |
t1, t1, $0001 |
# 081e8a24:25290001 |
:t1=回数カウンター |
|
__081e8a28: |
|
|
# |
|
addu |
a1, a1, t5 |
# 081e8a28:00ad2821 |
:アドレスオフセット |
|
__081e8a2c: |
|
|
# |
|
slt |
v0, t1, t4 |
# 081e8a2c:012c102a |
:t1>=コード回数までループ |
|
bne |
v0, zero, $081e8904 |
# 081e8a30:1440ffb4 |
▲__081e8904 |
|
lui |
a2, $881f |
# 081e8a34:3c06881f |
a2=$881f0000 |
|
j |
$081e8d28 |
# 081e8a38:0a07a34a |
▼__081e8d28 |
|
addiu |
a3, s0, $0001 |
# 081e8a3c:26070001 |
|
|
__081e8a40: |
|
|
# |
|
xor |
v0, a2, v0 |
# 081e8a40:00c21026 |
:a2>=30600000なら下 |
|
bne |
v0, zero, $081e8a90 |
# 081e8a44:14400012 |
▼__081e8a90 |
|
lui |
v0, $3050 |
# 081e8a48:3c023050 |
v0=$30500000 |
|
slt |
v0, s0, v1 |
# 081e8a4c:0203102a |
|
|
beql |
v0, zero, $081e8a90 |
# 081e8a50:5040000f |
▼__081e8a90 |
|
lui |
v0, $3050 |
# 081e8a54:3c023050 |
v0=$30500000 |
|
addiu |
v0, s0, $0004 |
# 081e8a58:26020004 |
://0x306 32bit減算 |
|
sll |
v0, v0, 3 |
# 081e8a5c:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8a60:00e21021 |
|
|
lw |
a0, $0008(v0) |
# 081e8a64:8c440008 |
|
|
lw |
v1, $3780(s1) |
# 081e8a68:8e233780 |
|
|
addiu |
v0, s0, $0005 |
# 081e8a6c:26020005 |
|
|
sll |
v0, v0, 3 |
# 081e8a70:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8a74:00e21021 |
|
|
addu |
v1, v1, a0 |
# 081e8a78:00641821 |
|
|
lw |
a0, $0004(v0) |
# 081e8a7c:8c440004 |
|
|
lw |
v0, $0000(v1) |
# 081e8a80:8c620000 |
|
|
addiu |
a3, s0, $0001 |
# 081e8a84:26070001 |
|
|
j |
$081e8adc |
# 081e8a88:0a07a2b7 |
|
|
subu |
v0, v0, a0 |
# 081e8a8c:00441023 |
|
|
__081e8a90: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8a90:00c2102b |
:a2>=30500000なら下 |
|
bne |
v0, zero, $081e8ae8 |
# 081e8a94:14400014 |
▼__081e8ae8 |
|
lui |
v0, $3040 |
# 081e8a98:3c023040 |
v0=$30400000 |
|
slt |
v0, s0, v1 |
# 081e8a9c:0203102a |
|
|
beq |
v0, zero, $081e8ae8 |
# 081e8aa0:10400011 |
▼__081e8ae8 |
|
lui |
v0, $3040 |
# 081e8aa4:3c023040 |
v0=$30400000 |
|
addiu |
v0, s0, $0004 |
# 081e8aa8:26020004 |
://0x305 32bit加算 |
|
sll |
v0, v0, 3 |
# 081e8aac:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8ab0:00e21021 |
|
|
lw |
a0, $0008(v0) |
# 081e8ab4:8c440008 |
|
|
lw |
v1, $3780(s1) |
# 081e8ab8:8e233780 |
|
|
addiu |
v0, s0, $0005 |
# 081e8abc:26020005 |
|
|
sll |
v0, v0, 3 |
# 081e8ac0:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8ac4:00e21021 |
|
|
addu |
v1, v1, a0 |
# 081e8ac8:00641821 |
|
|
lw |
a0, $0004(v0) |
# 081e8acc:8c440004 |
|
|
lw |
v0, $0000(v1) |
# 081e8ad0:8c620000 |
|
|
addiu |
a3, s0, $0001 |
# 081e8ad4:26070001 |
|
|
addu |
v0, v0, a0 |
# 081e8ad8:00441021 |
|
|
sw |
v0, $0000(v1) |
# 081e8adc:ac620000 |
|
|
j |
$081e8d2c |
# 081e8ae0:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e8ae4:24f00001 |
|
|
__081e8ae8: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8ae8:00c2102b |
:a2>=30400000 |
|
bnel |
v0, zero, $081e8b1c |
# 081e8aec:5440000b |
▼__081e8b1c |
|
lui |
v0, $3030 |
# 081e8af0:3c023030 |
v0=$30300000 |
|
addiu |
v0, s0, $0004 |
# 081e8af4:26020004 |
://0x304 16bit減算 |
|
sll |
v0, v0, 3 |
# 081e8af8:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8afc:00e21021 |
|
|
lw |
v0, $0008(v0) |
# 081e8b00:8c420008 |
|
|
lw |
v1, $3780(s1) |
# 081e8b04:8e233780 |
|
|
addu |
a3, s0, zero |
# 081e8b08:02003821 |
|
|
addu |
v1, v1, v0 |
# 081e8b0c:00621821 |
|
|
lhu |
v0, $0000(v1) |
# 081e8b10:94620000 |
|
|
j |
$081e83d8 |
# 081e8b14:0a07a0f6 |
▲__081e83d8 |
|
subu |
v0, v0, a2 |
# 081e8b18:00461023 |
|
|
__081e8b1c: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8b1c:00c2102b |
:a2>=30300000 |
|
bnel |
v0, zero, $081e8b50 |
# 081e8b20:5440000b |
▼__081e8b50 |
|
lui |
v0, $3020 |
# 081e8b24:3c023020 |
v0=$30200000 |
|
addiu |
v0, s0, $0004 |
# 081e8b28:26020004 |
://0x303 16bit加算 |
|
sll |
v0, v0, 3 |
# 081e8b2c:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8b30:00e21021 |
|
|
lw |
v0, $0008(v0) |
# 081e8b34:8c420008 |
|
|
lw |
v1, $3780(s1) |
# 081e8b38:8e233780 |
|
|
addu |
a3, s0, zero |
# 081e8b3c:02003821 |
|
|
addu |
v1, v1, v0 |
# 081e8b40:00621821 |
|
|
lhu |
v0, $0000(v1) |
# 081e8b44:94620000 |
|
|
j |
$081e83d8 |
# 081e8b48:0a07a0f6 |
▲__081e83d8 |
|
addu |
v0, a2, v0 |
# 081e8b4c:00c21021 |
|
|
__081e8b50: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8b50:00c2102b |
:a2>=30200000 |
|
bnel |
v0, zero, $081e8b88 |
# 081e8b54:5440000c |
▼__081e8b88 |
|
lui |
v0, $3000 |
# 081e8b58:3c023000 |
v0=$30000000:例外修正 #lui v0, $3010 |
|
addiu |
v0, s0, $0004 |
# 081e8b5c:26020004 |
://0x302 8bit減算 |
|
sll |
v0, v0, 3 |
# 081e8b60:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8b64:00e21021 |
|
|
lw |
v0, $0008(v0) |
# 081e8b68:8c420008 |
|
|
lw |
v1, $3780(s1) |
# 081e8b6c:8e233780 |
|
|
addu |
a3, s0, zero |
# 081e8b70:02003821 |
|
|
addu |
v1, v1, v0 |
# 081e8b74:00621821 |
|
|
lbu |
v0, $0000(v1) |
# 081e8b78:90620000 |
|
|
subu |
v0, v0, a2 |
# 081e8b7c:00461023 |
|
|
__081e8b80: |
|
|
# |
|
j |
$081e83b4 |
# 081e8b80:0a07a0ed |
▲__081e83b4 |
|
andi |
v0, v0, $00ff |
# 081e8b84:304200ff |
|
|
__081e8b88: |
|
|
# |
|
sltu |
v0, a2, v0 |
# 081e8b88:00c2102b |
:a2>=30000000 |
|
bne |
v0, zero, $081e8bbc |
# 081e8b8c:1440000b |
▼__081e8bbc |
|
lui |
t0, $2000 |
# 081e8b90:3c082000 |
t0=$20000000 |
|
addiu |
v0, s0, $0004 |
# 081e8b94:26020004 |
://0x301 8bit加算 |
|
sll |
v0, v0, 3 |
# 081e8b98:000210c0 |
|
|
addu |
v0, a3, v0 |
# 081e8b9c:00e21021 |
|
|
lw |
v0, $0008(v0) |
# 081e8ba0:8c420008 |
|
|
lw |
v1, $3780(s1) |
# 081e8ba4:8e233780 |
|
|
addu |
a3, s0, zero |
# 081e8ba8:02003821 |
|
|
addu |
v1, v1, v0 |
# 081e8bac:00621821 |
|
|
lbu |
v0, $0000(v1) |
# 081e8bb0:90620000 |
|
|
j |
$081e8b80 |
# 081e8bb4:0a07a2e0 |
▲__081e8b80 |
|
addu |
v0, a2, v0 |
# 081e8bb8:00c21021 |
|
|
__081e8bbc: |
|
|
# |
|
sltu |
v0, a2, t0 |
# 081e8bbc:00c8102b |
:a2>=20000000,コードが0x3000~だと例外 |
|
bnel |
v0, zero, $081e8cd8 |
# 081e8bc0:54400045 |
▼__081e8cd8 |
|
lui |
t0, $1000 |
# 081e8bc4:3c081000 |
t0=$10000000 |
|
__081e8bc8: |
|
|
# |
|
nop |
|
|
# 081e8bc8:00000000 |
:#andi v0, a2, $0003 //0x2 32bit書き込み |
nop |
|
|
# 081e8bcc:00000000 |
:#bne v0, zero, $081e8bf8 |
addiu |
a1, s0, $0004 |
# 081e8bd0:26050004 |
:32bit 書き込み |
|
sll |
v0, a1, 3 |
# 081e8bd4:000510c0 |
|
|
addu |
v0, a3, v0 |
# 081e8bd8:00e21021 |
|
|
lw |
v1, $3780(s1) |
# 081e8bdc:8e233780 |
:0x8800000 |
|
lw |
a0, $0008(v0) |
# 081e8be0:8c440008 |
:値 |
|
subu |
v0, a2, t0 |
# 081e8be4:00c81023 |
:0x3000~だと 3-2=1残ってしまう |
|
addu |
v1, v1, v0 |
# 081e8be8:00621821 |
|
|
swl |
a0, $0003(v1) |
# 081e8bec:a8640003 |
:# sw a0, $0000(v1) 32bit write |
|
j |
$081e8d24 |
# 081e8bf0:0a07a349 |
▼__081e8d24:#j $081e8d28 |
|
swr |
a0, $0000(v1) |
# 081e8bf4:b8640000 |
:#addu a3, s0, zero |
|
lui |
t0, $881f |
# 081e8bf8:3c08881f |
t0=$881f0000:32bit 例外だったとこ |
|
sll |
a1, a1, 3 |
# 081e8bfc:000528c0 |
|
|
lw |
v0, $64d8(t0) |
# 081e8c00:8d0264d8 |
v0=$881f64d8 |
|
addu |
v1, a3, a1 |
# 081e8c04:00e51821 |
|
|
lw |
v1, $0008(v1) |
# 081e8c08:8c630008 |
|
|
addu |
v0, v0, s2 |
# 081e8c0c:00521021 |
|
|
addu |
v0, v0, a1 |
# 081e8c10:00451021 |
|
|
sw |
v1, $0004(sp) |
# 081e8c14:afa30004 |
|
|
lw |
v1, $0004(v0) |
# 081e8c18:8c430004 |
|
|
lbu |
a0, $0004(sp) |
# 081e8c1c:93a40004 |
|
|
lw |
v0, $3780(s1) |
# 081e8c20:8e223780 |
|
|
lui |
t1, $c000 |
# 081e8c24:3c09c000 |
t1=$c0000000 |
|
addu |
v1, v1, t1 |
# 081e8c28:00691821 |
|
|
addu |
v0, v0, v1 |
# 081e8c2c:00431021 |
|
|
andi |
a0, a0, $00ff |
# 081e8c30:308400ff |
|
|
sb |
a0, $0000(v0) |
# 081e8c34:a0440000 |
|
|
lw |
v0, $64d8(t0) |
# 081e8c38:8d0264d8 |
v0=$881f64d8 |
|
lbu |
a0, $0005(sp) |
# 081e8c3c:93a40005 |
|
|
lw |
v1, $3780(s1) |
# 081e8c40:8e233780 |
|
|
addu |
v0, v0, s2 |
# 081e8c44:00521021 |
|
|
addu |
v0, v0, a1 |
# 081e8c48:00451021 |
|
|
lw |
v0, $0004(v0) |
# 081e8c4c:8c420004 |
|
|
lui |
a2, $c000 |
# 081e8c50:3c06c000 |
a2=$c0000000 |
|
ori |
a2, a2, $0001 |
# 081e8c54:34c60001 |
a2=$c0000001 |
|
addu |
v0, v0, a2 |
# 081e8c58:00461021 |
|
|
addu |
v1, v1, v0 |
# 081e8c5c:00621821 |
|
|
andi |
a0, a0, $00ff |
# 081e8c60:308400ff |
|
|
sb |
a0, $0000(v1) |
# 081e8c64:a0640000 |
|
|
lw |
v0, $64d8(t0) |
# 081e8c68:8d0264d8 |
v0=$881f64d8 |
|
lbu |
a0, $0006(sp) |
# 081e8c6c:93a40006 |
|
|
lw |
v1, $3780(s1) |
# 081e8c70:8e233780 |
|
|
addu |
v0, v0, s2 |
# 081e8c74:00521021 |
|
|
addu |
v0, v0, a1 |
# 081e8c78:00451021 |
|
|
lw |
v0, $0004(v0) |
# 081e8c7c:8c420004 |
|
|
lui |
t0, $c000 |
# 081e8c80:3c08c000 |
t0=$c0000000 |
|
ori |
t0, t0, $0002 |
# 081e8c84:35080002 |
t0=$c0000002 |
|
addu |
v0, v0, t0 |
# 081e8c88:00481021 |
|
|
addu |
v1, v1, v0 |
# 081e8c8c:00621821 |
|
|
andi |
a0, a0, $00ff |
# 081e8c90:308400ff |
|
|
sb |
a0, $0000(v1) |
# 081e8c94:a0640000 |
|
|
lui |
t1, $881f |
# 081e8c98:3c09881f |
t1=$881f0000 |
|
lw |
v0, $64d8(t1) |
# 081e8c9c:8d2264d8 |
v0=$881f64d8 |
|
lw |
a0, $3780(s1) |
# 081e8ca0:8e243780 |
|
|
lbu |
v1, $0007(sp) |
# 081e8ca4:93a30007 |
|
|
addu |
v0, v0, s2 |
# 081e8ca8:00521021 |
|
|
addu |
v0, v0, a1 |
# 081e8cac:00451021 |
|
|
lw |
v0, $0004(v0) |
# 081e8cb0:8c420004 |
|
|
lui |
a1, $c000 |
# 081e8cb4:3c05c000 |
a1=$c0000000 |
|
ori |
a1, a1, $0003 |
# 081e8cb8:34a50003 |
a1=$c0000003 |
|
addu |
v0, v0, a1 |
# 081e8cbc:00451021 |
|
|
andi |
v1, v1, $00ff |
# 081e8cc0:306300ff |
|
|
addu |
a0, a0, v0 |
# 081e8cc4:00822021 |
|
|
addu |
a3, s0, zero |
# 081e8cc8:02003821 |
|
|
sb |
v1, $0000(a0) |
# 081e8ccc:a0830000 |
|
|
j |
$081e8d2c |
# 081e8cd0:0a07a34b |
▼__081e8d2c |
|
addiu |
s0, a3, $0001 |
# 081e8cd4:24f00001 |
|
|
__081e8cd8: |
|
|
# |
|
sltu |
v0, a2, t0 |
# 081e8cd8:00c8102b |
:a2>=10000000 |
|
bne |
v0, zero, $081e8d08 |
# 081e8cdc:1440000a |
▼__081e8d08 |
|
addiu |
a1, s0, $0004 |
# 081e8ce0:26050004 |
://0x1 16bit書き込み |
|
sll |
v0, a1, 3 |
# 081e8ce4:000510c0 |
|
|
addu |
v0, a3, v0 |
# 081e8ce8:00e21021 |
|
|
lw |
v1, $3780(s1) |
# 081e8cec:8e233780 |
|
|
lhu |
a0, $0008(v0) |
# 081e8cf0:94440008 |
|
|
subu |
v0, a2, t0 |
# 081e8cf4:00c81023 |
|
|
addu |
v1, v1, v0 |
# 081e8cf8:00621821 |
|
|
sh |
a0, $0000(v1) |
# 081e8cfc:a4640000 |
|
|
j |
$081e8d28 |
# 081e8d00:0a07a34a |
▼__081e8d28 |
|
addu |
a3, s0, zero |
# 081e8d04:02003821 |
|
|
__081e8d08: |
|
|
# |
|
lw |
v1, $3780(s1) |
# 081e8d08:8e233780 |
://0x0 8bit書き込み |
|
sll |
v0, a1, 3 |
# 081e8d0c:000510c0 |
|
|
addu |
v0, a3, v0 |
# 081e8d10:00e21021 |
|
|
lbu |
v0, $0008(v0) |
# 081e8d14:90420008 |
|
|
addu |
a3, s0, zero |
# 081e8d18:02003821 |
|
|
j |
$081e83b4 |
# 081e8d1c:0a07a0ed |
▲__081e83b4 |
|
addu |
v1, v1, a2 |
# 081e8d20:00661821 |
|
|
__081e8d24: |
|
|
# |
|
addu |
a3, s0, zero |
# 081e8d24:02003821 |
|
|
__081e8d28: |
|
|
# |
|
addiu |
s0, a3, $0001 |
# 081e8d28:24f00001 |
:コード行数加算 |
|
__081e8d2c: |
|
|
# |
|
lui |
a2, $881f |
# 081e8d2c:3c06881f |
a2=$881f0000 |
|
lw |
v0, $64d8(a2) |
# 081e8d30:8cc264d8 |
v0=$881f64d8 |
|
addu |
a3, v0, s2 |
# 081e8d34:00523821 |
|
|
lb |
v1, $0020(a3) |
# 081e8d38:80e30020 |
:v1=コード行? |
|
slt |
v0, v1, s0 |
# 081e8d3c:0070102a |
:v1<s0なら下 v1>=s0だとジャンプ |
|
beq |
v0, zero, $081e7ba4 |
# 081e8d40:1040fb98 |
▲__081e7ba4 |
|
addiu |
v0, s0, $0004 |
# 081e8d44:26020004 |
|
|
__081e8d48: |
|
|
# |
|
lw |
a3, $0034(sp) |
# 081e8d48:8fa70034 |
|
|
__081e8d4c: |
|
|
# |
|
addiu |
a3, a3, $0001 |
# 081e8d4c:24e70001 |
|
|
sw |
a3, $0034(sp) |
# 081e8d50:afa70034 |
|
|
__081e8d54: |
|
|
# |
|
lui |
t0, $881f |
# 081e8d54:3c08881f |
t0=$881f0000 |
|
lw |
v0, $37c8(t0) |
# 081e8d58:8d0237c8 |
v0=$881f37c8 |
|
lw |
t1, $0034(sp) |
# 081e8d5c:8fa90034 |
|
|
slt |
v0, v0, t1 |
# 081e8d60:0049102a |
|
|
beql |
v0, zero, $081e7b78 |
# 081e8d64:5040fb84 |
▲__081e7b78 |
|
lw |
v1, $0034(sp) |
# 081e8d68:8fa30034 |
|
|
j |
$081e8d84 |
# 081e8d6c:0a07a361 |
▼__081e8d84 |
|
lw |
ra, $0064(sp) |
# 081e8d70:8fbf0064 |
|
|
__081e8d74: |
|
|
# |
|
addu |
t6, a0, t0 |
# 081e8d74:00887021 |
:t6=a0コード3行目+t0(0x7)=オフセット ポインタシリアル |
|
addiu |
t3, zero, $0001 |
# 081e8d78:240b0001 |
t3=$00000001:t3=1 ポインタシリアル |
|
j |
$081e8490 |
# 081e8d7c:0a07a124 |
▲__081e8490 |
|
sw |
v1, $0030(sp) |
# 081e8d80:afa30030 |
:sp+30=値オフセット |
|
__081e8d84: |
|
|
# |
|
lw |
fp, $0060(sp) |
# 081e8d84:8fbe0060 |
|
|
lw |
s7, $005c(sp) |
# 081e8d88:8fb7005c |
|
|
lw |
s6, $0058(sp) |
# 081e8d8c:8fb60058 |
|
|
lw |
s5, $0054(sp) |
# 081e8d90:8fb50054 |
|
|
lw |
s4, $0050(sp) |
# 081e8d94:8fb40050 |
|
|
__081e8d98: |
|
|
# |
|
lw |
s3, $004c(sp) |
# 081e8d98:8fb3004c |
|
|
lw |
s2, $0048(sp) |
# 081e8d9c:8fb20048 |
|
|
lw |
s1, $0044(sp) |
# 081e8da0:8fb10044 |
|
|
lw |
s0, $0040(sp) |
# 081e8da4:8fb00040 |
|
|
jr |
ra |
|
# 081e8da8:03e00008 |
|
addiu |
sp, sp, $0068 |
# 081e8dac:27bd0068 |
|
|