#define sign_extend(N,SIZE) (((int)((N) << (sizeof(unsigned)*8-(SIZE)))) >> (sizeof(unsigned)*8-(SIZE)))
#include <assert.h>

#line 2 "machine/pentium/disassembler.m"
/*
 * Copyright (C) 2002, Sun Microsystems, Inc
 *
 * See the file "LICENSE.TERMS" for information on usage and
 * redistribution of this file, and for a DISCLAIMER OF ALL
 * WARRANTIES.
 *
 */

/*==============================================================================
 * FILE:       disassembler.m
 * OVERVIEW:   disassembler skeleton file for x86 SLED specification
 *
 * Created: 7 Jan 02 - Cristina, based on machine/pentium/decoder_low.m and 
 *             machine/sparc/disassembler.m
 *============================================================================*/


#include "global.h"
#include "decoder.h"


/*==============================================================================
 * FUNCTION:       NJMCDecoder::decodeAssemblyInstruction
 * OVERVIEW:       Decodes a machine instruction and displays its assembly
 *                 representation onto the external array _assembly[].
 * PARAMETERS:     pc - the native address of the pc
 *                 delta - the difference between the native address and
 *                  the host address of the pc
 * RETURNS:        number of bytes taken up by the decoded instruction
 *                  (i.e. number of bytes processed)
 *============================================================================*/
int NJMCDecoder::decodeAssemblyInstruction (ADDRESS pc, int delta)
{
	ADDRESS hostPC = pc + delta; 
    ADDRESS nextPC; 

    sprintf(_assembly, "%X: %08X  ", pc, getDword(hostPC) );
    char* str = _assembly + strlen(_assembly);



#line 41 "machine/pentium/disassembler.m"
{ 
  dword MATCH_p = 
    
    #line 41 "machine/pentium/disassembler.m"
    hostPC
    ;
  char *MATCH_name;
  static char *MATCH_name_page_0[] = {"SEG.FS", "CALL.Jvod", };
  static char *MATCH_name_page_6[] = {"REPNE.MOVSvow", "REPNE.STOSvow", };
  static char *MATCH_name_page_7[] = {"REPNE.CMPSvow", "REPNE.LODSvow", };
  static char *MATCH_name_page_8[] = {"REP.MOVSvow", "REPNE.SCASvow", };
  static char *MATCH_name_page_9[] = {"REPNE.MOVSB", "REPNE.STOSB", };
  static char *MATCH_name_page_10[] = {"REPNE.MOVSvod", "REPNE.STOSvod", };
  static char *MATCH_name_page_11[] = {"REPNE.CMPSB", "REPNE.LODSB", };
  static char *MATCH_name_page_12[] = {"REPNE.CMPSvod", "REPNE.LODSvod", };
  static char *MATCH_name_page_13[] = {"REP.MOVSB", "REPNE.SCASB", };
  static char *MATCH_name_page_14[] = {"REP.MOVSvod", "REPNE.SCASvod", };
  static char *MATCH_name_page_15[] = {"REP.CMPSvow", "REP.STOSvow", };
  static char *MATCH_name_page_18[] = {"REP.CMPSB", "REP.STOSB", };
  static char *MATCH_name_page_19[] = {"REP.CMPSvod", "REP.STOSvod", };
  unsigned /* [0..255] */ MATCH_w_8_0;
  unsigned /* [0..255] */ MATCH_w_8_8;
  unsigned /* [0..65535] */ MATCH_w_16_8;
  unsigned MATCH_w_32_8;
  unsigned /* [0..255] */ MATCH_w_8_16;
  unsigned /* [0..65535] */ MATCH_w_16_16;
  unsigned MATCH_w_32_16;
  unsigned /* [0..255] */ MATCH_w_8_24;
  unsigned /* [0..65535] */ MATCH_w_16_24;
  unsigned MATCH_w_32_24;
  unsigned /* [0..255] */ MATCH_w_8_32;
  unsigned /* [0..65535] */ MATCH_w_16_32;
  unsigned MATCH_w_32_32;
  unsigned /* [0..255] */ MATCH_w_8_40;
  unsigned /* [0..65535] */ MATCH_w_16_40;
  unsigned /* [0..255] */ MATCH_w_8_48;
  unsigned MATCH_w_32_48;
  unsigned /* [0..255] */ MATCH_w_8_56;
  unsigned /* [0..65535] */ MATCH_w_16_56;
  unsigned MATCH_w_32_56;
  unsigned /* [0..255] */ MATCH_w_8_64;
  unsigned /* [0..65535] */ MATCH_w_16_64;
  unsigned /* [0..255] */ MATCH_w_8_72;
  { 
    MATCH_w_8_0 = getByte(MATCH_p); 
    
      switch((MATCH_w_8_0 >> 4 & 0xf) /* row at 0 */) {
        case 0: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a16; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a18;  /*opt-block+*/
                              else 
                                goto MATCH_label_a17;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a19; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1216 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ORmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a17;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a18;  /*opt-block+*/
                        else 
                          goto MATCH_label_a19;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a16; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a20; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a22;  /*opt-block+*/
                              else 
                                goto MATCH_label_a21;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a23; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1186 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ORmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a21;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a22;  /*opt-block+*/
                        else 
                          goto MATCH_label_a23;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a20; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a24; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a26;  /*opt-block+*/
                              else 
                                goto MATCH_label_a25;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a27; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1144 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ORrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a25;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a26;  /*opt-block+*/
                        else 
                          goto MATCH_label_a27;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a24; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a28; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a30;  /*opt-block+*/
                              else 
                                goto MATCH_label_a29;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a31; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1114 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ORrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a29;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a30;  /*opt-block+*/
                        else 
                          goto MATCH_label_a31;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a28; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1408 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ORiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 5: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1360 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ORiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 522 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "PUSH.CS");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 4 & 0xf) /* row at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 803 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "INVD");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a32; break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a34;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a33;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a35; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 146 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SLDT", DIS_EADDR32);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a33;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a34;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a35;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a32; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  { 
                                                    unsigned Mem = 
                                                      2 + 
                                                      addressToPC(MATCH_p);
                                                    nextPC = 3 + MATCH_p; 
                                                    
                                                    #line 122 "machine/pentium/disassembler.m"
                                                    

                                                            sprintf (str,  "STR", DIS_MEM);

                                                    

                                                    
                                                    
                                                    
                                                  }
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a37;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a36;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a38; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 122 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "STR", DIS_MEM);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a36;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a37;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a38;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a39; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: case 6: case 7: 
                                      goto MATCH_label_a39; break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a40; break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a42;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a41;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a43; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 745 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "LTR", DIS_EADDR32);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a41;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a42;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a43;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a40; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a44; break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a46;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a45;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a47; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 92 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "VERR", DIS_EADDR32);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a45;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a46;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a47;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a44; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a48; break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a50;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a49;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a51; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 89 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "VERW", DIS_EADDR32);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a49;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a50;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a51;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a48; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 83 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "WBINVD");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  { 
                                                    unsigned Mem = 
                                                      2 + 
                                                      addressToPC(MATCH_p);
                                                    nextPC = 3 + MATCH_p; 
                                                    
                                                    #line 176 "machine/pentium/disassembler.m"
                                                    

                                                            sprintf (str,  "SGDT", DIS_MEM);

                                                    

                                                        // Sets are now in the high level instructions

                                                    
                                                    
                                                    
                                                  }
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a53;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a52;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a54; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 176 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SGDT", DIS_MEM);

                                              

                                                  // Sets are now in the high level instructions

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a52;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a53;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a54;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a39; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  { 
                                                    unsigned Mem = 
                                                      2 + 
                                                      addressToPC(MATCH_p);
                                                    nextPC = 3 + MATCH_p; 
                                                    
                                                    #line 173 "machine/pentium/disassembler.m"
                                                    

                                                            sprintf (str,  "SIDT", DIS_MEM);

                                                    

                                                    
                                                    
                                                    
                                                  }
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a56;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a55;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a57; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 173 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SIDT", DIS_MEM);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a55;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a56;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a57;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a39; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: case 3: case 5: case 6: 
                                      goto MATCH_label_a39; break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a58; break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a60;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a59;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a61; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 143 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SMSW", DIS_EADDR32);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a59;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a60;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a61;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a58; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  { 
                                                    unsigned Mem = 
                                                      2 + 
                                                      addressToPC(MATCH_p);
                                                    nextPC = 3 + MATCH_p; 
                                                    
                                                    #line 800 "machine/pentium/disassembler.m"
                                                    

                                                            sprintf (str,  "INVLPG", DIS_MEM);

                                                    

                                                    
                                                    
                                                    
                                                  }
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a63;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a62;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a64; break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 800 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "INVLPG", DIS_MEM);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a62;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a63;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a64;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a39; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a65; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a67;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a66;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a68; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 787 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LAR.od", DIS_REG32, DIS_EADDR32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a66;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a67;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a68;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a65; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a69; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a71;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a70;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a72; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 751 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LSLod", DIS_REG32, DIS_EADDR32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a70;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a71;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a72;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a69; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 4: case 5: case 7: 
                              goto MATCH_label_a39; break;
                            case 6: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 0) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 962 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CLTS");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 1: case 2: case 3: case 5: case 6: case 7: case 8: 
                      case 9: case 13: case 14: case 15: 
                        goto MATCH_label_a39; break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 0) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 80 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "WRMSR");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 1: case 3: case 4: case 5: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 0) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 303 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RDMSR");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 10: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 507 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "PUSH.GS");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 510 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "PUSH.FS");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              
                              break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 561 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "POP.GS");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 564 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "POP.FS");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              
                              break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 192 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RSM");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 935 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CPUID");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a77; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a79;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a78;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a80; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 998 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BTSod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a78;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a79;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a80;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a77; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a73; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a75;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a74;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a76; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1034 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BTod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a74;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a75;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a76;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a73; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 4: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a85; 
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a87; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a86; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 5: 
                                            MATCH_w_8_56 = 
                                              getByte(7 + MATCH_p); 
                                            goto MATCH_label_a88; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_40 = getByte(5 + MATCH_p); 
                                        { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          unsigned count = 
                                            (MATCH_w_8_40 & 0xff) 
                                                  /* i8 at 40 */;
                                          unsigned reg = 
                                            (MATCH_w_8_16 >> 3 & 0x7) 
                                                  /* reg_opcode at 16 */;
                                          nextPC = 6 + MATCH_p; 
                                          
                                          #line 167 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "SHRD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

                                          

                                          
                                          
                                          
                                        }
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                        goto MATCH_label_a86; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_64 = getByte(8 + MATCH_p); 
                                        goto MATCH_label_a87; 
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                        goto MATCH_label_a88; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 3: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a85; 
                                      
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a81; 
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a83; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a82; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 5: 
                                            MATCH_w_8_56 = 
                                              getByte(7 + MATCH_p); 
                                            goto MATCH_label_a84; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_40 = getByte(5 + MATCH_p); 
                                        { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          unsigned count = 
                                            (MATCH_w_8_40 & 0xff) 
                                                  /* i8 at 40 */;
                                          unsigned reg = 
                                            (MATCH_w_8_16 >> 3 & 0x7) 
                                                  /* reg_opcode at 16 */;
                                          nextPC = 6 + MATCH_p; 
                                          
                                          #line 161 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "SHLD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

                                          

                                          
                                          
                                          
                                        }
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                        goto MATCH_label_a82; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_64 = getByte(8 + MATCH_p); 
                                        goto MATCH_label_a83; 
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                        goto MATCH_label_a84; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 3: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a81; 
                                      
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a93; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a95;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a94;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a96; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 155 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SHRD.CLod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a94;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a95;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a96;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a93; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a89; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a91;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a90;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a92; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 149 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SHLD.CLod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a90;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a91;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a92;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a89; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 6: 
                              goto MATCH_label_a39; break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a97; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a99;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a98;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a100; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 869 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "IMULrmod", DIS_REG32, DIS_EADDR32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a98;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a99;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a100;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a97; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 11: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) 
                          
                            switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                              case 0: case 1: 
                                goto MATCH_label_a39; break;
                              case 2: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: case 1: case 2: case 3: 
                                      goto MATCH_label_a39; break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a130; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a132; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a131; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a133; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1028 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "BTiod", DIS_EADDR32, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a131; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a132; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a133; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a130; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a134; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a136; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a135; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a137; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 992 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "BTSiod", DIS_I8, DIS_EADDR32);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a135; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a136; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a137; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a134; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a138; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a140; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a139; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a141; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1004 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "BTRiod", DIS_EADDR32, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a139; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a140; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a141; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a138; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a142; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a144; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a143; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a145; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1016 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "BTCiod", DIS_EADDR32, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a143; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a144; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a145; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a142; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                                break;
                              case 3: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a146; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a148;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a147;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a149; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1022 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BTCod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a147;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a148;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a149;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a146; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 4: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a150; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a152;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a151;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a153; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1049 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BSFod", DIS_REG32, DIS_EADDR32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a151;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a152;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a153;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a150; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 5: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a154; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a156;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a155;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a157; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1043 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BSRod", DIS_REG32, DIS_EADDR32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a155;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a156;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a157;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a154; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 6: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a158; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a160;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a159;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a161; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned r32 = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 654 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVSX.Gv.Ebod", DIS_R32, DIS_EADDR8);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a159;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a160;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a161;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a158; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 7: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a162; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a164;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a163;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a165; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned r32 = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 651 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVSX.Gv.Ew", DIS_R32, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a163;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a164;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a165;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a162; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/  
                        else 
                          
                            switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                              case 0: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a101; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a103;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a102;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a104; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 947 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "CMPXCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a102;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a103;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a104;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a101; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 1: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a105; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a107;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a106;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a108; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 941 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "CMPXCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a106;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a107;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a108;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a105; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 2: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              unsigned reg = 
                                                (MATCH_w_8_16 >> 3 & 0x7) 
                                                      /* reg_opcode at 16 */;
                                              nextPC = 3 + MATCH_p; 
                                              
                                              #line 748 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "LSS", DIS_REG32, DIS_MEM);

                                              

                                              
                                              
                                              
                                            }
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a110;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a109;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a111; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Mem = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 748 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LSS", DIS_REG32, DIS_MEM);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a109;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a110;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a111;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a39; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 3: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a112; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a114;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a113;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a115; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1010 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "BTRod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a113;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a114;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a115;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a112; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 4: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              unsigned reg = 
                                                (MATCH_w_8_16 >> 3 & 0x7) 
                                                      /* reg_opcode at 16 */;
                                              nextPC = 3 + MATCH_p; 
                                              
                                              #line 769 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "LFS", DIS_REG32, DIS_MEM);

                                              

                                              
                                              
                                              
                                            }
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a117;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a116;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a118; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Mem = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 769 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LFS", DIS_REG32, DIS_MEM);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a116;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a117;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a118;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a39; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 5: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              unsigned reg = 
                                                (MATCH_w_8_16 >> 3 & 0x7) 
                                                      /* reg_opcode at 16 */;
                                              nextPC = 3 + MATCH_p; 
                                              
                                              #line 766 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "LGS", DIS_REG32, DIS_MEM);

                                              

                                              
                                              
                                              
                                            }
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a120;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a119;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a121; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Mem = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 766 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LGS", DIS_REG32, DIS_MEM);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a119;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a120;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a121;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a39; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 6: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a122; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a124;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a123;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a125; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned r32 = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 645 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVZX.Gv.Ebod", DIS_R32, DIS_EADDR8);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a123;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a124;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a125;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a122; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 7: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a126; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a128;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a127;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a129; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned r32 = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 642 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVZX.Gv.Ew", DIS_R32, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a127;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a128;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a129;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a126; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/  
                        break;
                      case 12: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 1040 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "BSWAP", DIS_R32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          
                            switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                              case 0: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a166; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a168;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a167;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a169; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 77 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "XADD.Eb.Gb", DIS_EADDR8, DIS_REG8);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a167;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a168;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a169;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a166; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 1: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a170; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a172;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a171;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a173; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 71 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "XADD.Ev.Gvod", DIS_EADDR32, DIS_REG32);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a171;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a172;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a173;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a170; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 2: case 3: case 4: case 5: case 6: 
                                goto MATCH_label_a39; break;
                              case 7: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */ == 1) 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              { 
                                                unsigned Mem = 
                                                  2 + addressToPC(MATCH_p);
                                                nextPC = 3 + MATCH_p; 
                                                
                                                #line 938 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "CMPXCHG8B", DIS_MEM);

                                                

                                                
                                                
                                                
                                              }
                                              
                                              break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a175;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a174;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a176; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Mem = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 938 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "CMPXCHG8B", DIS_MEM);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a174;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a175;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a176;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a39; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/  
                                else 
                                  goto MATCH_label_a39;  /*opt-block+*/
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/  
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 4 & 0xf) -- row at 8 --*/ 
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a0; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a2;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a3; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1219 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADDmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a1;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a2;  /*opt-block+*/
                        else 
                          goto MATCH_label_a3;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a0; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a4; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a6;  /*opt-block+*/
                              else 
                                goto MATCH_label_a5;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a7; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1192 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADDmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a5;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a6;  /*opt-block+*/
                        else 
                          goto MATCH_label_a7;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a4; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a8; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a10;  /*opt-block+*/
                              else 
                                goto MATCH_label_a9;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a11; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1147 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADDrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a9;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a10;  /*opt-block+*/
                        else 
                          goto MATCH_label_a11;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a8; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a12; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a14;  /*opt-block+*/
                              else 
                                goto MATCH_label_a13;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a15; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1120 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADDrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a13;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a14;  /*opt-block+*/
                        else 
                          goto MATCH_label_a15;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a12; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1411 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ADDiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 5: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1363 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ADDiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 513 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "PUSH.ES");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 573 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "POP.ES");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 1: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a193; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a195;  /*opt-block+*/
                              else 
                                goto MATCH_label_a194;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a196; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1210 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SBBmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a194;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a195;  /*opt-block+*/
                        else 
                          goto MATCH_label_a196;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a193; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a197; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a199;  /*opt-block+*/
                              else 
                                goto MATCH_label_a198;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a200; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1174 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SBBmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a198;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a199;  /*opt-block+*/
                        else 
                          goto MATCH_label_a200;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a197; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a201; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a203;  /*opt-block+*/
                              else 
                                goto MATCH_label_a202;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a204; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1138 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SBBrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a202;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a203;  /*opt-block+*/
                        else 
                          goto MATCH_label_a204;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a201; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a205; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a207;  /*opt-block+*/
                              else 
                                goto MATCH_label_a206;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a208; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1102 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SBBrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a206;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a207;  /*opt-block+*/
                        else 
                          goto MATCH_label_a208;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a205; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1402 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "SBBiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 5: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1354 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "SBBiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 516 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "PUSH.DS");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 567 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "POP.DS");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a177; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a179;  /*opt-block+*/
                              else 
                                goto MATCH_label_a178;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a180; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1213 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADCmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a178;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a179;  /*opt-block+*/
                        else 
                          goto MATCH_label_a180;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a177; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a181; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a183;  /*opt-block+*/
                              else 
                                goto MATCH_label_a182;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a184; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1180 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADCmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a182;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a183;  /*opt-block+*/
                        else 
                          goto MATCH_label_a184;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a181; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a185; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a187;  /*opt-block+*/
                              else 
                                goto MATCH_label_a186;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a188; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1141 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADCrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a186;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a187;  /*opt-block+*/
                        else 
                          goto MATCH_label_a188;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a185; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a189; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a191;  /*opt-block+*/
                              else 
                                goto MATCH_label_a190;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a192; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1108 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ADCrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a190;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a191;  /*opt-block+*/
                        else 
                          goto MATCH_label_a192;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a189; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1405 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ADCiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 5: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1357 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ADCiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 519 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "PUSH.SS");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 570 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "POP.SS");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 2: 
          
            switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
              case 0: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a213; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a215;  /*opt-block+*/
                              else 
                                goto MATCH_label_a214;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a216; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1204 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SUBmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a214;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a215;  /*opt-block+*/
                        else 
                          goto MATCH_label_a216;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a213; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a209; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a211;  /*opt-block+*/
                              else 
                                goto MATCH_label_a210;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a212; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1207 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ANDmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a210;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a211;  /*opt-block+*/
                        else 
                          goto MATCH_label_a212;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a209; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 1: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a221; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a223;  /*opt-block+*/
                              else 
                                goto MATCH_label_a222;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a224; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1162 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SUBmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a222;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a223;  /*opt-block+*/
                        else 
                          goto MATCH_label_a224;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a221; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a217; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a219;  /*opt-block+*/
                              else 
                                goto MATCH_label_a218;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a220; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1168 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ANDmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a218;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a219;  /*opt-block+*/
                        else 
                          goto MATCH_label_a220;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a217; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 2: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a229; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a231;  /*opt-block+*/
                              else 
                                goto MATCH_label_a230;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a232; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1132 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SUBrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a230;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a231;  /*opt-block+*/
                        else 
                          goto MATCH_label_a232;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a229; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a225; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a227;  /*opt-block+*/
                              else 
                                goto MATCH_label_a226;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a228; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1135 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ANDrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a226;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a227;  /*opt-block+*/
                        else 
                          goto MATCH_label_a228;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a225; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 3: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a237; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a239;  /*opt-block+*/
                              else 
                                goto MATCH_label_a238;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a240; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1090 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "SUBrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a238;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a239;  /*opt-block+*/
                        else 
                          goto MATCH_label_a240;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a237; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a233; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a235;  /*opt-block+*/
                              else 
                                goto MATCH_label_a234;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a236; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1096 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "ANDrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a234;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a235;  /*opt-block+*/
                        else 
                          goto MATCH_label_a236;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a233; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 4: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1396 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "SUBiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1399 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ANDiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                
                break;
              case 5: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1348 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "SUBiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1351 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ANDiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                
                break;
              case 6: 
                goto MATCH_label_a39; break;
              case 7: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 923 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "DAS");

                  

                  
                  
                  
                } /*opt-block*//*opt-block+*/
                else { 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 926 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "DAA");

                  

                  
                  
                  
                } /*opt-block*//*opt-block+*/
                
                break;
              default: assert(0);
            } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/ 
          break;
        case 3: 
          
            switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
              case 0: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a245; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a247;  /*opt-block+*/
                              else 
                                goto MATCH_label_a246;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a248; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1198 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "CMPmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a246;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a247;  /*opt-block+*/
                        else 
                          goto MATCH_label_a248;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a245; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a241; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a243;  /*opt-block+*/
                              else 
                                goto MATCH_label_a242;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a244; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1201 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "XORmrb", DIS_EADDR8, DIS_R8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a242;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a243;  /*opt-block+*/
                        else 
                          goto MATCH_label_a244;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a241; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 1: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a253; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a255;  /*opt-block+*/
                              else 
                                goto MATCH_label_a254;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a256; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1150 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "CMPmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a254;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a255;  /*opt-block+*/
                        else 
                          goto MATCH_label_a256;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a253; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a249; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a251;  /*opt-block+*/
                              else 
                                goto MATCH_label_a250;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a252; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1156 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "XORmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a250;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a251;  /*opt-block+*/
                        else 
                          goto MATCH_label_a252;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a249; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 2: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a261; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a263;  /*opt-block+*/
                              else 
                                goto MATCH_label_a262;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a264; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1126 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "CMPrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a262;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a263;  /*opt-block+*/
                        else 
                          goto MATCH_label_a264;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a261; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a257; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a259;  /*opt-block+*/
                              else 
                                goto MATCH_label_a258;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a260; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned r8 = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1129 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "XORrmb", DIS_R8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a258;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a259;  /*opt-block+*/
                        else 
                          goto MATCH_label_a260;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a257; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 3: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a269; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a271;  /*opt-block+*/
                              else 
                                goto MATCH_label_a270;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a272; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1078 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "CMPrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a270;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a271;  /*opt-block+*/
                        else 
                          goto MATCH_label_a272;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a269; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a265; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a267;  /*opt-block+*/
                              else 
                                goto MATCH_label_a266;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a268; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 1084 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "XORrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a266;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a267;  /*opt-block+*/
                        else 
                          goto MATCH_label_a268;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a265; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 4: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1390 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "CMPiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 1393 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "XORiAL", DIS_I8);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                
                break;
              case 5: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1342 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "CMPiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 1345 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "XORiEAX", DIS_I32);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                
                break;
              case 6: case 7: 
                goto MATCH_label_a39; break;
              default: assert(0);
            } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/ 
          break;
        case 4: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
            unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
            nextPC = 1 + MATCH_p; 
            
            #line 908 "machine/pentium/disassembler.m"
            

                    sprintf (str,  "DECod", DIS_R32);

            

            
            
            
          } /*opt-block*//*opt-block+*/
          else { 
            unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
            nextPC = 1 + MATCH_p; 
            
            #line 824 "machine/pentium/disassembler.m"
            

                    sprintf (str,  "INCod", DIS_R32);

            

            
            
            
          } /*opt-block*//*opt-block+*/
          
          break;
        case 5: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
            unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
            nextPC = 1 + MATCH_p; 
            
            #line 576 "machine/pentium/disassembler.m"
            

                    sprintf (str,  "POPod", DIS_R32);

            

            
            
            
          } /*opt-block*//*opt-block+*/
          else { 
            unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
            nextPC = 1 + MATCH_p; 
            
            #line 537 "machine/pentium/disassembler.m"
            

                    sprintf (str,  "PUSHod", DIS_R32);

            

            
            
            
          } /*opt-block*//*opt-block+*/
          
          break;
        case 6: 
          
            switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
              case 0: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 525 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "PUSH.Ivod", DIS_I32);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 1: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a273; 
                              
                              break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a275; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a274; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 5: 
                              MATCH_w_32_48 = getDword(6 + MATCH_p); 
                              goto MATCH_label_a276; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          MATCH_w_32_32 = getDword(4 + MATCH_p); 
                          { 
                            unsigned Eaddr = 1 + addressToPC(MATCH_p);
                            unsigned i32 = MATCH_w_32_32 /* i32 at 32 */;
                            unsigned reg = 
                              (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                            nextPC = 8 + MATCH_p; 
                            
                            #line 857 "machine/pentium/disassembler.m"
                            

                                    sprintf (str,  "IMUL.Ivd", DIS_REG32, DIS_EADDR32, DIS_I32);

                            

                            
                            
                            
                          }
                          
                        } /*opt-block*/
                        else { 
                          MATCH_w_32_24 = getDword(3 + MATCH_p); 
                          goto MATCH_label_a274; 
                          
                        } /*opt-block*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          MATCH_w_32_56 = getDword(7 + MATCH_p); 
                          goto MATCH_label_a275; 
                          
                        } /*opt-block*/
                        else { 
                          MATCH_w_32_48 = getDword(6 + MATCH_p); 
                          goto MATCH_label_a276; 
                          
                        } /*opt-block*/
                        
                        break;
                      case 3: 
                        MATCH_w_32_16 = getDword(2 + MATCH_p); 
                        goto MATCH_label_a273; 
                        
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                break;
              case 2: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 531 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "PUSH.Ixob", DIS_I8);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 3: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a277; 
                              
                              break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a279; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a278; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 5: 
                              MATCH_w_8_48 = getByte(6 + MATCH_p); 
                              goto MATCH_label_a280; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          MATCH_w_8_32 = getByte(4 + MATCH_p); 
                          { 
                            unsigned Eaddr = 1 + addressToPC(MATCH_p);
                            int /* [~128..127] */ i8 = 
                              sign_extend(
                                          (MATCH_w_8_32 & 0xff) 
                                                /* i8 at 32 */, 8);
                            unsigned reg = 
                              (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                            nextPC = 5 + MATCH_p; 
                            
                            #line 863 "machine/pentium/disassembler.m"
                            

                                    sprintf (str,  "IMUL.Ibod", DIS_REG32, DIS_EADDR32, DIS_I8);

                            

                            
                            
                            
                          }
                          
                        } /*opt-block*/
                        else { 
                          MATCH_w_8_24 = getByte(3 + MATCH_p); 
                          goto MATCH_label_a278; 
                          
                        } /*opt-block*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          MATCH_w_8_56 = getByte(7 + MATCH_p); 
                          goto MATCH_label_a279; 
                          
                        } /*opt-block*/
                        else { 
                          MATCH_w_8_48 = getByte(6 + MATCH_p); 
                          goto MATCH_label_a280; 
                          
                        } /*opt-block*/
                        
                        break;
                      case 3: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        goto MATCH_label_a277; 
                        
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                break;
              case 4: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 0) { 
                  MATCH_name = MATCH_name_page_0[(MATCH_w_8_0 >> 3 & 0x1) 
                        /* page at 0 */]; 
                  { 
                    char *name = MATCH_name;
                    nextPC = 1 + MATCH_p; 
                    
                    #line 59 "machine/pentium/disassembler.m"
                       

                            sprintf (str, "%s", name);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 5: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 0) { 
                  MATCH_name = "SEG.GS"; 
                  { 
                    char *name = MATCH_name;
                    nextPC = 1 + MATCH_p; 
                    
                    #line 62 "machine/pentium/disassembler.m"
                    

                            sprintf (str, "%s", name);

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 6: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
                  goto MATCH_label_a39;  /*opt-block+*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 4 & 0xf) /* row at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a285; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a287;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a286;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a288; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1189 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ORmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a286;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a287;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a288;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a285; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a281; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a283;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a282;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a284; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1195 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ADDmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a282;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a283;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a284;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a281; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a293; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a295;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a294;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a296; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1117 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ORrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a294;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a295;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a296;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a293; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a289; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a291;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a290;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a292; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1123 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ADDrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a290;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a291;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a292;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a289; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1384 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ORiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1387 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADDiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 4 & 0xf) 
                                        /* row at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* col at 16 */) {
                                          case 0: case 1: case 4: case 5: 
                                          case 6: case 7: 
                                            goto MATCH_label_a39; break;
                                          case 2: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a297; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a299;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a298;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a300; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 790 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "LAR.ow", DIS_REG16, DIS_EADDR16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a298;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a299;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a300;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a297; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 3: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a301; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a303;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a302;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a304; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 754 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "LSLow", DIS_REG16, DIS_EADDR16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a302;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a303;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a304;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a301; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- col at 16 --*/ 
                                      break;
                                    case 1: case 2: case 3: case 4: case 5: 
                                    case 6: case 7: case 8: case 9: case 13: 
                                    case 14: case 15: 
                                      goto MATCH_label_a39; break;
                                    case 10: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* col at 16 */) {
                                          case 0: case 1: case 2: case 6: 
                                            goto MATCH_label_a39; break;
                                          case 3: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a309; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a311;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a310;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a312; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1001 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BTSow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a310;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a311;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a312;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a309; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a305; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a307;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a306;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a308; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1037 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BTow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a306;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a307;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a308;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a305; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 4: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a317; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a319; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a318; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 5: 
                                                          MATCH_w_8_64 = 
                                                            getByte(
                                                                  8 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a320; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      MATCH_w_8_48 = 
                                                        getByte(6 + MATCH_p); 
                                                      { 
                                                        unsigned Eaddr = 
                                                          3 + 
                                                          addressToPC(MATCH_p);
                                                        unsigned count = 
                                                          (MATCH_w_8_48 & 0xff) 
                                                                /* i8 at 48 */;
                                                        unsigned reg = 
                                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                                /* reg_opcode at 24 */;
                                                        nextPC = 7 + MATCH_p; 
                                                        
                                                        #line 170 "machine/pentium/disassembler.m"
                                                        

                                                                sprintf (str,  "SHRD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

                                                        

                                                        
                                                        
                                                        
                                                      }
                                                      
                                                    } /*opt-block*/
                                                    else { 
                                                      MATCH_w_8_40 = 
                                                        getByte(5 + MATCH_p); 
                                                      goto MATCH_label_a318; 
                                                      
                                                    } /*opt-block*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      MATCH_w_8_72 = 
                                                        getByte(9 + MATCH_p); 
                                                      goto MATCH_label_a319; 
                                                      
                                                    } /*opt-block*/
                                                    else { 
                                                      MATCH_w_8_64 = 
                                                        getByte(8 + MATCH_p); 
                                                      goto MATCH_label_a320; 
                                                      
                                                    } /*opt-block*/
                                                    
                                                    break;
                                                  case 3: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a317; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a313; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a315; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a314; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 5: 
                                                          MATCH_w_8_64 = 
                                                            getByte(
                                                                  8 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a316; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      MATCH_w_8_48 = 
                                                        getByte(6 + MATCH_p); 
                                                      { 
                                                        unsigned Eaddr = 
                                                          3 + 
                                                          addressToPC(MATCH_p);
                                                        unsigned count = 
                                                          (MATCH_w_8_48 & 0xff) 
                                                                /* i8 at 48 */;
                                                        unsigned reg = 
                                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                                /* reg_opcode at 24 */;
                                                        nextPC = 7 + MATCH_p; 
                                                        
                                                        #line 164 "machine/pentium/disassembler.m"
                                                        

                                                                sprintf (str,  "SHLD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

                                                        

                                                        
                                                        
                                                        
                                                      }
                                                      
                                                    } /*opt-block*/
                                                    else { 
                                                      MATCH_w_8_40 = 
                                                        getByte(5 + MATCH_p); 
                                                      goto MATCH_label_a314; 
                                                      
                                                    } /*opt-block*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      MATCH_w_8_72 = 
                                                        getByte(9 + MATCH_p); 
                                                      goto MATCH_label_a315; 
                                                      
                                                    } /*opt-block*/
                                                    else { 
                                                      MATCH_w_8_64 = 
                                                        getByte(8 + MATCH_p); 
                                                      goto MATCH_label_a316; 
                                                      
                                                    } /*opt-block*/
                                                    
                                                    break;
                                                  case 3: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a313; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 5: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a325; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a327;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a326;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a328; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 158 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "SHRD.CLow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a326;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a327;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a328;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a325; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a321; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a323;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a322;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a324; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 152 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "SHLD.CLow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a322;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a323;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a324;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a321; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 7: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a329; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a331;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a330;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a332; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 872 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "IMULrmow", DIS_REG16, DIS_EADDR16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a330;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a331;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a332;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a329; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- col at 16 --*/ 
                                      break;
                                    case 11: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* col at 16 */) {
                                          case 0: case 7: 
                                            goto MATCH_label_a39; break;
                                          case 1: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a333; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a335;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a334;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a336; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 944 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "CMPXCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a334;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a335;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a336;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a333; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 2: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* reg_opcode at 24 */) {
                                                  case 0: case 1: case 2: 
                                                  case 3: 
                                                    goto MATCH_label_a39; 
                                                    
                                                    break;
                                                  case 4: 
                                                    
                                                      switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                            /* mod at 24 */) {
                                                        case 0: 
                                                          
                                                            switch((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */) {
                                                              case 0: case 1: 
                                                              case 2: case 3: 
                                                              case 6: case 7: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a337; 
                                                                
                                                                break;
                                                              case 4: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                if ((MATCH_w_8_32 & 0x7) 
                                                                        /* base at 32 */ == 5 && 
                                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ && 
                                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ < 8)) { 
                                                                  MATCH_w_8_72 = 
                                                                    getByte(
                                                                          9 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a339; 
                                                                  
                                                                } /*opt-block*/
                                                                else { 
                                                                  MATCH_w_8_40 = 
                                                                    getByte(
                                                                          5 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a338; 
                                                                  
                                                                } /*opt-block*/
                                                                
                                                                break;
                                                              case 5: 
                                                                MATCH_w_8_64 = 
                                                                  getByte(
                                                                        8 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a340; 
                                                                
                                                                break;
                                                              default: assert(0);
                                                            } /* (MATCH_w_8_24 & 0x7) 
                                                                  -- r_m at 24 --*/ 
                                                          break;
                                                        case 1: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_48 = 
                                                              getByte(
                                                                    6 + 
                                                                    MATCH_p); 
                                                            { 
                                                              unsigned Eaddr = 
                                                                3 + 
                                                                addressToPC(
                                                                            MATCH_p);
                                                              int /* [~128..127] */ i8 = 
                                                                sign_extend(
                                                                            (MATCH_w_8_48 & 0xff) 
                                                                                  /* i8 at 48 */, 
                                                                            8);
                                                              nextPC = 7 + 
                                                              MATCH_p; 
                                                              
                                                              #line 1031 "machine/pentium/disassembler.m"
                                                              

                                                                      sprintf (str,  "BTiow", DIS_EADDR16, DIS_I8);

                                                              

                                                              
                                                              
                                                              
                                                            }
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a338; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 2: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a339; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_64 = 
                                                              getByte(
                                                                    8 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a340; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 3: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a337; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                            -- mod at 24 --*/ 
                                                    break;
                                                  case 5: 
                                                    
                                                      switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                            /* mod at 24 */) {
                                                        case 0: 
                                                          
                                                            switch((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */) {
                                                              case 0: case 1: 
                                                              case 2: case 3: 
                                                              case 6: case 7: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a341; 
                                                                
                                                                break;
                                                              case 4: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                if ((MATCH_w_8_32 & 0x7) 
                                                                        /* base at 32 */ == 5 && 
                                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ && 
                                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ < 8)) { 
                                                                  MATCH_w_8_72 = 
                                                                    getByte(
                                                                          9 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a343; 
                                                                  
                                                                } /*opt-block*/
                                                                else { 
                                                                  MATCH_w_8_40 = 
                                                                    getByte(
                                                                          5 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a342; 
                                                                  
                                                                } /*opt-block*/
                                                                
                                                                break;
                                                              case 5: 
                                                                MATCH_w_8_64 = 
                                                                  getByte(
                                                                        8 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a344; 
                                                                
                                                                break;
                                                              default: assert(0);
                                                            } /* (MATCH_w_8_24 & 0x7) 
                                                                  -- r_m at 24 --*/ 
                                                          break;
                                                        case 1: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_48 = 
                                                              getByte(
                                                                    6 + 
                                                                    MATCH_p); 
                                                            { 
                                                              unsigned Eaddr = 
                                                                3 + 
                                                                addressToPC(
                                                                            MATCH_p);
                                                              int /* [~128..127] */ i8 = 
                                                                sign_extend(
                                                                            (MATCH_w_8_48 & 0xff) 
                                                                                  /* i8 at 48 */, 
                                                                            8);
                                                              nextPC = 7 + 
                                                              MATCH_p; 
                                                              
                                                              #line 995 "machine/pentium/disassembler.m"
                                                              

                                                                      sprintf (str,  "BTSiow", DIS_I8, DIS_EADDR16);

                                                              

                                                              
                                                              
                                                              
                                                            }
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a342; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 2: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a343; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_64 = 
                                                              getByte(
                                                                    8 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a344; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 3: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a341; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                            -- mod at 24 --*/ 
                                                    break;
                                                  case 6: 
                                                    
                                                      switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                            /* mod at 24 */) {
                                                        case 0: 
                                                          
                                                            switch((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */) {
                                                              case 0: case 1: 
                                                              case 2: case 3: 
                                                              case 6: case 7: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a345; 
                                                                
                                                                break;
                                                              case 4: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                if ((MATCH_w_8_32 & 0x7) 
                                                                        /* base at 32 */ == 5 && 
                                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ && 
                                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ < 8)) { 
                                                                  MATCH_w_8_72 = 
                                                                    getByte(
                                                                          9 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a347; 
                                                                  
                                                                } /*opt-block*/
                                                                else { 
                                                                  MATCH_w_8_40 = 
                                                                    getByte(
                                                                          5 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a346; 
                                                                  
                                                                } /*opt-block*/
                                                                
                                                                break;
                                                              case 5: 
                                                                MATCH_w_8_64 = 
                                                                  getByte(
                                                                        8 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a348; 
                                                                
                                                                break;
                                                              default: assert(0);
                                                            } /* (MATCH_w_8_24 & 0x7) 
                                                                  -- r_m at 24 --*/ 
                                                          break;
                                                        case 1: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_48 = 
                                                              getByte(
                                                                    6 + 
                                                                    MATCH_p); 
                                                            { 
                                                              unsigned Eaddr = 
                                                                3 + 
                                                                addressToPC(
                                                                            MATCH_p);
                                                              int /* [~128..127] */ i8 = 
                                                                sign_extend(
                                                                            (MATCH_w_8_48 & 0xff) 
                                                                                  /* i8 at 48 */, 
                                                                            8);
                                                              nextPC = 7 + 
                                                              MATCH_p; 
                                                              
                                                              #line 1007 "machine/pentium/disassembler.m"
                                                              

                                                                      sprintf (str,  "BTRiow", DIS_EADDR16, DIS_I8);

                                                              

                                                              
                                                              
                                                              
                                                            }
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a346; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 2: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a347; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_64 = 
                                                              getByte(
                                                                    8 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a348; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 3: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a345; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                            -- mod at 24 --*/ 
                                                    break;
                                                  case 7: 
                                                    
                                                      switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                            /* mod at 24 */) {
                                                        case 0: 
                                                          
                                                            switch((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */) {
                                                              case 0: case 1: 
                                                              case 2: case 3: 
                                                              case 6: case 7: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a349; 
                                                                
                                                                break;
                                                              case 4: 
                                                                MATCH_w_8_32 = 
                                                                  getByte(
                                                                        4 + 
                                                                        MATCH_p); 
                                                                if ((MATCH_w_8_32 & 0x7) 
                                                                        /* base at 32 */ == 5 && 
                                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ && 
                                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                                        /* index at 32 */ < 8)) { 
                                                                  MATCH_w_8_72 = 
                                                                    getByte(
                                                                          9 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a351; 
                                                                  
                                                                } /*opt-block*/
                                                                else { 
                                                                  MATCH_w_8_40 = 
                                                                    getByte(
                                                                          5 + 
                                                                          MATCH_p); 
                                                                  goto MATCH_label_a350; 
                                                                  
                                                                } /*opt-block*/
                                                                
                                                                break;
                                                              case 5: 
                                                                MATCH_w_8_64 = 
                                                                  getByte(
                                                                        8 + 
                                                                        MATCH_p); 
                                                                goto MATCH_label_a352; 
                                                                
                                                                break;
                                                              default: assert(0);
                                                            } /* (MATCH_w_8_24 & 0x7) 
                                                                  -- r_m at 24 --*/ 
                                                          break;
                                                        case 1: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_48 = 
                                                              getByte(
                                                                    6 + 
                                                                    MATCH_p); 
                                                            { 
                                                              unsigned Eaddr = 
                                                                3 + 
                                                                addressToPC(
                                                                            MATCH_p);
                                                              int /* [~128..127] */ i8 = 
                                                                sign_extend(
                                                                            (MATCH_w_8_48 & 0xff) 
                                                                                  /* i8 at 48 */, 
                                                                            8);
                                                              nextPC = 7 + 
                                                              MATCH_p; 
                                                              
                                                              #line 1019 "machine/pentium/disassembler.m"
                                                              

                                                                      sprintf (str,  "BTCiow", DIS_EADDR16, DIS_I8);

                                                              

                                                              
                                                              
                                                              
                                                            }
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_40 = 
                                                              getByte(
                                                                    5 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a350; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 2: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_24 & 0x7) 
                                                                  /* r_m at 24 */ == 4 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) { 
                                                            MATCH_w_8_72 = 
                                                              getByte(
                                                                    9 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a351; 
                                                            
                                                          } /*opt-block*/
                                                          else { 
                                                            MATCH_w_8_64 = 
                                                              getByte(
                                                                    8 + 
                                                                    MATCH_p); 
                                                            goto MATCH_label_a352; 
                                                            
                                                          } /*opt-block*/
                                                          
                                                          break;
                                                        case 3: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          goto MATCH_label_a349; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                            -- mod at 24 --*/ 
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 3 & 0x7) 
                                                      -- reg_opcode at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            break;
                                          case 3: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a357; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a359;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a358;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a360; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1025 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BTCow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a358;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a359;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a360;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a357; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a353; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a355;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a354;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a356; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1013 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BTRow", DIS_EADDR16, DIS_REG16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a354;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a355;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a356;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a353; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          case 4: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a361; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a363;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a362;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a364; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1052 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BSFow", DIS_REG16, DIS_EADDR16);

                                                      

                                                          // Not "user" instructions:

                                                      //  | BOUNDod(reg, Mem) =>

                                                      //      sprintf (str,  "BOUNDod", DIS_REG32, DIS_MEM);

                                                      

                                                      //  | BOUNDow(reg, Mem) =>

                                                      //      sprintf (str,  "BOUNDow", DIS_REG16, DIS_MEM);

                                                      

                                                      //    | ARPL(Eaddr, reg ) =>

                                                      //        unused(Eaddr); unused(reg);

                                                      //        sprintf (str,  "UNIMP");

                                                      

                                                      //    | AAS() =>

                                                      //        sprintf (str,  "AAS");

                                                      

                                                      //    | AAM() =>

                                                      //        sprintf (str,  "AAM");

                                                      

                                                      //    | AAD() =>

                                                      //        sprintf (str,  "AAD");

                                                      

                                                      //    | AAA() =>

                                                      //        sprintf (str,  "AAA");

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a362;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a363;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a364;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a361; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            break;
                                          case 5: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a365; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a367;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a366;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a368; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned reg = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 1046 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "BSRow", DIS_REG16, DIS_EADDR16);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a366;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a367;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a368;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a365; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else 
                                              goto MATCH_label_a39;  /*opt-block+*/
                                            break;
                                          case 6: 
                                            if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                    /* page at 16 */ == 1) { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a373; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a375;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a374;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a376; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned r16 = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 657 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a374;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a375;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a376;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a373; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              
                                                switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                      /* mod at 24 */) {
                                                  case 0: 
                                                    
                                                      switch((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */) {
                                                        case 0: case 1: 
                                                        case 2: case 3: 
                                                        case 6: case 7: 
                                                          goto MATCH_label_a369; 
                                                          
                                                          break;
                                                        case 4: 
                                                          MATCH_w_8_32 = 
                                                            getByte(
                                                                  4 + 
                                                                  MATCH_p); 
                                                          if ((MATCH_w_8_32 & 0x7) 
                                                                  /* base at 32 */ == 5 && 
                                                            (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ && 
                                                            (MATCH_w_8_32 >> 3 & 0x7) 
                                                                  /* index at 32 */ < 8)) 
                                                            goto MATCH_label_a371;  /*opt-block+*/
                                                          else 
                                                            goto MATCH_label_a370;  /*opt-block+*/
                                                          
                                                          break;
                                                        case 5: 
                                                          goto MATCH_label_a372; 
                                                          
                                                          break;
                                                        default: assert(0);
                                                      } /* (MATCH_w_8_24 & 0x7) 
                                                            -- r_m at 24 --*/ 
                                                    break;
                                                  case 1: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) { 
                                                      unsigned Eaddr = 
                                                        3 + 
                                                        addressToPC(MATCH_p);
                                                      unsigned r16 = 
                                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                                              /* reg_opcode at 24 */;
                                                      nextPC = 6 + MATCH_p; 
                                                      
                                                      #line 648 "machine/pentium/disassembler.m"
                                                      

                                                              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

                                                      

                                                      
                                                      
                                                      
                                                    } /*opt-block*//*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a370;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 2: 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    if ((MATCH_w_8_24 & 0x7) 
                                                            /* r_m at 24 */ == 4 && 
                                                      (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ && 
                                                      (MATCH_w_8_32 >> 3 & 0x7) 
                                                            /* index at 32 */ < 8)) 
                                                      goto MATCH_label_a371;  /*opt-block+*/
                                                    else 
                                                      goto MATCH_label_a372;  /*opt-block+*/
                                                    
                                                    break;
                                                  case 3: 
                                                    goto MATCH_label_a369; 
                                                    
                                                    break;
                                                  default: assert(0);
                                                } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                      -- mod at 24 --*/ 
                                              
                                            } /*opt-block*/
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- col at 16 --*/ 
                                      break;
                                    case 12: 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* col at 16 */ == 1) 
                                        if ((MATCH_w_8_16 >> 3 & 0x1) 
                                                /* page at 16 */ == 1) 
                                          goto MATCH_label_a39;  /*opt-block+*/
                                        else { 
                                          MATCH_w_8_24 = 
                                            getByte(3 + MATCH_p); 
                                          
                                            switch((MATCH_w_8_24 >> 6 & 0x3) 
                                                  /* mod at 24 */) {
                                              case 0: 
                                                
                                                  switch((MATCH_w_8_24 & 0x7) 
                                                        /* r_m at 24 */) {
                                                    case 0: case 1: case 2: 
                                                    case 3: case 6: case 7: 
                                                      goto MATCH_label_a377; 
                                                      
                                                      break;
                                                    case 4: 
                                                      MATCH_w_8_32 = 
                                                        getByte(4 + MATCH_p); 
                                                      if ((MATCH_w_8_32 & 0x7) 
                                                              /* base at 32 */ == 5 && 
                                                        (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                              /* index at 32 */ && 
                                                        (MATCH_w_8_32 >> 3 & 0x7) 
                                                              /* index at 32 */ < 8)) 
                                                        goto MATCH_label_a379;  /*opt-block+*/
                                                      else 
                                                        goto MATCH_label_a378;  /*opt-block+*/
                                                      
                                                      break;
                                                    case 5: 
                                                      goto MATCH_label_a380; 
                                                      
                                                      break;
                                                    default: assert(0);
                                                  } /* (MATCH_w_8_24 & 0x7) 
                                                        -- r_m at 24 --*/ 
                                                break;
                                              case 1: 
                                                MATCH_w_8_32 = 
                                                  getByte(4 + MATCH_p); 
                                                if ((MATCH_w_8_24 & 0x7) 
                                                        /* r_m at 24 */ == 4 && 
                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                        /* index at 32 */ && 
                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                        /* index at 32 */ < 8)) { 
                                                  unsigned Eaddr = 
                                                    3 + addressToPC(MATCH_p);
                                                  unsigned reg = 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* reg_opcode at 24 */;
                                                  nextPC = 6 + MATCH_p; 
                                                  
                                                  #line 74 "machine/pentium/disassembler.m"
                                                  

                                                          sprintf (str,  "XADD.Ev.Gvow", DIS_EADDR16, DIS_REG16);

                                                  

                                                  
                                                  
                                                  
                                                } /*opt-block*//*opt-block+*/
                                                else 
                                                  goto MATCH_label_a378;  /*opt-block+*/
                                                
                                                break;
                                              case 2: 
                                                MATCH_w_8_32 = 
                                                  getByte(4 + MATCH_p); 
                                                if ((MATCH_w_8_24 & 0x7) 
                                                        /* r_m at 24 */ == 4 && 
                                                  (0 <= (MATCH_w_8_32 >> 3 & 0x7) 
                                                        /* index at 32 */ && 
                                                  (MATCH_w_8_32 >> 3 & 0x7) 
                                                        /* index at 32 */ < 8)) 
                                                  goto MATCH_label_a379;  /*opt-block+*/
                                                else 
                                                  goto MATCH_label_a380;  /*opt-block+*/
                                                
                                                break;
                                              case 3: 
                                                goto MATCH_label_a377; break;
                                              default: assert(0);
                                            } /* (MATCH_w_8_24 >> 6 & 0x3) 
                                                  -- mod at 24 --*/ 
                                          
                                        } /*opt-block*/ 
                                      else 
                                        goto MATCH_label_a39;  /*opt-block+*/
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 4 & 0xf) 
                                        -- row at 16 --*/ 
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a385; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a387;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a386;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a388; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1177 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SBBmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a386;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a387;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a388;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a385; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a381; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a383;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a382;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a384; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1183 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ADCmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a382;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a383;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a384;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a381; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a393; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a395;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a394;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a396; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1105 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SBBrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a394;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a395;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a396;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a393; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a389; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a391;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a390;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a392; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1111 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ADCrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a390;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a391;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a392;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a389; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1378 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SBBiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1381 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADCiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a401; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a403;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a402;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a404; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1165 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SUBmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a402;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a403;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a404;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a401; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a397; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a399;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a398;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a400; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1171 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ANDmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a398;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a399;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a400;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a397; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a409; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a411;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a410;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a412; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1093 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "SUBrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a410;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a411;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a412;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a409; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a405; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a407;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a406;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a408; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1099 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "ANDrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a406;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a407;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a408;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a405; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1372 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SUBiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1375 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ANDiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a417; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a419;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a418;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a420; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1153 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "CMPmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a418;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a419;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a420;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a417; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a413; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a415;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a414;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a416; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1159 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "XORmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a414;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a415;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a416;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a413; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a425; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a427;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a426;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a428; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1081 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "CMPrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a426;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a427;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a428;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a425; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a421; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a423;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a422;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a424; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 1087 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "XORrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a422;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a423;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a424;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a421; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1366 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "CMPiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 1369 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "XORiAX", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 4: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 911 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "DECow", DIS_R32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 827 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "INCow", DIS_R32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        
                        break;
                      case 5: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 579 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "POPow", DIS_R32);   // Check!

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 540 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "PUSHow", DIS_R32);  // Check!

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        
                        break;
                      case 6: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) 
                          
                            switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                              case 0: 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  int /* [~32768..32767] */ i16 = 
                                    sign_extend(
                                                (MATCH_w_16_16 & 0xffff) 
                                                      /* i16 at 16 */, 16);
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 528 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "PUSH.Ivow", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                                break;
                              case 1: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a429; 
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a431; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a430; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 5: 
                                            MATCH_w_16_56 = 
                                              getWord(7 + MATCH_p); 
                                            goto MATCH_label_a432; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_16_40 = getWord(5 + MATCH_p); 
                                        { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          int /* [~32768..32767] */ i16 = 
                                            sign_extend(
                                                        (MATCH_w_16_40 & 0xffff) 
                                                              /* i16 at 40 */, 
                                                        16);
                                          unsigned reg = 
                                            (MATCH_w_8_16 >> 3 & 0x7) 
                                                  /* reg_opcode at 16 */;
                                          nextPC = 7 + MATCH_p; 
                                          
                                          #line 860 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "IMUL.Ivw", DIS_REG16, DIS_EADDR16, DIS_I16);

                                          

                                          
                                          
                                          
                                        }
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_16_32 = getWord(4 + MATCH_p); 
                                        goto MATCH_label_a430; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_16_64 = getWord(8 + MATCH_p); 
                                        goto MATCH_label_a431; 
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_16_56 = getWord(7 + MATCH_p); 
                                        goto MATCH_label_a432; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 3: 
                                      MATCH_w_16_24 = getWord(3 + MATCH_p); 
                                      goto MATCH_label_a429; 
                                      
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 2: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                { 
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_16 & 0xff) 
                                                      /* i8 at 16 */, 8);
                                  nextPC = 3 + MATCH_p; 
                                  
                                  #line 534 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "PUSH.Ixow", DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                                break;
                              case 3: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a433; 
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a435; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a434; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 5: 
                                            MATCH_w_8_56 = 
                                              getByte(7 + MATCH_p); 
                                            goto MATCH_label_a436; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_40 = getByte(5 + MATCH_p); 
                                        { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          int /* [~128..127] */ i8 = 
                                            sign_extend(
                                                        (MATCH_w_8_40 & 0xff) 
                                                              /* i8 at 40 */, 
                                                        8);
                                          unsigned reg = 
                                            (MATCH_w_8_16 >> 3 & 0x7) 
                                                  /* reg_opcode at 16 */;
                                          nextPC = 6 + MATCH_p; 
                                          
                                          #line 866 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "IMUL.Ibow", DIS_REG16, DIS_EADDR16, DIS_I8);

                                          

                                          
                                          
                                          
                                        }
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                        goto MATCH_label_a434; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        MATCH_w_8_64 = getByte(8 + MATCH_p); 
                                        goto MATCH_label_a435; 
                                        
                                      } /*opt-block*/
                                      else { 
                                        MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                        goto MATCH_label_a436; 
                                        
                                      } /*opt-block*/
                                      
                                      break;
                                    case 3: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a433; 
                                      
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                                break;
                              case 4: case 5: case 6: case 7: 
                                goto MATCH_label_a39; break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/  
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        break;
                      case 7: case 14: 
                        goto MATCH_label_a39; break;
                      case 8: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a469; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a471;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a470;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a472; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 739 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVmrow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a470;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a471;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a472;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a469; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a437; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a439; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a438; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a440; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1315 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ADDiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a438; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a439; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a440; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a437; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a441; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a443; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a442; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a444; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1312 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ORiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a442; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a443; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a444; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a441; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a445; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a447; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a446; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a448; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1309 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ADCiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a446; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a447; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a448; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a445; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a449; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a451; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a450; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a452; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1306 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SBBiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a450; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a451; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a452; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a449; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a453; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a455; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a454; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a456; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1303 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ANDiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a454; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a455; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a456; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a453; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a457; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a459; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a458; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a460; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1300 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SUBiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a458; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a459; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a460; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a457; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a461; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a463; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a462; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a464; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1297 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "XORiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a462; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a463; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a464; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a461; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_16_24 = 
                                                    getWord(3 + MATCH_p); 
                                                  goto MATCH_label_a465; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_16_64 = 
                                                      getWord(8 + MATCH_p); 
                                                    goto MATCH_label_a467; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_16_32 = 
                                                      getWord(4 + MATCH_p); 
                                                    goto MATCH_label_a466; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_16_56 = 
                                                    getWord(7 + MATCH_p); 
                                                  goto MATCH_label_a468; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_40 = 
                                                getWord(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~32768..32767] */ i16 = 
                                                  sign_extend(
                                                              (MATCH_w_16_40 & 0xffff) 
                                                                    /* i16 at 40 */, 
                                                              16);
                                                nextPC = 7 + MATCH_p; 
                                                
                                                #line 1294 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "CMPiw", DIS_EADDR16, DIS_I16);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_32 = 
                                                getWord(4 + MATCH_p); 
                                              goto MATCH_label_a466; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_16_64 = 
                                                getWord(8 + MATCH_p); 
                                              goto MATCH_label_a467; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a468; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_16_24 = 
                                              getWord(3 + MATCH_p); 
                                            goto MATCH_label_a465; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a505; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a507;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a506;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a508; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 730 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "MOVrmow", DIS_REG16, DIS_EADDR16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a506;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a507;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a508;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a505; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a473; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a475; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a474; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a476; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1267 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ADDiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a474; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a475; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a476; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a473; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a477; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a479; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a478; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a480; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1261 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ORiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a478; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a479; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a480; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a477; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a481; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a483; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a482; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a484; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1255 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ADCiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a482; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a483; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a484; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a481; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a485; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a487; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a486; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a488; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1249 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SBBiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a486; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a487; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a488; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a485; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a489; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a491; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a490; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a492; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1243 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ANDiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a490; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a491; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a492; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a489; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a493; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a495; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a494; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a496; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1237 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SUBiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a494; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a495; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a496; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a493; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a497; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a499; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a498; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a500; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1231 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "XORiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a498; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a499; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a500; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a497; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a501; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a503; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a502; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a504; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 1225 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "CMPiowb", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a502; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a503; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a504; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a501; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            { 
                                              unsigned Mem = 
                                                2 + addressToPC(MATCH_p);
                                              unsigned reg = 
                                                (MATCH_w_8_16 >> 3 & 0x7) 
                                                      /* reg_opcode at 16 */;
                                              nextPC = 3 + MATCH_p; 
                                              
                                              #line 781 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "LEA.ow", DIS_REG16, DIS_MEM);

                                              

                                              
                                              
                                              
                                            }
                                            
                                            break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a514;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a513;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a515; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Mem = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 781 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "LEA.ow", DIS_REG16, DIS_MEM);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a513;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a514;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a515;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a39; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a509; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a511;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a510;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a512; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 98 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  "TEST.Ev.Gvow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a510;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a511;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a512;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a509; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */ == 0) 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              { 
                                                unsigned Mem = 
                                                  2 + addressToPC(MATCH_p);
                                                nextPC = 3 + MATCH_p; 
                                                
                                                #line 585 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "POP.Evow", DIS_MEM);

                                                

                                                //    | OUTSvod() =>

                                                //        sprintf (str,  "OUTSvod");

                                                

                                                //    | OUTSvow() =>

                                                //        sprintf (str,  "OUTSvow");

                                                

                                                //    | OUTSB() =>

                                                //        sprintf (str,  "OUTSB");

                                                

                                                //    | OUT.DX.eAXod() =>

                                                //        sprintf (str,  "OUT.DX.eAXod");

                                                

                                                //    | OUT.DX.eAXow() =>

                                                //        sprintf (str,  "OUT.DX.eAXow");

                                                

                                                //    | OUT.DX.AL() =>

                                                //        sprintf (str,  "OUT.DX.AL");

                                                

                                                //    | OUT.Ib.eAXod(i8) =>

                                                //        sprintf (str,  "OUT.Ib.eAXod", DIS_I8);

                                                

                                                //    | OUT.Ib.eAXow(i8) =>

                                                //        sprintf (str,  "OUT.Ib.eAXow", DIS_I8);

                                                

                                                //    | OUT.Ib.AL(i8) =>

                                                //        sprintf (str,  "OUT.Ib.AL", DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                              break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a521;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a520;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a522; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Mem = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 585 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "POP.Evow", DIS_MEM);

                                          

                                          //    | OUTSvod() =>

                                          //        sprintf (str,  "OUTSvod");

                                          

                                          //    | OUTSvow() =>

                                          //        sprintf (str,  "OUTSvow");

                                          

                                          //    | OUTSB() =>

                                          //        sprintf (str,  "OUTSB");

                                          

                                          //    | OUT.DX.eAXod() =>

                                          //        sprintf (str,  "OUT.DX.eAXod");

                                          

                                          //    | OUT.DX.eAXow() =>

                                          //        sprintf (str,  "OUT.DX.eAXow");

                                          

                                          //    | OUT.DX.AL() =>

                                          //        sprintf (str,  "OUT.DX.AL");

                                          

                                          //    | OUT.Ib.eAXod(i8) =>

                                          //        sprintf (str,  "OUT.Ib.eAXod", DIS_I8);

                                          

                                          //    | OUT.Ib.eAXow(i8) =>

                                          //        sprintf (str,  "OUT.Ib.eAXow", DIS_I8);

                                          

                                          //    | OUT.Ib.AL(i8) =>

                                          //        sprintf (str,  "OUT.Ib.AL", DIS_I8);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a520;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a521;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a522;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a39; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/  
                                else 
                                  goto MATCH_label_a39;  /*opt-block+*/
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 6 & 0x3) 
                                        /* mod at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */) {
                                          case 0: case 1: case 2: case 3: 
                                          case 6: case 7: 
                                            goto MATCH_label_a516; break;
                                          case 4: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_24 & 0x7) 
                                                    /* base at 24 */ == 5 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a518;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a517;  /*opt-block+*/
                                            
                                            break;
                                          case 5: 
                                            goto MATCH_label_a519; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 & 0x7) 
                                              -- r_m at 16 --*/ 
                                      break;
                                    case 1: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) { 
                                        unsigned Eaddr = 
                                          2 + addressToPC(MATCH_p);
                                        unsigned reg = 
                                          (MATCH_w_8_16 >> 3 & 0x7) 
                                                /* reg_opcode at 16 */;
                                        nextPC = 5 + MATCH_p; 
                                        
                                        #line 50 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str, "%s %s,%s", "XCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

                                        

                                        
                                        
                                        
                                      } /*opt-block*//*opt-block+*/
                                      else 
                                        goto MATCH_label_a517;  /*opt-block+*/
                                      
                                      break;
                                    case 2: 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      if ((MATCH_w_8_16 & 0x7) 
                                              /* r_m at 16 */ == 4 && 
                                        (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ && 
                                        (MATCH_w_8_24 >> 3 & 0x7) 
                                              /* index at 24 */ < 8)) 
                                        goto MATCH_label_a518;  /*opt-block+*/
                                      else 
                                        goto MATCH_label_a519;  /*opt-block+*/
                                      
                                      break;
                                    case 3: 
                                      goto MATCH_label_a516; break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                        -- mod at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 9: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) 
                          
                            switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                              case 0: 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 977 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CBW");

                                

                                    /* Decode the following as a NOP. We see these in startup code, and anywhere

                                        that calls the OS (as lcall 7, 0) */

                                
                                
                                
                                
                                break;
                              case 1: 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 932 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CWD");

                                

                                
                                
                                
                                
                                break;
                              case 2: case 3: case 6: case 7: 
                                goto MATCH_label_a39; break;
                              case 4: 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 498 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "PUSHFow");

                                

                                //    | PUSHAod() =>

                                //        sprintf (str,  "PUSHAod");

                                

                                //    | PUSHAow() =>

                                //        sprintf (str,  "PUSHAow");

                                

                                
                                
                                
                                
                                break;
                              case 5: 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 552 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "POPFow");

                                

                                //    | POPAod() =>

                                //        sprintf (str,  "POPAod");

                                

                                //    | POPAow() =>

                                //        sprintf (str,  "POPAow");

                                

                                
                                
                                
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/  
                        else { 
                          unsigned r32 = (MATCH_w_8_8 & 0x7) /* r32 at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 68 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "XCHGeAXow", DIS_R32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        break;
                      case 10: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 6: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_w_16_16 = getWord(2 + MATCH_p); 
                                { 
                                  unsigned i16 = 
                                    (MATCH_w_16_16 & 0xffff) /* i16 at 16 */;
                                  nextPC = 4 + MATCH_p; 
                                  
                                  #line 116 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "TEST.eAX.Ivow", DIS_I16);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                { 
                                  unsigned off = 
                                    MATCH_w_32_16 /* i32 at 16 */;
                                  nextPC = 6 + MATCH_p; 
                                  
                                  #line 715 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "MOV.eAX.Ovow", DIS_OFF);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 128 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "STOSvow");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                { 
                                  unsigned off = 
                                    MATCH_w_32_16 /* i32 at 16 */;
                                  nextPC = 6 + MATCH_p; 
                                  
                                  #line 706 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "MOV.Ov.eAXow", DIS_OFF);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1417 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "LODSvow");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 663 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "MOVSvow");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 183 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SCASvow");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 953 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CMPSvow");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 11: 
                        if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) { 
                          MATCH_w_16_16 = getWord(2 + MATCH_p); 
                          { 
                            int /* [~32768..32767] */ i16 = 
                              sign_extend(
                                          (MATCH_w_16_16 & 0xffff) 
                                                /* i16 at 16 */, 16);
                            unsigned r16 = (MATCH_w_8_8 & 0x7) /* r16 at 8 */;
                            nextPC = 4 + MATCH_p; 
                            
                            #line 697 "machine/pentium/disassembler.m"
                            

                                    sprintf (str,  "MOViw", DIS_R16, DIS_I16);  // Check!

                            

                            
                            
                            
                          }
                          
                        } /*opt-block*/
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        
                        break;
                      case 12: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 3: case 4: case 5: case 6: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a523; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a525; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a524; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a526; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 345 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "ROLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a524; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a525; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a526; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a523; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a527; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a529; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a528; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a530; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 339 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "RORB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a528; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a529; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a530; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a527; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a531; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a533; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a532; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a534; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 333 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "RCLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a532; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a533; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a534; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a531; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a535; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a537; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a536; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a538; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 327 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "RCRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a536; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a537; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a538; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a535; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a539; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a541; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a540; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a542; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 321 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SHLSALB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a540; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a541; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a542; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a539; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a543; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a545; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a544; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a546; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 315 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SHRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a544; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a545; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a546; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a543; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      goto MATCH_label_a39; break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  goto MATCH_label_a547; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) { 
                                                    MATCH_w_8_64 = 
                                                      getByte(8 + MATCH_p); 
                                                    goto MATCH_label_a549; 
                                                    
                                                  } /*opt-block*/
                                                  else { 
                                                    MATCH_w_8_32 = 
                                                      getByte(4 + MATCH_p); 
                                                    goto MATCH_label_a548; 
                                                    
                                                  } /*opt-block*/
                                                  
                                                  break;
                                                case 5: 
                                                  MATCH_w_8_56 = 
                                                    getByte(7 + MATCH_p); 
                                                  goto MATCH_label_a550; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_40 = 
                                                getByte(5 + MATCH_p); 
                                              { 
                                                unsigned Eaddr = 
                                                  2 + addressToPC(MATCH_p);
                                                int /* [~128..127] */ i8 = 
                                                  sign_extend(
                                                              (MATCH_w_8_40 & 0xff) 
                                                                    /* i8 at 40 */, 
                                                              8);
                                                nextPC = 6 + MATCH_p; 
                                                
                                                #line 309 "machine/pentium/disassembler.m"
                                                

                                                        sprintf (str,  "SARB.Ev.Ibow", DIS_EADDR16, DIS_I8);

                                                

                                                
                                                
                                                
                                              }
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_32 = 
                                                getByte(4 + MATCH_p); 
                                              goto MATCH_label_a548; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              MATCH_w_8_64 = 
                                                getByte(8 + MATCH_p); 
                                              goto MATCH_label_a549; 
                                              
                                            } /*opt-block*/
                                            else { 
                                              MATCH_w_8_56 = 
                                                getByte(7 + MATCH_p); 
                                              goto MATCH_label_a550; 
                                              
                                            } /*opt-block*/
                                            
                                            break;
                                          case 3: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            goto MATCH_label_a547; 
                                            
                                            break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */ == 0) 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              MATCH_w_16_24 = 
                                                getWord(3 + MATCH_p); 
                                              goto MATCH_label_a551; 
                                              
                                              break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) { 
                                                MATCH_w_16_64 = 
                                                  getWord(8 + MATCH_p); 
                                                goto MATCH_label_a553; 
                                                
                                              } /*opt-block*/
                                              else { 
                                                MATCH_w_16_32 = 
                                                  getWord(4 + MATCH_p); 
                                                goto MATCH_label_a552; 
                                                
                                              } /*opt-block*/
                                              
                                              break;
                                            case 5: 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a554; 
                                              
                                              break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          MATCH_w_16_40 = 
                                            getWord(5 + MATCH_p); 
                                          { 
                                            unsigned Eaddr = 
                                              2 + addressToPC(MATCH_p);
                                            int /* [~32768..32767] */ i16 = 
                                              sign_extend(
                                                          (MATCH_w_16_40 & 0xffff) 
                                                                /* i16 at 40 */, 
                                                          16);
                                            nextPC = 7 + MATCH_p; 
                                            
                                            #line 688 "machine/pentium/disassembler.m"
                                            

                                                    sprintf (str,  "MOV.Eb.Ivow", DIS_EADDR16, DIS_I16);

                                            

                                            
                                            
                                            
                                          }
                                          
                                        } /*opt-block*/
                                        else { 
                                          MATCH_w_16_32 = 
                                            getWord(4 + MATCH_p); 
                                          goto MATCH_label_a552; 
                                          
                                        } /*opt-block*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          MATCH_w_16_64 = 
                                            getWord(8 + MATCH_p); 
                                          goto MATCH_label_a553; 
                                          
                                        } /*opt-block*/
                                        else { 
                                          MATCH_w_16_56 = 
                                            getWord(7 + MATCH_p); 
                                          goto MATCH_label_a554; 
                                          
                                        } /*opt-block*/
                                        
                                        break;
                                      case 3: 
                                        MATCH_w_16_24 = getWord(3 + MATCH_p); 
                                        goto MATCH_label_a551; 
                                        
                                        break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/  
                                else 
                                  goto MATCH_label_a39;  /*opt-block+*/
                                
                              } /*opt-block*/
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 13: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 2: case 4: case 5: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 1: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a555; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a557;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a556;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a558; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 450 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "ROLB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a556;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a557;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a558;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a555; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a559; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a561;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a560;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a562; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 438 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "ORB.Ev.1owR", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a560;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a561;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a562;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a559; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a563; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a565;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a564;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a566; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 426 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "RCLB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a564;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a565;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a566;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a563; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a567; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a569;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a568;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a570; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 414 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "RCRB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a568;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a569;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a570;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a567; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a571; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a573;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a572;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a574; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 402 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SHLSALB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a572;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a573;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a574;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a571; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a575; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a577;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a576;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a578; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 390 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SHRB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a576;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a577;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a578;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a575; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      goto MATCH_label_a39; break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a579; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a581;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a580;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a582; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 378 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SARB.Ev.1ow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a580;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a581;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a582;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a579; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) 
                                goto MATCH_label_a39;  /*opt-block+*/
                              else { 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                
                                  switch((MATCH_w_8_16 >> 3 & 0x7) 
                                        /* reg_opcode at 16 */) {
                                    case 0: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a583; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a585;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a584;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a586; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 444 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "ROLB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a584;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a585;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a586;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a583; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 1: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a587; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a589;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a588;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a590; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 432 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "RORB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a588;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a589;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a590;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a587; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 2: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a591; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a593;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a592;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a594; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 420 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "RCLB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a592;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a593;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a594;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a591; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 3: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a595; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a597;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a596;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a598; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 408 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "RCRB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a596;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a597;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a598;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a595; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 4: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a599; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a601;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a600;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a602; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 396 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SHLSALB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a600;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a601;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a602;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a599; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 5: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a603; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a605;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a604;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a606; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 384 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SHRB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a604;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a605;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a606;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a603; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    case 6: 
                                      goto MATCH_label_a39; break;
                                    case 7: 
                                      
                                        switch((MATCH_w_8_16 >> 6 & 0x3) 
                                              /* mod at 16 */) {
                                          case 0: 
                                            
                                              switch((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */) {
                                                case 0: case 1: case 2: 
                                                case 3: case 6: case 7: 
                                                  goto MATCH_label_a607; 
                                                  
                                                  break;
                                                case 4: 
                                                  MATCH_w_8_24 = 
                                                    getByte(3 + MATCH_p); 
                                                  if ((MATCH_w_8_24 & 0x7) 
                                                          /* base at 24 */ == 5 && 
                                                    (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ && 
                                                    (MATCH_w_8_24 >> 3 & 0x7) 
                                                          /* index at 24 */ < 8)) 
                                                    goto MATCH_label_a609;  /*opt-block+*/
                                                  else 
                                                    goto MATCH_label_a608;  /*opt-block+*/
                                                  
                                                  break;
                                                case 5: 
                                                  goto MATCH_label_a610; 
                                                  
                                                  break;
                                                default: assert(0);
                                              } /* (MATCH_w_8_16 & 0x7) 
                                                    -- r_m at 16 --*/ 
                                            break;
                                          case 1: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) { 
                                              unsigned Eaddr = 
                                                2 + addressToPC(MATCH_p);
                                              nextPC = 5 + MATCH_p; 
                                              
                                              #line 372 "machine/pentium/disassembler.m"
                                              

                                                      sprintf (str,  "SARB.Ev.CLow", DIS_EADDR16);

                                              

                                              
                                              
                                              
                                            } /*opt-block*//*opt-block+*/
                                            else 
                                              goto MATCH_label_a608;  /*opt-block+*/
                                            
                                            break;
                                          case 2: 
                                            MATCH_w_8_24 = 
                                              getByte(3 + MATCH_p); 
                                            if ((MATCH_w_8_16 & 0x7) 
                                                    /* r_m at 16 */ == 4 && 
                                              (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ && 
                                              (MATCH_w_8_24 >> 3 & 0x7) 
                                                    /* index at 24 */ < 8)) 
                                              goto MATCH_label_a609;  /*opt-block+*/
                                            else 
                                              goto MATCH_label_a610;  /*opt-block+*/
                                            
                                            break;
                                          case 3: 
                                            goto MATCH_label_a607; break;
                                          default: assert(0);
                                        } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                              -- mod at 16 --*/ 
                                      break;
                                    default: assert(0);
                                  } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                        -- reg_opcode at 16 --*/ 
                                
                              } /*opt-block*/
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      case 15: 
                        if ((MATCH_w_8_8 & 0x7) /* col at 8 */ == 7) 
                          if ((MATCH_w_8_8 >> 3 & 0x1) 
                                  /* page at 8 */ == 1) { 
                            MATCH_w_8_16 = getByte(2 + MATCH_p); 
                            
                              switch((MATCH_w_8_16 >> 3 & 0x7) 
                                    /* reg_opcode at 16 */) {
                                case 0: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a639; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a641;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a640;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a642; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 833 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "INC.Evow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a640;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a641;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a642;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a639; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 1: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a643; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a645;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a644;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a646; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 917 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "DEC.Evow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a644;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a645;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a646;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a643; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 2: case 3: case 4: case 5: case 7: 
                                  goto MATCH_label_a39; break;
                                case 6: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a647; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a649;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a648;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a650; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 546 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "PUSH.Evow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a648;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a649;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a650;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a647; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                default: assert(0);
                              } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                    -- reg_opcode at 16 --*/ 
                            
                          } /*opt-block*/
                          else { 
                            MATCH_w_8_16 = getByte(2 + MATCH_p); 
                            
                              switch((MATCH_w_8_16 >> 3 & 0x7) 
                                    /* reg_opcode at 16 */) {
                                case 0: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              MATCH_w_16_24 = 
                                                getWord(3 + MATCH_p); 
                                              goto MATCH_label_a611; 
                                              
                                              break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) { 
                                                MATCH_w_16_64 = 
                                                  getWord(8 + MATCH_p); 
                                                goto MATCH_label_a613; 
                                                
                                              } /*opt-block*/
                                              else { 
                                                MATCH_w_16_32 = 
                                                  getWord(4 + MATCH_p); 
                                                goto MATCH_label_a612; 
                                                
                                              } /*opt-block*/
                                              
                                              break;
                                            case 5: 
                                              MATCH_w_16_56 = 
                                                getWord(7 + MATCH_p); 
                                              goto MATCH_label_a614; 
                                              
                                              break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          MATCH_w_16_40 = 
                                            getWord(5 + MATCH_p); 
                                          { 
                                            unsigned Eaddr = 
                                              2 + addressToPC(MATCH_p);
                                            unsigned i16 = 
                                              (MATCH_w_16_40 & 0xffff) 
                                                    /* i16 at 40 */;
                                            nextPC = 7 + MATCH_p; 
                                            
                                            #line 107 "machine/pentium/disassembler.m"
                                            

                                                    sprintf (str,  "TEST.Ew.Iw", DIS_EADDR16, DIS_I16);

                                            

                                            
                                            
                                            
                                          }
                                          
                                        } /*opt-block*/
                                        else { 
                                          MATCH_w_16_32 = 
                                            getWord(4 + MATCH_p); 
                                          goto MATCH_label_a612; 
                                          
                                        } /*opt-block*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          MATCH_w_16_64 = 
                                            getWord(8 + MATCH_p); 
                                          goto MATCH_label_a613; 
                                          
                                        } /*opt-block*/
                                        else { 
                                          MATCH_w_16_56 = 
                                            getWord(7 + MATCH_p); 
                                          goto MATCH_label_a614; 
                                          
                                        } /*opt-block*/
                                        
                                        break;
                                      case 3: 
                                        MATCH_w_16_24 = getWord(3 + MATCH_p); 
                                        goto MATCH_label_a611; 
                                        
                                        break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 1: 
                                  goto MATCH_label_a39; break;
                                case 2: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a615; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a617;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a616;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a618; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 618 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "NOTow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a616;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a617;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a618;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a615; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 3: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a619; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a621;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a620;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a622; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 627 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "NEGow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a620;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a621;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a622;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a619; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 4: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a623; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a625;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a624;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a626; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 636 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "MUL.AXow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a624;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a625;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a626;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a623; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 5: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a627; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a629;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a628;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a630; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 878 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "IMULow", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a628;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a629;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a630;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a627; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 6: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a631; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a633;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a632;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a634; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 902 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "DIVAX", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a632;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a633;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a634;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a631; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                case 7: 
                                  
                                    switch((MATCH_w_8_16 >> 6 & 0x3) 
                                          /* mod at 16 */) {
                                      case 0: 
                                        
                                          switch((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */) {
                                            case 0: case 1: case 2: case 3: 
                                            case 6: case 7: 
                                              goto MATCH_label_a635; break;
                                            case 4: 
                                              MATCH_w_8_24 = 
                                                getByte(3 + MATCH_p); 
                                              if ((MATCH_w_8_24 & 0x7) 
                                                      /* base at 24 */ == 5 && 
                                                (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ && 
                                                (MATCH_w_8_24 >> 3 & 0x7) 
                                                      /* index at 24 */ < 8)) 
                                                goto MATCH_label_a637;  /*opt-block+*/
                                              else 
                                                goto MATCH_label_a636;  /*opt-block+*/
                                              
                                              break;
                                            case 5: 
                                              goto MATCH_label_a638; break;
                                            default: assert(0);
                                          } /* (MATCH_w_8_16 & 0x7) 
                                                -- r_m at 16 --*/ 
                                        break;
                                      case 1: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) { 
                                          unsigned Eaddr = 
                                            2 + addressToPC(MATCH_p);
                                          nextPC = 5 + MATCH_p; 
                                          
                                          #line 887 "machine/pentium/disassembler.m"
                                          

                                                  sprintf (str,  "IDIVAX", DIS_EADDR16);

                                          

                                          
                                          
                                          
                                        } /*opt-block*//*opt-block+*/
                                        else 
                                          goto MATCH_label_a636;  /*opt-block+*/
                                        
                                        break;
                                      case 2: 
                                        MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                        if ((MATCH_w_8_16 & 0x7) 
                                                /* r_m at 16 */ == 4 && 
                                          (0 <= (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ && 
                                          (MATCH_w_8_24 >> 3 & 0x7) 
                                                /* index at 24 */ < 8)) 
                                          goto MATCH_label_a637;  /*opt-block+*/
                                        else 
                                          goto MATCH_label_a638;  /*opt-block+*/
                                        
                                        break;
                                      case 3: 
                                        goto MATCH_label_a635; break;
                                      default: assert(0);
                                    } /* (MATCH_w_8_16 >> 6 & 0x3) 
                                          -- mod at 16 --*/ 
                                  break;
                                default: assert(0);
                              } /* (MATCH_w_8_16 >> 3 & 0x7) 
                                    -- reg_opcode at 16 --*/ 
                            
                          } /*opt-block*/ 
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 4 & 0xf) -- row at 8 --*/ 
                  
                } /*opt-block*/
                break;
              case 7: 
                goto MATCH_label_a39; break;
              default: assert(0);
            } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/ 
          break;
        case 7: 
          goto MATCH_label_a39; break;
        case 8: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a763; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a765;  /*opt-block+*/
                              else 
                                goto MATCH_label_a764;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a766; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 742 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "MOVmrb", DIS_EADDR8, DIS_REG8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a764;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a765;  /*opt-block+*/
                        else 
                          goto MATCH_label_a766;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a763; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a767; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a769;  /*opt-block+*/
                              else 
                                goto MATCH_label_a768;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a770; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 736 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "MOVmrod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a768;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a769;  /*opt-block+*/
                        else 
                          goto MATCH_label_a770;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a767; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a771; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a773;  /*opt-block+*/
                              else 
                                goto MATCH_label_a772;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a774; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 733 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "MOVrmb", DIS_REG8, DIS_EADDR8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a772;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a773;  /*opt-block+*/
                        else 
                          goto MATCH_label_a774;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a771; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a775; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a777;  /*opt-block+*/
                              else 
                                goto MATCH_label_a776;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a778; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 727 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "MOVrmod", DIS_REG32, DIS_EADDR32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a776;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a777;  /*opt-block+*/
                        else 
                          goto MATCH_label_a778;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a775; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 4: case 6: 
                  goto MATCH_label_a39; break;
                case 5: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                unsigned reg = 
                                  (MATCH_w_8_8 >> 3 & 0x7) 
                                        /* reg_opcode at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 778 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "LEA.od", DIS_REG32, DIS_MEM);

                                

                                
                                
                                
                              }
                              
                              break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a780;  /*opt-block+*/
                              else 
                                goto MATCH_label_a779;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a781; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Mem = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 778 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "LEA.od", DIS_REG32, DIS_MEM);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a779;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a780;  /*opt-block+*/
                        else 
                          goto MATCH_label_a781;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a39; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  if ((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */ == 0) 
                    
                      switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                        case 0: 
                          
                            switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                              case 0: case 1: case 2: case 3: case 6: case 7: 
                                { 
                                  unsigned Mem = 1 + addressToPC(MATCH_p);
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 582 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "POP.Evod", DIS_MEM);

                                  

                                  
                                  
                                  
                                }
                                
                                break;
                              case 4: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 & 0x7) 
                                        /* base at 16 */ == 5 && 
                                  (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ && 
                                  (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ < 8)) 
                                  goto MATCH_label_a783;  /*opt-block+*/
                                else 
                                  goto MATCH_label_a782;  /*opt-block+*/
                                
                                break;
                              case 5: 
                                goto MATCH_label_a784; break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                          break;
                        case 1: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ < 8)) { 
                            unsigned Mem = 1 + addressToPC(MATCH_p);
                            nextPC = 4 + MATCH_p; 
                            
                            #line 582 "machine/pentium/disassembler.m"
                            

                                    sprintf (str,  "POP.Evod", DIS_MEM);

                            

                            
                            
                            
                          } /*opt-block*//*opt-block+*/
                          else 
                            goto MATCH_label_a782;  /*opt-block+*/
                          
                          break;
                        case 2: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                            goto MATCH_label_a783;  /*opt-block+*/
                          else 
                            goto MATCH_label_a784;  /*opt-block+*/
                          
                          break;
                        case 3: 
                          goto MATCH_label_a39; break;
                        default: assert(0);
                      } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/  
                  else 
                    goto MATCH_label_a39;  /*opt-block+*/
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a651; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a653; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a652; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a654; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1339 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADDib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a652; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a653; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a654; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a651; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a655; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a657; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a656; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a658; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1336 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ORib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a656; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a657; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a658; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a655; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a659; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a661; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a660; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a662; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1333 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADCib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a660; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a661; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a662; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a659; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a663; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a665; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a664; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a666; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1330 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SBBib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a664; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a665; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a666; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a663; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a667; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a669; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a668; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a670; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1327 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ANDib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a668; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a669; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a670; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a667; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a671; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a673; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a672; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a674; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1324 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SUBib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a672; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a673; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a674; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a671; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a675; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a677; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a676; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a678; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1321 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "XORib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a676; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a677; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a678; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a675; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a679; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a681; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a680; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a682; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1318 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "CMPib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a680; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a681; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a682; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a679; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a683; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a685; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a684; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a686; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1291 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADDid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a684; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a685; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a686; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a683; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a687; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a689; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a688; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a690; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1288 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ORid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a688; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a689; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a690; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a687; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a691; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a693; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a692; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a694; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1285 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADCid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a692; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a693; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a694; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a691; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a695; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a697; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a696; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a698; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1282 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SBBid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a696; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a697; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a698; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a695; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a699; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a701; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a700; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a702; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1279 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ANDid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a700; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a701; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a702; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a699; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a703; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a705; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a704; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a706; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1276 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SUBid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a704; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a705; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a706; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a703; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a707; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a709; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a708; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a710; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1273 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "XORid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a708; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a709; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a710; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a707; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a711; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a713; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a712; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a714; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 1270 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "CMPid", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a712; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a713; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a714; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a711; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 2: 
                  goto MATCH_label_a39; break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a715; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a717; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a716; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a718; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1264 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADDiodb", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a716; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a717; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a718; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a715; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a719; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a721; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a720; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a722; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1258 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ORiodb", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a720; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a721; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a722; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a719; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a723; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a725; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a724; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a726; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1252 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ADCiodb", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a724; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a725; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a726; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a723; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a727; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a729; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a728; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a730; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1246 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SBBiodb", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a728; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a729; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a730; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a727; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a731; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a733; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a732; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a734; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1240 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ANDiodb", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a732; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a733; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a734; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a731; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a735; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a737; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a736; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a738; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1234 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SUBiodb", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a736; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a737; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a738; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a735; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a739; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a741; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a740; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a742; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1228 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "XORiodb", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a740; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a741; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a742; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a739; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a743; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a745; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a744; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a746; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 1222 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "CMPiodb", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a744; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a745; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a746; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a743; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a747; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a749;  /*opt-block+*/
                              else 
                                goto MATCH_label_a748;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a750; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 101 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "TEST.Eb.Gb", DIS_EADDR8, DIS_REG8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a748;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a749;  /*opt-block+*/
                        else 
                          goto MATCH_label_a750;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a747; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 5: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a751; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a753;  /*opt-block+*/
                              else 
                                goto MATCH_label_a752;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a754; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 95 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "TEST.Ev.Gvod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a752;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a753;  /*opt-block+*/
                        else 
                          goto MATCH_label_a754;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a751; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 6: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a755; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a757;  /*opt-block+*/
                              else 
                                goto MATCH_label_a756;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a758; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 53 "machine/pentium/disassembler.m"
                          

                                  sprintf (str, "%s %s,%s", "XCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a756;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a757;  /*opt-block+*/
                        else 
                          goto MATCH_label_a758;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a755; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              goto MATCH_label_a759; break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a761;  /*opt-block+*/
                              else 
                                goto MATCH_label_a760;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a762; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Eaddr = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 47 "machine/pentium/disassembler.m"
                          

                                  sprintf (str, "%s %s,%s", "XCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a760;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a761;  /*opt-block+*/
                        else 
                          goto MATCH_label_a762;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a759; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 9: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 974 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CWDE");

                  

                  
                  
                  
                  
                  break;
                case 1: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 929 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CDQ");

                  

                  
                  
                  
                  
                  break;
                case 2: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  MATCH_w_16_40 = getWord(5 + MATCH_p); 
                  { 
                    unsigned off = MATCH_w_32_8 /* i32 at 8 */;
                    unsigned seg = (MATCH_w_16_40 & 0xffff) /* i16 at 40 */;
                    nextPC = 7 + MATCH_p; 
                    
                    #line 982 "machine/pentium/disassembler.m"
                    

                            unused(seg); unused(off);

                            sprintf (str, "NOP");

                    

                    
                    
                    
                  }
                  
                  break;
                case 3: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 86 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "WAIT");

                  

                  
                  
                  
                  
                  break;
                case 4: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 495 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "PUSHFod");

                  

                  
                  
                  
                  
                  break;
                case 5: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 549 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "POPFod");

                  

                  
                  
                  
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 189 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "SAHF");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 793 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "LAHF");

                  

                      /* Branches have been handled in decodeInstruction() now */

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            if ((MATCH_w_8_0 & 0x7) /* col at 0 */ == 0) { 
              nextPC = 1 + MATCH_p; 
              
              #line 56 "machine/pentium/disassembler.m"
              

                      sprintf (str, "%s", "NOP");

              

              
              
              
            } /*opt-block*//*opt-block+*/
            else { 
              unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
              nextPC = 1 + MATCH_p; 
              
              #line 65 "machine/pentium/disassembler.m"
              

                      sprintf (str,  "XCHGeAXod", DIS_R32);

              

              
              
              
            } /*opt-block*//*opt-block+*/ /*opt-block+*/
          break;
        case 10: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    unsigned i8 = (MATCH_w_8_8 & 0xff) /* i8 at 8 */;
                    nextPC = 2 + MATCH_p; 
                    
                    #line 119 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "TEST.AL.Ib", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 1: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 113 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "TEST.eAX.Ivod", DIS_I32);

                    

                    
                    
                    
                  }
                  
                  break;
                case 2: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 131 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "STOSB");

                  

                  
                  
                  
                  
                  break;
                case 3: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 125 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "STOSvod");

                  

                  
                  
                  
                  
                  break;
                case 4: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 1420 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "LODSB");

                  

                      /* Floating point instructions */

                  
                  
                  
                  
                  break;
                case 5: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 1414 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "LODSvod");

                  

                  
                  
                  
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 186 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "SCASB");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 180 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "SCASvod");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned off = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 718 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "MOV.AL.Ob", DIS_OFF);

                    

                    //    | MOV.Sw.Ew(Mem, sr16) =>

                    //        sprintf (str,  "MOV.Sw.Ew", DIS_MEM, DIS_SR16);

                    

                    //    | MOV.Ew.Sw(Mem, sr16) =>

                    //        sprintf (str,  "MOV.Ew.Sw", DIS_MEM, DIS_SR16);

                    

                    
                    
                    
                  }
                  
                  break;
                case 1: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned off = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 712 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "MOV.eAX.Ovod", DIS_OFF);

                    

                    
                    
                    
                  }
                  
                  break;
                case 2: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned off = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 709 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "MOV.Ob.AL", DIS_OFF);

                    

                    
                    
                    
                  }
                  
                  break;
                case 3: 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  { 
                    unsigned off = MATCH_w_32_8 /* i32 at 8 */;
                    nextPC = 5 + MATCH_p; 
                    
                    #line 703 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "MOV.Ov.eAXod", DIS_OFF);

                    

                    
                    
                    
                  }
                  
                  break;
                case 4: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 666 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "MOVSB");

                  

                  //    | MOV.Rd.Dd(reg, dr) => 

                  //        unused(reg); unused(dr);

                  //        sprintf (str,  "UNIMP");

                  

                  //    | MOV.Dd.Rd(dr, reg) =>

                  //        unused(reg); unused(dr);

                  //        sprintf (str,  "UNIMP");

                  

                  //    | MOV.Rd.Cd(reg, cr) =>

                  //        unused(reg); unused(cr);

                  //        sprintf (str,  "UNIMP");

                  

                  //    | MOV.Cd.Rd(cr, reg) =>

                  //        unused(reg); unused(cr);

                  //        sprintf (str,  "UNIMP");

                  

                  
                  
                  
                  
                  break;
                case 5: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 660 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "MOVSvod");

                  

                  
                  
                  
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 956 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CMPSB");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 950 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CMPSvod");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 11: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
            MATCH_w_32_8 = getDword(1 + MATCH_p); 
            { 
              unsigned i32 = MATCH_w_32_8 /* i32 at 8 */;
              unsigned r32 = (MATCH_w_8_0 & 0x7) /* r32 at 0 */;
              nextPC = 5 + MATCH_p; 
              
              #line 694 "machine/pentium/disassembler.m"
              

                      sprintf (str,  "MOVid", DIS_R32, DIS_I32);

              

              
              
              
            }
            
          } /*opt-block*/
          else { 
            MATCH_w_8_8 = getByte(1 + MATCH_p); 
            { 
              int /* [~128..127] */ i8 = 
                sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
              unsigned r8 = (MATCH_w_8_0 & 0x7) /* r8 at 0 */;
              nextPC = 2 + MATCH_p; 
              
              #line 700 "machine/pentium/disassembler.m"
              

                      sprintf (str,  "MOVib", DIS_R8, DIS_I8);

              

              
              
              
            }
            
          } /*opt-block*/
          
          break;
        case 12: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_16_8 = getWord(1 + MATCH_p); 
                  MATCH_w_8_24 = getByte(3 + MATCH_p); 
                  { 
                    unsigned i16 = (MATCH_w_16_8 & 0xffff) /* i16 at 8 */;
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
                    nextPC = 4 + MATCH_p; 
                    
                    #line 896 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "ENTER", DIS_I16, DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 1: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 775 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "LEAVE");

                  

                  
                  
                  
                  
                  break;
                case 2: 
                  MATCH_w_16_8 = getWord(1 + MATCH_p); 
                  { 
                    unsigned i16 = (MATCH_w_16_8 & 0xffff) /* i16 at 8 */;
                    nextPC = 3 + MATCH_p; 
                    
                    #line 195 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "RET.far.Iw", DIS_I16);

                    

                    
                    
                    
                  }
                  
                  break;
                case 3: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 201 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "RET.far");

                  

                  
                  
                  
                  
                  break;
                case 4: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 812 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "INT3");

                  

                  //    | INSvod() =>

                  //        sprintf (str,  "INSvod");

                  

                  //    | INSvow() =>

                  //        sprintf (str,  "INSvow");

                  

                  //    | INSB() =>

                  //        sprintf (str,  "INSB");

                  

                  
                  
                  
                  
                  break;
                case 5: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    int /* [~128..127] */ i8 = 
                      sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 8);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 809 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "INT.Ib", DIS_I8);

                    

                    
                    
                    
                  }
                  
                  break;
                case 6: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 806 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "INTO");

                  

                  
                  
                  
                  
                  break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 797 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "IRET");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a785; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a787; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a786; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a788; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 366 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ROLB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a786; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a787; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a788; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a785; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a789; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a791; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a790; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a792; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 363 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RORB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a790; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a791; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a792; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a789; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a793; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a795; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a794; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a796; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 360 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RCLB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a794; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a795; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a796; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a793; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a797; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a799; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a798; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a800; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 357 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RCRB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a798; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a799; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a800; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a797; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a801; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a803; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a802; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a804; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 354 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SHLSALB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a802; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a803; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a804; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a801; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a805; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a807; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a806; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a808; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 351 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SHRB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a806; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a807; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a808; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a805; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a809; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a811; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a810; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a812; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 348 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SARB.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a810; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a811; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a812; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a809; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a813; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a815; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a814; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a816; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 342 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "ROLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a814; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a815; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a816; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a813; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a817; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a819; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a818; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a820; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 336 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RORB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a818; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a819; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a820; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a817; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a821; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a823; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a822; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a824; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 330 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RCLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a822; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a823; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a824; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a821; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a825; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a827; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a826; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a828; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 324 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "RCRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a826; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a827; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a828; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a825; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a829; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a831; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a830; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a832; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 318 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SHLSALB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a830; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a831; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a832; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a829; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a833; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a835; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a834; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a836; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 312 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SHRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a834; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a835; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a836; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a833; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a837; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a839; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a838; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a840; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  int /* [~128..127] */ i8 = 
                                    sign_extend(
                                                (MATCH_w_8_32 & 0xff) 
                                                      /* i8 at 32 */, 8);
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 306 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "SARB.Ev.Ibod", DIS_EADDR32, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a838; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a839; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a840; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a837; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_16_8 = getWord(1 + MATCH_p); 
                  { 
                    unsigned i16 = (MATCH_w_16_8 & 0xffff) /* i16 at 8 */;
                    nextPC = 3 + MATCH_p; 
                    
                    #line 198 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "RET.Iw", DIS_I16);

                    

                    
                    
                    
                  }
                  
                  break;
                case 3: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 204 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "RET");

                  

                  //   | REPNE() =>

                  //      sprintf (str,  "REPNE");

                  

                  //  | REP() =>

                  //      sprintf (str,  "REP");

                  

                  
                  
                  
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                unsigned reg = 
                                  (MATCH_w_8_8 >> 3 & 0x7) 
                                        /* reg_opcode at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 772 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "LES", DIS_REG32, DIS_MEM);

                                

                                
                                
                                
                              }
                              
                              break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a842;  /*opt-block+*/
                              else 
                                goto MATCH_label_a841;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a843; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Mem = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 772 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "LES", DIS_REG32, DIS_MEM);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a841;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a842;  /*opt-block+*/
                        else 
                          goto MATCH_label_a843;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a39; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 5: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 2: case 3: case 6: case 7: 
                              { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                unsigned reg = 
                                  (MATCH_w_8_8 >> 3 & 0x7) 
                                        /* reg_opcode at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 784 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "LDS", DIS_REG32, DIS_MEM);

                                

                                
                                
                                
                              }
                              
                              break;
                            case 4: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_16 & 0x7) 
                                      /* base at 16 */ == 5 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a845;  /*opt-block+*/
                              else 
                                goto MATCH_label_a844;  /*opt-block+*/
                              
                              break;
                            case 5: 
                              goto MATCH_label_a846; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 1: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) { 
                          unsigned Mem = 1 + addressToPC(MATCH_p);
                          unsigned reg = 
                            (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
                          nextPC = 4 + MATCH_p; 
                          
                          #line 784 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "LDS", DIS_REG32, DIS_MEM);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a844;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        MATCH_w_8_16 = getByte(2 + MATCH_p); 
                        if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                          (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                /* index at 16 */ && 
                          (MATCH_w_8_16 >> 3 & 0x7) /* index at 16 */ < 8)) 
                          goto MATCH_label_a845;  /*opt-block+*/
                        else 
                          goto MATCH_label_a846;  /*opt-block+*/
                        
                        break;
                      case 3: 
                        goto MATCH_label_a39; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                  
                  break;
                case 6: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  if ((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */ == 0) 
                    
                      switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                        case 0: 
                          
                            switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                              case 0: case 1: case 2: case 3: case 6: case 7: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                goto MATCH_label_a847; 
                                
                                break;
                              case 4: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 & 0x7) 
                                        /* base at 16 */ == 5 && 
                                  (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ && 
                                  (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ < 8)) { 
                                  MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                  goto MATCH_label_a849; 
                                  
                                } /*opt-block*/
                                else { 
                                  MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                  goto MATCH_label_a848; 
                                  
                                } /*opt-block*/
                                
                                break;
                              case 5: 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a850; 
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                          break;
                        case 1: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ < 8)) { 
                            MATCH_w_8_32 = getByte(4 + MATCH_p); 
                            { 
                              unsigned Eaddr = 1 + addressToPC(MATCH_p);
                              int /* [~128..127] */ i8 = 
                                sign_extend(
                                            (MATCH_w_8_32 & 0xff) 
                                                  /* i8 at 32 */, 8);
                              nextPC = 5 + MATCH_p; 
                              
                              #line 691 "machine/pentium/disassembler.m"
                              

                                      sprintf (str,  "MOV.Eb.Ib", DIS_EADDR8, DIS_I8);

                              

                              
                              
                              
                            }
                            
                          } /*opt-block*/
                          else { 
                            MATCH_w_8_24 = getByte(3 + MATCH_p); 
                            goto MATCH_label_a848; 
                            
                          } /*opt-block*/
                          
                          break;
                        case 2: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ < 8)) { 
                            MATCH_w_8_56 = getByte(7 + MATCH_p); 
                            goto MATCH_label_a849; 
                            
                          } /*opt-block*/
                          else { 
                            MATCH_w_8_48 = getByte(6 + MATCH_p); 
                            goto MATCH_label_a850; 
                            
                          } /*opt-block*/
                          
                          break;
                        case 3: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          goto MATCH_label_a847; 
                          
                          break;
                        default: assert(0);
                      } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/  
                  else 
                    goto MATCH_label_a39;  /*opt-block+*/
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  if ((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */ == 0) 
                    
                      switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                        case 0: 
                          
                            switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                              case 0: case 1: case 2: case 3: case 6: case 7: 
                                MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                goto MATCH_label_a851; 
                                
                                break;
                              case 4: 
                                MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                if ((MATCH_w_8_16 & 0x7) 
                                        /* base at 16 */ == 5 && 
                                  (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ && 
                                  (MATCH_w_8_16 >> 3 & 0x7) 
                                        /* index at 16 */ < 8)) { 
                                  MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                  goto MATCH_label_a853; 
                                  
                                } /*opt-block*/
                                else { 
                                  MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                  goto MATCH_label_a852; 
                                  
                                } /*opt-block*/
                                
                                break;
                              case 5: 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a854; 
                                
                                break;
                              default: assert(0);
                            } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                          break;
                        case 1: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ < 8)) { 
                            MATCH_w_32_32 = getDword(4 + MATCH_p); 
                            { 
                              unsigned Eaddr = 1 + addressToPC(MATCH_p);
                              unsigned i32 = MATCH_w_32_32 /* i32 at 32 */;
                              nextPC = 8 + MATCH_p; 
                              
                              #line 685 "machine/pentium/disassembler.m"
                              

                                      sprintf (str,  "MOV.Eb.Ivod", DIS_EADDR32, DIS_I32);

                              

                              
                              
                              
                            }
                            
                          } /*opt-block*/
                          else { 
                            MATCH_w_32_24 = getDword(3 + MATCH_p); 
                            goto MATCH_label_a852; 
                            
                          } /*opt-block*/
                          
                          break;
                        case 2: 
                          MATCH_w_8_16 = getByte(2 + MATCH_p); 
                          if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                            (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ && 
                            (MATCH_w_8_16 >> 3 & 0x7) 
                                  /* index at 16 */ < 8)) { 
                            MATCH_w_32_56 = getDword(7 + MATCH_p); 
                            goto MATCH_label_a853; 
                            
                          } /*opt-block*/
                          else { 
                            MATCH_w_32_48 = getDword(6 + MATCH_p); 
                            goto MATCH_label_a854; 
                            
                          } /*opt-block*/
                          
                          break;
                        case 3: 
                          MATCH_w_32_16 = getDword(2 + MATCH_p); 
                          goto MATCH_label_a851; 
                          
                          break;
                        default: assert(0);
                      } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/  
                  else 
                    goto MATCH_label_a39;  /*opt-block+*/
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 13: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1430 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FADD.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a968;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a967;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a969; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1430 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FADD.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a967;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a968;  /*opt-block+*/
                              else 
                                goto MATCH_label_a969;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1436 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FADD.St.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1624 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FMUL.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a971;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a970;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a972; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1624 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FMUL.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a970;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a971;  /*opt-block+*/
                              else 
                                goto MATCH_label_a972;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1630 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FMUL.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1463 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FCOM.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a974;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a973;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a975; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1463 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOM.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a973;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a974;  /*opt-block+*/
                              else 
                                goto MATCH_label_a975;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1481 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOM.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1475 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FCOMP.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a977;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a976;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a978; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1475 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOMP.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a976;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a977;  /*opt-block+*/
                              else 
                                goto MATCH_label_a978;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1484 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOMP.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1714 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSUB.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a980;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a979;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a981; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1714 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUB.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a979;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a980;  /*opt-block+*/
                              else 
                                goto MATCH_label_a981;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1720 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUB.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1735 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSUBR.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a983;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a982;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a984; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1735 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBR.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a982;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a983;  /*opt-block+*/
                              else 
                                goto MATCH_label_a984;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1741 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBR.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1508 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FDIV.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a986;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a985;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a987; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1508 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIV.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a985;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a986;  /*opt-block+*/
                              else 
                                goto MATCH_label_a987;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1514 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIV.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1529 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FDIVR.R32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a989;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a988;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a990; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1529 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVR.R32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a988;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a989;  /*opt-block+*/
                              else 
                                goto MATCH_label_a990;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1535 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVR.ST.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1580 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FLD.lsR32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a992;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a991;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a993; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1580 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLD.lsR32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a991;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a992;  /*opt-block+*/
                              else 
                                goto MATCH_label_a993;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1594 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLD.STi", DIS_IDXP1);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        if ((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */ == 3) { 
                          unsigned idx = (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 1777 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "FXCH", DIS_IDX);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1681 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FST.lsR32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a995;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a994;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a996; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1681 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FST.lsR32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a994;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a995;  /*opt-block+*/
                              else 
                                goto MATCH_label_a996;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 0) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1645 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FNOP");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1687 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTP.lsR32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a998;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a997;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a999; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1687 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTP.lsR32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a997;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a998;  /*opt-block+*/
                              else 
                                goto MATCH_label_a999;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem = 1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1621 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FLDENV", DIS_MEM);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1001;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1000;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1002; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1621 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLDENV", DIS_MEM);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1000;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1001;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1002;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1457 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FCHS");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 1: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1427 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FABS");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 2: case 3: case 6: case 7: 
                                    goto MATCH_label_a39; break;
                                  case 4: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1756 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FTST");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 5: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1774 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FXAM");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1618 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FLDCW", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1004;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1003;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1005; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1618 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLDCW", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1003;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1004;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1005;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1597 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLD1");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 1: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1600 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDL2T");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 2: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1603 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDL2E");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 3: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1606 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDPI");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 4: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1609 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDLG2");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 5: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1612 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDLN2");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 6: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1615 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FLDZ");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 7: 
                                    goto MATCH_label_a39; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem = 1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1705 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTENV", DIS_MEM);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1007;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1006;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1008; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1705 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTENV", DIS_MEM);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1006;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1007;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1008;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1424 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "F2XM1");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 1: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1783 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FYL2X");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 2: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1657 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FPTAN");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 3: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1648 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FPATAN");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 4: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1780 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FXTRACT");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 5: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1654 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FPREM1");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 6: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1505 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FDECSTP");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 7: 
                                    goto MATCH_label_a39; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1702 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTCW", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1010;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1009;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1011; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1702 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTCW", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1009;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1010;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1011;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1651 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FPREM");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 1: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1786 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FYL2XP1");

                                    

                                    //	| inst = n =>

                                    //		sprintf (str, "%0x", n);

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 2: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1678 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FSQRT");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 3: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1675 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FSINCOS");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 4: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1660 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FRNDINT");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 5: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1669 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FSCALE");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 6: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1672 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FSIN");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  case 7: 
                                    nextPC = 2 + MATCH_p; 
                                    
                                    #line 1502 "machine/pentium/disassembler.m"
                                    

                                            sprintf (str,  "FCOS");

                                    

                                    
                                    
                                    
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1445 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIADD.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1013;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1012;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1014; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1445 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIADD.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1012;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1013;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1014;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1639 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIMUL.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1016;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1015;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1017; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1639 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIMUL.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1015;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1016;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1017;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1469 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FICOM.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1019;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1018;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1020; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1469 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FICOM.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1018;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1019;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1020;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1487 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FICOMP.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1022;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1021;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1023; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1487 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FICOMP.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1021;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1022;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1023;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1726 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISUB.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1025;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1024;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1026; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1726 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISUB.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1024;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1025;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1026;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1747 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISUBR.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1028;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1027;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1029; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1747 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISUBR.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1027;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1028;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1029;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1765 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FUCOMPP");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1523 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIDIV.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1031;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1030;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1032; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1523 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIDIV.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1030;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1031;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1032;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1541 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIDIVR.I32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1034;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1033;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1035; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1541 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIDIVR.I32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1033;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1034;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1035;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1556 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FILD.lsI32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1037;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1036;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1038; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1556 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FILD.lsI32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1036;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1037;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1038;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        goto MATCH_label_a39; break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1568 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIST.lsI32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1040;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1039;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1041; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1568 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIST.lsI32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1039;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1040;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1041;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem32 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1574 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISTP.lsI32", DIS_MEM32);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1043;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1042;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1044; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem32 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1574 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISTP.lsI32", DIS_MEM32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1042;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1043;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1044;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                            case 0: case 1: case 4: case 5: case 6: case 7: 
                              goto MATCH_label_a39; break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 6 & 0x3) 
                                      /* mod at 8 */ == 3) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1460 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FNCLEX");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 6 & 0x3) 
                                      /* mod at 8 */ == 3) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1562 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FINIT");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem80 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1586 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FLD80", DIS_MEM80);

                                      

                                      /* This is a bit tricky. The FPUSH logically comes between the read of STi and

                                      # the write to ST0. In particular, FLD ST0 is supposed to duplicate the TOS.

                                      # This problem only happens with this load instruction, so there is a work

                                      # around here that gives us the SSL a value of i that is one more than in

                                      # the instruction */

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1046;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1045;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1047; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem80 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1586 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLD80", DIS_MEM80);

                                

                                /* This is a bit tricky. The FPUSH logically comes between the read of STi and

                                # the write to ST0. In particular, FLD ST0 is supposed to duplicate the TOS.

                                # This problem only happens with this load instruction, so there is a work

                                # around here that gives us the SSL a value of i that is one more than in

                                # the instruction */

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1045;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1046;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1047;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              MATCH_name = "FUCOMI.ST.STi"; 
                              { 
                                char *name = MATCH_name;
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1768 "machine/pentium/disassembler.m"
                                

                                        sprintf (str, name, DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        if ((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */ == 3) { 
                          MATCH_name = "FCOMI.ST.STi"; 
                          { 
                            char *name = MATCH_name;
                            unsigned idx = (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                            nextPC = 2 + MATCH_p; 
                            
                            #line 1496 "machine/pentium/disassembler.m"
                            

                                    sprintf (str, name, DIS_IDX);

                            

                            
                            
                            
                          }
                          
                        } /*opt-block*/
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem80 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1693 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTP80", DIS_MEM80);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1049;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1048;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1050; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem80 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1693 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTP80", DIS_MEM80);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1048;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1049;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1050;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 4: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1433 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FADD.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1052;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1051;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1053; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1433 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FADD.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1051;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1052;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1053;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1439 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FADD.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1627 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FMUL.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1055;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1054;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1056; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1627 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FMUL.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1054;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1055;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1056;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1633 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FMUL.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1466 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FCOM.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1058;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1057;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1059; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1466 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOM.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1057;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1058;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1059;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1478 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FCOMP.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1061;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1060;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1062; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1478 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOMP.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1060;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1061;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1062;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1717 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSUB.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1064;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1063;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1065; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1717 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUB.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1063;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1064;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1065;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1723 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUB.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1738 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSUBR.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1067;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1066;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1068; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1738 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBR.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1066;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1067;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1068;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1744 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBR.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1511 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FDIV.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1070;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1069;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1071; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1511 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIV.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1069;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1070;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1071;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1517 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIV.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1532 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FDIVR.R64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1073;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1072;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1074; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1532 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVR.R64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1072;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1073;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1074;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1538 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVR.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 5: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1583 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FLD.lsR64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1076;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1075;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1077; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1583 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FLD.lsR64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1075;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1076;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1077;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1550 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FFREE", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        goto MATCH_label_a39; break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1684 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FST.lsR64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1079;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1078;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1080; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1684 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FST.lsR64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1078;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1079;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1080;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1696 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FST.st.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1690 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTP.lsR64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1082;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1081;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1083; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1690 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTP.lsR64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1081;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1082;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1083;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1699 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTP.st.STi", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem = 1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1663 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FRSTOR", DIS_MEM);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1085;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1084;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1086; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1663 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FRSTOR", DIS_MEM);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1084;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1085;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1086;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1759 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FUCOM", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        if ((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */ == 3) { 
                          unsigned idx = (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                          nextPC = 2 + MATCH_p; 
                          
                          #line 1762 "machine/pentium/disassembler.m"
                          

                                  sprintf (str,  "FUCOMP", DIS_IDX);

                          

                          
                          
                          
                        } /*opt-block*//*opt-block+*/
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem = 1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1666 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FNSAVE", DIS_MEM);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1088;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1087;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1089; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1666 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FNSAVE", DIS_MEM);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1087;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1088;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1089;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1708 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FSTSW", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1091;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1090;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1092; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1708 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTSW", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1090;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1091;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1092;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 6: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1448 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIADD.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1094;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1093;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1095; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1448 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIADD.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1093;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1094;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1095;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1442 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FADDP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1642 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIMUL.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1097;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1096;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1098; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1642 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIMUL.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1096;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1097;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1098;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1636 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FMULP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1472 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FICOM.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1100;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1099;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1101; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1472 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FICOM.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1099;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1100;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1101;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1490 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FICOMP.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1103;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1102;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1104; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1490 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FICOMP.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1102;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1103;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1104;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 1) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1493 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FCOMPP");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1729 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISUB.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1106;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1105;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1107; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1729 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISUB.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1105;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1106;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1107;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1732 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1750 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISUBR.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1109;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1108;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1110; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1750 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISUBR.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1108;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1109;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1110;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1753 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSUBRP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1526 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIDIV.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1112;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1111;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1113; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1526 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIDIV.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1111;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1112;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1113;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1520 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1544 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIDIVR.I16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1115;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1114;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1116; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1544 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIDIVR.I16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1114;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1115;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1116;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              { 
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1547 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FDIVRP.STi.ST", DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1553 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FILD.lsI16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1118;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1117;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1119; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1553 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FILD.lsI16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1117;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1118;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1119;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        goto MATCH_label_a39; break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1565 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FIST.lsI16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1121;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1120;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1122; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1565 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FIST.lsI16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1120;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1121;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1122;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem16 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1571 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISTP.lsI16", DIS_MEM16);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1124;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1123;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1125; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem16 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1571 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISTP.lsI16", DIS_MEM16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1123;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1124;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1125;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem80 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1451 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FBLD", DIS_MEM80);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1127;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1126;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1128; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem80 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1451 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FBLD", DIS_MEM80);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1126;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1127;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1128;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 0) { 
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1711 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FSTSW.AX");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1559 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FILD64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1130;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1129;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1131; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1559 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FILD64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1129;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1130;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1131;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              MATCH_name = "FUCOMIP.ST.STi"; 
                              { 
                                char *name = MATCH_name;
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1771 "machine/pentium/disassembler.m"
                                

                                        sprintf (str, name, DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem80 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1454 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FBSTP", DIS_MEM80);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1133;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1132;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1134; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem80 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1454 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FBSTP", DIS_MEM80);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1132;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1133;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1134;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              MATCH_name = "FCOMIP.ST.STi"; 
                              { 
                                char *name = MATCH_name;
                                unsigned idx = 
                                  (MATCH_w_8_8 & 0x7) /* r_m at 8 */;
                                nextPC = 2 + MATCH_p; 
                                
                                #line 1499 "machine/pentium/disassembler.m"
                                

                                        sprintf (str, name, DIS_IDX);

                                

                                
                                
                                
                              }
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    { 
                                      unsigned Mem64 = 
                                        1 + addressToPC(MATCH_p);
                                      nextPC = 2 + MATCH_p; 
                                      
                                      #line 1577 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  "FISTP64", DIS_MEM64);

                                      

                                      
                                      
                                      
                                    }
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1136;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1135;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1137; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Mem64 = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 1577 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "FISTP64", DIS_MEM64);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1135;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1136;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1137;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a39; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a855; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a857;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a856;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a858; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 492 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "ROLB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a856;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a857;  /*opt-block+*/
                              else 
                                goto MATCH_label_a858;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a855; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a859; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a861;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a860;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a862; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 486 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RORB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a860;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a861;  /*opt-block+*/
                              else 
                                goto MATCH_label_a862;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a859; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a863; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a865;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a864;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a866; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 480 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCLB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a864;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a865;  /*opt-block+*/
                              else 
                                goto MATCH_label_a866;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a863; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a867; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a869;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a868;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a870; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 474 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCRB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a868;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a869;  /*opt-block+*/
                              else 
                                goto MATCH_label_a870;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a867; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a871; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a873;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a872;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a874; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 468 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHLSALB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a872;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a873;  /*opt-block+*/
                              else 
                                goto MATCH_label_a874;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a871; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a875; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a877;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a876;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a878; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 462 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHRB.Eb.1", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a876;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a877;  /*opt-block+*/
                              else 
                                goto MATCH_label_a878;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a875; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a879; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a881;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a880;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a882; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 456 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SARB.Eb.1", DIS_EADDR16);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a880;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a881;  /*opt-block+*/
                              else 
                                goto MATCH_label_a882;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a879; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 1: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a883; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a885;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a884;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a886; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 447 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "ROLB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a884;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a885;  /*opt-block+*/
                              else 
                                goto MATCH_label_a886;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a883; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a887; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a889;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a888;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a890; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 435 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RORB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a888;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a889;  /*opt-block+*/
                              else 
                                goto MATCH_label_a890;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a887; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a891; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a893;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a892;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a894; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 423 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCLB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a892;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a893;  /*opt-block+*/
                              else 
                                goto MATCH_label_a894;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a891; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a895; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a897;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a896;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a898; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 411 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCRB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a896;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a897;  /*opt-block+*/
                              else 
                                goto MATCH_label_a898;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a895; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a899; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a901;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a900;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a902; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 399 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHLSALB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a900;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a901;  /*opt-block+*/
                              else 
                                goto MATCH_label_a902;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a899; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a903; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a905;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a904;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a906; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 387 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHRB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a904;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a905;  /*opt-block+*/
                              else 
                                goto MATCH_label_a906;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a903; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a907; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a909;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a908;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a910; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 375 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SARB.Ev.1od", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a908;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a909;  /*opt-block+*/
                              else 
                                goto MATCH_label_a910;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a907; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a911; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a913;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a912;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a914; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 489 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "ROLB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a912;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a913;  /*opt-block+*/
                              else 
                                goto MATCH_label_a914;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a911; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a915; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a917;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a916;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a918; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 483 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RORB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a916;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a917;  /*opt-block+*/
                              else 
                                goto MATCH_label_a918;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a915; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a919; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a921;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a920;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a922; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 477 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCLB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a920;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a921;  /*opt-block+*/
                              else 
                                goto MATCH_label_a922;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a919; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a923; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a925;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a924;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a926; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 471 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCRB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a924;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a925;  /*opt-block+*/
                              else 
                                goto MATCH_label_a926;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a923; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a927; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a929;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a928;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a930; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 465 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHLSALB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a928;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a929;  /*opt-block+*/
                              else 
                                goto MATCH_label_a930;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a927; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a931; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a933;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a932;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a934; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 459 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHRB.Eb.CL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a932;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a933;  /*opt-block+*/
                              else 
                                goto MATCH_label_a934;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a931; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a935; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a937;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a936;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a938; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 453 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SARB.Eb.CL", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a936;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a937;  /*opt-block+*/
                              else 
                                goto MATCH_label_a938;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a935; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a939; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a941;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a940;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a942; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 441 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "ROLB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a940;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a941;  /*opt-block+*/
                              else 
                                goto MATCH_label_a942;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a939; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a943; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a945;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a944;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a946; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 429 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RORB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a944;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a945;  /*opt-block+*/
                              else 
                                goto MATCH_label_a946;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a943; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a947; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a949;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a948;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a950; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 417 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCLB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a948;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a949;  /*opt-block+*/
                              else 
                                goto MATCH_label_a950;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a947; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a951; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a953;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a952;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a954; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 405 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "RCRB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a952;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a953;  /*opt-block+*/
                              else 
                                goto MATCH_label_a954;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a951; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a955; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a957;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a956;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a958; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 393 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHLSALB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a956;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a957;  /*opt-block+*/
                              else 
                                goto MATCH_label_a958;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a955; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a959; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a961;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a960;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a962; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 381 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SHRB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a960;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a961;  /*opt-block+*/
                              else 
                                goto MATCH_label_a962;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a959; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        goto MATCH_label_a39; break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a963; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a965;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a964;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a966; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 369 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "SARB.Ev.CLod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a964;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a965;  /*opt-block+*/
                              else 
                                goto MATCH_label_a966;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a963; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 4: case 5: case 6: 
                  goto MATCH_label_a39; break;
                case 7: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 44 "machine/pentium/disassembler.m"
                  

                          sprintf (str, "%s", "XLATB");

                  

                  
                  
                  
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        case 14: 
          
            switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
              case 0: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) { 
                  MATCH_w_32_8 = getDword(1 + MATCH_p); 
                  MATCH_name = MATCH_name_page_0[(MATCH_w_8_0 >> 3 & 0x1) 
                        /* page at 0 */]; 
                  { 
                    char *name = MATCH_name;
                    unsigned relocd = 
                      5 + MATCH_w_32_8 /* i32 at 8 */ + addressToPC(MATCH_p);
                    nextPC = 5 + MATCH_p; 
                    
                    #line 986 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  name, dis_Num(relocd-hostPC-5));

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    unsigned relocd = 
                      2 + sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 
                                  8) + addressToPC(MATCH_p);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 757 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "LOOPNE", dis_Num(relocd - hostPC - 2));

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                
                break;
              case 1: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 0) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    unsigned relocd = 
                      2 + sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 
                                  8) + addressToPC(MATCH_p);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 760 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "LOOPE", dis_Num(relocd-hostPC-2));

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 2: 
                if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 0) { 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  { 
                    unsigned relocd = 
                      2 + sign_extend((MATCH_w_8_8 & 0xff) /* i8 at 8 */, 
                                  8) + addressToPC(MATCH_p);
                    nextPC = 2 + MATCH_p; 
                    
                    #line 763 "machine/pentium/disassembler.m"
                    

                            sprintf (str,  "LOOP", dis_Num(relocd-hostPC-2));

                    

                    
                    
                    
                  }
                  
                } /*opt-block*/
                else 
                  goto MATCH_label_a39;  /*opt-block+*/
                
                break;
              case 3: case 4: case 5: case 6: case 7: 
                goto MATCH_label_a39; break;
              default: assert(0);
            } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/ 
          break;
        case 15: 
          if ((MATCH_w_8_0 >> 3 & 0x1) /* page at 0 */ == 1) 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 971 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CLC");

                  

                  
                  
                  
                  
                  break;
                case 1: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 140 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "STC");

                  

                  
                  
                  
                  
                  break;
                case 2: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 965 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CLI");

                  

                  
                  
                  
                  
                  break;
                case 3: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 134 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "STI");

                  

                  
                  
                  
                  
                  break;
                case 4: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 968 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CLD");

                  

                  
                  
                  
                  
                  break;
                case 5: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 137 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "STD");

                  

                  
                  
                  
                  
                  break;
                case 6: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1194; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1196;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1195;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1197; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 836 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "INC.Eb", DIS_EADDR8);

                                

                                //    | IN.eAX.DXod() =>

                                //        sprintf (str,  "IN.eAX.DXod");

                                

                                //    | IN.eAX.DXow() =>

                                //        sprintf (str,  "IN.eAX.DXow");

                                

                                //    | IN.AL.DX() =>

                                //        sprintf (str,  "IN.AL.DX");

                                

                                //    | IN.eAX.Ibod(i8) =>

                                //        sprintf (str,  "IN.eAX.Ibod", DIS_I8);

                                

                                //    | IN.eAX.Ibow(i8) =>

                                //        sprintf (str,  "IN.eAX.Ibow", DIS_I8);

                                

                                //    | IN.AL.Ib(i8) =>

                                //        sprintf (str,  "IN.AL.Ib", DIS_I8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1195;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1196;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1197;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1194; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1198; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1200;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1199;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1201; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 920 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "DEC.Eb", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1199;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1200;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1201;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1198; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: case 3: case 4: case 5: case 6: case 7: 
                        goto MATCH_label_a39; break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1202; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1204;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1203;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1205; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 830 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "INC.Evod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1203;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1204;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1205;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1202; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1206; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1208;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1207;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1209; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 914 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "DEC.Evod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1207;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1208;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1209;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1206; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1210; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1212;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1211;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1213; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 989 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "CALL.Evod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1211;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1212;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1213;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1210; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: case 4: case 5: case 7: 
                        goto MATCH_label_a39; break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1214; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1216;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1215;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1217; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 543 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "PUSH.Evod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1215;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1216;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1217;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1214; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          else 
            
              switch((MATCH_w_8_0 & 0x7) /* col at 0 */) {
                case 0: case 1: case 4: 
                  goto MATCH_label_a39; break;
                case 2: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 4 & 0xf) /* row at 8 */) {
                      case 0: case 1: case 2: case 3: case 4: case 5: case 7: 
                      case 8: case 9: case 11: case 12: case 13: case 14: 
                      case 15: 
                        goto MATCH_label_a39; break;
                      case 6: 
                        if ((MATCH_w_8_8 & 0x7) /* col at 8 */ == 6) 
                          if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) 
                            goto MATCH_label_a39;  /*opt-block+*/
                          else { 
                            MATCH_w_8_16 = getByte(2 + MATCH_p); 
                            
                              switch((MATCH_w_8_16 & 0x7) /* col at 16 */) {
                                case 0: case 1: case 2: case 4: case 6: 
                                  goto MATCH_label_a39; break;
                                case 3: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10 && 
                                    (MATCH_w_8_16 >> 3 & 0x1) 
                                          /* page at 16 */ == 1) { 
                                    MATCH_name = 
                                      MATCH_name_page_6[(MATCH_w_8_16 >> 3 & 0x1) 
                                          /* page at 16 */]; 
                                    { 
                                      char *name = MATCH_name;
                                      nextPC = 3 + MATCH_p; 
                                      
                                      #line 297 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  name);

                                      

                                      
                                      
                                      
                                    }
                                    
                                  } /*opt-block*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  
                                  break;
                                case 5: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10) 
                                    if ((MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */ == 1) { 
                                      MATCH_name = 
                                        MATCH_name_page_7[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 270 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_name = 
                                        MATCH_name_page_6[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 279 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/ /*opt-block+*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  break;
                                case 7: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10) 
                                    if ((MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */ == 1) { 
                                      MATCH_name = 
                                        MATCH_name_page_8[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 288 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_name = 
                                        MATCH_name_page_7[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 261 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/ /*opt-block+*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  break;
                                default: assert(0);
                              } /* (MATCH_w_8_16 & 0x7) -- col at 16 --*/ 
                            
                          } /*opt-block*/ 
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        break;
                      case 10: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 1: 
                              goto MATCH_label_a39; break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_9[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 294 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_10[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 300 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 4: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_11[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 267 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_9[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 276 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_12[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 273 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_10[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 282 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 6: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_13[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 285 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_11[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 258 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_14[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 291 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_12[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 264 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 4 & 0xf) -- row at 8 --*/ 
                  
                  break;
                case 3: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 4 & 0xf) /* row at 8 */) {
                      case 0: case 1: case 2: case 3: case 4: case 5: case 7: 
                      case 8: case 9: case 11: case 12: case 13: case 14: 
                      case 15: 
                        goto MATCH_label_a39; break;
                      case 6: 
                        if ((MATCH_w_8_8 & 0x7) /* col at 8 */ == 6) 
                          if ((MATCH_w_8_8 >> 3 & 0x1) /* page at 8 */ == 1) 
                            goto MATCH_label_a39;  /*opt-block+*/
                          else { 
                            MATCH_w_8_16 = getByte(2 + MATCH_p); 
                            
                              switch((MATCH_w_8_16 & 0x7) /* col at 16 */) {
                                case 0: case 1: case 2: case 4: case 6: 
                                  goto MATCH_label_a39; break;
                                case 3: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10 && 
                                    (MATCH_w_8_16 >> 3 & 0x1) 
                                          /* page at 16 */ == 1) { 
                                    MATCH_name = 
                                      MATCH_name_page_15[(MATCH_w_8_16 >> 3 & 0x1) 
                                          /* page at 16 */]; 
                                    { 
                                      char *name = MATCH_name;
                                      nextPC = 3 + MATCH_p; 
                                      
                                      #line 252 "machine/pentium/disassembler.m"
                                      

                                              sprintf (str,  name);

                                      

                                      
                                      
                                      
                                    }
                                    
                                  } /*opt-block*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  
                                  break;
                                case 5: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10) 
                                    if ((MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */ == 1) { 
                                      MATCH_name = "REP.LODSvow"; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 225 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_name = 
                                        MATCH_name_page_8[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 234 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/ /*opt-block+*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  break;
                                case 7: 
                                  if ((MATCH_w_8_16 >> 4 & 0xf) 
                                          /* row at 16 */ == 10) 
                                    if ((MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */ == 1) { 
                                      MATCH_name = "REP.SCASvow"; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 243 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_name = 
                                        MATCH_name_page_15[(MATCH_w_8_16 >> 3 & 0x1) 
                                            /* page at 16 */]; 
                                      { 
                                        char *name = MATCH_name;
                                        nextPC = 3 + MATCH_p; 
                                        
                                        #line 216 "machine/pentium/disassembler.m"
                                        

                                                sprintf (str,  name);

                                        

                                        
                                        
                                        
                                      }
                                      
                                    } /*opt-block*/ /*opt-block+*/
                                  else 
                                    goto MATCH_label_a39;  /*opt-block+*/
                                  break;
                                default: assert(0);
                              } /* (MATCH_w_8_16 & 0x7) -- col at 16 --*/ 
                            
                          } /*opt-block*/ 
                        else 
                          goto MATCH_label_a39;  /*opt-block+*/
                        break;
                      case 10: 
                        
                          switch((MATCH_w_8_8 & 0x7) /* col at 8 */) {
                            case 0: case 1: 
                              goto MATCH_label_a39; break;
                            case 2: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_18[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 249 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = 
                                  MATCH_name_page_19[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 255 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else 
                                goto MATCH_label_a39;  /*opt-block+*/
                              
                              break;
                            case 4: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = "REP.LODSB"; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 222 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_13[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 231 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 5: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = "REP.LODSvod"; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 228 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_14[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 237 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 6: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = "REP.SCASB"; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 240 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_18[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 213 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            case 7: 
                              if ((MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */ == 1) { 
                                MATCH_name = "REP.SCASvod"; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 246 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_name = 
                                  MATCH_name_page_19[(MATCH_w_8_8 >> 3 & 0x1) 
                                      /* page at 8 */]; 
                                { 
                                  char *name = MATCH_name;
                                  nextPC = 2 + MATCH_p; 
                                  
                                  #line 219 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  name);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 & 0x7) -- col at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 4 & 0xf) -- row at 8 --*/ 
                  
                  break;
                case 5: 
                  nextPC = 1 + MATCH_p; 
                  
                  #line 959 "machine/pentium/disassembler.m"
                  

                          sprintf (str,  "CMC");

                  

                  
                  
                  
                  
                  break;
                case 6: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    goto MATCH_label_a1138; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                      goto MATCH_label_a1140; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                      goto MATCH_label_a1139; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                    goto MATCH_label_a1141; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_32 = getByte(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i8 = 
                                    (MATCH_w_8_32 & 0xff) /* i8 at 32 */;
                                  nextPC = 5 + MATCH_p; 
                                  
                                  #line 110 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "TEST.Eb.Ib", DIS_EADDR8, DIS_I8);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_24 = getByte(3 + MATCH_p); 
                                goto MATCH_label_a1139; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_8_56 = getByte(7 + MATCH_p); 
                                goto MATCH_label_a1140; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_8_48 = getByte(6 + MATCH_p); 
                                goto MATCH_label_a1141; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              goto MATCH_label_a1138; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        goto MATCH_label_a39; break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1142; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1144;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1143;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1145; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 621 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "NOTb", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1143;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1144;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1145;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1142; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1146; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1148;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1147;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1149; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 630 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "NEGb", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1147;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1148;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1149;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1146; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1150; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1152;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1151;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1153; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 639 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "MUL.AL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1151;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1152;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1153;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1150; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1154; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1156;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1155;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1157; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 881 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "IMULb", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1155;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1156;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1157;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1154; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1158; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1160;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1159;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1161; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 905 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "DIVAL", DIS_EADDR8);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1159;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1160;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1161;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1158; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1162; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1164;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1163;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1165; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 890 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "IDIV", DIS_EADDR8); /* ?? */

                                

                                //  | HLT() =>

                                //      sprintf (str,  "HLT");

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1163;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1164;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1165;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1162; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                case 7: 
                  MATCH_w_8_8 = getByte(1 + MATCH_p); 
                  
                    switch((MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */) {
                      case 0: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    MATCH_w_32_16 = getDword(2 + MATCH_p); 
                                    goto MATCH_label_a1166; 
                                    
                                    break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) { 
                                      MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                      goto MATCH_label_a1168; 
                                      
                                    } /*opt-block*/
                                    else { 
                                      MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                      goto MATCH_label_a1167; 
                                      
                                    } /*opt-block*/
                                    
                                    break;
                                  case 5: 
                                    MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                    goto MATCH_label_a1169; 
                                    
                                    break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_32 = getDword(4 + MATCH_p); 
                                { 
                                  unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                  unsigned i32 = 
                                    MATCH_w_32_32 /* i32 at 32 */;
                                  nextPC = 8 + MATCH_p; 
                                  
                                  #line 104 "machine/pentium/disassembler.m"
                                  

                                          sprintf (str,  "TEST.Ed.Id", DIS_EADDR32, DIS_I32);

                                  

                                  
                                  
                                  
                                }
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_24 = getDword(3 + MATCH_p); 
                                goto MATCH_label_a1167; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                MATCH_w_32_56 = getDword(7 + MATCH_p); 
                                goto MATCH_label_a1168; 
                                
                              } /*opt-block*/
                              else { 
                                MATCH_w_32_48 = getDword(6 + MATCH_p); 
                                goto MATCH_label_a1169; 
                                
                              } /*opt-block*/
                              
                              break;
                            case 3: 
                              MATCH_w_32_16 = getDword(2 + MATCH_p); 
                              goto MATCH_label_a1166; 
                              
                              break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 1: 
                        goto MATCH_label_a39; break;
                      case 2: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1170; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1172;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1171;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1173; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 615 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "NOTod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1171;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1172;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1173;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1170; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 3: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1174; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1176;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1175;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1177; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 624 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "NEGod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1175;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1176;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1177;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1174; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 4: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1178; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1180;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1179;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1181; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 633 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "MUL.AXod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1179;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1180;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1181;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1178; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 5: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1182; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1184;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1183;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1185; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 875 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "IMULod", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1183;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1184;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1185;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1182; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 6: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1186; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1188;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1187;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1189; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 899 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "DIVeAX", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1187;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1188;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1189;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1186; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      case 7: 
                        
                          switch((MATCH_w_8_8 >> 6 & 0x3) /* mod at 8 */) {
                            case 0: 
                              
                                switch((MATCH_w_8_8 & 0x7) /* r_m at 8 */) {
                                  case 0: case 1: case 2: case 3: case 6: 
                                  case 7: 
                                    goto MATCH_label_a1190; break;
                                  case 4: 
                                    MATCH_w_8_16 = getByte(2 + MATCH_p); 
                                    if ((MATCH_w_8_16 & 0x7) 
                                            /* base at 16 */ == 5 && 
                                      (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ && 
                                      (MATCH_w_8_16 >> 3 & 0x7) 
                                            /* index at 16 */ < 8)) 
                                      goto MATCH_label_a1192;  /*opt-block+*/
                                    else 
                                      goto MATCH_label_a1191;  /*opt-block+*/
                                    
                                    break;
                                  case 5: 
                                    goto MATCH_label_a1193; break;
                                  default: assert(0);
                                } /* (MATCH_w_8_8 & 0x7) -- r_m at 8 --*/ 
                              break;
                            case 1: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) { 
                                unsigned Eaddr = 1 + addressToPC(MATCH_p);
                                nextPC = 4 + MATCH_p; 
                                
                                #line 884 "machine/pentium/disassembler.m"
                                

                                        sprintf (str,  "IDIVeAX", DIS_EADDR32);

                                

                                
                                
                                
                              } /*opt-block*//*opt-block+*/
                              else 
                                goto MATCH_label_a1191;  /*opt-block+*/
                              
                              break;
                            case 2: 
                              MATCH_w_8_16 = getByte(2 + MATCH_p); 
                              if ((MATCH_w_8_8 & 0x7) /* r_m at 8 */ == 4 && 
                                (0 <= (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ && 
                                (MATCH_w_8_16 >> 3 & 0x7) 
                                      /* index at 16 */ < 8)) 
                                goto MATCH_label_a1192;  /*opt-block+*/
                              else 
                                goto MATCH_label_a1193;  /*opt-block+*/
                              
                              break;
                            case 3: 
                              goto MATCH_label_a1190; break;
                            default: assert(0);
                          } /* (MATCH_w_8_8 >> 6 & 0x3) -- mod at 8 --*/ 
                        break;
                      default: assert(0);
                    } /* (MATCH_w_8_8 >> 3 & 0x7) -- reg_opcode at 8 --*/ 
                  
                  break;
                default: assert(0);
              } /* (MATCH_w_8_0 & 0x7) -- col at 0 --*/  
          break;
        default: assert(0);
      } /* (MATCH_w_8_0 >> 4 & 0xf) -- row at 0 --*/ 
    
  }goto MATCH_finished_a; 
  
  MATCH_label_a0: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1219 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1219 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a2: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1219 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a3: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1219 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a4: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1192 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a5: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1192 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a6: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1192 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a7: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1192 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a8: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1147 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a9: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1147 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a10: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1147 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a11: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1147 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a12: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1120 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a13: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1120 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a14: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1120 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a15: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1120 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a16: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1216 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a17: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1216 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a18: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1216 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a19: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1216 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a20: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1186 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a21: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1186 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a22: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1186 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a23: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1186 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a24: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1144 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a25: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1144 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a26: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1144 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a27: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1144 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a28: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1114 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a29: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1114 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a30: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1114 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a31: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1114 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a32: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 146 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SLDT", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a33: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 146 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SLDT", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a34: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 146 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SLDT", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a35: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 146 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SLDT", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a36: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 122 "machine/pentium/disassembler.m"
      

              sprintf (str,  "STR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a37: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 122 "machine/pentium/disassembler.m"
      

              sprintf (str,  "STR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a38: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 122 "machine/pentium/disassembler.m"
      

              sprintf (str,  "STR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a39: (void)0; /*placeholder for label*/ 
    { 
      nextPC = MATCH_p; 
      
      #line 1792 "machine/pentium/disassembler.m"
      
      		sprintf (str, "%0x", n);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a40: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 745 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LTR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a41: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 745 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LTR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a42: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 745 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LTR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a43: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 745 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LTR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a44: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 92 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a45: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 92 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a46: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 92 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a47: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 92 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERR", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a48: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 89 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a49: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 89 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a50: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 89 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a51: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 89 "machine/pentium/disassembler.m"
      

              sprintf (str,  "VERW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a52: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 176 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SGDT", DIS_MEM);

      

          // Sets are now in the high level instructions

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a53: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 176 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SGDT", DIS_MEM);

      

          // Sets are now in the high level instructions

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a54: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 176 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SGDT", DIS_MEM);

      

          // Sets are now in the high level instructions

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a55: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 173 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SIDT", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a56: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 173 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SIDT", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a57: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 173 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SIDT", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a58: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 143 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SMSW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a59: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 143 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SMSW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a60: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 143 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SMSW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a61: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 143 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SMSW", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a62: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 800 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INVLPG", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a63: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 800 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INVLPG", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a64: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 800 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INVLPG", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a65: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 787 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.od", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a66: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 787 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.od", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a67: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 787 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.od", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a68: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 787 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.od", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a69: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 751 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a70: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 751 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a71: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 751 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a72: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 751 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a73: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1034 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a74: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1034 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a75: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1034 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a76: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1034 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a77: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 998 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a78: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 998 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a79: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 998 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a80: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 998 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a81: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_24 & 0xff) /* i8 at 24 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 161 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a82: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_32 & 0xff) /* i8 at 32 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 5 + MATCH_p; 
      
      #line 161 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a83: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_64 & 0xff) /* i8 at 64 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 9 + MATCH_p; 
      
      #line 161 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a84: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_56 & 0xff) /* i8 at 56 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 161 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a85: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_24 & 0xff) /* i8 at 24 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 167 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a86: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_32 & 0xff) /* i8 at 32 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 5 + MATCH_p; 
      
      #line 167 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a87: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_64 & 0xff) /* i8 at 64 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 9 + MATCH_p; 
      
      #line 167 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a88: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_56 & 0xff) /* i8 at 56 */;
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 167 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibod", DIS_EADDR32, DIS_REG32, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a89: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 149 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a90: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 149 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a91: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 149 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a92: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 149 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a93: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 155 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a94: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 155 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a95: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 155 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a96: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 155 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a97: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 869 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a98: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 869 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a99: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 869 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a100: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 869 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a101: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 947 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a102: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 947 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a103: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 947 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a104: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 947 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a105: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 941 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a106: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 941 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a107: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 941 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a108: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 941 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a109: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 748 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a110: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 748 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a111: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 748 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a112: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1010 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a113: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1010 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a114: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1010 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a115: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1010 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a116: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 769 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LFS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a117: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 769 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LFS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a118: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 769 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LFS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a119: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 766 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LGS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a120: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 766 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LGS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a121: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 766 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LGS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a122: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 645 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a123: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 645 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a124: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 645 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a125: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 645 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a126: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a127: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a128: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a129: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a130: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1028 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a131: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1028 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a132: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1028 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a133: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1028 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a134: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 992 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiod", DIS_I8, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a135: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 992 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiod", DIS_I8, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a136: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 992 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiod", DIS_I8, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a137: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 992 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiod", DIS_I8, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a138: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1004 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a139: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1004 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a140: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1004 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a141: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1004 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a142: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1016 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a143: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1016 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a144: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1016 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a145: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1016 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a146: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1022 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a147: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1022 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a148: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1022 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a149: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1022 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a150: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1049 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a151: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1049 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a152: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1049 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a153: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1049 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a154: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1043 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a155: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1043 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a156: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1043 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a157: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1043 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a158: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 654 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a159: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 654 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a160: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 654 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a161: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 654 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ebod", DIS_R32, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a162: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 651 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a163: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 651 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a164: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 651 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a165: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned r32 = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 651 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVSX.Gv.Ew", DIS_R32, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a166: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 77 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a167: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 77 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a168: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 77 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a169: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 77 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a170: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 71 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a171: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 71 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a172: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 71 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a173: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 71 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a174: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 938 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG8B", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a175: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 938 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG8B", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a176: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 938 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG8B", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a177: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1213 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a178: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1213 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a179: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1213 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a180: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1213 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a181: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1180 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a182: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1180 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a183: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1180 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a184: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1180 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a185: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1141 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a186: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1141 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a187: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1141 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a188: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1141 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a189: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1108 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a190: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1108 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a191: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1108 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a192: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1108 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a193: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1210 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a194: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1210 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a195: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1210 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a196: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1210 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a197: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1174 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a198: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1174 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a199: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1174 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a200: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1174 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a201: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1138 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a202: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1138 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a203: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1138 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a204: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1138 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a205: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1102 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a206: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1102 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a207: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1102 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a208: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1102 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a209: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1207 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a210: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1207 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a211: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1207 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a212: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1207 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a213: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1204 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a214: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1204 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a215: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1204 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a216: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1204 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a217: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1168 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a218: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1168 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a219: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1168 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a220: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1168 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a221: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1162 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a222: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1162 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a223: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1162 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a224: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1162 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a225: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1135 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a226: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1135 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a227: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1135 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a228: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1135 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a229: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1132 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a230: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1132 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a231: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1132 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a232: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1132 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a233: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1096 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a234: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1096 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a235: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1096 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a236: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1096 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a237: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1090 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a238: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1090 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a239: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1090 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a240: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1090 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a241: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1201 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a242: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1201 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a243: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1201 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a244: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1201 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a245: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1198 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a246: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1198 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a247: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1198 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a248: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1198 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrb", DIS_EADDR8, DIS_R8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a249: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1156 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a250: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1156 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a251: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1156 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a252: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1156 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a253: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1150 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a254: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1150 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a255: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1150 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a256: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1150 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a257: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1129 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a258: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1129 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a259: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1129 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a260: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1129 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a261: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1126 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a262: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1126 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a263: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1126 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a264: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned r8 = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1126 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmb", DIS_R8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a265: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1084 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a266: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1084 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a267: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1084 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a268: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1084 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a269: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 1078 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a270: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1078 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a271: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1078 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a272: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1078 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a273: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 857 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivd", DIS_REG32, DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a274: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 857 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivd", DIS_REG32, DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a275: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 11 + MATCH_p; 
      
      #line 857 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivd", DIS_REG32, DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a276: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 10 + MATCH_p; 
      
      #line 857 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivd", DIS_REG32, DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a277: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 863 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibod", DIS_REG32, DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a278: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 4 + MATCH_p; 
      
      #line 863 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibod", DIS_REG32, DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a279: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 8 + MATCH_p; 
      
      #line 863 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibod", DIS_REG32, DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a280: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 863 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibod", DIS_REG32, DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a281: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1195 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a282: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1195 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a283: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1195 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a284: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1195 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a285: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1189 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a286: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1189 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a287: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1189 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a288: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1189 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a289: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1123 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a290: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1123 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a291: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1123 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a292: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1123 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a293: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1117 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a294: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1117 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a295: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1117 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a296: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1117 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a297: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 790 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.ow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a298: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 790 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.ow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a299: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 790 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.ow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a300: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 790 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LAR.ow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a301: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 754 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a302: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 754 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a303: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 754 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a304: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 754 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LSLow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a305: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1037 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a306: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1037 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a307: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1037 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a308: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1037 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a309: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1001 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a310: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1001 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a311: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1001 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a312: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1001 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a313: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_32 & 0xff) /* i8 at 32 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 164 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a314: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_40 & 0xff) /* i8 at 40 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 6 + MATCH_p; 
      
      #line 164 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a315: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_72 & 0xff) /* i8 at 72 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 10 + MATCH_p; 
      
      #line 164 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a316: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_64 & 0xff) /* i8 at 64 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 164 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a317: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_32 & 0xff) /* i8 at 32 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 170 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a318: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_40 & 0xff) /* i8 at 40 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 6 + MATCH_p; 
      
      #line 170 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a319: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_72 & 0xff) /* i8 at 72 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 10 + MATCH_p; 
      
      #line 170 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a320: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned count = (MATCH_w_8_64 & 0xff) /* i8 at 64 */;
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 170 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.Ibow", DIS_EADDR16, DIS_REG16, DIS_COUNT);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a321: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 152 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a322: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 152 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a323: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 152 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a324: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 152 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a325: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 158 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a326: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 158 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a327: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 158 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a328: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 158 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRD.CLow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a329: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 872 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a330: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 872 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a331: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 872 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a332: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 872 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a333: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 944 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a334: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 944 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a335: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 944 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a336: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 944 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPXCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a337: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1031 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a338: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_40 & 0xff) /* i8 at 40 */, 8);
      nextPC = 6 + MATCH_p; 
      
      #line 1031 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a339: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_72 & 0xff) /* i8 at 72 */, 8);
      nextPC = 10 + MATCH_p; 
      
      #line 1031 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a340: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1031 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a341: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 995 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiow", DIS_I8, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a342: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_40 & 0xff) /* i8 at 40 */, 8);
      nextPC = 6 + MATCH_p; 
      
      #line 995 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiow", DIS_I8, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a343: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_72 & 0xff) /* i8 at 72 */, 8);
      nextPC = 10 + MATCH_p; 
      
      #line 995 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiow", DIS_I8, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a344: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 995 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTSiow", DIS_I8, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a345: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1007 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a346: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_40 & 0xff) /* i8 at 40 */, 8);
      nextPC = 6 + MATCH_p; 
      
      #line 1007 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a347: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_72 & 0xff) /* i8 at 72 */, 8);
      nextPC = 10 + MATCH_p; 
      
      #line 1007 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a348: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1007 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a349: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1019 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a350: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_40 & 0xff) /* i8 at 40 */, 8);
      nextPC = 6 + MATCH_p; 
      
      #line 1019 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a351: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_72 & 0xff) /* i8 at 72 */, 8);
      nextPC = 10 + MATCH_p; 
      
      #line 1019 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a352: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1019 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCiow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a353: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1013 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a354: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1013 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a355: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1013 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a356: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1013 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTRow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a357: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1025 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a358: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1025 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a359: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1025 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a360: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1025 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BTCow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a361: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1052 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFow", DIS_REG16, DIS_EADDR16);

      

          // Not "user" instructions:

      //  | BOUNDod(reg, Mem) =>

      //      sprintf (str,  "BOUNDod", DIS_REG32, DIS_MEM);

      

      //  | BOUNDow(reg, Mem) =>

      //      sprintf (str,  "BOUNDow", DIS_REG16, DIS_MEM);

      

      //    | ARPL(Eaddr, reg ) =>

      //        unused(Eaddr); unused(reg);

      //        sprintf (str,  "UNIMP");

      

      //    | AAS() =>

      //        sprintf (str,  "AAS");

      

      //    | AAM() =>

      //        sprintf (str,  "AAM");

      

      //    | AAD() =>

      //        sprintf (str,  "AAD");

      

      //    | AAA() =>

      //        sprintf (str,  "AAA");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a362: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1052 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFow", DIS_REG16, DIS_EADDR16);

      

          // Not "user" instructions:

      //  | BOUNDod(reg, Mem) =>

      //      sprintf (str,  "BOUNDod", DIS_REG32, DIS_MEM);

      

      //  | BOUNDow(reg, Mem) =>

      //      sprintf (str,  "BOUNDow", DIS_REG16, DIS_MEM);

      

      //    | ARPL(Eaddr, reg ) =>

      //        unused(Eaddr); unused(reg);

      //        sprintf (str,  "UNIMP");

      

      //    | AAS() =>

      //        sprintf (str,  "AAS");

      

      //    | AAM() =>

      //        sprintf (str,  "AAM");

      

      //    | AAD() =>

      //        sprintf (str,  "AAD");

      

      //    | AAA() =>

      //        sprintf (str,  "AAA");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a363: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1052 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFow", DIS_REG16, DIS_EADDR16);

      

          // Not "user" instructions:

      //  | BOUNDod(reg, Mem) =>

      //      sprintf (str,  "BOUNDod", DIS_REG32, DIS_MEM);

      

      //  | BOUNDow(reg, Mem) =>

      //      sprintf (str,  "BOUNDow", DIS_REG16, DIS_MEM);

      

      //    | ARPL(Eaddr, reg ) =>

      //        unused(Eaddr); unused(reg);

      //        sprintf (str,  "UNIMP");

      

      //    | AAS() =>

      //        sprintf (str,  "AAS");

      

      //    | AAM() =>

      //        sprintf (str,  "AAM");

      

      //    | AAD() =>

      //        sprintf (str,  "AAD");

      

      //    | AAA() =>

      //        sprintf (str,  "AAA");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a364: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1052 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSFow", DIS_REG16, DIS_EADDR16);

      

          // Not "user" instructions:

      //  | BOUNDod(reg, Mem) =>

      //      sprintf (str,  "BOUNDod", DIS_REG32, DIS_MEM);

      

      //  | BOUNDow(reg, Mem) =>

      //      sprintf (str,  "BOUNDow", DIS_REG16, DIS_MEM);

      

      //    | ARPL(Eaddr, reg ) =>

      //        unused(Eaddr); unused(reg);

      //        sprintf (str,  "UNIMP");

      

      //    | AAS() =>

      //        sprintf (str,  "AAS");

      

      //    | AAM() =>

      //        sprintf (str,  "AAM");

      

      //    | AAD() =>

      //        sprintf (str,  "AAD");

      

      //    | AAA() =>

      //        sprintf (str,  "AAA");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a365: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1046 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a366: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 1046 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a367: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 1046 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a368: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1046 "machine/pentium/disassembler.m"
      

              sprintf (str,  "BSRow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a369: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 648 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a370: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 648 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a371: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 648 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a372: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 648 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a373: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 657 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a374: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 657 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a375: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 657 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a376: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned r16 = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 657 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVZX.Gv.Ebow", DIS_R16, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a377: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 74 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a378: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 74 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a379: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 9 + MATCH_p; 
      
      #line 74 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a380: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 3 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_24 >> 3 & 0x7) /* reg_opcode at 24 */;
      nextPC = 8 + MATCH_p; 
      
      #line 74 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XADD.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a381: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1183 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a382: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1183 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a383: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1183 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a384: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1183 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a385: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1177 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a386: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1177 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a387: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1177 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a388: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1177 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a389: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1111 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a390: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1111 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a391: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1111 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a392: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1111 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a393: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1105 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a394: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1105 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a395: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1105 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a396: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1105 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a397: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1171 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a398: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1171 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a399: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1171 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a400: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1171 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a401: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1165 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a402: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1165 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a403: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1165 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a404: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1165 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a405: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1099 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a406: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1099 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a407: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1099 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a408: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1099 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a409: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1093 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a410: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1093 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a411: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1093 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a412: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1093 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a413: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1159 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a414: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1159 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a415: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1159 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a416: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1159 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a417: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1153 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a418: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1153 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a419: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1153 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a420: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1153 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a421: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1087 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a422: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1087 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a423: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1087 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a424: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1087 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a425: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 1081 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a426: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 1081 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a427: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 1081 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a428: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1081 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a429: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 5 + MATCH_p; 
      
      #line 860 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivw", DIS_REG16, DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a430: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 860 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivw", DIS_REG16, DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a431: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 10 + MATCH_p; 
      
      #line 860 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivw", DIS_REG16, DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a432: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 9 + MATCH_p; 
      
      #line 860 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ivw", DIS_REG16, DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a433: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 866 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibow", DIS_REG16, DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a434: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 5 + MATCH_p; 
      
      #line 866 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibow", DIS_REG16, DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a435: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 9 + MATCH_p; 
      
      #line 866 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibow", DIS_REG16, DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a436: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 866 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMUL.Ibow", DIS_REG16, DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a437: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a438: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a439: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a440: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a441: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a442: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a443: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a444: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a445: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a446: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a447: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a448: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a449: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a450: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a451: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a452: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a453: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1303 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a454: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1303 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a455: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1303 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a456: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1303 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a457: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1300 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a458: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1300 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a459: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1300 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a460: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1300 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a461: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1297 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a462: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1297 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a463: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1297 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a464: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1297 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a465: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 1294 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a466: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 1294 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a467: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 1294 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a468: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 1294 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a469: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 739 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a470: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 739 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a471: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 739 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a472: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 739 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a473: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1267 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a474: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1267 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a475: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1267 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a476: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1267 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a477: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1261 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a478: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1261 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a479: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1261 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a480: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1261 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a481: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1255 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a482: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1255 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a483: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1255 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a484: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1255 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a485: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1249 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a486: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1249 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a487: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1249 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a488: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1249 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a489: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1243 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a490: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1243 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a491: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1243 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a492: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1243 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a493: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1237 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a494: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1237 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a495: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1237 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a496: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1237 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a497: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1231 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a498: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1231 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a499: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1231 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a500: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1231 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a501: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1225 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a502: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 1225 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a503: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 1225 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a504: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1225 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiowb", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a505: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 730 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a506: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 730 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a507: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 730 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a508: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 730 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmow", DIS_REG16, DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a509: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 98 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a510: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 98 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a511: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 98 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a512: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 98 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a513: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 781 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.ow", DIS_REG16, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a514: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 781 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.ow", DIS_REG16, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a515: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 781 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.ow", DIS_REG16, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a516: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 50 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a517: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 4 + MATCH_p; 
      
      #line 50 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a518: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 8 + MATCH_p; 
      
      #line 50 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a519: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_16 >> 3 & 0x7) /* reg_opcode at 16 */;
      nextPC = 7 + MATCH_p; 
      
      #line 50 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvow", DIS_EADDR16, DIS_REG16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a520: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 585 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evow", DIS_MEM);

      

      //    | OUTSvod() =>

      //        sprintf (str,  "OUTSvod");

      

      //    | OUTSvow() =>

      //        sprintf (str,  "OUTSvow");

      

      //    | OUTSB() =>

      //        sprintf (str,  "OUTSB");

      

      //    | OUT.DX.eAXod() =>

      //        sprintf (str,  "OUT.DX.eAXod");

      

      //    | OUT.DX.eAXow() =>

      //        sprintf (str,  "OUT.DX.eAXow");

      

      //    | OUT.DX.AL() =>

      //        sprintf (str,  "OUT.DX.AL");

      

      //    | OUT.Ib.eAXod(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXod", DIS_I8);

      

      //    | OUT.Ib.eAXow(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXow", DIS_I8);

      

      //    | OUT.Ib.AL(i8) =>

      //        sprintf (str,  "OUT.Ib.AL", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a521: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 585 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evow", DIS_MEM);

      

      //    | OUTSvod() =>

      //        sprintf (str,  "OUTSvod");

      

      //    | OUTSvow() =>

      //        sprintf (str,  "OUTSvow");

      

      //    | OUTSB() =>

      //        sprintf (str,  "OUTSB");

      

      //    | OUT.DX.eAXod() =>

      //        sprintf (str,  "OUT.DX.eAXod");

      

      //    | OUT.DX.eAXow() =>

      //        sprintf (str,  "OUT.DX.eAXow");

      

      //    | OUT.DX.AL() =>

      //        sprintf (str,  "OUT.DX.AL");

      

      //    | OUT.Ib.eAXod(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXod", DIS_I8);

      

      //    | OUT.Ib.eAXow(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXow", DIS_I8);

      

      //    | OUT.Ib.AL(i8) =>

      //        sprintf (str,  "OUT.Ib.AL", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a522: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 585 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evow", DIS_MEM);

      

      //    | OUTSvod() =>

      //        sprintf (str,  "OUTSvod");

      

      //    | OUTSvow() =>

      //        sprintf (str,  "OUTSvow");

      

      //    | OUTSB() =>

      //        sprintf (str,  "OUTSB");

      

      //    | OUT.DX.eAXod() =>

      //        sprintf (str,  "OUT.DX.eAXod");

      

      //    | OUT.DX.eAXow() =>

      //        sprintf (str,  "OUT.DX.eAXow");

      

      //    | OUT.DX.AL() =>

      //        sprintf (str,  "OUT.DX.AL");

      

      //    | OUT.Ib.eAXod(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXod", DIS_I8);

      

      //    | OUT.Ib.eAXow(i8) =>

      //        sprintf (str,  "OUT.Ib.eAXow", DIS_I8);

      

      //    | OUT.Ib.AL(i8) =>

      //        sprintf (str,  "OUT.Ib.AL", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a523: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 345 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a524: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 345 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a525: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 345 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a526: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 345 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a527: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a528: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a529: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a530: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a531: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a532: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a533: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a534: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a535: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a536: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a537: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a538: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a539: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a540: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a541: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a542: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a543: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a544: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a545: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a546: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 315 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a547: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a548: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_32 & 0xff) /* i8 at 32 */, 8);
      nextPC = 5 + MATCH_p; 
      
      #line 309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a549: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_64 & 0xff) /* i8 at 64 */, 8);
      nextPC = 9 + MATCH_p; 
      
      #line 309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a550: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 309 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibow", DIS_EADDR16, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a551: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_24 & 0xffff) /* i16 at 24 */, 16);
      nextPC = 5 + MATCH_p; 
      
      #line 688 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivow", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a552: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_32 & 0xffff) /* i16 at 32 */, 16);
      nextPC = 6 + MATCH_p; 
      
      #line 688 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivow", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a553: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_64 & 0xffff) /* i16 at 64 */, 16);
      nextPC = 10 + MATCH_p; 
      
      #line 688 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivow", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a554: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      int /* [~32768..32767] */ i16 = 
        sign_extend((MATCH_w_16_56 & 0xffff) /* i16 at 56 */, 16);
      nextPC = 9 + MATCH_p; 
      
      #line 688 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivow", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a555: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 450 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a556: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 450 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a557: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 450 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a558: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 450 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a559: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 438 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORB.Ev.1owR", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a560: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 438 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORB.Ev.1owR", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a561: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 438 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORB.Ev.1owR", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a562: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 438 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORB.Ev.1owR", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a563: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 426 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a564: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 426 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a565: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 426 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a566: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 426 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a567: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 414 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a568: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 414 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a569: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 414 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a570: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 414 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a571: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 402 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a572: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 402 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a573: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 402 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a574: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 402 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a575: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 390 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a576: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 390 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a577: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 390 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a578: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 390 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a579: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 378 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a580: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 378 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a581: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 378 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a582: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 378 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1ow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a583: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 444 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a584: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 444 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a585: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 444 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a586: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 444 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a587: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 432 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a588: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 432 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a589: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 432 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a590: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 432 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a591: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 420 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a592: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 420 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a593: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 420 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a594: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 420 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a595: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 408 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a596: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 408 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a597: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 408 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a598: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 408 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a599: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 396 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a600: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 396 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a601: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 396 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a602: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 396 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a603: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 384 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a604: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 384 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a605: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 384 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a606: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 384 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a607: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 372 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a608: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 372 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a609: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 372 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a610: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 372 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a611: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned i16 = (MATCH_w_16_24 & 0xffff) /* i16 at 24 */;
      nextPC = 5 + MATCH_p; 
      
      #line 107 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ew.Iw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a612: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned i16 = (MATCH_w_16_32 & 0xffff) /* i16 at 32 */;
      nextPC = 6 + MATCH_p; 
      
      #line 107 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ew.Iw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a613: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned i16 = (MATCH_w_16_64 & 0xffff) /* i16 at 64 */;
      nextPC = 10 + MATCH_p; 
      
      #line 107 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ew.Iw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a614: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      unsigned i16 = (MATCH_w_16_56 & 0xffff) /* i16 at 56 */;
      nextPC = 9 + MATCH_p; 
      
      #line 107 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ew.Iw", DIS_EADDR16, DIS_I16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a615: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a616: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a617: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a618: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a619: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a620: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a621: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a622: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a623: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 636 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a624: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 636 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a625: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 636 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a626: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 636 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a627: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 878 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a628: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 878 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a629: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 878 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a630: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 878 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a631: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 902 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a632: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 902 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a633: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 902 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a634: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 902 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a635: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 887 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a636: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 887 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a637: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 887 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a638: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 887 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVAX", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a639: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 833 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a640: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 833 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a641: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 833 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a642: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 833 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a643: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 917 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a644: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 917 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a645: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 917 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a646: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 917 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a647: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 546 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a648: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 4 + MATCH_p; 
      
      #line 546 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a649: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 8 + MATCH_p; 
      
      #line 546 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a650: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 2 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 546 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evow", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a651: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a652: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a653: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a654: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1339 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a655: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a656: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a657: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a658: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a659: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a660: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a661: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a662: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1333 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a663: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a664: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a665: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a666: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a667: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a668: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a669: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a670: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1327 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a671: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a672: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a673: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a674: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a675: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a676: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a677: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a678: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1321 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a679: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a680: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a681: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a682: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a683: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1291 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a684: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1291 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a685: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1291 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a686: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1291 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a687: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1288 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a688: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1288 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a689: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1288 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a690: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1288 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a691: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1285 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a692: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1285 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a693: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1285 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a694: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1285 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a695: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1282 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a696: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1282 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a697: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1282 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a698: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1282 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a699: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1279 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a700: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1279 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a701: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1279 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a702: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1279 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a703: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1276 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a704: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1276 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a705: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1276 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a706: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1276 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a707: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1273 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a708: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1273 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a709: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1273 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a710: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1273 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a711: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 1270 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a712: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 1270 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a713: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 1270 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a714: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 1270 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPid", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a715: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1264 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a716: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1264 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a717: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1264 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a718: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1264 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADDiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a719: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1258 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a720: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1258 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a721: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1258 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a722: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1258 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a723: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1252 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a724: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1252 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a725: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1252 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a726: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1252 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ADCiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a727: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1246 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a728: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1246 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a729: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1246 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a730: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1246 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SBBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a731: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1240 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a732: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1240 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a733: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1240 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a734: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1240 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ANDiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a735: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1234 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a736: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1234 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a737: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1234 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a738: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1234 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SUBiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a739: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1228 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a740: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1228 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a741: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1228 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a742: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1228 "machine/pentium/disassembler.m"
      

              sprintf (str,  "XORiodb", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a743: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 1222 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a744: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 1222 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a745: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 1222 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a746: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 1222 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CMPiodb", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a747: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 101 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a748: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 101 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a749: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 101 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a750: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 101 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a751: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 95 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a752: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 95 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a753: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 95 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a754: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 95 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a755: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 53 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a756: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 53 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a757: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 53 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a758: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 53 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Eb.Gb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a759: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 47 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a760: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 47 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a761: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 47 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a762: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 47 "machine/pentium/disassembler.m"
      

              sprintf (str, "%s %s,%s", "XCHG.Ev.Gvod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a763: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 742 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a764: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 742 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a765: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 742 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a766: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 742 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrb", DIS_EADDR8, DIS_REG8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a767: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 736 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a768: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 736 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a769: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 736 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a770: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 736 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVmrod", DIS_EADDR32, DIS_REG32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a771: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 733 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmb", DIS_REG8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a772: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 733 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmb", DIS_REG8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a773: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 733 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmb", DIS_REG8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a774: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 733 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmb", DIS_REG8, DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a775: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 2 + MATCH_p; 
      
      #line 727 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a776: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 727 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a777: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 727 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a778: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 727 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOVrmod", DIS_REG32, DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a779: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 778 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.od", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a780: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 778 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.od", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a781: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 778 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LEA.od", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a782: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 582 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evod", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a783: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 582 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evod", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a784: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 582 "machine/pentium/disassembler.m"
      

              sprintf (str,  "POP.Evod", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a785: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 366 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a786: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 366 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a787: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 366 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a788: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 366 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a789: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 363 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a790: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 363 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a791: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 363 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a792: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 363 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a793: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 360 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a794: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 360 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a795: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 360 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a796: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 360 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a797: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 357 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a798: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 357 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a799: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 357 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a800: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 357 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a801: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 354 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a802: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 354 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a803: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 354 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a804: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 354 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a805: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 351 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a806: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 351 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a807: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 351 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a808: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 351 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a809: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 348 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a810: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 348 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a811: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 348 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a812: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 348 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a813: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 342 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a814: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 342 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a815: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 342 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a816: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 342 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a817: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a818: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a819: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a820: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 336 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a821: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a822: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a823: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a824: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 330 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a825: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a826: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a827: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a828: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 324 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a829: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a830: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a831: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a832: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 318 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a833: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a834: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a835: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a836: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 312 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a837: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a838: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a839: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a840: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 306 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.Ibod", DIS_EADDR32, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a841: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 772 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LES", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a842: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 772 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LES", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a843: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 772 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LES", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a844: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 3 + MATCH_p; 
      
      #line 784 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LDS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a845: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 7 + MATCH_p; 
      
      #line 784 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LDS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a846: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      unsigned reg = (MATCH_w_8_8 >> 3 & 0x7) /* reg_opcode at 8 */;
      nextPC = 6 + MATCH_p; 
      
      #line 784 "machine/pentium/disassembler.m"
      

              sprintf (str,  "LDS", DIS_REG32, DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a847: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_16 & 0xff) /* i8 at 16 */, 8);
      nextPC = 3 + MATCH_p; 
      
      #line 691 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a848: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_24 & 0xff) /* i8 at 24 */, 8);
      nextPC = 4 + MATCH_p; 
      
      #line 691 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a849: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_56 & 0xff) /* i8 at 56 */, 8);
      nextPC = 8 + MATCH_p; 
      
      #line 691 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a850: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      int /* [~128..127] */ i8 = 
        sign_extend((MATCH_w_8_48 & 0xff) /* i8 at 48 */, 8);
      nextPC = 7 + MATCH_p; 
      
      #line 691 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a851: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 685 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivod", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a852: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 685 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivod", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a853: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 685 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivod", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a854: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 685 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MOV.Eb.Ivod", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a855: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 492 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a856: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 492 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a857: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 492 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a858: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 492 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a859: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 486 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a860: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 486 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a861: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 486 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a862: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 486 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a863: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 480 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a864: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 480 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a865: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 480 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a866: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 480 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a867: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 474 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a868: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 474 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a869: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 474 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a870: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 474 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a871: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 468 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a872: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 468 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a873: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 468 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a874: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 468 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a875: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 462 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a876: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 462 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a877: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 462 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a878: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 462 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.1", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a879: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 456 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.1", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a880: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 456 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.1", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a881: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 456 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.1", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a882: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 456 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.1", DIS_EADDR16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a883: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 447 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a884: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 447 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a885: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 447 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a886: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 447 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a887: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 435 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a888: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 435 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a889: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 435 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a890: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 435 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a891: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 423 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a892: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 423 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a893: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 423 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a894: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 423 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a895: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 411 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a896: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 411 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a897: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 411 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a898: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 411 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a899: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 399 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a900: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 399 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a901: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 399 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a902: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 399 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a903: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 387 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a904: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 387 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a905: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 387 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a906: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 387 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a907: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 375 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a908: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 375 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a909: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 375 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a910: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 375 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.1od", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a911: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 489 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a912: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 489 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a913: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 489 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a914: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 489 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a915: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 483 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a916: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 483 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a917: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 483 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a918: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 483 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a919: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 477 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a920: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 477 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a921: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 477 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a922: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 477 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a923: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 471 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a924: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 471 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a925: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 471 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a926: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 471 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a927: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 465 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a928: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 465 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a929: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 465 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a930: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 465 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a931: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 459 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a932: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 459 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a933: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 459 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a934: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 459 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Eb.CL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a935: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 453 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.CL", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a936: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 453 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.CL", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a937: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 453 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.CL", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a938: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 453 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Eb.CL", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a939: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 441 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a940: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 441 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a941: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 441 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a942: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 441 "machine/pentium/disassembler.m"
      

              sprintf (str,  "ROLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a943: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 429 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a944: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 429 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a945: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 429 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a946: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 429 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RORB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a947: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 417 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a948: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 417 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a949: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 417 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a950: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 417 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCLB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a951: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 405 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a952: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 405 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a953: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 405 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a954: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 405 "machine/pentium/disassembler.m"
      

              sprintf (str,  "RCRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a955: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 393 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a956: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 393 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a957: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 393 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a958: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 393 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHLSALB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a959: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 381 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a960: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 381 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a961: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 381 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a962: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 381 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SHRB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a963: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 369 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a964: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 369 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a965: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 369 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a966: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 369 "machine/pentium/disassembler.m"
      

              sprintf (str,  "SARB.Ev.CLod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a967: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1430 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a968: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1430 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a969: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1430 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a970: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a971: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a972: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a973: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1463 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a974: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1463 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a975: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1463 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a976: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1475 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a977: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1475 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a978: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1475 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a979: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1714 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a980: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1714 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a981: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1714 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a982: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1735 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a983: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1735 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a984: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1735 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a985: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1508 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a986: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1508 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a987: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1508 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a988: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1529 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a989: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1529 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a990: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1529 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a991: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1580 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a992: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1580 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a993: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1580 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a994: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1681 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a995: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1681 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a996: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1681 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a997: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1687 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a998: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1687 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a999: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1687 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1000: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1001: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1002: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1003: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1004: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1005: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1618 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLDCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1006: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1705 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1007: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1705 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1008: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1705 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTENV", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1009: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1702 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1010: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1702 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1011: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1702 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTCW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1012: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1445 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1013: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1445 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1014: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1445 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1015: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1016: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1017: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1018: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1469 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1019: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1469 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1020: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1469 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1021: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1487 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1022: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1487 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1023: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1487 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1024: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1726 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1025: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1726 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1026: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1726 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1027: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1747 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1028: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1747 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1029: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1747 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1030: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1523 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1031: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1523 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1032: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1523 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1033: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1541 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1034: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1541 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1035: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1541 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1036: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1556 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1037: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1556 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1038: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1556 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1039: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1568 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1040: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1568 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1041: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1568 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1042: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1574 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1043: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1574 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1044: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem32 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1574 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI32", DIS_MEM32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1045: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1586 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD80", DIS_MEM80);

      

      /* This is a bit tricky. The FPUSH logically comes between the read of STi and

      # the write to ST0. In particular, FLD ST0 is supposed to duplicate the TOS.

      # This problem only happens with this load instruction, so there is a work

      # around here that gives us the SSL a value of i that is one more than in

      # the instruction */

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1046: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1586 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD80", DIS_MEM80);

      

      /* This is a bit tricky. The FPUSH logically comes between the read of STi and

      # the write to ST0. In particular, FLD ST0 is supposed to duplicate the TOS.

      # This problem only happens with this load instruction, so there is a work

      # around here that gives us the SSL a value of i that is one more than in

      # the instruction */

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1047: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1586 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD80", DIS_MEM80);

      

      /* This is a bit tricky. The FPUSH logically comes between the read of STi and

      # the write to ST0. In particular, FLD ST0 is supposed to duplicate the TOS.

      # This problem only happens with this load instruction, so there is a work

      # around here that gives us the SSL a value of i that is one more than in

      # the instruction */

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1048: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1693 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP80", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1049: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1693 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP80", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1050: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1693 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP80", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1051: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1433 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1052: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1433 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1053: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1433 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FADD.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1054: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1055: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1056: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1627 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FMUL.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1057: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1466 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1058: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1466 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1059: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1466 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOM.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1060: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1478 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1061: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1478 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1062: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1478 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FCOMP.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1063: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1717 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1064: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1717 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1065: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1717 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUB.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1066: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1738 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1067: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1738 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1068: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1738 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSUBR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1069: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1511 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1070: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1511 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1071: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1511 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIV.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1072: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1532 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1073: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1532 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1074: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1532 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FDIVR.R64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1075: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1583 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1076: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1583 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1077: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1583 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FLD.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1078: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1684 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1079: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1684 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1080: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1684 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FST.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1081: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1690 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1082: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1690 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1083: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1690 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTP.lsR64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1084: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1663 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FRSTOR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1085: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1663 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FRSTOR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1086: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1663 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FRSTOR", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1087: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1666 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FNSAVE", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1088: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1666 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FNSAVE", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1089: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1666 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FNSAVE", DIS_MEM);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1090: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1708 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTSW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1091: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1708 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTSW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1092: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1708 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FSTSW", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1093: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1448 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1094: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1448 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1095: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1448 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIADD.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1096: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1097: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1098: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1642 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIMUL.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1099: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1472 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1100: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1472 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1101: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1472 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOM.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1102: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1490 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1103: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1490 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1104: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1490 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FICOMP.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1105: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1729 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1106: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1729 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1107: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1729 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUB.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1108: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1750 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1109: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1750 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1110: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1750 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISUBR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1111: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1526 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1112: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1526 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1113: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1526 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIV.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1114: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1544 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1115: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1544 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1116: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1544 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIDIVR.I16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1117: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1553 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1118: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1553 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1119: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1553 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1120: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1565 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1121: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1565 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1122: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1565 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FIST.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1123: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1571 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1124: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1571 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1125: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem16 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1571 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP.lsI16", DIS_MEM16);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1126: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1451 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBLD", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1127: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1451 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBLD", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1128: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1451 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBLD", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1129: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1559 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1130: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1559 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1131: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1559 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FILD64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1132: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1454 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBSTP", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1133: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1454 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBSTP", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1134: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem80 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1454 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FBSTP", DIS_MEM80);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1135: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 1577 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1136: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 1577 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1137: (void)0; /*placeholder for label*/ 
    { 
      unsigned Mem64 = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 1577 "machine/pentium/disassembler.m"
      

              sprintf (str,  "FISTP64", DIS_MEM64);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1138: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i8 = (MATCH_w_8_16 & 0xff) /* i8 at 16 */;
      nextPC = 3 + MATCH_p; 
      
      #line 110 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1139: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i8 = (MATCH_w_8_24 & 0xff) /* i8 at 24 */;
      nextPC = 4 + MATCH_p; 
      
      #line 110 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1140: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i8 = (MATCH_w_8_56 & 0xff) /* i8 at 56 */;
      nextPC = 8 + MATCH_p; 
      
      #line 110 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1141: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i8 = (MATCH_w_8_48 & 0xff) /* i8 at 48 */;
      nextPC = 7 + MATCH_p; 
      
      #line 110 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Eb.Ib", DIS_EADDR8, DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1142: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1143: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1144: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1145: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 621 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1146: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 630 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1147: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 630 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1148: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 630 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1149: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 630 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1150: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1151: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1152: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1153: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 639 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1154: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 881 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1155: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 881 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1156: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 881 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1157: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 881 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1158: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 905 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1159: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 905 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1160: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 905 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1161: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 905 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVAL", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1162: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 890 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIV", DIS_EADDR8); /* ?? */

      

      //  | HLT() =>

      //      sprintf (str,  "HLT");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1163: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 890 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIV", DIS_EADDR8); /* ?? */

      

      //  | HLT() =>

      //      sprintf (str,  "HLT");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1164: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 890 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIV", DIS_EADDR8); /* ?? */

      

      //  | HLT() =>

      //      sprintf (str,  "HLT");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1165: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 890 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIV", DIS_EADDR8); /* ?? */

      

      //  | HLT() =>

      //      sprintf (str,  "HLT");

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1166: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_16 /* i32 at 16 */;
      nextPC = 6 + MATCH_p; 
      
      #line 104 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ed.Id", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1167: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_24 /* i32 at 24 */;
      nextPC = 7 + MATCH_p; 
      
      #line 104 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ed.Id", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1168: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_56 /* i32 at 56 */;
      nextPC = 11 + MATCH_p; 
      
      #line 104 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ed.Id", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1169: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      unsigned i32 = MATCH_w_32_48 /* i32 at 48 */;
      nextPC = 10 + MATCH_p; 
      
      #line 104 "machine/pentium/disassembler.m"
      

              sprintf (str,  "TEST.Ed.Id", DIS_EADDR32, DIS_I32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1170: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 615 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1171: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 615 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1172: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 615 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1173: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 615 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NOTod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1174: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1175: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1176: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1177: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 624 "machine/pentium/disassembler.m"
      

              sprintf (str,  "NEGod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1178: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 633 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1179: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 633 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1180: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 633 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1181: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 633 "machine/pentium/disassembler.m"
      

              sprintf (str,  "MUL.AXod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1182: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 875 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1183: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 875 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1184: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 875 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1185: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 875 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IMULod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1186: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 899 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1187: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 899 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1188: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 899 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1189: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 899 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1190: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 884 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1191: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 884 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1192: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 884 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1193: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 884 "machine/pentium/disassembler.m"
      

              sprintf (str,  "IDIVeAX", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1194: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 836 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Eb", DIS_EADDR8);

      

      //    | IN.eAX.DXod() =>

      //        sprintf (str,  "IN.eAX.DXod");

      

      //    | IN.eAX.DXow() =>

      //        sprintf (str,  "IN.eAX.DXow");

      

      //    | IN.AL.DX() =>

      //        sprintf (str,  "IN.AL.DX");

      

      //    | IN.eAX.Ibod(i8) =>

      //        sprintf (str,  "IN.eAX.Ibod", DIS_I8);

      

      //    | IN.eAX.Ibow(i8) =>

      //        sprintf (str,  "IN.eAX.Ibow", DIS_I8);

      

      //    | IN.AL.Ib(i8) =>

      //        sprintf (str,  "IN.AL.Ib", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1195: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 836 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Eb", DIS_EADDR8);

      

      //    | IN.eAX.DXod() =>

      //        sprintf (str,  "IN.eAX.DXod");

      

      //    | IN.eAX.DXow() =>

      //        sprintf (str,  "IN.eAX.DXow");

      

      //    | IN.AL.DX() =>

      //        sprintf (str,  "IN.AL.DX");

      

      //    | IN.eAX.Ibod(i8) =>

      //        sprintf (str,  "IN.eAX.Ibod", DIS_I8);

      

      //    | IN.eAX.Ibow(i8) =>

      //        sprintf (str,  "IN.eAX.Ibow", DIS_I8);

      

      //    | IN.AL.Ib(i8) =>

      //        sprintf (str,  "IN.AL.Ib", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1196: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 836 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Eb", DIS_EADDR8);

      

      //    | IN.eAX.DXod() =>

      //        sprintf (str,  "IN.eAX.DXod");

      

      //    | IN.eAX.DXow() =>

      //        sprintf (str,  "IN.eAX.DXow");

      

      //    | IN.AL.DX() =>

      //        sprintf (str,  "IN.AL.DX");

      

      //    | IN.eAX.Ibod(i8) =>

      //        sprintf (str,  "IN.eAX.Ibod", DIS_I8);

      

      //    | IN.eAX.Ibow(i8) =>

      //        sprintf (str,  "IN.eAX.Ibow", DIS_I8);

      

      //    | IN.AL.Ib(i8) =>

      //        sprintf (str,  "IN.AL.Ib", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1197: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 836 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Eb", DIS_EADDR8);

      

      //    | IN.eAX.DXod() =>

      //        sprintf (str,  "IN.eAX.DXod");

      

      //    | IN.eAX.DXow() =>

      //        sprintf (str,  "IN.eAX.DXow");

      

      //    | IN.AL.DX() =>

      //        sprintf (str,  "IN.AL.DX");

      

      //    | IN.eAX.Ibod(i8) =>

      //        sprintf (str,  "IN.eAX.Ibod", DIS_I8);

      

      //    | IN.eAX.Ibow(i8) =>

      //        sprintf (str,  "IN.eAX.Ibow", DIS_I8);

      

      //    | IN.AL.Ib(i8) =>

      //        sprintf (str,  "IN.AL.Ib", DIS_I8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1198: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 920 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Eb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1199: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 920 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Eb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1200: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 920 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Eb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1201: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 920 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Eb", DIS_EADDR8);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1202: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 830 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1203: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 830 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1204: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 830 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1205: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 830 "machine/pentium/disassembler.m"
      

              sprintf (str,  "INC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1206: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 914 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1207: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 914 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1208: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 914 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1209: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 914 "machine/pentium/disassembler.m"
      

              sprintf (str,  "DEC.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1210: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 989 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CALL.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1211: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 989 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CALL.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1212: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 989 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CALL.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1213: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 989 "machine/pentium/disassembler.m"
      

              sprintf (str,  "CALL.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1214: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 2 + MATCH_p; 
      
      #line 543 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1215: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 3 + MATCH_p; 
      
      #line 543 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1216: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 7 + MATCH_p; 
      
      #line 543 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_label_a1217: (void)0; /*placeholder for label*/ 
    { 
      unsigned Eaddr = 1 + addressToPC(MATCH_p);
      nextPC = 6 + MATCH_p; 
      
      #line 543 "machine/pentium/disassembler.m"
      

              sprintf (str,  "PUSH.Evod", DIS_EADDR32);

      

      
      
      
    } 
    goto MATCH_finished_a; 
    
  MATCH_finished_a: (void)0; /*placeholder for label*/
  
}

#line 1796 "machine/pentium/disassembler.m"

    // return # of bytes parsed
    return (nextPC - hostPC);
}



