aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/arch/M680X/insn_props.inc
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/arch/M680X/insn_props.inc
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/arch/M680X/insn_props.inc')
-rw-r--r--capstone/arch/M680X/insn_props.inc367
1 files changed, 367 insertions, 0 deletions
diff --git a/capstone/arch/M680X/insn_props.inc b/capstone/arch/M680X/insn_props.inc
new file mode 100644
index 000000000..813bffbca
--- /dev/null
+++ b/capstone/arch/M680X/insn_props.inc
@@ -0,0 +1,367 @@
+
+// These temporary defines keep the following table short and handy.
+#define NOG M680X_GRP_INVALID
+#define NOR M680X_REG_INVALID
+
+static const insn_props g_insn_props[] = {
+ { NOG, uuuu, NOR, NOR, false, false }, // INVLD
+ { NOG, rmmm, M680X_REG_B, M680X_REG_A, true, false }, // ABA
+ { NOG, rmmm, M680X_REG_B, M680X_REG_X, false, false }, // ABX
+ { NOG, rmmm, M680X_REG_B, M680X_REG_Y, false, false }, // ABY
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADC
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADCA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ADCB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ADCD
+ { NOG, rmmm, NOR, NOR, true, false }, // ADCR
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADD
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADDA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ADDB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ADDD
+ { NOG, mrrr, M680X_REG_E, NOR, true, false }, // ADDE
+ { NOG, mrrr, M680X_REG_F, NOR, true, false }, // ADDF
+ { NOG, rmmm, NOR, NOR, true, false }, // ADDR
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // ADDW
+ { NOG, rmmm, NOR, NOR, true, false }, // AIM
+ { NOG, mrrr, M680X_REG_S, NOR, false, false }, // AIS
+ { NOG, mrrr, M680X_REG_HX, NOR, false, false }, // AIX
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // AND
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ANDA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ANDB
+ { NOG, mrrr, M680X_REG_CC, NOR, true, false }, // ANDCC
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ANDD
+ { NOG, rmmm, NOR, NOR, true, false }, // ANDR
+ { NOG, mrrr, NOR, NOR, true, false }, // ASL
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ASLA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ASLB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ASLD
+ { NOG, mrrr, NOR, NOR, true, false }, // ASR
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ASRA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ASRB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ASRD
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // ASRX
+ { NOG, mrrr, NOR, NOR, false, false }, // BAND
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BCC
+ { NOG, mrrr, NOR, NOR, true, false }, // BCLR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BCS
+ { NOG, mrrr, NOR, NOR, false, false }, // BEOR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BEQ
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BGE
+ { NOG, uuuu, NOR, NOR, false, false }, // BGND
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BGT
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHCC
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHCS
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHI
+ { NOG, mrrr, NOR, NOR, false, false }, // BIAND
+ { NOG, mrrr, NOR, NOR, false, false }, // BIEOR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BIH
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BIL
+ { NOG, mrrr, NOR, NOR, false, false }, // BIOR
+ { NOG, rrrr, M680X_REG_A, NOR, true, false }, // BIT
+ { NOG, rrrr, M680X_REG_A, NOR, true, false }, // BITA
+ { NOG, rrrr, M680X_REG_B, NOR, true, false }, // BITB
+ { NOG, rrrr, M680X_REG_D, NOR, true, false }, // BITD
+ { NOG, rrrr, M680X_REG_MD, NOR, true, false }, // BITMD
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLE
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLS
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLT
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMC
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMI
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMS
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BNE
+ { NOG, mrrr, NOR, NOR, false, false }, // BOR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BPL
+ { M680X_GRP_JUMP, rruu, NOR, NOR, false, false }, // BRCLR
+ { M680X_GRP_JUMP, rruu, NOR, NOR, false, false }, // BRSET
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BRA
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BRN never branches
+ { NOG, mrrr, NOR, NOR, true, false }, // BSET
+ { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // BSR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BVC
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BVS
+ { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // CALL
+ { NOG, rrrr, M680X_REG_B, M680X_REG_A, true, false }, // CBA
+ { M680X_GRP_JUMP, rruu, M680X_REG_A, NOR, false, false }, // CBEQ
+ { M680X_GRP_JUMP, rruu, M680X_REG_A, NOR, false, false }, // CBEQA
+ { M680X_GRP_JUMP, rruu, M680X_REG_X, NOR, false, false }, // CBEQX
+ { NOG, uuuu, NOR, NOR, true, false }, // CLC
+ { NOG, uuuu, NOR, NOR, true, false }, // CLI
+ { NOG, wrrr, NOR, NOR, true, false }, // CLR
+ { NOG, wrrr, M680X_REG_A, NOR, true, false }, // CLRA
+ { NOG, wrrr, M680X_REG_B, NOR, true, false }, // CLRB
+ { NOG, wrrr, M680X_REG_D, NOR, true, false }, // CLRD
+ { NOG, wrrr, M680X_REG_E, NOR, true, false }, // CLRE
+ { NOG, wrrr, M680X_REG_F, NOR, true, false }, // CLRF
+ { NOG, wrrr, M680X_REG_H, NOR, true, false }, // CLRH
+ { NOG, wrrr, M680X_REG_W, NOR, true, false }, // CLRW
+ { NOG, wrrr, M680X_REG_X, NOR, true, false }, // CLRX
+ { NOG, uuuu, NOR, NOR, true, false }, // CLV
+ { NOG, rrrr, M680X_REG_A, NOR, true, false }, // CMP
+ { NOG, rrrr, M680X_REG_A, NOR, true, false }, // CMPA
+ { NOG, rrrr, M680X_REG_B, NOR, true, false }, // CMPB
+ { NOG, rrrr, M680X_REG_D, NOR, true, false }, // CMPD
+ { NOG, rrrr, M680X_REG_E, NOR, true, false }, // CMPE
+ { NOG, rrrr, M680X_REG_F, NOR, true, false }, // CMPF
+ { NOG, rrrr, NOR, NOR, true, false }, // CMPR
+ { NOG, rrrr, M680X_REG_S, NOR, true, false }, // CMPS
+ { NOG, rrrr, M680X_REG_U, NOR, true, false }, // CMPU
+ { NOG, rrrr, M680X_REG_W, NOR, true, false }, // CMPW
+ { NOG, rrrr, M680X_REG_X, NOR, true, false }, // CMPX
+ { NOG, rrrr, M680X_REG_Y, NOR, true, false }, // CMPY
+ { NOG, mrrr, NOR, NOR, true, false }, // COM
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // COMA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // COMB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // COMD
+ { NOG, mrrr, M680X_REG_E, NOR, true, false }, // COME
+ { NOG, mrrr, M680X_REG_F, NOR, true, false }, // COMF
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // COMW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // COMX
+ { NOG, rrrr, M680X_REG_D, NOR, true, false }, // CPD
+ { NOG, rrrr, M680X_REG_HX, NOR, true, false }, // CPHX
+ { NOG, rrrr, M680X_REG_S, NOR, true, false }, // CPS
+ { NOG, rrrr, M680X_REG_X, NOR, true, false }, // CPX
+ { NOG, rrrr, M680X_REG_Y, NOR, true, false }, // CPY
+ { NOG, mrrr, NOR, NOR, true, true }, // CWAI
+ { NOG, mrrr, NOR, NOR, true, true }, // DAA
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBEQ
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBNE
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBNZ
+ { M680X_GRP_JUMP, muuu, M680X_REG_A, NOR, false, false }, // DBNZA
+ { M680X_GRP_JUMP, muuu, M680X_REG_X, NOR, false, false }, // DBNZX
+ { NOG, mrrr, NOR, NOR, true, false }, // DEC
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // DECA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // DECB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // DECD
+ { NOG, mrrr, M680X_REG_E, NOR, true, false }, // DECE
+ { NOG, mrrr, M680X_REG_F, NOR, true, false }, // DECF
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // DECW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // DECX
+ { NOG, mrrr, M680X_REG_S, NOR, false, false }, // DES
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // DEX
+ { NOG, mrrr, M680X_REG_Y, NOR, true, false }, // DEY
+ { NOG, mmrr, NOR, NOR, true, true }, // DIV
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // DIVD
+ { NOG, mrrr, M680X_REG_Q, NOR, true, false }, // DIVQ
+ { NOG, mmrr, NOR, NOR, true, true }, // EDIV
+ { NOG, mmrr, NOR, NOR, true, true }, // EDIVS
+ { NOG, rmmm, NOR, NOR, true, false }, // EIM
+ { NOG, mrrr, NOR, NOR, true, true }, // EMACS
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EMAXD
+ { NOG, mrrr, NOR, NOR, true, true }, // EMAXM
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EMIND
+ { NOG, mrrr, NOR, NOR, true, true }, // EMINM
+ { NOG, mmrr, NOR, NOR, true, true }, // EMUL
+ { NOG, mmrr, NOR, NOR, true, true }, // EMULS
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // EOR
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // EORA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // EORB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EORD
+ { NOG, rmmm, NOR, NOR, true, false }, // EORR
+ { NOG, rmmm, NOR, NOR, true, true }, // ETBL
+ { NOG, mmmm, NOR, NOR, false, false }, // EXG
+ { NOG, mmmm, NOR, NOR, true, true }, // FDIV
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // IBEQ
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // IBNE
+ { NOG, mmmm, NOR, NOR, true, true }, // IDIV
+ { NOG, mmmm, NOR, NOR, true, true }, // IDIVS
+ { NOG, uuuu, NOR, NOR, false, false }, // ILLGL
+ { NOG, mrrr, NOR, NOR, true, false }, // INC
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // INCA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // INCB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // INCD
+ { NOG, mrrr, M680X_REG_E, NOR, true, false }, // INCE
+ { NOG, mrrr, M680X_REG_F, NOR, true, false }, // INCF
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // INCW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // INCX
+ { NOG, mrrr, M680X_REG_S, NOR, false, false }, // INS
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // INX
+ { NOG, mrrr, M680X_REG_Y, NOR, true, false }, // INY
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // JMP
+ { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // JSR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBCC
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBCS
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBEQ
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBGE
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBGT
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBHI
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLE
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLS
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLT
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBMI
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBNE
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBPL
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBRA
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBRN never branches
+ { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // LBSR
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBVC
+ { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBVS
+ { NOG, wrrr, M680X_REG_A, NOR, true, false }, // LDA
+ { NOG, wrrr, M680X_REG_A, NOR, true, false }, // LDAA
+ { NOG, wrrr, M680X_REG_B, NOR, true, false }, // LDAB
+ { NOG, wrrr, M680X_REG_B, NOR, true, false }, // LDB
+ { NOG, mrrr, NOR, NOR, false, false }, // LDBT
+ { NOG, wrrr, M680X_REG_D, NOR, true, false }, // LDD
+ { NOG, wrrr, M680X_REG_E, NOR, true, false }, // LDE
+ { NOG, wrrr, M680X_REG_F, NOR, true, false }, // LDF
+ { NOG, wrrr, M680X_REG_HX, NOR, true, false }, // LDHX
+ { NOG, mrrr, M680X_REG_MD, NOR, false, false }, // LDMD
+ { NOG, wrrr, M680X_REG_Q, NOR, true, false }, // LDQ
+ { NOG, wrrr, M680X_REG_S, NOR, true, false }, // LDS
+ { NOG, wrrr, M680X_REG_U, NOR, true, false }, // LDU
+ { NOG, wrrr, M680X_REG_W, NOR, true, false }, // LDW
+ { NOG, wrrr, M680X_REG_X, NOR, true, false }, // LDX
+ { NOG, wrrr, M680X_REG_Y, NOR, true, false }, // LDY
+ { NOG, wrrr, M680X_REG_S, NOR, false, false }, // LEAS
+ { NOG, wrrr, M680X_REG_U, NOR, false, false }, // LEAU
+ { NOG, wrrr, M680X_REG_X, NOR, false, false }, // LEAX
+ { NOG, wrrr, M680X_REG_Y, NOR, false, false }, // LEAY
+ { NOG, mrrr, NOR, NOR, true, false }, // LSL
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // LSLA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // LSLB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // LSLD
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // LSLX
+ { NOG, mrrr, NOR, NOR, true, false }, // LSR
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // LSRA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // LSRB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // LSRD
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // LSRW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // LSRX
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // MAXA
+ { NOG, mrrr, NOR, NOR, true, true }, // MAXM
+ { NOG, mmrr, NOR, NOR, true, true }, // MEM
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // MINA
+ { NOG, mrrr, NOR, NOR, true, true }, // MINM
+ { NOG, rwww, NOR, NOR, true, false }, // MOV
+ { NOG, rwww, NOR, NOR, false, false }, // MOVB
+ { NOG, rwww, NOR, NOR, false, false }, // MOVW
+ { NOG, mmmm, NOR, NOR, true, true }, // MUL
+ { NOG, mwrr, M680X_REG_D, NOR, true, true }, // MULD
+ { NOG, mrrr, NOR, NOR, true, false }, // NEG
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // NEGA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // NEGB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // NEGD
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // NEGX
+ { NOG, uuuu, NOR, NOR, false, false }, // NOP
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // NSA
+ { NOG, rmmm, NOR, NOR, true, false }, // OIM
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ORA
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ORAA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ORAB
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ORB
+ { NOG, mrrr, M680X_REG_CC, NOR, true, false }, // ORCC
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ORD
+ { NOG, rmmm, NOR, NOR, true, false }, // ORR
+ { NOG, rmmm, M680X_REG_A, NOR, false, true }, // PSHA
+ { NOG, rmmm, M680X_REG_B, NOR, false, true }, // PSHB
+ { NOG, rmmm, M680X_REG_CC, NOR, false, true }, // PSHC
+ { NOG, rmmm, M680X_REG_D, NOR, false, true }, // PSHD
+ { NOG, rmmm, M680X_REG_H, NOR, false, true }, // PSHH
+ { NOG, mrrr, M680X_REG_S, NOR, false, false }, // PSHS
+ { NOG, mrrr, M680X_REG_S, M680X_REG_W, false, false }, // PSHSW
+ { NOG, mrrr, M680X_REG_U, NOR, false, false }, // PSHU
+ { NOG, mrrr, M680X_REG_U, M680X_REG_W, false, false }, // PSHUW
+ { NOG, rmmm, M680X_REG_X, NOR, false, true }, // PSHX
+ { NOG, rmmm, M680X_REG_Y, NOR, false, true }, // PSHY
+ { NOG, wmmm, M680X_REG_A, NOR, false, true }, // PULA
+ { NOG, wmmm, M680X_REG_B, NOR, false, true }, // PULB
+ { NOG, wmmm, M680X_REG_CC, NOR, false, true }, // PULC
+ { NOG, wmmm, M680X_REG_D, NOR, false, true }, // PULD
+ { NOG, wmmm, M680X_REG_H, NOR, false, true }, // PULH
+ { NOG, mwww, M680X_REG_S, NOR, false, false }, // PULS
+ { NOG, mwww, M680X_REG_S, M680X_REG_W, false, false }, // PULSW
+ { NOG, mwww, M680X_REG_U, NOR, false, false }, // PULU
+ { NOG, mwww, M680X_REG_U, M680X_REG_W, false, false }, // PULUW
+ { NOG, wmmm, M680X_REG_X, NOR, false, true }, // PULX
+ { NOG, wmmm, M680X_REG_Y, NOR, false, true }, // PULY
+ { NOG, mmrr, NOR, NOR, true, true }, // REV
+ { NOG, mmmm, NOR, NOR, true, true }, // REVW
+ { NOG, mrrr, NOR, NOR, true, false }, // ROL
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ROLA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ROLB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ROLD
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // ROLW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // ROLX
+ { NOG, mrrr, NOR, NOR, true, false }, // ROR
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // RORA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // RORB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // RORD
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // RORW
+ { NOG, mrrr, M680X_REG_X, NOR, true, false }, // RORX
+ { NOG, wrrr, M680X_REG_S, NOR, false, false }, // RSP
+ { M680X_GRP_RET, mwww, NOR, NOR, false, true }, // RTC
+ { M680X_GRP_IRET, mwww, NOR, NOR, false, true }, // RTI
+ { M680X_GRP_RET, mwww, NOR, NOR, false, true }, // RTS
+ { NOG, rmmm, M680X_REG_B, M680X_REG_A, true, false }, // SBA
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SBC
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SBCA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // SBCB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // SBCD
+ { NOG, rmmm, NOR, NOR, true, false }, // SBCR
+ { NOG, uuuu, NOR, NOR, true, false }, // SEC
+ { NOG, uuuu, NOR, NOR, true, false }, // SEI
+ { NOG, uuuu, NOR, NOR, true, false }, // SEV
+ { NOG, wrrr, NOR, NOR, true, true }, // SEX
+ { NOG, rwww, M680X_REG_W, NOR, true, true }, // SEXW
+ { NOG, uuuu, NOR, NOR, false, false }, // SLP
+ { NOG, rwww, M680X_REG_A, NOR, true, false }, // STA
+ { NOG, rwww, M680X_REG_A, NOR, true, false }, // STAA
+ { NOG, rwww, M680X_REG_B, NOR, true, false }, // STAB
+ { NOG, rwww, M680X_REG_B, NOR, true, false }, // STB
+ { NOG, rrrm, NOR, NOR, false, false }, // STBT
+ { NOG, rwww, M680X_REG_D, NOR, true, false }, // STD
+ { NOG, rwww, M680X_REG_E, NOR, true, false }, // STE
+ { NOG, rwww, M680X_REG_F, NOR, true, false }, // STF
+ { NOG, uuuu, NOR, NOR, false, false }, // STOP
+ { NOG, rwww, M680X_REG_HX, NOR, true, false }, // STHX
+ { NOG, rwww, M680X_REG_Q, NOR, true, false }, // STQ
+ { NOG, rwww, M680X_REG_S, NOR, true, false }, // STS
+ { NOG, rwww, M680X_REG_U, NOR, true, false }, // STU
+ { NOG, rwww, M680X_REG_W, NOR, true, false }, // STW
+ { NOG, rwww, M680X_REG_X, NOR, true, false }, // STX
+ { NOG, rwww, M680X_REG_Y, NOR, true, false }, // STY
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SUB
+ { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SUBA
+ { NOG, mrrr, M680X_REG_B, NOR, true, false }, // SUBB
+ { NOG, mrrr, M680X_REG_D, NOR, true, false }, // SUBD
+ { NOG, mrrr, M680X_REG_E, NOR, true, false }, // SUBE
+ { NOG, mrrr, M680X_REG_F, NOR, true, false }, // SUBF
+ { NOG, rmmm, NOR, NOR, true, false }, // SUBR
+ { NOG, mrrr, M680X_REG_W, NOR, true, false }, // SUBW
+ { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI
+ { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI2
+ { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI3
+ { NOG, uuuu, NOR, NOR, false, false }, // SYNC
+ { NOG, rwww, M680X_REG_A, M680X_REG_B, true, false }, // TAB
+ { NOG, rwww, M680X_REG_A, M680X_REG_CC, false, false }, // TAP
+ { NOG, rwww, M680X_REG_A, M680X_REG_X, false, false }, // TAX
+ { NOG, rwww, M680X_REG_B, M680X_REG_A, true, false }, // TBA
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // TBEQ
+ { NOG, rmmm, NOR, NOR, true, true }, // TBL
+ { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // TBNE
+ { NOG, uuuu, NOR, NOR, false, false }, // TEST
+ { NOG, rwww, NOR, NOR, false, false }, // TFM
+ { NOG, rwww, NOR, NOR, false, false }, // TFR
+ { NOG, rrrr, NOR, NOR, true, false }, // TIM
+ { NOG, rwww, M680X_REG_CC, M680X_REG_A, false, false }, // TPA
+ { NOG, rrrr, NOR, NOR, true, false }, // TST
+ { NOG, rrrr, M680X_REG_A, NOR, true, false }, // TSTA
+ { NOG, rrrr, M680X_REG_B, NOR, true, false }, // TSTB
+ { NOG, rrrr, M680X_REG_D, NOR, true, false }, // TSTD
+ { NOG, rrrr, M680X_REG_E, NOR, true, false }, // TSTE
+ { NOG, rrrr, M680X_REG_F, NOR, true, false }, // TSTF
+ { NOG, rrrr, M680X_REG_W, NOR, true, false }, // TSTW
+ { NOG, rrrr, M680X_REG_X, NOR, true, false }, // TSTX
+ { NOG, rwww, M680X_REG_S, M680X_REG_HX, false, false }, // TSX
+ { NOG, rwww, M680X_REG_S, M680X_REG_Y, false, false }, // TSY
+ { NOG, rwww, M680X_REG_X, M680X_REG_A, false, false }, // TXA
+ { NOG, rwww, M680X_REG_HX, M680X_REG_S, false, false }, // TXS
+ { NOG, rwww, M680X_REG_Y, M680X_REG_S, false, false }, // TYS
+ { NOG, mrrr, NOR, NOR, true, true }, // WAI
+ { NOG, uuuu, NOR, NOR, true, false }, // WAIT
+ { NOG, uuuu, NOR, NOR, true, true }, // WAV
+ { NOG, uuuu, NOR, NOR, true, true }, // WAVR
+ { NOG, mmmm, M680X_REG_D, M680X_REG_X, false, false }, // XGDX
+ { NOG, mmmm, M680X_REG_D, M680X_REG_Y, false, false }, // XGDY
+};
+#undef NOR
+#undef NOG
+