Browse Source

* changed max_operands to 2 for the Z80

git-svn-id: branches/z80@44758 -
nickysn 5 years ago
parent
commit
4b01ff605a
4 changed files with 209 additions and 206 deletions
  1. 4 1
      compiler/utils/mkz80ins.pp
  2. 1 1
      compiler/z80/aasmcpu.pas
  3. 1 1
      compiler/z80/cpubase.pas
  4. 203 203
      compiler/z80/z80tab.inc

+ 4 - 1
compiler/utils/mkz80ins.pp

@@ -23,6 +23,7 @@ uses
 const
 const
   Version = '1.0.0';
   Version = '1.0.0';
   HeaderStr = '{ don''t edit, this file is generated from z80ins.dat; to regenerate, run ''make insdat'' in the compiler directory }';
   HeaderStr = '{ don''t edit, this file is generated from z80ins.dat; to regenerate, run ''make insdat'' in the compiler directory }';
+  max_operands = 2;
 
 
   ParamTypes: array [0..40,0..1] of string = (
   ParamTypes: array [0..40,0..1] of string = (
     ('void',  'OT_NONE'),
     ('void',  'OT_NONE'),
@@ -201,7 +202,9 @@ begin
             Writeln(OutputFiles.InsTabFile,'    opcode  : A_',op,';');
             Writeln(OutputFiles.InsTabFile,'    opcode  : A_',op,';');
             Writeln(OutputFiles.InsTabFile,'    ops     : ',Length(S_Params),';');
             Writeln(OutputFiles.InsTabFile,'    ops     : ',Length(S_Params),';');
             Write(OutputFiles.InsTabFile,  '    optypes : (');
             Write(OutputFiles.InsTabFile,  '    optypes : (');
-            for ParamIdx:=0 to 3 do
+            if Length(S_Params)>max_operands then
+              raise Exception.Create('Too many operands');
+            for ParamIdx:=0 to max_operands-1 do
               begin
               begin
                 if ParamIdx<>0 then
                 if ParamIdx<>0 then
                   Write(OutputFiles.InsTabFile,',');
                   Write(OutputFiles.InsTabFile,',');

+ 1 - 1
compiler/z80/aasmcpu.pas

@@ -88,7 +88,7 @@ uses
       tinsentry = record
       tinsentry = record
         opcode  : tasmop;
         opcode  : tasmop;
         ops     : byte;
         ops     : byte;
-        optypes : array[0..3] of toperandtype;
+        optypes : array[0..max_operands-1] of toperandtype;
         code    : array[0..maxinfolen] of char;
         code    : array[0..maxinfolen] of char;
         flags   : longint;
         flags   : longint;
       end;
       end;

+ 1 - 1
compiler/z80/cpubase.pas

@@ -143,7 +143,7 @@ unit cpubase;
 *****************************************************************************}
 *****************************************************************************}
 
 
     const
     const
-      max_operands = 4;
+      max_operands = 2;
 
 
       maxintregs = 15;
       maxintregs = 15;
       maxfpuregs = 0;
       maxfpuregs = 0;

+ 203 - 203
compiler/z80/z80tab.inc

@@ -3,1421 +3,1421 @@
   (
   (
     opcode  : A_None;
     opcode  : A_None;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : 'void';
     code    : 'void';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10001rrr';
     code    : '%10001rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$CE,n';
     code    : '$CE,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$8E';
     code    : '$8E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$8E,d';
     code    : '$DD,$8E,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$8E,d';
     code    : '$FD,$8E,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADC;
     opcode  : A_ADC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
     code    : '$ED,%01dd1010';
     code    : '$ED,%01dd1010';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10000rrr';
     code    : '%10000rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$C6,n';
     code    : '$C6,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$86';
     code    : '$86';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$86,d';
     code    : '$DD,$86,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$86,d';
     code    : '$FD,$86,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
     code    : '%00dd1001';
     code    : '%00dd1001';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IX,OT_REG16_BC_DE_IX_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_REG16_BC_DE_IX_SP);
     code    : '$DD,%00pp1001';
     code    : '$DD,%00pp1001';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_ADD;
     opcode  : A_ADD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IY,OT_REG16_BC_DE_IY_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_REG16_BC_DE_IY_SP);
     code    : '$FD,%00rr1001';
     code    : '$FD,%00rr1001';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_AND;
     opcode  : A_AND;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10100rrr';
     code    : '%10100rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_AND;
     opcode  : A_AND;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$E6,n';
     code    : '$E6,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_AND;
     opcode  : A_AND;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$A6';
     code    : '$A6';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_AND;
     opcode  : A_AND;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$A6,d';
     code    : '$DD,$A6,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_AND;
     opcode  : A_AND;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$A6,d';
     code    : '$FD,$A6,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_BIT;
     opcode  : A_BIT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REG8);
     code    : '$CB,%01bbbrrr';
     code    : '$CB,%01bbbrrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_BIT;
     opcode  : A_BIT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_HL);
     code    : '$CB,%01bbb110';
     code    : '$CB,%01bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_BIT;
     opcode  : A_BIT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IX_d);
     code    : '$DD,$CB,d,%01bbb110';
     code    : '$DD,$CB,d,%01bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_BIT;
     opcode  : A_BIT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IY_d);
     code    : '$FD,$CB,d,%01bbb110';
     code    : '$FD,$CB,d,%01bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CALL;
     opcode  : A_CALL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM16,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM16,OT_NONE);
     code    : '$CD,nn';
     code    : '$CD,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CALL;
     opcode  : A_CALL;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND,OT_IMM16,OT_NONE,OT_NONE);
+    optypes : (OT_COND,OT_IMM16);
     code    : '%11ccc100,nn';
     code    : '%11ccc100,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CCF;
     opcode  : A_CCF;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$3F';
     code    : '$3F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CP;
     opcode  : A_CP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10111rrr';
     code    : '%10111rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CP;
     opcode  : A_CP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$FE,n';
     code    : '$FE,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CP;
     opcode  : A_CP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$BE';
     code    : '$BE';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CP;
     opcode  : A_CP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$BE,d';
     code    : '$DD,$BE,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CP;
     opcode  : A_CP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$BE,d';
     code    : '$FD,$BE,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CPD;
     opcode  : A_CPD;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A9';
     code    : '$ED,$A9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CPDR;
     opcode  : A_CPDR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B9';
     code    : '$ED,$B9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CPI;
     opcode  : A_CPI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A1';
     code    : '$ED,$A1';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CPIR;
     opcode  : A_CPIR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B1';
     code    : '$ED,$B1';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_CPL;
     opcode  : A_CPL;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$2F';
     code    : '$2F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DAA;
     opcode  : A_DAA;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$27';
     code    : '$27';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '%00rrr101';
     code    : '%00rrr101';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$35';
     code    : '$35';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$35,d';
     code    : '$DD,$35,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$35,d';
     code    : '$FD,$35,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE);
     code    : '%00dd1011';
     code    : '%00dd1011';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IX,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_NONE);
     code    : '$DD,$2B';
     code    : '$DD,$2B';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DEC;
     opcode  : A_DEC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IY,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_NONE);
     code    : '$FD,$2B';
     code    : '$FD,$2B';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DI;
     opcode  : A_DI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$F3';
     code    : '$F3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_DJNZ;
     opcode  : A_DJNZ;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_RELJMP8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_RELJMP8,OT_NONE);
     code    : '$10,e';
     code    : '$10,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EI;
     opcode  : A_EI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$FB';
     code    : '$FB';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EX;
     opcode  : A_EX;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_DE,OT_REG16_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_DE,OT_REG16_HL);
     code    : '$EB';
     code    : '$EB';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EX;
     opcode  : A_EX;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_AF,OT_REG16_AF_,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_AF,OT_REG16_AF_);
     code    : '$08';
     code    : '$08';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EX;
     opcode  : A_EX;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_SP,OT_REG16_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REF_SP,OT_REG16_HL);
     code    : '$E3';
     code    : '$E3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EX;
     opcode  : A_EX;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_SP,OT_REG16_IX,OT_NONE,OT_NONE);
+    optypes : (OT_REF_SP,OT_REG16_IX);
     code    : '$DD,$E3';
     code    : '$DD,$E3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EX;
     opcode  : A_EX;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_SP,OT_REG16_IY,OT_NONE,OT_NONE);
+    optypes : (OT_REF_SP,OT_REG16_IY);
     code    : '$FD,$E3';
     code    : '$FD,$E3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_EXX;
     opcode  : A_EXX;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$D9';
     code    : '$D9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_HALT;
     opcode  : A_HALT;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$76';
     code    : '$76';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IM;
     opcode  : A_IM;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM_VAL0,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM_VAL0,OT_NONE);
     code    : '$ED,$46';
     code    : '$ED,$46';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IM;
     opcode  : A_IM;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM_VAL1,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM_VAL1,OT_NONE);
     code    : '$ED,$56';
     code    : '$ED,$56';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IM;
     opcode  : A_IM;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM_VAL2,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM_VAL2,OT_NONE);
     code    : '$ED,$5E';
     code    : '$ED,$5E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IN;
     opcode  : A_IN;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM_PORT,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM_PORT);
     code    : '$DB,n';
     code    : '$DB,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IN;
     opcode  : A_IN;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_REG8_C_PORT,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_REG8_C_PORT);
     code    : '$ED,%01rrr000';
     code    : '$ED,%01rrr000';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '%00rrr100';
     code    : '%00rrr100';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$34';
     code    : '$34';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$34,d';
     code    : '$DD,$34,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$34,d';
     code    : '$FD,$34,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE);
     code    : '%00dd0011';
     code    : '%00dd0011';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IX,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_NONE);
     code    : '$DD,$23';
     code    : '$DD,$23';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INC;
     opcode  : A_INC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IY,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_NONE);
     code    : '$FD,$23';
     code    : '$FD,$23';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_IND;
     opcode  : A_IND;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$AA';
     code    : '$ED,$AA';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INDR;
     opcode  : A_INDR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$BA';
     code    : '$ED,$BA';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INI;
     opcode  : A_INI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A2';
     code    : '$ED,$A2';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_INIR;
     opcode  : A_INIR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B2';
     code    : '$ED,$B2';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JP;
     opcode  : A_JP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM16,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM16,OT_NONE);
     code    : '$C3,nn';
     code    : '$C3,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JP;
     opcode  : A_JP;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND,OT_IMM16,OT_NONE,OT_NONE);
+    optypes : (OT_COND,OT_IMM16);
     code    : '%11ccc010,nn';
     code    : '%11ccc010,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JP;
     opcode  : A_JP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$E9';
     code    : '$E9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JP;
     opcode  : A_JP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX,OT_NONE);
     code    : '$DD,$E9';
     code    : '$DD,$E9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JP;
     opcode  : A_JP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY,OT_NONE);
     code    : '$FD,$E9';
     code    : '$FD,$E9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JR;
     opcode  : A_JR;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_RELJMP8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_RELJMP8,OT_NONE);
     code    : '$18,e';
     code    : '$18,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JR;
     opcode  : A_JR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND_C,OT_RELJMP8,OT_NONE,OT_NONE);
+    optypes : (OT_COND_C,OT_RELJMP8);
     code    : '$38,e';
     code    : '$38,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JR;
     opcode  : A_JR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND_NC,OT_RELJMP8,OT_NONE,OT_NONE);
+    optypes : (OT_COND_NC,OT_RELJMP8);
     code    : '$30,e';
     code    : '$30,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JR;
     opcode  : A_JR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND_Z,OT_RELJMP8,OT_NONE,OT_NONE);
+    optypes : (OT_COND_Z,OT_RELJMP8);
     code    : '$28,e';
     code    : '$28,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_JR;
     opcode  : A_JR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_COND_NZ,OT_RELJMP8,OT_NONE,OT_NONE);
+    optypes : (OT_COND_NZ,OT_RELJMP8);
     code    : '$20,e';
     code    : '$20,e';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_REG8);
     code    : '%01rrrr''r''r''';
     code    : '%01rrrr''r''r''';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_IMM8);
     code    : '%00rrr110,n';
     code    : '%00rrr110,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_REF_HL);
     code    : '%01rrr110';
     code    : '%01rrr110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_REF_IX_d);
     code    : '$DD,%01rrr110,d';
     code    : '$DD,%01rrr110,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_REF_IY_d);
     code    : '$FD,%01rrr110,d';
     code    : '$FD,%01rrr110,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_HL,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_REG8);
     code    : '%01110rrr';
     code    : '%01110rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_IX_d,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_REG8);
     code    : '$DD,%01110rrr,d';
     code    : '$DD,%01110rrr,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_IY_d,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_REG8);
     code    : '$FD,%01110rrr,d';
     code    : '$FD,%01110rrr,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_HL,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_IMM8);
     code    : '$36,n';
     code    : '$36,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_IX_d,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_IMM8);
     code    : '$DD,$36,d,n';
     code    : '$DD,$36,d,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_IY_d,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_IMM8);
     code    : '$FD,$36,d,n';
     code    : '$FD,$36,d,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_BC,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_BC);
     code    : '$0A';
     code    : '$0A';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_DE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_DE);
     code    : '$1A';
     code    : '$1A';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_ADDR16,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_ADDR16);
     code    : '$3A,nn';
     code    : '$3A,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_BC,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_REF_BC,OT_REG8_A);
     code    : '$02';
     code    : '$02';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_DE,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_REF_DE,OT_REG8_A);
     code    : '$12';
     code    : '$12';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_ADDR16,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_REF_ADDR16,OT_REG8_A);
     code    : '$32,nn';
     code    : '$32,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8_I,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8_I);
     code    : '$ED,$57';
     code    : '$ED,$57';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8_R,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8_R);
     code    : '$ED,$5F';
     code    : '$ED,$5F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_I,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_I,OT_REG8_A);
     code    : '$ED,$47';
     code    : '$ED,$47';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_R,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_R,OT_REG8_A);
     code    : '$ED,$4F';
     code    : '$ED,$4F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_BC_DE_HL_SP,OT_IMM16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_SP,OT_IMM16);
     code    : '%00dd0001,nn';
     code    : '%00dd0001,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IX,OT_IMM16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_IMM16);
     code    : '$DD,$21,nn';
     code    : '$DD,$21,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IY,OT_IMM16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_IMM16);
     code    : '$FD,$21,nn';
     code    : '$FD,$21,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_HL,OT_REF_ADDR16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_HL,OT_REF_ADDR16);
     code    : '$2A,nn';
     code    : '$2A,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_BC_DE_HL_SP,OT_REF_ADDR16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_SP,OT_REF_ADDR16);
     code    : '$ED,%01dd1011,nn';
     code    : '$ED,%01dd1011,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IX,OT_REF_ADDR16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_REF_ADDR16);
     code    : '$DD,$2A,nn';
     code    : '$DD,$2A,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_IY,OT_REF_ADDR16,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_REF_ADDR16);
     code    : '$FD,$2A,nn';
     code    : '$FD,$2A,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_ADDR16,OT_REG16_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REF_ADDR16,OT_REG16_HL);
     code    : '$22,nn';
     code    : '$22,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_ADDR16,OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REF_ADDR16,OT_REG16_BC_DE_HL_SP);
     code    : '$ED,%01dd0011,nn';
     code    : '$ED,%01dd0011,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_ADDR16,OT_REG16_IX,OT_NONE,OT_NONE);
+    optypes : (OT_REF_ADDR16,OT_REG16_IX);
     code    : '$DD,$22,nn';
     code    : '$DD,$22,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REF_ADDR16,OT_REG16_IY,OT_NONE,OT_NONE);
+    optypes : (OT_REF_ADDR16,OT_REG16_IY);
     code    : '$FD,$22,nn';
     code    : '$FD,$22,nn';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_SP,OT_REG16_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_SP,OT_REG16_HL);
     code    : '$F9';
     code    : '$F9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_SP,OT_REG16_IX,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_SP,OT_REG16_IX);
     code    : '$DD,$F9';
     code    : '$DD,$F9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LD;
     opcode  : A_LD;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_SP,OT_REG16_IY,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_SP,OT_REG16_IY);
     code    : '$FD,$F9';
     code    : '$FD,$F9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LDD;
     opcode  : A_LDD;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A8';
     code    : '$ED,$A8';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LDDR;
     opcode  : A_LDDR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B8';
     code    : '$ED,$B8';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LDI;
     opcode  : A_LDI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A0';
     code    : '$ED,$A0';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_LDIR;
     opcode  : A_LDIR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B0';
     code    : '$ED,$B0';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_NEG;
     opcode  : A_NEG;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$44';
     code    : '$ED,$44';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_NOP;
     opcode  : A_NOP;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$00';
     code    : '$00';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OR;
     opcode  : A_OR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10110rrr';
     code    : '%10110rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OR;
     opcode  : A_OR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$F6,n';
     code    : '$F6,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OR;
     opcode  : A_OR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$B6';
     code    : '$B6';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OR;
     opcode  : A_OR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$B6,d';
     code    : '$DD,$B6,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OR;
     opcode  : A_OR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$B6,d';
     code    : '$FD,$B6,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OTDR;
     opcode  : A_OTDR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$BB';
     code    : '$ED,$BB';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OTIR;
     opcode  : A_OTIR;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$B3';
     code    : '$ED,$B3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OUT;
     opcode  : A_OUT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM_PORT,OT_REG8_A,OT_NONE,OT_NONE);
+    optypes : (OT_IMM_PORT,OT_REG8_A);
     code    : '$D3,n';
     code    : '$D3,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OUT;
     opcode  : A_OUT;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_C_PORT,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_C_PORT,OT_REG8);
     code    : '$ED,%01rrr001';
     code    : '$ED,%01rrr001';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OUTD;
     opcode  : A_OUTD;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$AB';
     code    : '$ED,$AB';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_OUTI;
     opcode  : A_OUTI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$A3';
     code    : '$ED,$A3';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_POP;
     opcode  : A_POP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE);
     code    : '%11qq0001';
     code    : '%11qq0001';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_POP;
     opcode  : A_POP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IX,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_NONE);
     code    : '$DD,$E1';
     code    : '$DD,$E1';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_POP;
     opcode  : A_POP;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IY,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_NONE);
     code    : '$FD,$E1';
     code    : '$FD,$E1';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_PUSH;
     opcode  : A_PUSH;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE);
     code    : '%11qq0101';
     code    : '%11qq0101';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_PUSH;
     opcode  : A_PUSH;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IX,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IX,OT_NONE);
     code    : '$DD,$E5';
     code    : '$DD,$E5';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_PUSH;
     opcode  : A_PUSH;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG16_IY,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_IY,OT_NONE);
     code    : '$FD,$E5';
     code    : '$FD,$E5';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RES;
     opcode  : A_RES;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REG8);
     code    : '$CB,%10bbbrrr';
     code    : '$CB,%10bbbrrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RES;
     opcode  : A_RES;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_HL);
     code    : '$CB,%10bbb110';
     code    : '$CB,%10bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RES;
     opcode  : A_RES;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IX_d);
     code    : '$DD,$CB,d,%10bbb110';
     code    : '$DD,$CB,d,%10bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RES;
     opcode  : A_RES;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IY_d);
     code    : '$FD,$CB,d,%10bbb110';
     code    : '$FD,$CB,d,%10bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RET;
     opcode  : A_RET;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$C9';
     code    : '$C9';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RET;
     opcode  : A_RET;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_COND,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_COND,OT_NONE);
     code    : '%11ccc000';
     code    : '%11ccc000';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RETI;
     opcode  : A_RETI;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$4D';
     code    : '$ED,$4D';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RETN;
     opcode  : A_RETN;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$45';
     code    : '$ED,$45';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RL;
     opcode  : A_RL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00010rrr';
     code    : '$CB,%00010rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RL;
     opcode  : A_RL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$16';
     code    : '$CB,$16';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RL;
     opcode  : A_RL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$16';
     code    : '$DD,$CB,d,$16';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RL;
     opcode  : A_RL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$16';
     code    : '$FD,$CB,d,$16';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLA;
     opcode  : A_RLA;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$17';
     code    : '$17';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLC;
     opcode  : A_RLC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00000rrr';
     code    : '$CB,%00000rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLC;
     opcode  : A_RLC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$06';
     code    : '$CB,$06';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLC;
     opcode  : A_RLC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$06';
     code    : '$DD,$CB,d,$06';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLC;
     opcode  : A_RLC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$06';
     code    : '$FD,$CB,d,$06';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLCA;
     opcode  : A_RLCA;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$07';
     code    : '$07';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RLD;
     opcode  : A_RLD;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$6F';
     code    : '$ED,$6F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RR;
     opcode  : A_RR;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00001rrr';
     code    : '$CB,%00001rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RR;
     opcode  : A_RR;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$1E';
     code    : '$CB,$1E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RR;
     opcode  : A_RR;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$1E';
     code    : '$DD,$CB,d,$1E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RR;
     opcode  : A_RR;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$1E';
     code    : '$FD,$CB,d,$1E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRA;
     opcode  : A_RRA;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$1F';
     code    : '$1F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRC;
     opcode  : A_RRC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00001rrr';
     code    : '$CB,%00001rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRC;
     opcode  : A_RRC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$0E';
     code    : '$CB,$0E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRC;
     opcode  : A_RRC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$0E';
     code    : '$DD,$CB,d,$0E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRC;
     opcode  : A_RRC;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$0E';
     code    : '$FD,$CB,d,$0E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRCA;
     opcode  : A_RRCA;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$0F';
     code    : '$0F';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RRD;
     opcode  : A_RRD;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$ED,$67';
     code    : '$ED,$67';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_RST;
     opcode  : A_RST;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_IMM_RST,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_IMM_RST,OT_NONE);
     code    : '%11ppp111';
     code    : '%11ppp111';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10011rrr';
     code    : '%10011rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$DE,n';
     code    : '$DE,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$9E';
     code    : '$9E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$9E,d';
     code    : '$DD,$9E,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$9E,d';
     code    : '$FD,$9E,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SBC;
     opcode  : A_SBC;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP,OT_NONE,OT_NONE);
+    optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
     code    : '$ED,%01dd0010';
     code    : '$ED,%01dd0010';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SCF;
     opcode  : A_SCF;
     ops     : 0;
     ops     : 0;
-    optypes : (OT_NONE,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_NONE,OT_NONE);
     code    : '$37';
     code    : '$37';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SET;
     opcode  : A_SET;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REG8);
     code    : '$CB,%11bbbrrr';
     code    : '$CB,%11bbbrrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SET;
     opcode  : A_SET;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_HL);
     code    : '$CB,%11bbb110';
     code    : '$CB,%11bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SET;
     opcode  : A_SET;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IX_d);
     code    : '$DD,$CB,d,%11bbb110';
     code    : '$DD,$CB,d,%11bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SET;
     opcode  : A_SET;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_IMM3,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_IMM3,OT_REF_IY_d);
     code    : '$FD,$CB,d,%11bbb110';
     code    : '$FD,$CB,d,%11bbb110';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SLA;
     opcode  : A_SLA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00100rrr';
     code    : '$CB,%00100rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SLA;
     opcode  : A_SLA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$26';
     code    : '$CB,$26';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SLA;
     opcode  : A_SLA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$26';
     code    : '$DD,$CB,d,$26';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SLA;
     opcode  : A_SLA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$26';
     code    : '$FD,$CB,d,$26';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRA;
     opcode  : A_SRA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00101rrr';
     code    : '$CB,%00101rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRA;
     opcode  : A_SRA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$2E';
     code    : '$CB,$2E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRA;
     opcode  : A_SRA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$2E';
     code    : '$DD,$CB,d,$2E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRA;
     opcode  : A_SRA;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$2E';
     code    : '$FD,$CB,d,$2E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRL;
     opcode  : A_SRL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REG8,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REG8,OT_NONE);
     code    : '$CB,%00111rrr';
     code    : '$CB,%00111rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRL;
     opcode  : A_SRL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_HL,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_HL,OT_NONE);
     code    : '$CB,$3E';
     code    : '$CB,$3E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRL;
     opcode  : A_SRL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IX_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IX_d,OT_NONE);
     code    : '$DD,$CB,d,$3E';
     code    : '$DD,$CB,d,$3E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SRL;
     opcode  : A_SRL;
     ops     : 1;
     ops     : 1;
-    optypes : (OT_REF_IY_d,OT_NONE,OT_NONE,OT_NONE);
+    optypes : (OT_REF_IY_d,OT_NONE);
     code    : '$FD,$CB,d,$3E';
     code    : '$FD,$CB,d,$3E';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SUB;
     opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10010rrr';
     code    : '%10010rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SUB;
     opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$D6,n';
     code    : '$D6,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SUB;
     opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$96';
     code    : '$96';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SUB;
     opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$96,d';
     code    : '$DD,$96,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_SUB;
     opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$96,d';
     code    : '$FD,$96,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_XOR;
     opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REG8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REG8);
     code    : '%10101rrr';
     code    : '%10101rrr';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_XOR;
     opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_IMM8,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_IMM8);
     code    : '$EE,n';
     code    : '$EE,n';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_XOR;
     opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_HL,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_HL);
     code    : '$AE';
     code    : '$AE';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_XOR;
     opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IX_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IX_d);
     code    : '$DD,$AE,d';
     code    : '$DD,$AE,d';
     flags   : 0
     flags   : 0
   ),
   ),
   (
   (
     opcode  : A_XOR;
     opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (OT_REG8_A,OT_REF_IY_d,OT_NONE,OT_NONE);
+    optypes : (OT_REG8_A,OT_REF_IY_d);
     code    : '$FD,$AE,d';
     code    : '$FD,$AE,d';
     flags   : 0
     flags   : 0
   )
   )