Crusader_Decomp/out_NPCTRIG_20.json
MaddoScientisto daa363c3d2 Add 'annotate-usecode' command to import USECODE IR JSON annotations
- Introduced a new command 'annotate-usecode' to import USECODE IR JSON annotation hints as Ghidra comments on compiled anchors.
- Added argument parsing for multiple IR JSON files, comment type selection, and a dry-run option.
- Implemented logic to read annotation records from the provided IR files and set comments on the corresponding addresses in Ghidra.
- Enhanced JSON schema to include response structure for the new command.
2026-03-24 18:14:20 +01:00

1229 lines
26 KiB
JSON

{
"schema_version": "crusader-usecode-ir-v1-poc",
"source": {
"flex_path": "USECODE/EUSECODE.FLX",
"extracted_root": "USECODE/EUSECODE_extracted",
"chunk_file": "USECODE/EUSECODE_extracted/chunks/chunk_191_table_1BA8_off_04C347_len_0003A8.bin"
},
"class": {
"entry_index": 191,
"object_index": 869,
"class_id": 867,
"class_name": "NPCTRIG",
"raw_code_base_u32": 218,
"code_base_minus_one": 217,
"conservative_event_count": 33
},
"event": {
"slot": 32,
"event_name_hint": null,
"raw_event_entry_word": 345,
"raw_code_offset": 374,
"derived_body_start": 591,
"derived_body_end": 936,
"derived_body_length": 345,
"repeated_template_status": ""
},
"body": {
"end_reason": "unknown_opcode",
"raw_body_sha1": "2e696a6562c2a44adbd645948a442c9a55a63ba0",
"unknown_trailing_bytes": "05016900007265666572656e740000690a00747970654e7063000024fe026e000024fc026974656d000024fa026974656d32007a",
"decoded_op_count": 111
},
"ops": [
{
"offset": 0,
"absolute_body_offset": 591,
"opcode": 90,
"mnemonic": "init",
"raw_bytes": "5a06",
"operands": {
"local_bytes": 6
}
},
{
"offset": 2,
"absolute_body_offset": 593,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c20014e5043545249470000",
"operands": {
"symbol_offset": 293,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 14,
"absolute_body_offset": 605,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0b0100",
"operands": {
"value_u16": 1
}
},
{
"offset": 17,
"absolute_body_offset": 608,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 19,
"absolute_body_offset": 610,
"opcode": 76,
"mnemonic": "push_indirect",
"raw_bytes": "4c02",
"operands": {
"size": 2
}
},
{
"offset": 21,
"absolute_body_offset": 612,
"opcode": 119,
"mnemonic": "set_info",
"raw_bytes": "77",
"operands": {}
},
{
"offset": 22,
"absolute_body_offset": 613,
"opcode": 116,
"mnemonic": "loopscr",
"raw_bytes": "7424",
"operands": {
"value_u8": 36
}
},
{
"offset": 24,
"absolute_body_offset": 615,
"opcode": 116,
"mnemonic": "loopscr",
"raw_bytes": "743d",
"operands": {
"value_u8": 61
}
},
{
"offset": 26,
"absolute_body_offset": 617,
"opcode": 116,
"mnemonic": "loopscr",
"raw_bytes": "7440",
"operands": {
"value_u8": 64
}
},
{
"offset": 28,
"absolute_body_offset": 619,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5300",
"operands": {
"line_number": 83
}
},
{
"offset": 31,
"absolute_body_offset": 622,
"opcode": 11,
"mnemonic": "push_word_immediate",
"raw_bytes": "0bdb01",
"operands": {
"value_u16": 475
}
},
{
"offset": 34,
"absolute_body_offset": 625,
"opcode": 116,
"mnemonic": "loopscr",
"raw_bytes": "7425",
"operands": {
"value_u8": 37
}
},
{
"offset": 36,
"absolute_body_offset": 627,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a20",
"operands": {
"value_u8": 32,
"value_signed": 32
}
},
{
"offset": 38,
"absolute_body_offset": 629,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a20",
"operands": {
"value_u8": 32,
"value_signed": 32
}
},
{
"offset": 40,
"absolute_body_offset": 631,
"opcode": 30,
"mnemonic": "mul",
"raw_bytes": "1e",
"operands": {}
},
{
"offset": 41,
"absolute_body_offset": 632,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5400",
"operands": {
"line_number": 84
}
},
{
"offset": 44,
"absolute_body_offset": 635,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 46,
"absolute_body_offset": 637,
"opcode": 76,
"mnemonic": "push_indirect",
"raw_bytes": "4c02",
"operands": {
"size": 2
}
},
{
"offset": 48,
"absolute_body_offset": 639,
"opcode": 112,
"mnemonic": "loop",
"raw_bytes": "70fc0602",
"operands": {
"current_var": 252,
"string_bytes": 6,
"loop_type": 2
}
},
{
"offset": 52,
"absolute_body_offset": 643,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "510b00",
"operands": {
"relative_u16": 11,
"relative_signed": 11,
"target_offset": 66
}
},
{
"offset": 55,
"absolute_body_offset": 646,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5500",
"operands": {
"line_number": 85
}
},
{
"offset": 58,
"absolute_body_offset": 649,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3ffc",
"operands": {
"bp_offset": 252,
"target": "[BP-04h]"
}
},
{
"offset": 60,
"absolute_body_offset": 651,
"opcode": 1,
"mnemonic": "pop_local_word",
"raw_bytes": "01fa",
"operands": {
"bp_offset": 250,
"target": "[BP-06h]"
}
},
{
"offset": 62,
"absolute_body_offset": 653,
"opcode": 115,
"mnemonic": "loopnext",
"raw_bytes": "73",
"operands": {}
},
{
"offset": 63,
"absolute_body_offset": 654,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "52f2ff",
"operands": {
"relative_u16": 65522,
"relative_signed": -14,
"target_offset": 52
}
},
{
"offset": 66,
"absolute_body_offset": 657,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6ec6",
"operands": {
"value_u8": 198
}
},
{
"offset": 68,
"absolute_body_offset": 659,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5a00",
"operands": {
"line_number": 90
}
},
{
"offset": 71,
"absolute_body_offset": 662,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3ffa",
"operands": {
"bp_offset": 250,
"target": "[BP-06h]"
}
},
{
"offset": 73,
"absolute_body_offset": 664,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "51d500",
"operands": {
"relative_u16": 213,
"relative_signed": 213,
"target_offset": 289
}
},
{
"offset": 76,
"absolute_body_offset": 667,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5b00",
"operands": {
"line_number": 91
}
},
{
"offset": 79,
"absolute_body_offset": 670,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a08",
"operands": {
"value_u8": 8,
"value_signed": 8
}
},
{
"offset": 81,
"absolute_body_offset": 672,
"opcode": 63,
"mnemonic": "push_local_word",
"raw_bytes": "3f0a",
"operands": {
"bp_offset": 10,
"target": "[BP+0Ah]"
}
},
{
"offset": 83,
"absolute_body_offset": 674,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 85,
"absolute_body_offset": 676,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f086100",
"operands": {
"arg_bytes": 8,
"intrinsic_ordinal": 97,
"intrinsic_name_hint": "Intrinsic0061()"
}
},
{
"offset": 89,
"absolute_body_offset": 680,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6ef8",
"operands": {
"value_u8": 248
}
},
{
"offset": 91,
"absolute_body_offset": 682,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5c00",
"operands": {
"line_number": 92
}
},
{
"offset": 94,
"absolute_body_offset": 685,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a00",
"operands": {
"value_u8": 0,
"value_signed": 0
}
},
{
"offset": 96,
"absolute_body_offset": 687,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 98,
"absolute_body_offset": 689,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065200",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 82,
"intrinsic_name_hint": "Intrinsic0052()"
}
},
{
"offset": 102,
"absolute_body_offset": 693,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 104,
"absolute_body_offset": 695,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5d00",
"operands": {
"line_number": 93
}
},
{
"offset": 107,
"absolute_body_offset": 698,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a00",
"operands": {
"value_u8": 0,
"value_signed": 0
}
},
{
"offset": 109,
"absolute_body_offset": 700,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 111,
"absolute_body_offset": 702,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065300",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 83,
"intrinsic_name_hint": "Intrinsic00BD()"
}
},
{
"offset": 115,
"absolute_body_offset": 706,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 117,
"absolute_body_offset": 708,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5e00",
"operands": {
"line_number": 94
}
},
{
"offset": 120,
"absolute_body_offset": 711,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a00",
"operands": {
"value_u8": 0,
"value_signed": 0
}
},
{
"offset": 122,
"absolute_body_offset": 713,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 124,
"absolute_body_offset": 715,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065400",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 84,
"intrinsic_name_hint": "Intrinsic0054()"
}
},
{
"offset": 128,
"absolute_body_offset": 719,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 130,
"absolute_body_offset": 721,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b5f00",
"operands": {
"line_number": 95
}
},
{
"offset": 133,
"absolute_body_offset": 724,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 135,
"absolute_body_offset": 726,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f040900",
"operands": {
"arg_bytes": 4,
"intrinsic_ordinal": 9,
"intrinsic_name_hint": "Item::getZ(void)"
}
},
{
"offset": 139,
"absolute_body_offset": 730,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efc",
"operands": {
"value_u8": 252
}
},
{
"offset": 141,
"absolute_body_offset": 732,
"opcode": 93,
"mnemonic": "push_retval_byte",
"raw_bytes": "5d",
"operands": {}
},
{
"offset": 142,
"absolute_body_offset": 733,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 144,
"absolute_body_offset": 735,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f041400",
"operands": {
"arg_bytes": 4,
"intrinsic_ordinal": 20,
"intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)"
}
},
{
"offset": 148,
"absolute_body_offset": 739,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efc",
"operands": {
"value_u8": 252
}
},
{
"offset": 150,
"absolute_body_offset": 741,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 151,
"absolute_body_offset": 742,
"opcode": 64,
"mnemonic": "push_local_dword",
"raw_bytes": "4006",
"operands": {
"bp_offset": 6,
"target": "[BP+06h]"
}
},
{
"offset": 153,
"absolute_body_offset": 744,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f041300",
"operands": {
"arg_bytes": 4,
"intrinsic_ordinal": 19,
"intrinsic_name_hint": "Intrinsic0013()"
}
},
{
"offset": 157,
"absolute_body_offset": 748,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efc",
"operands": {
"value_u8": 252
}
},
{
"offset": 159,
"absolute_body_offset": 750,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 160,
"absolute_body_offset": 751,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 162,
"absolute_body_offset": 753,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f0a2000",
"operands": {
"arg_bytes": 10,
"intrinsic_ordinal": 32,
"intrinsic_name_hint": "Item::setQLo(sint16)"
}
},
{
"offset": 166,
"absolute_body_offset": 757,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6ef6",
"operands": {
"value_u8": 246
}
},
{
"offset": 168,
"absolute_body_offset": 759,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6100",
"operands": {
"line_number": 97
}
},
{
"offset": 171,
"absolute_body_offset": 762,
"opcode": 89,
"mnemonic": "push_pid",
"raw_bytes": "59",
"operands": {}
},
{
"offset": 172,
"absolute_body_offset": 763,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 174,
"absolute_body_offset": 765,
"opcode": 87,
"mnemonic": "spawn",
"raw_bytes": "570002110a2300",
"operands": {
"arg_bytes": 0,
"this_size": 2,
"target_class_id": 2577,
"target_event_slot": 35,
"target_event_name_hint": null
}
},
{
"offset": 181,
"absolute_body_offset": 772,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 182,
"absolute_body_offset": 773,
"opcode": 84,
"mnemonic": "implies",
"raw_bytes": "540101",
"operands": {
"arg0": 1,
"arg1": 1
}
},
{
"offset": 185,
"absolute_body_offset": 776,
"opcode": 18,
"mnemonic": "pop_temp",
"raw_bytes": "12",
"operands": {}
},
{
"offset": 186,
"absolute_body_offset": 777,
"opcode": 83,
"mnemonic": "suspend",
"raw_bytes": "53",
"operands": {}
},
{
"offset": 187,
"absolute_body_offset": 778,
"opcode": 92,
"mnemonic": "symbol_info",
"raw_bytes": "5c67004e5043545249470000",
"operands": {
"symbol_offset": 293,
"symbol": "NPCTRIG",
"trailing_zero": 0
}
},
{
"offset": 199,
"absolute_body_offset": 790,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6200",
"operands": {
"line_number": 98
}
},
{
"offset": 202,
"absolute_body_offset": 793,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a05",
"operands": {
"value_u8": 5,
"value_signed": 5
}
},
{
"offset": 204,
"absolute_body_offset": 795,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 206,
"absolute_body_offset": 797,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065200",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 82,
"intrinsic_name_hint": "Intrinsic0052()"
}
},
{
"offset": 210,
"absolute_body_offset": 801,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 212,
"absolute_body_offset": 803,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6300",
"operands": {
"line_number": 99
}
},
{
"offset": 215,
"absolute_body_offset": 806,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a05",
"operands": {
"value_u8": 5,
"value_signed": 5
}
},
{
"offset": 217,
"absolute_body_offset": 808,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 219,
"absolute_body_offset": 810,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065300",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 83,
"intrinsic_name_hint": "Intrinsic00BD()"
}
},
{
"offset": 223,
"absolute_body_offset": 814,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 225,
"absolute_body_offset": 816,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6400",
"operands": {
"line_number": 100
}
},
{
"offset": 228,
"absolute_body_offset": 819,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a05",
"operands": {
"value_u8": 5,
"value_signed": 5
}
},
{
"offset": 230,
"absolute_body_offset": 821,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 232,
"absolute_body_offset": 823,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f065400",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 84,
"intrinsic_name_hint": "Intrinsic0054()"
}
},
{
"offset": 236,
"absolute_body_offset": 827,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 238,
"absolute_body_offset": 829,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6700",
"operands": {
"line_number": 103
}
},
{
"offset": 241,
"absolute_body_offset": 832,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6600",
"operands": {
"line_number": 102
}
},
{
"offset": 244,
"absolute_body_offset": 835,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f001b00",
"operands": {
"arg_bytes": 0,
"intrinsic_ordinal": 27,
"intrinsic_name_hint": "Item::pop(uint16,uint16,uint8)"
}
},
{
"offset": 248,
"absolute_body_offset": 839,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 249,
"absolute_body_offset": 840,
"opcode": 10,
"mnemonic": "push_byte_immediate",
"raw_bytes": "0a00",
"operands": {
"value_u8": 0,
"value_signed": 0
}
},
{
"offset": 251,
"absolute_body_offset": 842,
"opcode": 54,
"mnemonic": "ne",
"raw_bytes": "36",
"operands": {}
},
{
"offset": 252,
"absolute_body_offset": 843,
"opcode": 81,
"mnemonic": "jne",
"raw_bytes": "511300",
"operands": {
"relative_u16": 19,
"relative_signed": 19,
"target_offset": 274
}
},
{
"offset": 255,
"absolute_body_offset": 846,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6800",
"operands": {
"line_number": 104
}
},
{
"offset": 258,
"absolute_body_offset": 849,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f001b00",
"operands": {
"arg_bytes": 0,
"intrinsic_ordinal": 27,
"intrinsic_name_hint": "Item::pop(uint16,uint16,uint8)"
}
},
{
"offset": 262,
"absolute_body_offset": 853,
"opcode": 94,
"mnemonic": "push_retval_word",
"raw_bytes": "5e",
"operands": {}
},
{
"offset": 263,
"absolute_body_offset": 854,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 265,
"absolute_body_offset": 856,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f06e500",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 229,
"intrinsic_name_hint": "Item::hurl(sint16,sint16,sint16,sint16)"
}
},
{
"offset": 269,
"absolute_body_offset": 860,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 271,
"absolute_body_offset": 862,
"opcode": 82,
"mnemonic": "jmp",
"raw_bytes": "520f00",
"operands": {
"relative_u16": 15,
"relative_signed": 15,
"target_offset": 289
}
},
{
"offset": 274,
"absolute_body_offset": 865,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6c00",
"operands": {
"line_number": 108
}
},
{
"offset": 277,
"absolute_body_offset": 868,
"opcode": 78,
"mnemonic": "push_global",
"raw_bytes": "4e3c0002",
"operands": {
"global_id": 60,
"size": 2
}
},
{
"offset": 281,
"absolute_body_offset": 872,
"opcode": 75,
"mnemonic": "push_local_addr",
"raw_bytes": "4bfe",
"operands": {
"bp_offset": 254,
"target": "[BP-02h]"
}
},
{
"offset": 283,
"absolute_body_offset": 874,
"opcode": 15,
"mnemonic": "call_intrinsic",
"raw_bytes": "0f06e500",
"operands": {
"arg_bytes": 6,
"intrinsic_ordinal": 229,
"intrinsic_name_hint": "Item::hurl(sint16,sint16,sint16,sint16)"
}
},
{
"offset": 287,
"absolute_body_offset": 878,
"opcode": 110,
"mnemonic": "add_sp",
"raw_bytes": "6efa",
"operands": {
"value_u8": 250
}
},
{
"offset": 289,
"absolute_body_offset": 880,
"opcode": 91,
"mnemonic": "line_number",
"raw_bytes": "5b6f00",
"operands": {
"line_number": 111
}
},
{
"offset": 292,
"absolute_body_offset": 883,
"opcode": 80,
"mnemonic": "ret",
"raw_bytes": "50",
"operands": {}
}
],
"annotation_hints": {
"runtime_family": "slot-backed-owner-loaded-body",
"payload_shape_hint": null,
"compiled_anchors": [
{
"address": "000d:51fd",
"role": "slot_value_loader"
},
{
"address": "000d:5572",
"role": "slot_value_plus_offset"
},
{
"address": "000d:46ec",
"role": "context_create_from_slot"
},
{
"address": "000d:22bc",
"role": "matrix_pushback_stage"
},
{
"address": "000d:ebe3",
"role": "opcode_sequence_run"
}
],
"slot_taxonomy": {
"slot": 32,
"event_name_hint": null
}
}
}