#include // Internal functions static uint32_t opcode_indirect_long_pc(struct cpu_context *context, uint32_t argument) { return (*(uint32_t*)((ptrdiff_t)(((context->spc + 4) >> 2 << 2) + (argument << 2)))); } static uint32_t opcode_indirect_word_pc(struct cpu_context *context, uint32_t argument) { return (*(uint16_t*)((ptrdiff_t)(((context->spc + 4) >> 2 << 2) + (argument << 1)))); } static uint32_t opcode_indirect_instruction_pc_8(struct cpu_context *context, uint32_t argument) { if (argument & (1 << 7)) { argument = (argument ^ 0x00ff) + 1; argument = -argument; } return (context->spc + 4 + (argument * 2)); } static uint32_t opcode_indirect_instruction_pc_12(struct cpu_context *context, uint32_t argument) { if (argument & (1 << 11)) { argument = (argument ^ 0x0fff) + 1; argument = -argument; } return (context->spc + 4 + (argument * 2)); } // Define ALL SH3 / SH4 instructions. const struct opcode_s opcode_list[] = { { .name = "add\t0x%x,r%d", .mask = 0b1111000000000000, .code = 0b0111000000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "add\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "addc\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "addv\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "and\t0x%x,r0", .mask = 0b1111111100000000, .code = 0b1100100100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "and\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "and.b\t0x%x,@(r0,GBR)", .mask = 0b1111111100000000, .code = 0b1100110100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bf\t%#.8x", .mask = 0b1111111100000000, .code = 0b1000101100000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_instruction_pc_8}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bf/s\t%#.8x", .mask = 0b1111111100000000, .code = 0b1000111100000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_instruction_pc_8}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bra\t%#.8x", .mask = 0b1111000000000000, .code = 0b1010000000000000, .arg = { {.mask = 0b0000111111111111, .special = &opcode_indirect_instruction_pc_12}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "braf\tr%d", .mask = 0b1111000011111111, .code = 0b0000000000100011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bsr\t%#.8x", .mask = 0b1111000000000000, .code = 0b1011000000000000, .arg = { {.mask = 0b0000111111111111, .special = &opcode_indirect_instruction_pc_12}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bsrf\tr%d", .mask = 0b1111000011111111, .code = 0b0000000000000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bt\t%#.8x", .mask = 0b1111111100000000, .code = 0b1000100100000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_instruction_pc_8}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "bt/s\t%#.8x", .mask = 0b1111111100000000, .code = 0b1000110100000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_instruction_pc_8}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "clrmac", .mask = 0b1111111111111111, .code = 0b0000000000101000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "clrs", .mask = 0b1111111111111111, .code = 0b0000000001001000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "clrt", .mask = 0b1111111111111111, .code = 0b0000000000001000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/eq\t0x%x,r0", .mask = 0b1111111100000000, .code = 0b1000100000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/eq\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/ge\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/gt\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/hi\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/hs\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/pl\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000010101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/pz\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000010001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "cmp/str\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "div0s\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000000111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "div0u", .mask = 0b1111111111111111, .code = 0b0000000000011001, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "div1\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "dmuls.l\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "dmulu.l\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000000101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "dt\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000010000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "exts.b\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "exts.w\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "extu.b\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "extu.w\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fabs\tfr%d", .mask = 0b1111000011111111, .code = 0b1111000001011101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fadd\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fcmp/eq\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fcmp/gt\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fdiv\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fldi0\tfr%d", .mask = 0b1111000011111111, .code = 0b1111000010001101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fldi1\tfr%d", .mask = 0b1111000011111111, .code = 0b1111000010011101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "flds\tfr%d,FPUL", .mask = 0b1111000011111111, .code = 0b1111000000011101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "float\tFPUL,fr%d", .mask = 0b1111000011111111, .code = 0b1111000000101101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmac\tFR0,fr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000001110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\t@(r0,r%d),fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\t@r%d+,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000001001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\t@r%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000001000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\tfr%d,@(r0,r%d)", .mask = 0b1111000000001111, .code = 0b1111000000000111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\tfr%d,@-r%d", .mask = 0b1111000000001111, .code = 0b1111000000001011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmov.s\tfr%d,@r%d", .mask = 0b1111000000001111, .code = 0b1111000000001010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fmul\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fneg\tfr%d", .mask = 0b1111000011111111, .code = 0b1111000001001101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fsqrt\tfr%d", .mask = 0b1111000011111111, .code = 0b1111000001101101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fsts\tFPUL,fr%d", .mask = 0b1111000011111111, .code = 0b1111000000001101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "fsub\tfr%d,fr%d", .mask = 0b1111000000001111, .code = 0b1111000000000001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ftrc\tfr%d,FPUL", .mask = 0b1111000011111111, .code = 0b1111000000111101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "jmp\t@r%d", .mask = 0b1111000011111111, .code = 0b0100000000101011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "jsr\t@r%d", .mask = 0b1111000011111111, .code = 0b0100000000001011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,GBR", .mask = 0b1111000011111111, .code = 0b0100000000011110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,SR", .mask = 0b1111000011111111, .code = 0b0100000000001110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,VBR", .mask = 0b1111000011111111, .code = 0b0100000000101110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,SSR", .mask = 0b1111000011111111, .code = 0b0100000000111110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,SPC", .mask = 0b1111000011111111, .code = 0b0100000001001110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,MOD", .mask = 0b1111000011111111, .code = 0b0100000001011110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, //FIXME: find difference between "ldc rm,RE" and "ldc rm,RS" { .name = "ldc\tr%d,RE/RS", .mask = 0b1111000011111111, .code = 0b0100000001101110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R0_BANK", .mask = 0b1111000011111111, .code = 0b0100000010001110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R1_BANK", .mask = 0b1111000011111111, .code = 0b0100000010011110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R2_BANK", .mask = 0b1111000011111111, .code = 0b0100000010101110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R3_BANK", .mask = 0b1111000011111111, .code = 0b0100000010111110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R4_BANK", .mask = 0b1111000011111111, .code = 0b0100000011001110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R5_BANK", .mask = 0b1111000011111111, .code = 0b0100000011011110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R6_BANK", .mask = 0b1111000011111111, .code = 0b0100000011101110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc\tr%d,R7_BANK", .mask = 0b1111000011111111, .code = 0b0100000011111110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,GBR", .mask = 0b1111000011111111, .code = 0b0100000000010111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,SR", .mask = 0b1111000011111111, .code = 0b0100000000000111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,VBR", .mask = 0b1111000011111111, .code = 0b0100000000100111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,SSR", .mask = 0b1111000011111111, .code = 0b0100000000110111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,SPC", .mask = 0b1111000011111111, .code = 0b0100000001000111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,MOD", .mask = 0b1111000011111111, .code = 0b0100000001010111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,RE", .mask = 0b1111000011111111, .code = 0b0100000001110111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,RS", .mask = 0b1111000011111111, .code = 0b0100000001100111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R0_BANK", .mask = 0b1111000011111111, .code = 0b0100000010000111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R1_BANK", .mask = 0b1111000011111111, .code = 0b0100000010010111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R2_BANK", .mask = 0b1111000011111111, .code = 0b0100000010100111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@%d+,R3_BANK", .mask = 0b1111000011111111, .code = 0b0100000010110111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R4_BANK", .mask = 0b1111000011111111, .code = 0b0100000011000111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R5_BANK", .mask = 0b1111000011111111, .code = 0b0100000011010111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R7_BANK", .mask = 0b1111000011111111, .code = 0b0100000011100111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldc.l\t@r%d+,R7_BANK", .mask = 0b1111000011111111, .code = 0b0100000011110111, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldre\t@(0x%x,PC)", .mask = 0b1111111100000000, .code = 0b1000111000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldrs\t@(0x%x,PC)", .mask = 0b1111111100000000, .code = 0b1000110000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,FPSCR", .mask = 0b1111000011111111, .code = 0b0100000001101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,FPUL", .mask = 0b1111000011111111, .code = 0b0100000001011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,MACH", .mask = 0b1111000011111111, .code = 0b0100000000001010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,MACL", .mask = 0b1111000011111111, .code = 0b0100000000011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,PR", .mask = 0b1111000011111111, .code = 0b0100000000101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,A0", .mask = 0b1111000011111111, .code = 0b0100000001101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,DSR", .mask = 0b1111000011111111, .code = 0b0100000001111010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,X0", .mask = 0b1111000011111111, .code = 0b01000000010001010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,X1", .mask = 0b1111000011111111, .code = 0b0100000010011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,Y0", .mask = 0b1111000011111111, .code = 0b0100000010101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds\tr%d,Y1", .mask = 0b1111000011111111, .code = 0b0100000010111010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,FPSCR", .mask = 0b1111000011111111, .code = 0b0100000001100110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,FPUL", .mask = 0b1111000011111111, .code = 0b0100000001010110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,MACH", .mask = 0b1111000011111111, .code = 0b0100000000000110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,MACL", .mask = 0b1111000011111111, .code = 0b0100000000010110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,PR", .mask = 0b1111000011111111, .code = 0b0100000000100110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,DSR", .mask = 0b1111000011111111, .code = 0b0100000001100110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,A0", .mask = 0b1111000011111111, .code = 0b0100000001110110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,X0", .mask = 0b1111000011111111, .code = 0b0100000001000110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,X1", .mask = 0b1111000011111111, .code = 0b0100000010010110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,Y0", .mask = 0b1111000011111111, .code = 0b0100000010100110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "lds.l\t@r%d+,Y1", .mask = 0b1111000011111111, .code = 0b0100000010110110, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "ldtlb", .mask = 0b1111111111111111, .code = 0b0000000000111000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mac.l\t@r%d+,@r%d+", .mask = 0b1111000000001111, .code = 0b0000000000001111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mac.w\t@r%d+,@r%d+", .mask = 0b1111000000001111, .code = 0b0100000000001111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov\t0x%.8x,r%d", .mask = 0b1111000000000000, .code = 0b1110000000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\t@(0x%x,GBR),r0", .mask = 0b1111111100000000, .code = 0b1100010000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\t@(0x%x,r%d),r0", .mask = 0b1111111100000000, .code = 0b1000010000000000, .arg = { {.mask = 0b0000000000001111, .special = NULL}, {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\t@(r0,r%d),r%d", .mask = 0b1111000000001111, .code = 0b0000000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\t@r%d+,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\t@r%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\tr0,@(0x%x,GBR)", .mask = 0b1111111100000000, .code = 0b1100000000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\tr0,@(0x%x,r%d)", .mask = 0b1111111100000000, .code = 0b1000000000000000, .arg = { {.mask = 0b0000000000001111, .special = NULL}, {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\tr%d,@(r0,r%d)", .mask = 0b1111000000001111, .code = 0b0000000000000100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\tr%d,@-r%d", .mask = 0b1111000000001111, .code = 0b0010000000000100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.b\tr%d,@r%d", .mask = 0b1111000000001111, .code = 0b0010000000000000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\t@(0x%x,GBR),r0", .mask = 0b1111111100000000, .code = 0b1100011000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\t0x%.8x,r%d", .mask = 0b1111000000000000, .code = 0b1101000000000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_long_pc}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\t@(%#.8x,r%d),r%d", .mask = 0b1111000000000000, .code = 0b0101000000000000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000000000001111, .special = NULL} } }, { .name = "mov.l\t@(r0,r%d),r%d", .mask = 0b1111000000001111, .code = 0b0000000000001110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\t@r%d+,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\t@r%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\tr0,@(0x%x,GBR)", .mask = 0b1111111100000000, .code = 0b1100001000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\tr%d,@(0x%x,r%d)", .mask = 0b1111000000000000, .code = 0b0001000000000000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000000000001111, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL} } }, { .name = "mov.l\tr%d,@(r0,r%d)", .mask = 0b1111000000001111, .code = 0b0000000000000110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\tr%d,@-r%d", .mask = 0b1111000000001111, .code = 0b0010000000000110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.l\tr%d,@r%d", .mask = 0b1111000000001111, .code = 0b0010000000000010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\t@(0x%x,GBR),r0", .mask = 0b1111111100000000, .code = 0b1100010100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\t0x%.4x,r%d", .mask = 0b1111000000000000, .code = 0b1001000000000000, .arg = { {.mask = 0b0000000011111111, .special = &opcode_indirect_word_pc}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\t@(r0,r%d),r%d", .mask = 0b1111000000001111, .code = 0b0000000000001101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\t@r%d+,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\t@r%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\tr0,@(0x%x,GBR)", .mask = 0b1111111100000000, .code = 0b1100000100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\tr0,@(0x%x,,r%d)", .mask = 0b1111111100000000, .code = 0b1000000100000000, .arg = { {.mask = 0b0000000000001111, .special = NULL}, {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\tr%d,@(r0,r%d)", .mask = 0b1111000000001111, .code = 0b0000000000000101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\tr%d,@-r%d", .mask = 0b1111000000001111, .code = 0b0010000000000101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mov.w\tr%d,@r%d", .mask = 0b1111000000001111, .code = 0b0010000000000001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mova\t@(0x%x,PC),r0", .mask = 0b1111111100000000, .code = 0b1100011100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "movt\tr%d", .mask = 0b1111000011111111, .code = 0b0000000000101001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mul.l\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0000000000000111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "muls.w\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "mulu.w\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001110, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "neg\tr%d,@-r%d", .mask = 0b1111000000001111, .code = 0b0110000000001011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "negc\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "nop", .mask = 0b1111111111111111, .code = 0b0000000000001001, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "not\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000000111, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "or\t0x%x,r0", .mask = 0b1111111100000000, .code = 0b1100101100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "or\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "or.b\t0x%x,@(r0,GBR)", .mask = 0b1111111100000000, .code = 0b1100111100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "pref\t@r%d", .mask = 0b1111000011111111, .code = 0b0000000010000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rotcl\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000100100, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rotcr\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000100101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rotl\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000000100, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rotr\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000000101, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rte", .mask = 0b1111111111111111, .code = 0b0000000000101011, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "rts", .mask = 0b1111111111111111, .code = 0b0000000000001011, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "setrc\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000010100, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "setrc\t0x%x", .mask = 0b1111111100000000, .code = 0b1000001000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sets", .mask = 0b1111111111111111, .code = 0b0000000001011000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sett", .mask = 0b1111111111111111, .code = 0b0000000000011000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shad\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0100000000001100, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shal\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000100000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shar\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000100001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shld\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0100000000001101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shll\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000000000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shll2\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000001000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shll8\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000011000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shll16\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000101000, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shlr\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000000001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shlr2\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000001001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shlr8\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000011001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "shlr16\tr%d", .mask = 0b1111000011111111, .code = 0b0100000000101001, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sleep", .mask = 0b1111111111111111, .code = 0b0000000000011011, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tGBR,r%d", .mask = 0b1111000011111111, .code = 0b0000000000010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tSR,r%d", .mask = 0b1111000011111111, .code = 0b0000000000000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tVBR,r%d", .mask = 0b1111000011111111, .code = 0b0000000000100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tSSR,r%d", .mask = 0b1111000011111111, .code = 0b0000000000110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tSPC,r%d", .mask = 0b1111000011111111, .code = 0b0000000001000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tMOD,r%d", .mask = 0b1111000011111111, .code = 0b0000000001010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tRE,r%d", .mask = 0b1111000011111111, .code = 0b0000000001110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tRS,r%d", .mask = 0b1111000011111111, .code = 0b0000000001100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR0_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000010000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR1_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000010010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR2_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000010100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR3_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000010110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR4_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000011000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR5_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000011010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR6_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000011100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc\tR7_BANK,r%d", .mask = 0b1111000011111111, .code = 0b0000000011110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tGBR,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000000010011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tSR,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000000000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tVBR,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000000100011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tSSR,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000000110011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tSPC,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000001000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tMOD,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000001010011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tRE,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000001110011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tRS,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000001100011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR0_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000010000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR1_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000010010011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR2_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000010100011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR3_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000010110011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR4_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000011000011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR5_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000011010011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR6_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000011100011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "stc.l\tR7_BANK,@r-%d", .mask = 0b1111000011111111, .code = 0b0100000011110011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tFPSCR,r%d", .mask = 0b1111000011111111, .code = 0b0000000001101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tFPUL,r%d", .mask = 0b1111000011111111, .code = 0b0000000001011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tMACH,r%d", .mask = 0b1111000011111111, .code = 0b0000000000001010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tMACL,r%d", .mask = 0b1111000011111111, .code = 0b0000000000011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tPR,r%d", .mask = 0b1111000011111111, .code = 0b0000000000101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tDSR,r%d", .mask = 0b1111000011111111, .code = 0b0000000001101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tA0,r%d", .mask = 0b1111000011111111, .code = 0b0000000001111010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tX0,r%d", .mask = 0b1111000011111111, .code = 0b0000000010001010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tX1,r%d", .mask = 0b1111000011111111, .code = 0b0000000010011010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tY0,r%d", .mask = 0b1111000011111111, .code = 0b0000000010101010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts\tY1,r%d", .mask = 0b1111000011111111, .code = 0b0000000010111010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tFPSCR,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000001100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tFPUL,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000001010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tMACH,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000000000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tMACL,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000000010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tPR,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000000100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tDSR,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000001100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tA0,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000001110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tX0,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000010000010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tX1,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000010010010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tY0,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000010100010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sts.l\tY1,@-r%d", .mask = 0b1111000011111111, .code = 0b0100000010110010, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "sub\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "subc\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "subv\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0011000000001011, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "swap.b\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "swap.w\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0110000000001001, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "tas.b\t@r%d", .mask = 0b1111000011111111, .code = 0b0100000000011011, .arg = { {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "trapa\t0x%x", .mask = 0b1111111100000000, .code = 0b1100001100000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "tst\t0x%x,r0", .mask = 0b1111111100000000, .code = 0b1100100000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "tst\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001000, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "tst.b\t0x%x,@(r0,GBR)", .mask = 0b1111111100000000, .code = 0b1100110000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "xor\t0x%x,r0", .mask = 0b1111111100000000, .code = 0b1100101000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "xor\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001010, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "wor.b\t0x%x,@(r0,GBR)", .mask = 0b1111111100000000, .code = 0b1100111000000000, .arg = { {.mask = 0b0000000011111111, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = "xtrct\tr%d,r%d", .mask = 0b1111000000001111, .code = 0b0010000000001101, .arg = { {.mask = 0b0000000011110000, .special = NULL}, {.mask = 0b0000111100000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, { .name = NULL, .mask = 0b0000000000000000, .code = 0b0000000000000000, .arg = { {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL}, {.mask = 0b0000000000000000, .special = NULL} } }, };