Files
psxrecomp/generated/instruction_inventory.json
T
Matthew Stanley 7c40d33db3 Phase 1 complete: recompiler proven correct on SCPH1001.BIN
Phase 1a (boot slice): 30 instructions at 0xBFC00000, compiles clean.
Phase 1b (instruction coverage): 54 opcodes implemented in strict_translator,
  44,629 walker-reachable instructions covered, 0 missing.
Phase 1c (function discovery): 76 functions from 2 seeds, 2,988 instructions,
  199 call edges, 27 indirect jumps. All validated through StrictTranslator.
Phase 1d (indirect control flow): 27 sites classified — 21 A0/B0/C0 dispatch
  stubs, 4 computed calls, 2 computed tail calls. Ghidra cross-referenced
  with 0 disagreements.
Phase 1e (relocation): ROM-to-RAM copy at FUN_bfc00420 proven with both
  Ghidra (static) and DuckStation (runtime). 69 address aliases, 68/69
  function entries match byte-for-byte in RAM. Normalization rule documented.

Includes PRINCIPLES.md and DEBUG.md adapted from recomp-template.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:26:04 -07:00

1409 lines
30 KiB
JSON

{
"schema": "psxrecomp-v4 phase1b instruction_inventory v2",
"program": "SCPH1001.BIN",
"image_base": "0xbfc00000",
"image_end": "0xbfc7ffff",
"source_function_count": 666,
"walker": {
"strategy": "BFS reachability from each seed: visit linear fall-through, in-function direct/conditional branch targets, and JAL/JALR delay-slot+return; terminate paths on JR/J after their delay slot. Conditional branches enqueue both taken target and post-delay fall-through. Delay slots are visited inline (never re-enqueued) so they cannot extend the walk on their own.",
"verification": [
{
"entry": "0xbfc00420",
"ghidra_end": "0xbfc0045b",
"walker_end": "0xbfc0045b",
"match": true
},
{
"entry": "0xbfc00678",
"ghidra_end": "0xbfc006a7",
"walker_end": "0xbfc006a7",
"match": true
},
{
"entry": "0xbfc006a8",
"ghidra_end": "0xbfc006d7",
"walker_end": "0xbfc006d7",
"match": true
},
{
"entry": "0xbfc00b7c",
"ghidra_end": "0xbfc00d9f",
"walker_end": "0xbfc00d9f",
"match": true
},
{
"entry": "0xbfc02324",
"ghidra_end": "0xbfc0258f",
"walker_end": "0xbfc0258f",
"match": true
},
{
"entry": "0xbfc04dec",
"ghidra_end": "0xbfc04fbb",
"walker_end": "0xbfc04fbb",
"match": true
},
{
"entry": "0xbfc18254",
"ghidra_end": "0xbfc18683",
"walker_end": "0xbfc18683",
"match": true
},
{
"entry": "0xbfc34160",
"ghidra_end": "0xbfc34303",
"walker_end": "0xbfc34303",
"match": true
},
{
"entry": "0xbfc4270c",
"ghidra_end": "0xbfc42843",
"walker_end": "0xbfc42843",
"match": true
}
],
"synthetic_seeds": [
{
"label": "reset_vector",
"entry": "0xbfc00000",
"hard_cap": "0xbfc00420",
"end": "0xbfc0041f",
"instr_count": 210
},
{
"label": "boot_general_exception_bev1",
"entry": "0xbfc00180",
"hard_cap": "0xbfc00420",
"end": "0xbfc0041f",
"instr_count": 168
}
]
},
"totals": {
"instructions_walked": 44629,
"distinct_buckets": 56,
"unknown_bucket_instructions": 0
},
"buckets": [
{
"key": {
"primary_opcode_hex": "0x10",
"sub_kind": "rs_cop0",
"sub_value_hex": "0x00"
},
"mnemonic": "MFC0",
"category": "COP0",
"count": 2,
"examples": [
{
"address": "0xbfc01920",
"raw": "0x40086000"
},
{
"address": "0xbfc03968",
"raw": "0x40026000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x10",
"sub_kind": "rs_cop0",
"sub_value_hex": "0x04"
},
"mnemonic": "MTC0",
"category": "COP0",
"count": 13,
"examples": [
{
"address": "0xbfc0023c",
"raw": "0x408c6000"
},
{
"address": "0xbfc00278",
"raw": "0x40806000"
},
{
"address": "0xbfc0028c",
"raw": "0x408c6000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x20"
},
"mnemonic": "ADD",
"category": "CPU",
"count": 1,
"examples": [
{
"address": "0xbfc03d40",
"raw": "0x01094020"
}
]
},
{
"key": {
"primary_opcode_hex": "0x08",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "ADDI",
"category": "CPU",
"count": 13,
"examples": [
{
"address": "0xbfc00274",
"raw": "0x214a0080"
},
{
"address": "0xbfc00324",
"raw": "0x214a0080"
},
{
"address": "0xbfc003bc",
"raw": "0x20420004"
}
]
},
{
"key": {
"primary_opcode_hex": "0x09",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "ADDIU",
"category": "CPU",
"count": 7237,
"examples": [
{
"address": "0xbfc00014",
"raw": "0x24080b88"
},
{
"address": "0xbfc0019c",
"raw": "0x24083022"
},
{
"address": "0xbfc0022c",
"raw": "0x24090804"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x21"
},
"mnemonic": "ADDU",
"category": "CPU",
"count": 3806,
"examples": [
{
"address": "0xbfc003dc",
"raw": "0x03a0f021"
},
{
"address": "0xbfc00688",
"raw": "0x00002021"
},
{
"address": "0xbfc0068c",
"raw": "0x00002821"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x24"
},
"mnemonic": "AND",
"category": "CPU",
"count": 165,
"examples": [
{
"address": "0xbfc0128c",
"raw": "0x02218824"
},
{
"address": "0xbfc01ca8",
"raw": "0x00a12824"
},
{
"address": "0xbfc01cc0",
"raw": "0x00ca4024"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0C",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "ANDI",
"category": "CPU",
"count": 634,
"examples": [
{
"address": "0xbfc0081c",
"raw": "0x31cf00ff"
},
{
"address": "0xbfc00828",
"raw": "0x316c00ff"
},
{
"address": "0xbfc00858",
"raw": "0x31f800ff"
}
]
},
{
"key": {
"primary_opcode_hex": "0x04",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "BEQ",
"category": "CPU",
"count": 2768,
"examples": [
{
"address": "0xbfc00970",
"raw": "0x10000022"
},
{
"address": "0xbfc00998",
"raw": "0x10000018"
},
{
"address": "0xbfc009ac",
"raw": "0x12240007"
}
]
},
{
"key": {
"primary_opcode_hex": "0x01",
"sub_kind": "rt",
"sub_value_hex": "0x01"
},
"mnemonic": "BGEZ",
"category": "CPU",
"count": 181,
"examples": [
{
"address": "0xbfc00ed8",
"raw": "0x06a1fff3"
},
{
"address": "0xbfc00f74",
"raw": "0x06010003"
},
{
"address": "0xbfc01058",
"raw": "0x04610089"
}
]
},
{
"key": {
"primary_opcode_hex": "0x07",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "BGTZ",
"category": "CPU",
"count": 49,
"examples": [
{
"address": "0xbfc01ab8",
"raw": "0x1cc0fffb"
},
{
"address": "0xbfc01ad4",
"raw": "0x1ca00003"
},
{
"address": "0xbfc01af4",
"raw": "0x1ca0fffd"
}
]
},
{
"key": {
"primary_opcode_hex": "0x06",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "BLEZ",
"category": "CPU",
"count": 131,
"examples": [
{
"address": "0xbfc0151c",
"raw": "0x1b20000e"
},
{
"address": "0xbfc01aa0",
"raw": "0x18c00007"
},
{
"address": "0xbfc01ae4",
"raw": "0x18a00005"
}
]
},
{
"key": {
"primary_opcode_hex": "0x01",
"sub_kind": "rt",
"sub_value_hex": "0x00"
},
"mnemonic": "BLTZ",
"category": "CPU",
"count": 25,
"examples": [
{
"address": "0xbfc0113c",
"raw": "0x04c00017"
},
{
"address": "0xbfc01280",
"raw": "0x04c00003"
},
{
"address": "0xbfc0155c",
"raw": "0x0600000e"
}
]
},
{
"key": {
"primary_opcode_hex": "0x05",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "BNE",
"category": "CPU",
"count": 1463,
"examples": [
{
"address": "0xbfc00270",
"raw": "0x154bfff7"
},
{
"address": "0xbfc00320",
"raw": "0x154bffdf"
},
{
"address": "0xbfc003c4",
"raw": "0x1420fffc"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x0D"
},
"mnemonic": "BREAK",
"category": "CPU",
"count": 93,
"examples": [
{
"address": "0xbfc012cc",
"raw": "0x0007000d"
},
{
"address": "0xbfc028a8",
"raw": "0x0007000d"
},
{
"address": "0xbfc02a88",
"raw": "0x0007000d"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x1A"
},
"mnemonic": "DIV",
"category": "CPU",
"count": 73,
"examples": [
{
"address": "0xbfc07c7c",
"raw": "0x02a1001a"
},
{
"address": "0xbfc07ca0",
"raw": "0x01e1001a"
},
{
"address": "0xbfc07ce0",
"raw": "0x0321001a"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x1B"
},
"mnemonic": "DIVU",
"category": "CPU",
"count": 18,
"examples": [
{
"address": "0xbfc012a8",
"raw": "0x0064001b"
},
{
"address": "0xbfc02898",
"raw": "0x0193001b"
},
{
"address": "0xbfc02a6c",
"raw": "0x0195001b"
}
]
},
{
"key": {
"primary_opcode_hex": "0x02",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "J",
"category": "CPU",
"count": 2,
"examples": [
{
"address": "0xbfc00070",
"raw": "0x0bf00054"
},
{
"address": "0xbfc00418",
"raw": "0x0bf01bb1"
}
]
},
{
"key": {
"primary_opcode_hex": "0x03",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "JAL",
"category": "CPU",
"count": 2606,
"examples": [
{
"address": "0xbfc00680",
"raw": "0x0ff00e44"
},
{
"address": "0xbfc00690",
"raw": "0x0ff001b6"
},
{
"address": "0xbfc006b0",
"raw": "0x0ff00e44"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x09"
},
"mnemonic": "JALR",
"category": "CPU",
"count": 73,
"examples": [
{
"address": "0xbfc02d5c",
"raw": "0x0240f809"
},
{
"address": "0xbfc02e20",
"raw": "0x0260f809"
},
{
"address": "0xbfc02e58",
"raw": "0x0260f809"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x08"
},
"mnemonic": "JR",
"category": "CPU",
"count": 716,
"examples": [
{
"address": "0xbfc00454",
"raw": "0x00800008"
},
{
"address": "0xbfc006a0",
"raw": "0x03e00008"
},
{
"address": "0xbfc006d0",
"raw": "0x03e00008"
}
]
},
{
"key": {
"primary_opcode_hex": "0x20",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LB",
"category": "CPU",
"count": 261,
"examples": [
{
"address": "0xbfc00960",
"raw": "0x822e0000"
},
{
"address": "0xbfc009a4",
"raw": "0x82040000"
},
{
"address": "0xbfc009bc",
"raw": "0x82040001"
}
]
},
{
"key": {
"primary_opcode_hex": "0x24",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LBU",
"category": "CPU",
"count": 457,
"examples": [
{
"address": "0xbfc00cc4",
"raw": "0x90ac0000"
},
{
"address": "0xbfc00ce4",
"raw": "0x90580001"
},
{
"address": "0xbfc00e1c",
"raw": "0x92440000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x21",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LH",
"category": "CPU",
"count": 527,
"examples": [
{
"address": "0xbfc01040",
"raw": "0x86620000"
},
{
"address": "0xbfc010f0",
"raw": "0x86620000"
},
{
"address": "0xbfc011fc",
"raw": "0x86620000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x25",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LHU",
"category": "CPU",
"count": 150,
"examples": [
{
"address": "0xbfc08e44",
"raw": "0x94c30008"
},
{
"address": "0xbfc08e90",
"raw": "0x95630008"
},
{
"address": "0xbfc09054",
"raw": "0x94c90008"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0F",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LUI",
"category": "CPU",
"count": 4122,
"examples": [
{
"address": "0xbfc00000",
"raw": "0x3c080013"
},
{
"address": "0xbfc00008",
"raw": "0x3c011f80"
},
{
"address": "0xbfc00018",
"raw": "0x3c011f80"
}
]
},
{
"key": {
"primary_opcode_hex": "0x23",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LW",
"category": "CPU",
"count": 5482,
"examples": [
{
"address": "0xbfc00334",
"raw": "0x8d090000"
},
{
"address": "0xbfc00338",
"raw": "0x8d090000"
},
{
"address": "0xbfc0033c",
"raw": "0x8d090000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x22",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LWL",
"category": "CPU",
"count": 6,
"examples": [
{
"address": "0xbfc19598",
"raw": "0x8901005f"
},
{
"address": "0xbfc195ac",
"raw": "0x89010057"
},
{
"address": "0xbfc195c0",
"raw": "0x8901005b"
}
]
},
{
"key": {
"primary_opcode_hex": "0x26",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LWR",
"category": "CPU",
"count": 6,
"examples": [
{
"address": "0xbfc1959c",
"raw": "0x9901005c"
},
{
"address": "0xbfc195b0",
"raw": "0x99010054"
},
{
"address": "0xbfc195c4",
"raw": "0x99010058"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x10"
},
"mnemonic": "MFHI",
"category": "CPU",
"count": 45,
"examples": [
{
"address": "0xbfc012b0",
"raw": "0x0000c810"
},
{
"address": "0xbfc063a0",
"raw": "0x00006010"
},
{
"address": "0xbfc064a8",
"raw": "0x00007010"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x12"
},
"mnemonic": "MFLO",
"category": "CPU",
"count": 172,
"examples": [
{
"address": "0xbfc012bc",
"raw": "0x00001812"
},
{
"address": "0xbfc026f0",
"raw": "0x00009012"
},
{
"address": "0xbfc0289c",
"raw": "0x00001812"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x19"
},
"mnemonic": "MULTU",
"category": "CPU",
"count": 115,
"examples": [
{
"address": "0xbfc026e4",
"raw": "0x02530019"
},
{
"address": "0xbfc028ac",
"raw": "0x02530019"
},
{
"address": "0xbfc028dc",
"raw": "0x02540019"
}
]
},
{
"key": {
"primary_opcode_hex": "NOP",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "NOP",
"category": "CPU",
"count": 3884,
"examples": [
{
"address": "0xbfc00010",
"raw": "0x00000000"
},
{
"address": "0xbfc00020",
"raw": "0x00000000"
},
{
"address": "0xbfc00024",
"raw": "0x00000000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x27"
},
"mnemonic": "NOR",
"category": "CPU",
"count": 7,
"examples": [
{
"address": "0xbfc11f40",
"raw": "0x00805827"
},
{
"address": "0xbfc1220c",
"raw": "0x00805827"
},
{
"address": "0xbfc3cc34",
"raw": "0x01606027"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x25"
},
"mnemonic": "OR",
"category": "CPU",
"count": 126,
"examples": [
{
"address": "0xbfc001b0",
"raw": "0x00000825"
},
{
"address": "0xbfc001b4",
"raw": "0x00001025"
},
{
"address": "0xbfc001b8",
"raw": "0x00001825"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0D",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "ORI",
"category": "CPU",
"count": 485,
"examples": [
{
"address": "0xbfc00004",
"raw": "0x3508243f"
},
{
"address": "0xbfc00154",
"raw": "0x35291000"
},
{
"address": "0xbfc0015c",
"raw": "0x35081125"
}
]
},
{
"key": {
"primary_opcode_hex": "0x28",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SB",
"category": "CPU",
"count": 703,
"examples": [
{
"address": "0xbfc008d4",
"raw": "0xa1c00000"
},
{
"address": "0xbfc008dc",
"raw": "0xa0000180"
},
{
"address": "0xbfc00cc0",
"raw": "0xa2000000"
}
]
},
{
"key": {
"primary_opcode_hex": "0x29",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SH",
"category": "CPU",
"count": 693,
"examples": [
{
"address": "0xbfc0040c",
"raw": "0xa5200180"
},
{
"address": "0xbfc00410",
"raw": "0xa5200182"
},
{
"address": "0xbfc00414",
"raw": "0xa5200184"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x00"
},
"mnemonic": "SLL",
"category": "CPU",
"count": 1680,
"examples": [
{
"address": "0xbfc00820",
"raw": "0x000fc400"
},
{
"address": "0xbfc00834",
"raw": "0x000c6a00"
},
{
"address": "0xbfc0084c",
"raw": "0x000a1400"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x04"
},
"mnemonic": "SLLV",
"category": "CPU",
"count": 10,
"examples": [
{
"address": "0xbfc11f2c",
"raw": "0x00495004"
},
{
"address": "0xbfc121f8",
"raw": "0x00495004"
},
{
"address": "0xbfc3ca30",
"raw": "0x01255004"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x2A"
},
"mnemonic": "SLT",
"category": "CPU",
"count": 166,
"examples": [
{
"address": "0xbfc01180",
"raw": "0x00c3082a"
},
{
"address": "0xbfc01360",
"raw": "0x0338082a"
},
{
"address": "0xbfc0139c",
"raw": "0x0055082a"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0A",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SLTI",
"category": "CPU",
"count": 235,
"examples": [
{
"address": "0xbfc02444",
"raw": "0x2861015f"
},
{
"address": "0xbfc02494",
"raw": "0x28a103e8"
},
{
"address": "0xbfc024d4",
"raw": "0x28a103e8"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0B",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SLTIU",
"category": "CPU",
"count": 79,
"examples": [
{
"address": "0xbfc00f00",
"raw": "0x2c610080"
},
{
"address": "0xbfc00f10",
"raw": "0x2c610080"
},
{
"address": "0xbfc00f4c",
"raw": "0x2c610080"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x2B"
},
"mnemonic": "SLTU",
"category": "CPU",
"count": 130,
"examples": [
{
"address": "0xbfc003c0",
"raw": "0x0043082b"
},
{
"address": "0xbfc01b94",
"raw": "0x0044082b"
},
{
"address": "0xbfc01bd8",
"raw": "0x0043082b"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x03"
},
"mnemonic": "SRA",
"category": "CPU",
"count": 300,
"examples": [
{
"address": "0xbfc016bc",
"raw": "0x00042603"
},
{
"address": "0xbfc01bcc",
"raw": "0x00021083"
},
{
"address": "0xbfc01c50",
"raw": "0x0001c883"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x07"
},
"mnemonic": "SRAV",
"category": "CPU",
"count": 5,
"examples": [
{
"address": "0xbfc3c8f8",
"raw": "0x01631007"
},
{
"address": "0xbfc3c9fc",
"raw": "0x03232807"
},
{
"address": "0xbfc3cb78",
"raw": "0x03234807"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x02"
},
"mnemonic": "SRL",
"category": "CPU",
"count": 94,
"examples": [
{
"address": "0xbfc01ce4",
"raw": "0x00077882"
},
{
"address": "0xbfc01d3c",
"raw": "0x00087082"
},
{
"address": "0xbfc01d50",
"raw": "0x00087082"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x23"
},
"mnemonic": "SUBU",
"category": "CPU",
"count": 517,
"examples": [
{
"address": "0xbfc00ee0",
"raw": "0x0015a823"
},
{
"address": "0xbfc01060",
"raw": "0x00031823"
},
{
"address": "0xbfc0117c",
"raw": "0x00561823"
}
]
},
{
"key": {
"primary_opcode_hex": "0x2B",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SW",
"category": "CPU",
"count": 4037,
"examples": [
{
"address": "0xbfc0000c",
"raw": "0xac281010"
},
{
"address": "0xbfc0001c",
"raw": "0xac281060"
},
{
"address": "0xbfc00160",
"raw": "0xad280020"
}
]
},
{
"key": {
"primary_opcode_hex": "0x2A",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SWL",
"category": "CPU",
"count": 6,
"examples": [
{
"address": "0xbfc195a4",
"raw": "0xa9210063"
},
{
"address": "0xbfc195b8",
"raw": "0xa921005b"
},
{
"address": "0xbfc195cc",
"raw": "0xa921005f"
}
]
},
{
"key": {
"primary_opcode_hex": "0x2E",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "SWR",
"category": "CPU",
"count": 6,
"examples": [
{
"address": "0xbfc195a8",
"raw": "0xb9210060"
},
{
"address": "0xbfc195bc",
"raw": "0xb9210058"
},
{
"address": "0xbfc195d4",
"raw": "0xb921005c"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x0C"
},
"mnemonic": "SYSCALL",
"category": "CPU",
"count": 2,
"examples": [
{
"address": "0xbfc0d8c4",
"raw": "0x0000000c"
},
{
"address": "0xbfc0d964",
"raw": "0x0000000c"
}
]
},
{
"key": {
"primary_opcode_hex": "0x00",
"sub_kind": "funct",
"sub_value_hex": "0x26"
},
"mnemonic": "XOR",
"category": "CPU",
"count": 28,
"examples": [
{
"address": "0xbfc07528",
"raw": "0x012a5826"
},
{
"address": "0xbfc08734",
"raw": "0x004e1026"
},
{
"address": "0xbfc08744",
"raw": "0x004f1026"
}
]
},
{
"key": {
"primary_opcode_hex": "0x0E",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "XORI",
"category": "CPU",
"count": 5,
"examples": [
{
"address": "0xbfc14104",
"raw": "0x38420001"
},
{
"address": "0xbfc141c8",
"raw": "0x38420001"
},
{
"address": "0xbfc1427c",
"raw": "0x38420001"
}
]
},
{
"key": {
"primary_opcode_hex": "0x11",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "COP1",
"category": "PRIVILEGED_OR_DATA",
"count": 17,
"examples": [
{
"address": "0xbfc0233c",
"raw": "0x44801000"
},
{
"address": "0xbfc02340",
"raw": "0x44801800"
},
{
"address": "0xbfc02358",
"raw": "0x46201006"
}
]
},
{
"key": {
"primary_opcode_hex": "0x31",
"sub_kind": "none",
"sub_value_hex": "0x00"
},
"mnemonic": "LWC1",
"category": "PRIVILEGED_OR_DATA",
"count": 2,
"examples": [
{
"address": "0xbfc02544",
"raw": "0xc422dc60"
},
{
"address": "0xbfc02548",
"raw": "0xc423dc64"
}
]
}
]
}