Diff for /np2/i386c/ia32/groups.c between versions 1.1 and 1.4

version 1.1, 2003/12/08 00:55:31 version 1.4, 2004/01/15 15:50:33
Line 38 Line 38
 void  void
 Grp1_EbIb(void)  Grp1_EbIb(void)
 {  {
         DWORD op;          BYTE *out;
           DWORD op, madr, src;
         int idx;          int idx;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
         idx = (op >> 3) & 7;          idx = (op >> 3) & 7;
         if (op >= 0xc0) {          if (op >= 0xc0) {
                 CPU_WORKCLOCK(3);                  CPU_WORKCLOCK(3);
                 (*insttable_G1EbIb[idx])(reg8_b20[op]);                  out = reg8_b20[op];
                   GET_PCBYTE(src);
                   (*insttable_G1EbIb[idx])(out, src);
         } else {          } else {
                 CPU_WORKCLOCK(7);                  CPU_WORKCLOCK(7);
                 (*insttable_G1EbIb_ext[idx])(calc_ea_dst(op));                  madr = calc_ea_dst(op);
                   GET_PCBYTE(src);
                   (*insttable_G1EbIb_ext[idx])(madr, src);
         }          }
 }  }
   
Line 282  Grp2_EbCL(void) Line 287  Grp2_EbCL(void)
                 CPU_WORKCLOCK(5);                  CPU_WORKCLOCK(5);
                 out = reg8_b20[op];                  out = reg8_b20[op];
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EbCL[idx])(out, cl);                  (*insttable_G2EbCL[idx])(out, cl);
         } else {          } else {
                 CPU_WORKCLOCK(8);                  CPU_WORKCLOCK(8);
                 madr = calc_ea_dst(op);                  madr = calc_ea_dst(op);
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EbCL_ext[idx])(madr, cl);                  (*insttable_G2EbCL_ext[idx])(madr, cl);
         }          }
 }  }
Line 307  Grp2_EwCL(void) Line 314  Grp2_EwCL(void)
                 CPU_WORKCLOCK(5);                  CPU_WORKCLOCK(5);
                 out = reg16_b20[op];                  out = reg16_b20[op];
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EwCL[idx])(out, cl);                  (*insttable_G2EwCL[idx])(out, cl);
         } else {          } else {
                 CPU_WORKCLOCK(8);                  CPU_WORKCLOCK(8);
                 madr = calc_ea_dst(op);                  madr = calc_ea_dst(op);
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EwCL_ext[idx])(madr, cl);                  (*insttable_G2EwCL_ext[idx])(madr, cl);
         }          }
 }  }
Line 332  Grp2_EdCL(void) Line 341  Grp2_EdCL(void)
                 CPU_WORKCLOCK(5);                  CPU_WORKCLOCK(5);
                 out = reg32_b20[op];                  out = reg32_b20[op];
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EdCL[idx])(out, cl);                  (*insttable_G2EdCL[idx])(out, cl);
         } else {          } else {
                 CPU_WORKCLOCK(8);                  CPU_WORKCLOCK(8);
                 madr = calc_ea_dst(op);                  madr = calc_ea_dst(op);
                 cl = CPU_CL;                  cl = CPU_CL;
                 CPU_WORKCLOCK(cl & 0x1f);                  cl &= 0x1f;
                   CPU_WORKCLOCK(cl);
                 (*insttable_G2EdCL_ext[idx])(madr, cl);                  (*insttable_G2EdCL_ext[idx])(madr, cl);
         }          }
 }  }
Line 348  Grp2_EdCL(void) Line 359  Grp2_EdCL(void)
 void  void
 Grp3_Eb(void)  Grp3_Eb(void)
 {  {
   
         DWORD op;          DWORD op;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
Line 358  Grp3_Eb(void) Line 368  Grp3_Eb(void)
 void  void
 Grp3_Ew(void)  Grp3_Ew(void)
 {  {
   
         DWORD op;          DWORD op;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
Line 368  Grp3_Ew(void) Line 377  Grp3_Ew(void)
 void  void
 Grp3_Ed(void)  Grp3_Ed(void)
 {  {
   
         DWORD op;          DWORD op;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
Line 409  Grp5_Ed(void) Line 417  Grp5_Ed(void)
   
 /* group 6 */  /* group 6 */
 void  void
 Grp6_16(void)  Grp6(void)
 {  {
         DWORD op;          DWORD op;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
         (*insttable_G6_16[(op >> 3) & 7])(op);          (*insttable_G6[(op >> 3) & 7])(op);
 }  
   
 void  
 Grp6_32(void)  
 {  
         DWORD op;  
   
         GET_PCBYTE(op);  
         (*insttable_G6_32[(op >> 3) & 7])(op);  
 }  }
   
   
 /* group 7 */  /* group 7 */
 void  void
 Grp7_16(void)  Grp7(void)
 {  
         DWORD op;  
   
         GET_PCBYTE(op);  
         (*insttable_G7_16[(op >> 3) & 7])(op);  
 }  
   
 void  
 Grp7_32(void)  
 {  {
         DWORD op;          DWORD op;
   
         GET_PCBYTE(op);          GET_PCBYTE(op);
         (*insttable_G7_32[(op >> 3) & 7])(op);          (*insttable_G7[(op >> 3) & 7])(op);
 }  }
   
   

Removed from v.1.1  
changed lines
  Added in v.1.4


RetroPC.NET-CVS <cvs@retropc.net>