aboutsummaryrefslogtreecommitdiff
path: root/source/arm_dynarec/opdef.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/arm_dynarec/opdef.h')
-rw-r--r--source/arm_dynarec/opdef.h281
1 files changed, 281 insertions, 0 deletions
diff --git a/source/arm_dynarec/opdef.h b/source/arm_dynarec/opdef.h
new file mode 100644
index 0000000..80606d8
--- /dev/null
+++ b/source/arm_dynarec/opdef.h
@@ -0,0 +1,281 @@
+OP (A8, XF(Register), XF(MOV), Y, A, NZ, 0, OFNone);
+OP (AA, XF(Register), XF(MOV), X, A, NZ, 0, OFNone);
+OP (BA, XF(Register), XF(MOV), X, S, NZ, 0, OFNone);
+OP (98, MF(Register), MF(MOV), A, Y, NZ, 0, OFNone);
+OP (8A, MF(Register), MF(MOV), A, X, NZ, 0, OFNone);
+OP (9A, EF(Register), EF(MOVSP), S, X, 0, 0, OFNone);
+OP (9B, XF(Register), XF(MOV), Y, X, NZ, 0, OFNone);
+OP (BB, XF(Register), XF(MOV), X, Y, NZ, 0, OFNone);
+OP (7B, NF16(Register), NF16(MOV), A, D, NZ, 0, OFNone);
+OP (5B, NF16(Register), NF16(MOV), D, A, NZ, 0, OFNone);
+OP (3B, NF16(Register), NF16(MOV), A, S, NZ, 0, OFNone);
+OP (1B, EF(Register), EF(MOVSP), S, A, 0, 0, OFNone);
+
+OP (A9, MF(Immediate), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (A5, MF(ZeroPage), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (B5, MF(ZeroPage), MF(LD), A, X, NZ, 0, OFNone);
+OP (A3, MF(ZeroPage), MF(LD), A, S, NZ, 0, OFNone);
+OP (AD, MF(Absolute), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (BD, MF(Absolute), MF(LD), A, X, NZ, 0, OFNone);
+OP (B9, MF(Absolute), MF(LD), A, Y, NZ, 0, OFNone);
+OP (AF, MF(Long), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (BF, MF(Long), MF(LD), A, X, NZ, 0, OFNone);
+OP (B2, MF(Indirect), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (A1, MF(IndirectX), MF(LD), A, X, NZ, 0, OFNone);
+OP (B1, MF(IndirectY), MF(LD), A, Y, NZ, 0, OFNone);
+OP (B3, MF(IndirectS), MF(LD), A, Y, NZ, 0, OFNone);
+OP (A7, MF(IndirectFar), MF(LD), A, NULL, NZ, 0, OFNone);
+OP (B7, MF(IndirectFar), MF(LD), A, Y, NZ, 0, OFNone);
+OP (A2, XF(Immediate), XF(LD), X, NULL, NZ, 0, OFNone);
+OP (A6, XF(ZeroPage), XF(LD), X, NULL, NZ, 0, OFNone);
+OP (B6, XF(ZeroPage), XF(LD), X, Y, NZ, 0, OFNone);
+OP (AE, XF(Absolute), XF(LD), X, NULL, NZ, 0, OFNone);
+OP (BE, XF(Absolute), XF(LD), X, Y, NZ, 0, OFNone);
+OP (A0, XF(Immediate), XF(LD), Y, NULL, NZ, 0, OFNone);
+OP (A4, XF(ZeroPage), XF(LD), Y, NULL, NZ, 0, OFNone);
+OP (B4, XF(ZeroPage), XF(LD), Y, X, NZ, 0, OFNone);
+OP (AC, XF(Absolute), XF(LD), Y, NULL, NZ, 0, OFNone);
+OP (BC, XF(Absolute), XF(LD), Y, X, NZ, 0, OFNone);
+
+OP (64, MF(ZeroPage), MF(ST), Z, NULL, 0, 0, OFNone);
+OP (74, MF(ZeroPage), MF(ST), Z, X, 0, 0, OFNone);
+OP (9C, MF(Absolute), MF(ST), Z, NULL, 0, 0, OFNone);
+OP (9E, MF(Absolute), MF(ST), Z, X, 0, 0, OFNone);
+OP (85, MF(ZeroPage), MF(ST), A, NULL, 0, 0, OFNone);
+OP (95, MF(ZeroPage), MF(ST), A, X, 0, 0, OFNone);
+OP (83, MF(ZeroPage), MF(ST), A, S, 0, 0, OFNone);
+OP (8D, MF(Absolute), MF(ST), A, NULL, 0, 0, OFNone);
+OP (9D, MF(Absolute), MF(ST), A, X, 0, 0, OFNone);
+OP (99, MF(Absolute), MF(ST), A, Y, 0, 0, OFNone);
+OP (8F, MF(Long), MF(ST), A, NULL, 0, 0, OFNone);
+OP (9F, MF(Long), MF(ST), A, X, 0, 0, OFNone);
+OP (81, MF(IndirectX), MF(ST), A, X, 0, 0, OFNone);
+OP (91, MF(IndirectY), MF(ST), A, Y, 0, 0, OFNone);
+OP (92, MF(Indirect), MF(ST), A, NULL, 0, 0, OFNone);
+OP (93, MF(IndirectS), MF(ST), A, Y, 0, 0, OFNone);
+OP (87, MF(IndirectFar), MF(ST), A, NULL, 0, 0, OFNone);
+OP (97, MF(IndirectFar), MF(ST), A, Y, 0, 0, OFNone);
+OP (86, XF(ZeroPage), XF(ST), X, NULL, 0, 0, OFNone);
+OP (96, XF(ZeroPage), XF(ST), X, Y, 0, 0, OFNone);
+OP (8E, XF(Absolute), XF(ST), X, NULL, 0, 0, OFNone);
+OP (84, XF(ZeroPage), XF(ST), Y, NULL, 0, 0, OFNone);
+OP (94, XF(ZeroPage), XF(ST), Y, X, 0, 0, OFNone);
+OP (8C, XF(Absolute), XF(ST), Y, NULL, 0, 0, OFNone);
+
+OP (48, MF(Register), MF(PUSH), A, NULL, 0, 0, OFNone);
+OP (DA, XF(Register), XF(PUSH), X, NULL, 0, 0, OFNone);
+OP (5A, XF(Register), XF(PUSH), Y, NULL, 0, 0, OFNone);
+OP (08, NF8(Register), NF8(PUSH), P, NULL, 0, NZCV, OFNone);
+OP (8B, NF8(Register), NF8(PUSH), DB, NULL, 0, 0, OFNone);
+OP (4B, NF8(Register), NF8(PUSH), PB, NULL, 0, 0, OFNone);
+OP (0B, NF16(Register), NF16(PUSH), D, NULL, 0, 0, OFNone);
+OP (D4, NF16(ZeroPage), NF16(PUSH), NULL, NULL, 0, 0, OFNone);
+OP (F4, NF16(Immediate), NF(PEA), NULL, NULL, 0, 0, OFNone);
+OP (62, NF16(Immediate), NF(PER), NULL, NULL, 0, 0, OFNone);
+OP (68, MF(Register), MF(POP), A, NULL, NZ, 0, OFNone);
+OP (FA, XF(Register), XF(POP), X, NULL, NZ, 0, OFNone);
+OP (7A, XF(Register), XF(POP), Y, NULL, NZ, 0, OFNone);
+OP (2B, NF16(Register), NF16(POP), D, NULL, NZ, 0, OFNone);
+OP (AB, NF8(Register), NF8(POP), DB, NULL, NZ, 0, OFNone);
+OP (28, NF8(Register), NF8(POP), P, NULL, NZCV, 0, OFBreak | OFSectionUpdate);
+
+OP (44, NF16(Immediate), NF(MVP), NULL, NULL, 0, NZCV, OFBreak);
+OP (54, NF16(Immediate), NF(MVN), NULL, NULL, 0, NZCV, OFBreak);
+
+OP (09, MF(Immediate), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (05, MF(ZeroPage), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (15, MF(ZeroPage), MF(OR), A, X, NZ, 0, OFNone);
+OP (0D, MF(Absolute), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (1D, MF(Absolute), MF(OR), A, X, NZ, 0, OFNone);
+OP (19, MF(Absolute), MF(OR), A, Y, NZ, 0, OFNone);
+OP (01, MF(IndirectX), MF(OR), A, X, NZ, 0, OFNone);
+OP (11, MF(IndirectY), MF(OR), A, Y, NZ, 0, OFNone);
+OP (12, MF(Indirect), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (03, MF(ZeroPage), MF(OR), A, S, NZ, 0, OFNone);
+OP (13, MF(IndirectS), MF(OR), A, Y, NZ, 0, OFNone);
+OP (07, MF(IndirectFar), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (17, MF(IndirectFar), MF(OR), A, Y, NZ, 0, OFNone);
+OP (0F, MF(Long), MF(OR), A, NULL, NZ, 0, OFNone);
+OP (1F, MF(Long), MF(OR), A, X, NZ, 0, OFNone);
+
+OP (29, MF(Immediate), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (25, MF(ZeroPage), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (35, MF(ZeroPage), MF(AND), A, X, NZ, 0, OFNone);
+OP (2D, MF(Absolute), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (3D, MF(Absolute), MF(AND), A, X, NZ, 0, OFNone);
+OP (39, MF(Absolute), MF(AND), A, Y, NZ, 0, OFNone);
+OP (21, MF(IndirectX), MF(AND), A, X, NZ, 0, OFNone);
+OP (31, MF(IndirectY), MF(AND), A, Y, NZ, 0, OFNone);
+OP (32, MF(Indirect), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (23, MF(ZeroPage), MF(AND), A, S, NZ, 0, OFNone);
+OP (33, MF(IndirectS), MF(AND), A, Y, NZ, 0, OFNone);
+OP (27, MF(IndirectFar), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (37, MF(IndirectFar), MF(AND), A, Y, NZ, 0, OFNone);
+OP (2F, MF(Long), MF(AND), A, NULL, NZ, 0, OFNone);
+OP (3F, MF(Long), MF(AND), A, X, NZ, 0, OFNone);
+
+OP (49, MF(Immediate), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (45, MF(ZeroPage), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (55, MF(ZeroPage), MF(EOR), A, X, NZ, 0, OFNone);
+OP (4D, MF(Absolute), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (5D, MF(Absolute), MF(EOR), A, X, NZ, 0, OFNone);
+OP (59, MF(Absolute), MF(EOR), A, Y, NZ, 0, OFNone);
+OP (41, MF(IndirectX), MF(EOR), A, X, NZ, 0, OFNone);
+OP (51, MF(IndirectY), MF(EOR), A, Y, NZ, 0, OFNone);
+OP (52, MF(Indirect), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (43, MF(ZeroPage), MF(EOR), A, S, NZ, 0, OFNone);
+OP (53, MF(IndirectS), MF(EOR), A, Y, NZ, 0, OFNone);
+OP (47, MF(IndirectFar), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (57, MF(IndirectFar), MF(EOR), A, Y, NZ, 0, OFNone);
+OP (4F, MF(Long), MF(EOR), A, NULL, NZ, 0, OFNone);
+OP (5F, MF(Long), MF(EOR), A, X, NZ, 0, OFNone);
+
+OP (69, MF(Immediate), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (65, MF(ZeroPage), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (75, MF(ZeroPage), MF(ADC), A, X, NZCV, C, OFNone);
+OP (6D, MF(Absolute), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (7D, MF(Absolute), MF(ADC), A, X, NZCV, C, OFNone);
+OP (79, MF(Absolute), MF(ADC), A, Y, NZCV, C, OFNone);
+OP (61, MF(IndirectX), MF(ADC), A, X, NZCV, C, OFNone);
+OP (71, MF(IndirectY), MF(ADC), A, Y, NZCV, C, OFNone);
+OP (72, MF(Indirect), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (63, MF(ZeroPage), MF(ADC), A, S, NZCV, C, OFNone);
+OP (73, MF(IndirectS), MF(ADC), A, Y, NZCV, C, OFNone);
+OP (67, MF(IndirectFar), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (77, MF(IndirectFar), MF(ADC), A, Y, NZCV, C, OFNone);
+OP (6F, MF(Long), MF(ADC), A, NULL, NZCV, C, OFNone);
+OP (7F, MF(Long), MF(ADC), A, X, NZCV, C, OFNone);
+
+OP (E9, MF(Immediate), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (E5, MF(ZeroPage), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (F5, MF(ZeroPage), MF(SBC), A, X, NZCV, C, OFNone);
+OP (ED, MF(Absolute), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (FD, MF(Absolute), MF(SBC), A, X, NZCV, C, OFNone);
+OP (F9, MF(Absolute), MF(SBC), A, Y, NZCV, C, OFNone);
+OP (E1, MF(IndirectX), MF(SBC), A, X, NZCV, C, OFNone);
+OP (F1, MF(IndirectY), MF(SBC), A, Y, NZCV, C, OFNone);
+OP (F2, MF(Indirect), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (E3, MF(ZeroPage), MF(SBC), A, S, NZCV, C, OFNone);
+OP (F3, MF(IndirectS), MF(SBC), A, Y, NZCV, C, OFNone);
+OP (E7, MF(IndirectFar), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (F7, MF(IndirectFar), MF(SBC), A, Y, NZCV, C, OFNone);
+OP (EF, MF(Long), MF(SBC), A, NULL, NZCV, C, OFNone);
+OP (FF, MF(Long), MF(SBC), A, X, NZCV, C, OFNone);
+
+OP (C9, MF(Immediate), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (C5, MF(ZeroPage), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (D5, MF(ZeroPage), MF(CMP), A, X, NZC, 0, OFNone);
+OP (CD, MF(Absolute), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (DD, MF(Absolute), MF(CMP), A, X, NZC, 0, OFNone);
+OP (D9, MF(Absolute), MF(CMP), A, Y, NZC, 0, OFNone);
+OP (C1, MF(IndirectX), MF(CMP), A, X, NZC, 0, OFNone);
+OP (D1, MF(IndirectY), MF(CMP), A, Y, NZC, 0, OFNone);
+OP (D2, MF(Indirect), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (C3, MF(ZeroPage), MF(CMP), A, S, NZC, 0, OFNone);
+OP (D3, MF(IndirectS), MF(CMP), A, Y, NZC, 0, OFNone);
+OP (C7, MF(IndirectFar), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (D7, MF(IndirectFar), MF(CMP), A, Y, NZC, 0, OFNone);
+OP (CF, MF(Long), MF(CMP), A, NULL, NZC, 0, OFNone);
+OP (DF, MF(Long), MF(CMP), A, X, NZC, 0, OFNone);
+
+OP (E0, XF(Immediate), XF(CMP), X, NULL, NZC, 0, OFNone);
+OP (E4, XF(ZeroPage), XF(CMP), X, NULL, NZC, 0, OFNone);
+OP (EC, XF(Absolute), XF(CMP), X, NULL, NZC, 0, OFNone);
+
+OP (C0, XF(Immediate), XF(CMP), Y, NULL, NZC, 0, OFNone);
+OP (C4, XF(ZeroPage), XF(CMP), Y, NULL, NZC, 0, OFNone);
+OP (CC, XF(Absolute), XF(CMP), Y, NULL, NZC, 0, OFNone);
+
+OP (24, MF(ZeroPage), MF(BIT), A, NULL, NZV, 0, OFNone);
+OP (2C, MF(Absolute), MF(BIT), A, NULL, NZV, 0, OFNone);
+OP (34, MF(ZeroPage), MF(BIT), A, X, NZV, 0, OFNone);
+OP (3C, MF(Absolute), MF(BIT), A, X, NZV, 0, OFNone);
+OP (89, MF(Immediate), MF(BIT), A, NULL, Z, 0, OFNone);
+
+OP (E6, MF(ZeroPage), MF(INC), NULL, NULL, NZ, 0, OFNone);
+OP (F6, MF(ZeroPage), MF(INC), NULL, X, NZ, 0, OFNone);
+OP (EE, MF(Absolute), MF(INC), NULL, NULL, NZ, 0, OFNone);
+OP (FE, MF(Absolute), MF(INC), NULL, X, NZ, 0, OFNone);
+OP (E8, XF(Register), XF(INC), X, NULL, NZ, 0, OFNone);
+OP (C8, XF(Register), XF(INC), Y, NULL, NZ, 0, OFNone);
+OP (1A, MF(Register), MF(INC), A, NULL, NZ, 0, OFNone);
+
+OP (C6, MF(ZeroPage), MF(DEC), NULL, NULL, NZ, 0, OFNone);
+OP (D6, MF(ZeroPage), MF(DEC), NULL, X, NZ, 0, OFNone);
+OP (CE, MF(Absolute), MF(DEC), NULL, NULL, NZ, 0, OFNone);
+OP (DE, MF(Absolute), MF(DEC), NULL, X, NZ, 0, OFNone);
+OP (CA, XF(Register), XF(DEC), X, NULL, NZ, 0, OFNone);
+OP (88, XF(Register), XF(DEC), Y, NULL, NZ, 0, OFNone);
+OP (3A, MF(Register), MF(DEC), A, NULL, NZ, 0, OFNone);
+
+OP (04, MF(ZeroPage), MF(TSB), A, NULL, Z, 0, OFNone);
+OP (0C, MF(Absolute), MF(TSB), A, NULL, Z, 0, OFNone);
+OP (14, MF(ZeroPage), MF(TRB), A, NULL, Z, 0, OFNone);
+OP (1C, MF(Absolute), MF(TRB), A, NULL, Z, 0, OFNone);
+
+OP (0A, MF(Register), MF(ASL), A, NULL, NZC, 0, OFNone);
+OP (06, MF(ZeroPage), MF(ASL), NULL, NULL, NZC, 0, OFNone);
+OP (16, MF(ZeroPage), MF(ASL), NULL, X, NZC, 0, OFNone);
+OP (0E, MF(Absolute), MF(ASL), NULL, NULL, NZC, 0, OFNone);
+OP (1E, MF(Absolute), MF(ASL), NULL, X, NZC, 0, OFNone);
+
+OP (4A, MF(Register), MF(LSR), A, NULL, NZC, 0, OFNone);
+OP (46, MF(ZeroPage), MF(LSR), NULL, NULL, NZC, 0, OFNone);
+OP (56, MF(ZeroPage), MF(LSR), NULL, X, NZC, 0, OFNone);
+OP (4E, MF(Absolute), MF(LSR), NULL, NULL, NZC, 0, OFNone);
+OP (5E, MF(Absolute), MF(LSR), NULL, X, NZC, 0, OFNone);
+
+OP (2A, MF(Register), MF(ROL), A, NULL, NZC, C, OFNone);
+OP (26, MF(ZeroPage), MF(ROL), NULL, NULL, NZC, C, OFNone);
+OP (36, MF(ZeroPage), MF(ROL), NULL, X, NZC, C, OFNone);
+OP (2E, MF(Absolute), MF(ROL), NULL, NULL, NZC, C, OFNone);
+OP (3E, MF(Absolute), MF(ROL), NULL, X, NZC, C, OFNone);
+
+OP (6A, MF(Register), MF(ROR), A, NULL, NZC, C, OFNone);
+OP (66, MF(ZeroPage), MF(ROR), NULL, NULL, NZC, C, OFNone);
+OP (76, MF(ZeroPage), MF(ROR), NULL, X, NZC, C, OFNone);
+OP (6E, MF(Absolute), MF(ROR), NULL, NULL, NZC, C, OFNone);
+OP (7E, MF(Absolute), MF(ROR), NULL, X, NZC, C, OFNone);
+
+OP (80, NF8(Immediate), NF(BRA), NULL, NULL, 0, NZCV, OFBreak);
+OP (82, NF16(Immediate), NF(BRL), NULL, NULL, 0, NZCV, OFBreak);
+OP (4C, NF16(Immediate), NF(JMP), NULL, NULL, 0, NZCV, OFBreak);
+OP (5C, NF(Immediate24), NF(JMP), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (6C, NF16(Absolute), NF(JMP), NULL, NULL, 0, NZCV, OFBreak);
+OP (7C, NF16(Absolute), NF(JMP), NULL, X, 0, NZCV, OFBreak);
+OP (DC, NF16(Absolute), NF(JML), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (20, NF16(Immediate), NF(JSR), NULL, NULL, 0, NZCV, OFBreak);
+OP (22, NF(Immediate24), NF(JSL), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (FC, NF16(IndirectX), NF(JSR), NULL, X, 0, NZCV, OFBreak);
+OP (40, NF(None), NF(RTI), NULL, NULL, NZCV, NZCV, OFBreak | OFSectionUpdate);
+OP (6B, NF(None), NF(RTL), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (60, NF(None), NF(RTS), NULL, NULL, 0, NZCV, OFBreak);
+
+OP (10, NF8(Immediate), NF(BPL), NULL, NULL, 0, NZCV, OFBreak);
+OP (30, NF8(Immediate), NF(BMI), NULL, NULL, 0, NZCV, OFBreak);
+OP (50, NF8(Immediate), NF(BVC), NULL, NULL, 0, NZCV, OFBreak);
+OP (70, NF8(Immediate), NF(BVS), NULL, NULL, 0, NZCV, OFBreak);
+OP (90, NF8(Immediate), NF(BCC), NULL, NULL, 0, NZCV, OFBreak);
+OP (B0, NF8(Immediate), NF(BCS), NULL, NULL, 0, NZCV, OFBreak);
+OP (D0, NF8(Immediate), NF(BZC), NULL, NULL, 0, NZCV, OFBreak);
+OP (F0, NF8(Immediate), NF(BZS), NULL, NULL, 0, NZCV, OFBreak);
+
+OP (00, NF(None), NF(BRK), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (02, NF(None), NF(COP), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+
+OP (18, NF(None), NF(CLC), NULL, NULL, C, 0, OFNone);
+OP (58, NF(None), NF(CLI), NULL, NULL, 0, 0, OFNone);
+OP (D8, NF(None), NF(CLD), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (B8, NF(None), NF(CLV), NULL, NULL, V, 0, OFNone);
+OP (38, NF(None), NF(SEC), NULL, NULL, C, 0, OFNone);
+OP (78, NF(None), NF(SEI), NULL, NULL, 0, 0, OFNone);
+OP (F8, NF(None), NF(SED), NULL, NULL, 0, NZCV, OFBreak | OFSectionUpdate);
+OP (C2, NF8(Immediate), NF(REP), NULL, NULL, NZCV, NZCV, OFBreak | OFSectionUpdate);
+OP (E2, NF8(Immediate), NF(SEP), NULL, NULL, NZCV, NZCV, OFBreak | OFSectionUpdate);
+OP (FB, NF(None), NF(XCE), NULL, NULL, C, NZCV, OFBreak | OFSectionUpdate);
+
+OP (DB, NF(None), NF(STP), NULL, NULL, 0, NZCV, OFBreak);
+OP (EB, NF(None), NF(XBA), NULL, NULL, NZ, 0, OFNone);
+OP (CB, NF(None), NF(WAI), NULL, NULL, 0, NZCV, OFBreak);
+OP (42, NF8(Immediate), NF(WDM), NULL, NULL, 0, NZCV, OFBreak); /* Speedhacks, might change PC */
+OP (EA, NF(None), NF(NOP), NULL, NULL, 0, 0, OFNone);