Home | History | Annotate | Download | only in opcodes
      1 #line 1 "msp430-decode.opc"
      2 /* -*- c -*- */
      3 /* Copyright (C) 2013-2016 Free Software Foundation, Inc.
      4    Contributed by Red Hat.
      5    Written by DJ Delorie.
      6 
      7    This file is part of the GNU opcodes library.
      8 
      9    This library is free software; you can redistribute it and/or modify
     10    it under the terms of the GNU General Public License as published by
     11    the Free Software Foundation; either version 3, or (at your option)
     12    any later version.
     13 
     14    It is distributed in the hope that it will be useful, but WITHOUT
     15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     17    License for more details.
     18 
     19    You should have received a copy of the GNU General Public License
     20    along with this program; if not, write to the Free Software
     21    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     22    MA 02110-1301, USA.  */
     23 
     24 #include "sysdep.h"
     25 #include <stdio.h>
     26 #include <stdlib.h>
     27 #include <string.h>
     28 #include "ansidecl.h"
     29 #include "opcode/msp430-decode.h"
     30 
     31 static int trace = 0;
     32 
     33 typedef struct
     34 {
     35   MSP430_Opcode_Decoded *msp430;
     36   int (*getbyte)(void *);
     37   void *ptr;
     38   unsigned char *op;
     39   int op_ptr;
     40   int pc;
     41 } LocalData;
     42 
     43 #define AU ATTRIBUTE_UNUSED
     44 #define GETBYTE() getbyte_swapped (ld)
     45 #define B ((unsigned long) GETBYTE ())
     46 
     47 static int
     48 getbyte_swapped (LocalData *ld)
     49 {
     50   int b;
     51 
     52   if (ld->op_ptr == ld->msp430->n_bytes)
     53     {
     54       do
     55 	{
     56 	  b = ld->getbyte (ld->ptr);
     57 	  ld->op [(ld->msp430->n_bytes++)^1] = b;
     58 	}
     59       while (ld->msp430->n_bytes & 1);
     60     }
     61   return ld->op[ld->op_ptr++];
     62 }
     63 
     64 #define ID(x)		msp430->id = x
     65 
     66 #define OP(n, t, r, a) (msp430->op[n].type = t,	     \
     67 		        msp430->op[n].reg = r,	     \
     68 		        msp430->op[n].addend = a)
     69 
     70 #define OPX(n, t, r1, r2, a)	 \
     71   (msp430->op[n].type = t,	 \
     72    msp430->op[n].reg = r1,	 \
     73    msp430->op[n].reg2 = r2,	 \
     74    msp430->op[n].addend = a)
     75 
     76 #define SYNTAX(x)	msp430->syntax = x
     77 #define UNSUPPORTED()	msp430->syntax = "*unknown*"
     78 
     79 #define DC(c)		OP (0, MSP430_Operand_Immediate, 0, c)
     80 #define DR(r)		OP (0, MSP430_Operand_Register, r, 0)
     81 #define DM(r, a)	OP (0, MSP430_Operand_Indirect, r, a)
     82 #define DA(a)		OP (0, MSP430_Operand_Indirect, MSR_None, a)
     83 #define AD(r, ad)	encode_ad (r, ad, ld, 0)
     84 #define ADX(r, ad, x)	encode_ad (r, ad, ld, x)
     85 
     86 #define SC(c)		OP (1, MSP430_Operand_Immediate, 0, c)
     87 #define SR(r)		OP (1, MSP430_Operand_Register, r, 0)
     88 #define SM(r, a)	OP (1, MSP430_Operand_Indirect, r, a)
     89 #define SA(a)		OP (1, MSP430_Operand_Indirect, MSR_None, a)
     90 #define SI(r)		OP (1, MSP430_Operand_Indirect_Postinc, r, 0)
     91 #define AS(r, as)	encode_as (r, as, ld, 0)
     92 #define ASX(r, as, x)	encode_as (r, as, ld, x)
     93 
     94 #define BW(x)		msp430->size = (x ? 8 : 16)
     95 /* The last 20 is for SWPBX.Z and SXTX.A.  */
     96 #define ABW(a,x)	msp430->size = (a ? ((x ? 8 : 16)) : (x ? 20 : 20))
     97 
     98 #define IMMU(bytes)	immediate (bytes, 0, ld)
     99 #define IMMS(bytes)	immediate (bytes, 1, ld)
    100 
    101 /* Helper macros for known status bits settings.  */
    102 #define	F_____		msp430->flags_1 = msp430->flags_0 = 0; msp430->flags_set = 0
    103 #define	F_VNZC		msp430->flags_1 = msp430->flags_0 = 0; msp430->flags_set = 0x87
    104 #define	F_0NZC		msp430->flags_1 = 0; msp430->flags_0 = 0x80; msp430->flags_set = 0x07
    105 
    106 
    107 /* The chip is little-endian, but GETBYTE byte-swaps words because the
    108    decoder is based on 16-bit "words" so *this* logic is big-endian.  */
    109 
    110 static int
    111 immediate (int bytes, int sign_extend, LocalData *ld)
    112 {
    113   unsigned long i = 0;
    114 
    115   switch (bytes)
    116     {
    117     case 1:
    118       i |= B;
    119       if (sign_extend && (i & 0x80))
    120 	i -= 0x100;
    121       break;
    122     case 2:
    123       i |= B << 8;
    124       i |= B;
    125       if (sign_extend && (i & 0x8000))
    126 	i -= 0x10000;
    127       break;
    128     case 3:
    129       i |= B << 16;
    130       i |= B << 8;
    131       i |= B;
    132       if (sign_extend && (i & 0x800000))
    133 	i -= 0x1000000;
    134       break;
    135     case 4:
    136       i |= B << 24;
    137       i |= B << 16;
    138       i |= B << 8;
    139       i |= B;
    140       if (sign_extend && (i & 0x80000000ULL))
    141 	i -= 0x100000000ULL;
    142       break;
    143     default:
    144       fprintf (stderr,
    145 	       "Programmer error: immediate() called with invalid byte count %d\n",
    146 	       bytes);
    147       abort ();
    148     }
    149   return i;
    150 }
    151 
    152 /*
    153 		PC	SP	SR	CG
    154   As
    155   00	Rn	-	-	R2	#0
    156   01	X(Rn)	Sym	-	X(abs)	#1
    157   10	(Rn)	-	-	#4	#2
    158   11	(Rn++)	#imm	-	#8	#-1
    159 
    160   Ad
    161   0	Rn	-	-	-	-
    162   1	X(Rn)	Sym	-	X(abs)	-   */
    163 
    164 static void
    165 encode_ad (int reg, int ad, LocalData *ld, int ext)
    166 {
    167   MSP430_Opcode_Decoded *msp430 = ld->msp430;
    168 
    169   if (ad)
    170     {
    171       int x = IMMU(2) | (ext << 16);
    172       switch (reg)
    173 	{
    174 	case 0: /* (PC) -> Symbolic.  */
    175 	  DA (x + ld->pc + ld->op_ptr - 2);
    176 	  break;
    177 	case 2: /* (SR) -> Absolute.  */
    178 	  DA (x);
    179 	  break;
    180 	default:
    181 	  DM (reg, x);
    182 	  break;
    183 	}
    184     }
    185   else
    186     {
    187       DR (reg);
    188     }
    189 }
    190 
    191 static void
    192 encode_as (int reg, int as, LocalData *ld, int ext)
    193 {
    194   MSP430_Opcode_Decoded *msp430 = ld->msp430;
    195   int x;
    196 
    197   switch (as)
    198     {
    199     case 0:
    200       switch (reg)
    201 	{
    202 	case 3:
    203 	  SC (0);
    204 	  break;
    205 	default:
    206 	  SR (reg);
    207 	  break;
    208 	}
    209       break;
    210     case 1:
    211       switch (reg)
    212 	{
    213 	case 0: /* PC -> Symbolic.  */
    214 	  x = IMMU(2) | (ext << 16);
    215 	  SA (x + ld->pc + ld->op_ptr - 2);
    216 	  break;
    217 	case 2: /* SR -> Absolute.  */
    218 	  x = IMMU(2) | (ext << 16);
    219 	  SA (x);
    220 	  break;
    221 	case 3:
    222 	  SC (1);
    223 	  break;
    224 	default:
    225 	  x = IMMU(2) | (ext << 16);
    226 	  SM (reg, x);
    227 	  break;
    228 	}
    229       break;
    230     case 2:
    231       switch (reg)
    232 	{
    233 	case 2:
    234 	  SC (4);
    235 	  break;
    236 	case 3:
    237 	  SC (2);
    238 	  break;
    239 	case MSR_None:
    240 	  SA (0);
    241 	default:
    242 	  SM (reg, 0);
    243 	  break;
    244 	}
    245       break;
    246     case 3:
    247       switch (reg)
    248 	{
    249 	case 0:
    250 	  {
    251 	    /* This fetch *is* the *PC++ that the opcode encodes :-)  */
    252 	    x = IMMU(2) | (ext << 16);
    253 	    SC (x);
    254 	  }
    255 	  break;
    256 	case 2:
    257 	  SC (8);
    258 	  break;
    259 	case 3:
    260 	  SC (-1);
    261 	  break;
    262 	default:
    263 	  SI (reg);
    264 	  break;
    265 	}
    266       break;
    267     }
    268 }
    269 
    270 static void
    271 encode_rep_zc (int srxt, int dsxt, LocalData *ld)
    272 {
    273   MSP430_Opcode_Decoded *msp430 = ld->msp430;
    274 
    275   msp430->repeat_reg = srxt & 1;
    276   msp430->repeats = dsxt;
    277   msp430->zc = (srxt & 2) ? 1 : 0;
    278 }
    279 
    280 #define REPZC(s,d) encode_rep_zc (s, d, ld)
    281 
    282 static int
    283 dopc_to_id (int dopc)
    284 {
    285   switch (dopc)
    286     {
    287     case 4: return MSO_mov;
    288     case 5: return MSO_add;
    289     case 6: return MSO_addc;
    290     case 7: return MSO_subc;
    291     case 8: return MSO_sub;
    292     case 9: return MSO_cmp;
    293     case 10: return MSO_dadd;
    294     case 11: return MSO_bit;
    295     case 12: return MSO_bic;
    296     case 13: return MSO_bis;
    297     case 14: return MSO_xor;
    298     case 15: return MSO_and;
    299     default: return MSO_unknown;
    300     }
    301 }
    302 
    303 static int
    304 sopc_to_id (int sop, int c)
    305 {
    306   switch (sop * 2 + c)
    307     {
    308     case 0: return MSO_rrc;
    309     case 1: return MSO_swpb;
    310     case 2: return MSO_rra;
    311     case 3: return MSO_sxt;
    312     case 4: return MSO_push;
    313     case 5: return MSO_call;
    314     case 6: return MSO_reti;
    315     default: return MSO_unknown;
    316     }
    317 }
    318 
    319 int
    320 msp430_decode_opcode (unsigned long pc,
    321 		      MSP430_Opcode_Decoded *msp430,
    322 		      int (*getbyte)(void *),
    323 		      void *ptr)
    324 {
    325   LocalData lds, *ld = &lds;
    326   unsigned char op_buf[20] = {0};
    327   unsigned char *op = op_buf;
    328   int raddr;
    329   int al_bit;
    330   int srxt_bits, dsxt_bits;
    331 
    332   lds.msp430 = msp430;
    333   lds.getbyte = getbyte;
    334   lds.ptr = ptr;
    335   lds.op = op;
    336   lds.op_ptr = 0;
    337   lds.pc = pc;
    338 
    339   memset (msp430, 0, sizeof (*msp430));
    340 
    341   /* These are overridden by an extension word.  */
    342   al_bit = 1;
    343   srxt_bits = 0;
    344   dsxt_bits = 0;
    345 
    346  post_extension_word:
    347   ;
    348 
    349   /* 430X extention word.  */
    350   GETBYTE ();
    351   switch (op[0] & 0xff)
    352   {
    353     case 0x00:
    354         GETBYTE ();
    355         switch (op[1] & 0xf0)
    356         {
    357           case 0x00:
    358             op_semantics_1:
    359               {
    360                 /** 0000 srcr 0000 dstr		MOVA @%1, %0 */
    361 #line 438 "msp430-decode.opc"
    362                 int srcr AU = op[0] & 0x0f;
    363 #line 438 "msp430-decode.opc"
    364                 int dstr AU = op[1] & 0x0f;
    365                 if (trace)
    366                   {
    367                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    368                            "/** 0000 srcr 0000 dstr		MOVA @%1, %0 */",
    369                            op[0], op[1]);
    370                     printf ("  srcr = 0x%x,", srcr);
    371                     printf ("  dstr = 0x%x\n", dstr);
    372                   }
    373                 SYNTAX("MOVA @%1, %0");
    374 #line 438 "msp430-decode.opc"
    375                 ID (MSO_mov); SM (srcr, 0); DR (dstr);
    376                 msp430->size = 20;
    377                 msp430->ofs_430x = 1;
    378 
    379               }
    380             break;
    381           case 0x10:
    382             op_semantics_2:
    383               {
    384                 /** 0000 srcr 0001 dstr		MOVA @%1+, %0 */
    385 #line 443 "msp430-decode.opc"
    386                 int srcr AU = op[0] & 0x0f;
    387 #line 443 "msp430-decode.opc"
    388                 int dstr AU = op[1] & 0x0f;
    389                 if (trace)
    390                   {
    391                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    392                            "/** 0000 srcr 0001 dstr		MOVA @%1+, %0 */",
    393                            op[0], op[1]);
    394                     printf ("  srcr = 0x%x,", srcr);
    395                     printf ("  dstr = 0x%x\n", dstr);
    396                   }
    397                 SYNTAX("MOVA @%1+, %0");
    398 #line 443 "msp430-decode.opc"
    399                 ID (MSO_mov); SI (srcr); DR (dstr);
    400                 msp430->size = 20;
    401                 msp430->ofs_430x = 1;
    402 
    403               }
    404             break;
    405           case 0x20:
    406             op_semantics_3:
    407               {
    408                 /** 0000 srcr 0010 dstr		MOVA &%1, %0 */
    409 #line 448 "msp430-decode.opc"
    410                 int srcr AU = op[0] & 0x0f;
    411 #line 448 "msp430-decode.opc"
    412                 int dstr AU = op[1] & 0x0f;
    413                 if (trace)
    414                   {
    415                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    416                            "/** 0000 srcr 0010 dstr		MOVA &%1, %0 */",
    417                            op[0], op[1]);
    418                     printf ("  srcr = 0x%x,", srcr);
    419                     printf ("  dstr = 0x%x\n", dstr);
    420                   }
    421                 SYNTAX("MOVA &%1, %0");
    422 #line 448 "msp430-decode.opc"
    423                 ID (MSO_mov); SA ((srcr << 16) + IMMU(2)); DR (dstr);
    424                 msp430->size = 20;
    425                 msp430->ofs_430x = 1;
    426 
    427               }
    428             break;
    429           case 0x30:
    430             op_semantics_4:
    431               {
    432                 /** 0000 srcr 0011 dstr		MOVA %1, %0 */
    433 #line 453 "msp430-decode.opc"
    434                 int srcr AU = op[0] & 0x0f;
    435 #line 453 "msp430-decode.opc"
    436                 int dstr AU = op[1] & 0x0f;
    437                 if (trace)
    438                   {
    439                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    440                            "/** 0000 srcr 0011 dstr		MOVA %1, %0 */",
    441                            op[0], op[1]);
    442                     printf ("  srcr = 0x%x,", srcr);
    443                     printf ("  dstr = 0x%x\n", dstr);
    444                   }
    445                 SYNTAX("MOVA %1, %0");
    446 #line 453 "msp430-decode.opc"
    447                 ID (MSO_mov); SM (srcr, IMMS(2)); DR (dstr);
    448                 msp430->size = 20;
    449                 msp430->ofs_430x = 1;
    450 
    451               }
    452             break;
    453           case 0x40:
    454           case 0x50:
    455             op_semantics_5:
    456               {
    457                 /** 0000 bt00 010w dstr		RRCM.A %c, %0 */
    458 #line 520 "msp430-decode.opc"
    459                 int bt AU = (op[0] >> 2) & 0x03;
    460 #line 520 "msp430-decode.opc"
    461                 int w AU = (op[1] >> 4) & 0x01;
    462 #line 520 "msp430-decode.opc"
    463                 int dstr AU = op[1] & 0x0f;
    464                 if (trace)
    465                   {
    466                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    467                            "/** 0000 bt00 010w dstr		RRCM.A %c, %0 */",
    468                            op[0], op[1]);
    469                     printf ("  bt = 0x%x,", bt);
    470                     printf ("  w = 0x%x,", w);
    471                     printf ("  dstr = 0x%x\n", dstr);
    472                   }
    473                 SYNTAX("RRCM.A %c, %0");
    474 #line 520 "msp430-decode.opc"
    475                 ID (MSO_rrc); DR (dstr); SR (dstr);
    476                 msp430->repeats = bt;
    477                 msp430->size = w ? 16 : 20;
    478                 msp430->ofs_430x = 1;
    479                 F_0NZC;
    480 
    481               }
    482             break;
    483           case 0x60:
    484             op_semantics_6:
    485               {
    486                 /** 0000 srcr 0110 dstr		MOVA %1, &%0 */
    487 #line 458 "msp430-decode.opc"
    488                 int srcr AU = op[0] & 0x0f;
    489 #line 458 "msp430-decode.opc"
    490                 int dstr AU = op[1] & 0x0f;
    491                 if (trace)
    492                   {
    493                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    494                            "/** 0000 srcr 0110 dstr		MOVA %1, &%0 */",
    495                            op[0], op[1]);
    496                     printf ("  srcr = 0x%x,", srcr);
    497                     printf ("  dstr = 0x%x\n", dstr);
    498                   }
    499                 SYNTAX("MOVA %1, &%0");
    500 #line 458 "msp430-decode.opc"
    501                 ID (MSO_mov); SR (srcr); DA ((dstr << 16) + IMMU(2));
    502                 msp430->size = 20;
    503                 msp430->ofs_430x = 1;
    504 
    505               }
    506             break;
    507           case 0x70:
    508             op_semantics_7:
    509               {
    510                 /** 0000 srcr 0111 dstr		MOVA %1, &%0 */
    511 #line 463 "msp430-decode.opc"
    512                 int srcr AU = op[0] & 0x0f;
    513 #line 463 "msp430-decode.opc"
    514                 int dstr AU = op[1] & 0x0f;
    515                 if (trace)
    516                   {
    517                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    518                            "/** 0000 srcr 0111 dstr		MOVA %1, &%0 */",
    519                            op[0], op[1]);
    520                     printf ("  srcr = 0x%x,", srcr);
    521                     printf ("  dstr = 0x%x\n", dstr);
    522                   }
    523                 SYNTAX("MOVA %1, &%0");
    524 #line 463 "msp430-decode.opc"
    525                 ID (MSO_mov); SR (srcr); DM (dstr, IMMS(2));
    526                 msp430->size = 20;
    527                 msp430->ofs_430x = 1;
    528 
    529               }
    530             break;
    531           case 0x80:
    532             op_semantics_8:
    533               {
    534                 /** 0000 srcr 1000 dstr		MOVA %1, %0 */
    535 #line 468 "msp430-decode.opc"
    536                 int srcr AU = op[0] & 0x0f;
    537 #line 468 "msp430-decode.opc"
    538                 int dstr AU = op[1] & 0x0f;
    539                 if (trace)
    540                   {
    541                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    542                            "/** 0000 srcr 1000 dstr		MOVA %1, %0 */",
    543                            op[0], op[1]);
    544                     printf ("  srcr = 0x%x,", srcr);
    545                     printf ("  dstr = 0x%x\n", dstr);
    546                   }
    547                 SYNTAX("MOVA %1, %0");
    548 #line 468 "msp430-decode.opc"
    549                 ID (MSO_mov); SC ((srcr << 16) + IMMU(2)); DR (dstr);
    550                 msp430->size = 20;
    551                 msp430->ofs_430x = 1;
    552 
    553               }
    554             break;
    555           case 0x90:
    556             op_semantics_9:
    557               {
    558                 /** 0000 srcr 1001 dstr		CMPA %1, %0 */
    559 #line 473 "msp430-decode.opc"
    560                 int srcr AU = op[0] & 0x0f;
    561 #line 473 "msp430-decode.opc"
    562                 int dstr AU = op[1] & 0x0f;
    563                 if (trace)
    564                   {
    565                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    566                            "/** 0000 srcr 1001 dstr		CMPA %1, %0 */",
    567                            op[0], op[1]);
    568                     printf ("  srcr = 0x%x,", srcr);
    569                     printf ("  dstr = 0x%x\n", dstr);
    570                   }
    571                 SYNTAX("CMPA %1, %0");
    572 #line 473 "msp430-decode.opc"
    573                 ID (MSO_cmp); SC ((srcr << 16) + IMMU(2)); DR (dstr);
    574                 msp430->size = 20;
    575                 msp430->ofs_430x = 1;
    576                 F_VNZC;
    577 
    578               }
    579             break;
    580           case 0xa0:
    581             op_semantics_10:
    582               {
    583                 /** 0000 srcr 1010 dstr		ADDA %1, %0 */
    584 #line 479 "msp430-decode.opc"
    585                 int srcr AU = op[0] & 0x0f;
    586 #line 479 "msp430-decode.opc"
    587                 int dstr AU = op[1] & 0x0f;
    588                 if (trace)
    589                   {
    590                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    591                            "/** 0000 srcr 1010 dstr		ADDA %1, %0 */",
    592                            op[0], op[1]);
    593                     printf ("  srcr = 0x%x,", srcr);
    594                     printf ("  dstr = 0x%x\n", dstr);
    595                   }
    596                 SYNTAX("ADDA %1, %0");
    597 #line 479 "msp430-decode.opc"
    598                 ID (MSO_add); SC ((srcr << 16) + IMMU(2)); DR (dstr);
    599                 msp430->size = 20;
    600                 msp430->ofs_430x = 1;
    601                 F_VNZC;
    602 
    603               }
    604             break;
    605           case 0xb0:
    606             op_semantics_11:
    607               {
    608                 /** 0000 srcr 1011 dstr		SUBA %1, %0 */
    609 #line 485 "msp430-decode.opc"
    610                 int srcr AU = op[0] & 0x0f;
    611 #line 485 "msp430-decode.opc"
    612                 int dstr AU = op[1] & 0x0f;
    613                 if (trace)
    614                   {
    615                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    616                            "/** 0000 srcr 1011 dstr		SUBA %1, %0 */",
    617                            op[0], op[1]);
    618                     printf ("  srcr = 0x%x,", srcr);
    619                     printf ("  dstr = 0x%x\n", dstr);
    620                   }
    621                 SYNTAX("SUBA %1, %0");
    622 #line 485 "msp430-decode.opc"
    623                 ID (MSO_sub); SC ((srcr << 16) + IMMU(2)); DR (dstr);
    624                 msp430->size = 20;
    625                 msp430->ofs_430x = 1;
    626                 F_VNZC;
    627 
    628               }
    629             break;
    630           case 0xc0:
    631             op_semantics_12:
    632               {
    633                 /** 0000 srcr 1100 dstr		MOVA %1, %0 */
    634 #line 497 "msp430-decode.opc"
    635                 int srcr AU = op[0] & 0x0f;
    636 #line 497 "msp430-decode.opc"
    637                 int dstr AU = op[1] & 0x0f;
    638                 if (trace)
    639                   {
    640                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    641                            "/** 0000 srcr 1100 dstr		MOVA %1, %0 */",
    642                            op[0], op[1]);
    643                     printf ("  srcr = 0x%x,", srcr);
    644                     printf ("  dstr = 0x%x\n", dstr);
    645                   }
    646                 SYNTAX("MOVA %1, %0");
    647 #line 497 "msp430-decode.opc"
    648                 ID (MSO_mov); SR (srcr); DR (dstr);
    649                 msp430->size = 20;
    650                 msp430->ofs_430x = 1;
    651 
    652               }
    653             break;
    654           case 0xd0:
    655             op_semantics_13:
    656               {
    657                 /** 0000 srcr 1101 dstr		CMPA %1, %0 */
    658 #line 502 "msp430-decode.opc"
    659                 int srcr AU = op[0] & 0x0f;
    660 #line 502 "msp430-decode.opc"
    661                 int dstr AU = op[1] & 0x0f;
    662                 if (trace)
    663                   {
    664                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    665                            "/** 0000 srcr 1101 dstr		CMPA %1, %0 */",
    666                            op[0], op[1]);
    667                     printf ("  srcr = 0x%x,", srcr);
    668                     printf ("  dstr = 0x%x\n", dstr);
    669                   }
    670                 SYNTAX("CMPA %1, %0");
    671 #line 502 "msp430-decode.opc"
    672                 ID (MSO_cmp); SR (srcr); DR (dstr);
    673                 msp430->size = 20;
    674                 msp430->ofs_430x = 1;
    675                 F_VNZC;
    676 
    677               }
    678             break;
    679           case 0xe0:
    680             op_semantics_14:
    681               {
    682                 /** 0000 srcr 1110 dstr		ADDA %1, %0 */
    683 #line 508 "msp430-decode.opc"
    684                 int srcr AU = op[0] & 0x0f;
    685 #line 508 "msp430-decode.opc"
    686                 int dstr AU = op[1] & 0x0f;
    687                 if (trace)
    688                   {
    689                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    690                            "/** 0000 srcr 1110 dstr		ADDA %1, %0 */",
    691                            op[0], op[1]);
    692                     printf ("  srcr = 0x%x,", srcr);
    693                     printf ("  dstr = 0x%x\n", dstr);
    694                   }
    695                 SYNTAX("ADDA %1, %0");
    696 #line 508 "msp430-decode.opc"
    697                 ID (MSO_add); SR (srcr); DR (dstr);
    698                 msp430->size = 20;
    699                 msp430->ofs_430x = 1;
    700                 F_VNZC;
    701 
    702               }
    703             break;
    704           case 0xf0:
    705             op_semantics_15:
    706               {
    707                 /** 0000 srcr 1111 dstr		SUBA %1, %0 */
    708 #line 514 "msp430-decode.opc"
    709                 int srcr AU = op[0] & 0x0f;
    710 #line 514 "msp430-decode.opc"
    711                 int dstr AU = op[1] & 0x0f;
    712                 if (trace)
    713                   {
    714                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    715                            "/** 0000 srcr 1111 dstr		SUBA %1, %0 */",
    716                            op[0], op[1]);
    717                     printf ("  srcr = 0x%x,", srcr);
    718                     printf ("  dstr = 0x%x\n", dstr);
    719                   }
    720                 SYNTAX("SUBA %1, %0");
    721 #line 514 "msp430-decode.opc"
    722                 ID (MSO_sub); SR (srcr); DR (dstr);
    723                 msp430->size = 20;
    724                 msp430->ofs_430x = 1;
    725                 F_VNZC;
    726 
    727               }
    728             break;
    729         }
    730       break;
    731     case 0x01:
    732         GETBYTE ();
    733         switch (op[1] & 0xf0)
    734         {
    735           case 0x00:
    736             goto op_semantics_1;
    737             break;
    738           case 0x10:
    739             goto op_semantics_2;
    740             break;
    741           case 0x20:
    742             goto op_semantics_3;
    743             break;
    744           case 0x30:
    745             goto op_semantics_4;
    746             break;
    747           case 0x40:
    748           case 0x50:
    749             op_semantics_16:
    750               {
    751                 /** 0000 bt01 010w dstr		RRAM.A %c, %0 */
    752 #line 527 "msp430-decode.opc"
    753                 int bt AU = (op[0] >> 2) & 0x03;
    754 #line 527 "msp430-decode.opc"
    755                 int w AU = (op[1] >> 4) & 0x01;
    756 #line 527 "msp430-decode.opc"
    757                 int dstr AU = op[1] & 0x0f;
    758                 if (trace)
    759                   {
    760                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    761                            "/** 0000 bt01 010w dstr		RRAM.A %c, %0 */",
    762                            op[0], op[1]);
    763                     printf ("  bt = 0x%x,", bt);
    764                     printf ("  w = 0x%x,", w);
    765                     printf ("  dstr = 0x%x\n", dstr);
    766                   }
    767                 SYNTAX("RRAM.A %c, %0");
    768 #line 527 "msp430-decode.opc"
    769                 ID (MSO_rra); DR (dstr); SR (dstr);
    770                 msp430->repeats = bt;
    771                 msp430->size = w ? 16 : 20;
    772                 msp430->ofs_430x = 1;
    773                 F_0NZC;
    774 
    775               }
    776             break;
    777           case 0x60:
    778             goto op_semantics_6;
    779             break;
    780           case 0x70:
    781             goto op_semantics_7;
    782             break;
    783           case 0x80:
    784             goto op_semantics_8;
    785             break;
    786           case 0x90:
    787             goto op_semantics_9;
    788             break;
    789           case 0xa0:
    790             goto op_semantics_10;
    791             break;
    792           case 0xb0:
    793             goto op_semantics_11;
    794             break;
    795           case 0xc0:
    796             goto op_semantics_12;
    797             break;
    798           case 0xd0:
    799             goto op_semantics_13;
    800             break;
    801           case 0xe0:
    802             goto op_semantics_14;
    803             break;
    804           case 0xf0:
    805             goto op_semantics_15;
    806             break;
    807         }
    808       break;
    809     case 0x02:
    810         GETBYTE ();
    811         switch (op[1] & 0xf0)
    812         {
    813           case 0x00:
    814             goto op_semantics_1;
    815             break;
    816           case 0x10:
    817             goto op_semantics_2;
    818             break;
    819           case 0x20:
    820             goto op_semantics_3;
    821             break;
    822           case 0x30:
    823             goto op_semantics_4;
    824             break;
    825           case 0x40:
    826           case 0x50:
    827             op_semantics_17:
    828               {
    829                 /** 0000 bt10 010w dstr		RLAM.A %c, %0 */
    830 #line 534 "msp430-decode.opc"
    831                 int bt AU = (op[0] >> 2) & 0x03;
    832 #line 534 "msp430-decode.opc"
    833                 int w AU = (op[1] >> 4) & 0x01;
    834 #line 534 "msp430-decode.opc"
    835                 int dstr AU = op[1] & 0x0f;
    836                 if (trace)
    837                   {
    838                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    839                            "/** 0000 bt10 010w dstr		RLAM.A %c, %0 */",
    840                            op[0], op[1]);
    841                     printf ("  bt = 0x%x,", bt);
    842                     printf ("  w = 0x%x,", w);
    843                     printf ("  dstr = 0x%x\n", dstr);
    844                   }
    845                 SYNTAX("RLAM.A %c, %0");
    846 #line 534 "msp430-decode.opc"
    847                 ID (MSO_add); DR (dstr); SR (dstr);
    848                 msp430->repeats = bt;
    849                 msp430->size = w ? 16 : 20;
    850                 msp430->ofs_430x = 1;
    851                 F_0NZC;
    852 
    853               }
    854             break;
    855           case 0x60:
    856             goto op_semantics_6;
    857             break;
    858           case 0x70:
    859             goto op_semantics_7;
    860             break;
    861           case 0x80:
    862             goto op_semantics_8;
    863             break;
    864           case 0x90:
    865             goto op_semantics_9;
    866             break;
    867           case 0xa0:
    868             goto op_semantics_10;
    869             break;
    870           case 0xb0:
    871             goto op_semantics_11;
    872             break;
    873           case 0xc0:
    874             goto op_semantics_12;
    875             break;
    876           case 0xd0:
    877             goto op_semantics_13;
    878             break;
    879           case 0xe0:
    880             goto op_semantics_14;
    881             break;
    882           case 0xf0:
    883             goto op_semantics_15;
    884             break;
    885         }
    886       break;
    887     case 0x03:
    888         GETBYTE ();
    889         switch (op[1] & 0xf0)
    890         {
    891           case 0x00:
    892             goto op_semantics_1;
    893             break;
    894           case 0x10:
    895             goto op_semantics_2;
    896             break;
    897           case 0x20:
    898             goto op_semantics_3;
    899             break;
    900           case 0x30:
    901             goto op_semantics_4;
    902             break;
    903           case 0x40:
    904           case 0x50:
    905             op_semantics_18:
    906               {
    907                 /** 0000 bt11 010w dstr		RRUM.A %c, %0 */
    908 #line 541 "msp430-decode.opc"
    909                 int bt AU = (op[0] >> 2) & 0x03;
    910 #line 541 "msp430-decode.opc"
    911                 int w AU = (op[1] >> 4) & 0x01;
    912 #line 541 "msp430-decode.opc"
    913                 int dstr AU = op[1] & 0x0f;
    914                 if (trace)
    915                   {
    916                     printf ("\033[33m%s\033[0m  %02x %02x\n",
    917                            "/** 0000 bt11 010w dstr		RRUM.A %c, %0 */",
    918                            op[0], op[1]);
    919                     printf ("  bt = 0x%x,", bt);
    920                     printf ("  w = 0x%x,", w);
    921                     printf ("  dstr = 0x%x\n", dstr);
    922                   }
    923                 SYNTAX("RRUM.A %c, %0");
    924 #line 541 "msp430-decode.opc"
    925                 ID (MSO_rru); DR (dstr); SR (dstr);
    926                 msp430->repeats = bt;
    927                 msp430->size = w ? 16 : 20;
    928                 msp430->ofs_430x = 1;
    929                 F_0NZC;
    930 
    931               }
    932             break;
    933           case 0x60:
    934             goto op_semantics_6;
    935             break;
    936           case 0x70:
    937             goto op_semantics_7;
    938             break;
    939           case 0x80:
    940             goto op_semantics_8;
    941             break;
    942           case 0x90:
    943             goto op_semantics_9;
    944             break;
    945           case 0xa0:
    946             goto op_semantics_10;
    947             break;
    948           case 0xb0:
    949             goto op_semantics_11;
    950             break;
    951           case 0xc0:
    952             goto op_semantics_12;
    953             break;
    954           case 0xd0:
    955             goto op_semantics_13;
    956             break;
    957           case 0xe0:
    958             goto op_semantics_14;
    959             break;
    960           case 0xf0:
    961             goto op_semantics_15;
    962             break;
    963         }
    964       break;
    965     case 0x04:
    966         GETBYTE ();
    967         switch (op[1] & 0xf0)
    968         {
    969           case 0x00:
    970             goto op_semantics_1;
    971             break;
    972           case 0x10:
    973             goto op_semantics_2;
    974             break;
    975           case 0x20:
    976             goto op_semantics_3;
    977             break;
    978           case 0x30:
    979             goto op_semantics_4;
    980             break;
    981           case 0x40:
    982           case 0x50:
    983             goto op_semantics_5;
    984             break;
    985           case 0x60:
    986             goto op_semantics_6;
    987             break;
    988           case 0x70:
    989             goto op_semantics_7;
    990             break;
    991           case 0x80:
    992             goto op_semantics_8;
    993             break;
    994           case 0x90:
    995             goto op_semantics_9;
    996             break;
    997           case 0xa0:
    998             goto op_semantics_10;
    999             break;
   1000           case 0xb0:
   1001             goto op_semantics_11;
   1002             break;
   1003           case 0xc0:
   1004             goto op_semantics_12;
   1005             break;
   1006           case 0xd0:
   1007             goto op_semantics_13;
   1008             break;
   1009           case 0xe0:
   1010             goto op_semantics_14;
   1011             break;
   1012           case 0xf0:
   1013             goto op_semantics_15;
   1014             break;
   1015         }
   1016       break;
   1017     case 0x05:
   1018         GETBYTE ();
   1019         switch (op[1] & 0xf0)
   1020         {
   1021           case 0x00:
   1022             goto op_semantics_1;
   1023             break;
   1024           case 0x10:
   1025             goto op_semantics_2;
   1026             break;
   1027           case 0x20:
   1028             goto op_semantics_3;
   1029             break;
   1030           case 0x30:
   1031             goto op_semantics_4;
   1032             break;
   1033           case 0x40:
   1034           case 0x50:
   1035             goto op_semantics_16;
   1036             break;
   1037           case 0x60:
   1038             goto op_semantics_6;
   1039             break;
   1040           case 0x70:
   1041             goto op_semantics_7;
   1042             break;
   1043           case 0x80:
   1044             goto op_semantics_8;
   1045             break;
   1046           case 0x90:
   1047             goto op_semantics_9;
   1048             break;
   1049           case 0xa0:
   1050             goto op_semantics_10;
   1051             break;
   1052           case 0xb0:
   1053             goto op_semantics_11;
   1054             break;
   1055           case 0xc0:
   1056             goto op_semantics_12;
   1057             break;
   1058           case 0xd0:
   1059             goto op_semantics_13;
   1060             break;
   1061           case 0xe0:
   1062             goto op_semantics_14;
   1063             break;
   1064           case 0xf0:
   1065             goto op_semantics_15;
   1066             break;
   1067         }
   1068       break;
   1069     case 0x06:
   1070         GETBYTE ();
   1071         switch (op[1] & 0xf0)
   1072         {
   1073           case 0x00:
   1074             goto op_semantics_1;
   1075             break;
   1076           case 0x10:
   1077             goto op_semantics_2;
   1078             break;
   1079           case 0x20:
   1080             goto op_semantics_3;
   1081             break;
   1082           case 0x30:
   1083             goto op_semantics_4;
   1084             break;
   1085           case 0x40:
   1086           case 0x50:
   1087             goto op_semantics_17;
   1088             break;
   1089           case 0x60:
   1090             goto op_semantics_6;
   1091             break;
   1092           case 0x70:
   1093             goto op_semantics_7;
   1094             break;
   1095           case 0x80:
   1096             goto op_semantics_8;
   1097             break;
   1098           case 0x90:
   1099             goto op_semantics_9;
   1100             break;
   1101           case 0xa0:
   1102             goto op_semantics_10;
   1103             break;
   1104           case 0xb0:
   1105             goto op_semantics_11;
   1106             break;
   1107           case 0xc0:
   1108             goto op_semantics_12;
   1109             break;
   1110           case 0xd0:
   1111             goto op_semantics_13;
   1112             break;
   1113           case 0xe0:
   1114             goto op_semantics_14;
   1115             break;
   1116           case 0xf0:
   1117             goto op_semantics_15;
   1118             break;
   1119         }
   1120       break;
   1121     case 0x07:
   1122         GETBYTE ();
   1123         switch (op[1] & 0xf0)
   1124         {
   1125           case 0x00:
   1126             goto op_semantics_1;
   1127             break;
   1128           case 0x10:
   1129             goto op_semantics_2;
   1130             break;
   1131           case 0x20:
   1132             goto op_semantics_3;
   1133             break;
   1134           case 0x30:
   1135             goto op_semantics_4;
   1136             break;
   1137           case 0x40:
   1138           case 0x50:
   1139             goto op_semantics_18;
   1140             break;
   1141           case 0x60:
   1142             goto op_semantics_6;
   1143             break;
   1144           case 0x70:
   1145             goto op_semantics_7;
   1146             break;
   1147           case 0x80:
   1148             goto op_semantics_8;
   1149             break;
   1150           case 0x90:
   1151             goto op_semantics_9;
   1152             break;
   1153           case 0xa0:
   1154             goto op_semantics_10;
   1155             break;
   1156           case 0xb0:
   1157             goto op_semantics_11;
   1158             break;
   1159           case 0xc0:
   1160             goto op_semantics_12;
   1161             break;
   1162           case 0xd0:
   1163             goto op_semantics_13;
   1164             break;
   1165           case 0xe0:
   1166             goto op_semantics_14;
   1167             break;
   1168           case 0xf0:
   1169             goto op_semantics_15;
   1170             break;
   1171         }
   1172       break;
   1173     case 0x08:
   1174         GETBYTE ();
   1175         switch (op[1] & 0xf0)
   1176         {
   1177           case 0x00:
   1178             goto op_semantics_1;
   1179             break;
   1180           case 0x10:
   1181             goto op_semantics_2;
   1182             break;
   1183           case 0x20:
   1184             goto op_semantics_3;
   1185             break;
   1186           case 0x30:
   1187             goto op_semantics_4;
   1188             break;
   1189           case 0x40:
   1190           case 0x50:
   1191             goto op_semantics_5;
   1192             break;
   1193           case 0x60:
   1194             goto op_semantics_6;
   1195             break;
   1196           case 0x70:
   1197             goto op_semantics_7;
   1198             break;
   1199           case 0x80:
   1200             goto op_semantics_8;
   1201             break;
   1202           case 0x90:
   1203             goto op_semantics_9;
   1204             break;
   1205           case 0xa0:
   1206             goto op_semantics_10;
   1207             break;
   1208           case 0xb0:
   1209             goto op_semantics_11;
   1210             break;
   1211           case 0xc0:
   1212             goto op_semantics_12;
   1213             break;
   1214           case 0xd0:
   1215             goto op_semantics_13;
   1216             break;
   1217           case 0xe0:
   1218             goto op_semantics_14;
   1219             break;
   1220           case 0xf0:
   1221             goto op_semantics_15;
   1222             break;
   1223         }
   1224       break;
   1225     case 0x09:
   1226         GETBYTE ();
   1227         switch (op[1] & 0xf0)
   1228         {
   1229           case 0x00:
   1230             goto op_semantics_1;
   1231             break;
   1232           case 0x10:
   1233             goto op_semantics_2;
   1234             break;
   1235           case 0x20:
   1236             goto op_semantics_3;
   1237             break;
   1238           case 0x30:
   1239             goto op_semantics_4;
   1240             break;
   1241           case 0x40:
   1242           case 0x50:
   1243             goto op_semantics_16;
   1244             break;
   1245           case 0x60:
   1246             goto op_semantics_6;
   1247             break;
   1248           case 0x70:
   1249             goto op_semantics_7;
   1250             break;
   1251           case 0x80:
   1252             goto op_semantics_8;
   1253             break;
   1254           case 0x90:
   1255             goto op_semantics_9;
   1256             break;
   1257           case 0xa0:
   1258             goto op_semantics_10;
   1259             break;
   1260           case 0xb0:
   1261             goto op_semantics_11;
   1262             break;
   1263           case 0xc0:
   1264             goto op_semantics_12;
   1265             break;
   1266           case 0xd0:
   1267             goto op_semantics_13;
   1268             break;
   1269           case 0xe0:
   1270             goto op_semantics_14;
   1271             break;
   1272           case 0xf0:
   1273             goto op_semantics_15;
   1274             break;
   1275         }
   1276       break;
   1277     case 0x0a:
   1278         GETBYTE ();
   1279         switch (op[1] & 0xf0)
   1280         {
   1281           case 0x00:
   1282             goto op_semantics_1;
   1283             break;
   1284           case 0x10:
   1285             goto op_semantics_2;
   1286             break;
   1287           case 0x20:
   1288             goto op_semantics_3;
   1289             break;
   1290           case 0x30:
   1291             goto op_semantics_4;
   1292             break;
   1293           case 0x40:
   1294           case 0x50:
   1295             goto op_semantics_17;
   1296             break;
   1297           case 0x60:
   1298             goto op_semantics_6;
   1299             break;
   1300           case 0x70:
   1301             goto op_semantics_7;
   1302             break;
   1303           case 0x80:
   1304             goto op_semantics_8;
   1305             break;
   1306           case 0x90:
   1307             goto op_semantics_9;
   1308             break;
   1309           case 0xa0:
   1310             goto op_semantics_10;
   1311             break;
   1312           case 0xb0:
   1313             goto op_semantics_11;
   1314             break;
   1315           case 0xc0:
   1316             goto op_semantics_12;
   1317             break;
   1318           case 0xd0:
   1319             goto op_semantics_13;
   1320             break;
   1321           case 0xe0:
   1322             goto op_semantics_14;
   1323             break;
   1324           case 0xf0:
   1325             goto op_semantics_15;
   1326             break;
   1327         }
   1328       break;
   1329     case 0x0b:
   1330         GETBYTE ();
   1331         switch (op[1] & 0xf0)
   1332         {
   1333           case 0x00:
   1334             goto op_semantics_1;
   1335             break;
   1336           case 0x10:
   1337             goto op_semantics_2;
   1338             break;
   1339           case 0x20:
   1340             goto op_semantics_3;
   1341             break;
   1342           case 0x30:
   1343             goto op_semantics_4;
   1344             break;
   1345           case 0x40:
   1346           case 0x50:
   1347             goto op_semantics_18;
   1348             break;
   1349           case 0x60:
   1350             goto op_semantics_6;
   1351             break;
   1352           case 0x70:
   1353             goto op_semantics_7;
   1354             break;
   1355           case 0x80:
   1356             goto op_semantics_8;
   1357             break;
   1358           case 0x90:
   1359             goto op_semantics_9;
   1360             break;
   1361           case 0xa0:
   1362             goto op_semantics_10;
   1363             break;
   1364           case 0xb0:
   1365             goto op_semantics_11;
   1366             break;
   1367           case 0xc0:
   1368             goto op_semantics_12;
   1369             break;
   1370           case 0xd0:
   1371             goto op_semantics_13;
   1372             break;
   1373           case 0xe0:
   1374             goto op_semantics_14;
   1375             break;
   1376           case 0xf0:
   1377             goto op_semantics_15;
   1378             break;
   1379         }
   1380       break;
   1381     case 0x0c:
   1382         GETBYTE ();
   1383         switch (op[1] & 0xf0)
   1384         {
   1385           case 0x00:
   1386             goto op_semantics_1;
   1387             break;
   1388           case 0x10:
   1389             goto op_semantics_2;
   1390             break;
   1391           case 0x20:
   1392             goto op_semantics_3;
   1393             break;
   1394           case 0x30:
   1395             goto op_semantics_4;
   1396             break;
   1397           case 0x40:
   1398           case 0x50:
   1399             goto op_semantics_5;
   1400             break;
   1401           case 0x60:
   1402             goto op_semantics_6;
   1403             break;
   1404           case 0x70:
   1405             goto op_semantics_7;
   1406             break;
   1407           case 0x80:
   1408             goto op_semantics_8;
   1409             break;
   1410           case 0x90:
   1411             goto op_semantics_9;
   1412             break;
   1413           case 0xa0:
   1414             goto op_semantics_10;
   1415             break;
   1416           case 0xb0:
   1417             goto op_semantics_11;
   1418             break;
   1419           case 0xc0:
   1420             goto op_semantics_12;
   1421             break;
   1422           case 0xd0:
   1423             goto op_semantics_13;
   1424             break;
   1425           case 0xe0:
   1426             goto op_semantics_14;
   1427             break;
   1428           case 0xf0:
   1429             goto op_semantics_15;
   1430             break;
   1431         }
   1432       break;
   1433     case 0x0d:
   1434         GETBYTE ();
   1435         switch (op[1] & 0xf0)
   1436         {
   1437           case 0x00:
   1438             goto op_semantics_1;
   1439             break;
   1440           case 0x10:
   1441             goto op_semantics_2;
   1442             break;
   1443           case 0x20:
   1444             goto op_semantics_3;
   1445             break;
   1446           case 0x30:
   1447             goto op_semantics_4;
   1448             break;
   1449           case 0x40:
   1450           case 0x50:
   1451             goto op_semantics_16;
   1452             break;
   1453           case 0x60:
   1454             goto op_semantics_6;
   1455             break;
   1456           case 0x70:
   1457             goto op_semantics_7;
   1458             break;
   1459           case 0x80:
   1460             goto op_semantics_8;
   1461             break;
   1462           case 0x90:
   1463             goto op_semantics_9;
   1464             break;
   1465           case 0xa0:
   1466             goto op_semantics_10;
   1467             break;
   1468           case 0xb0:
   1469             goto op_semantics_11;
   1470             break;
   1471           case 0xc0:
   1472             goto op_semantics_12;
   1473             break;
   1474           case 0xd0:
   1475             goto op_semantics_13;
   1476             break;
   1477           case 0xe0:
   1478             goto op_semantics_14;
   1479             break;
   1480           case 0xf0:
   1481             goto op_semantics_15;
   1482             break;
   1483         }
   1484       break;
   1485     case 0x0e:
   1486         GETBYTE ();
   1487         switch (op[1] & 0xf0)
   1488         {
   1489           case 0x00:
   1490             goto op_semantics_1;
   1491             break;
   1492           case 0x10:
   1493             goto op_semantics_2;
   1494             break;
   1495           case 0x20:
   1496             goto op_semantics_3;
   1497             break;
   1498           case 0x30:
   1499             goto op_semantics_4;
   1500             break;
   1501           case 0x40:
   1502           case 0x50:
   1503             goto op_semantics_17;
   1504             break;
   1505           case 0x60:
   1506             goto op_semantics_6;
   1507             break;
   1508           case 0x70:
   1509             goto op_semantics_7;
   1510             break;
   1511           case 0x80:
   1512             goto op_semantics_8;
   1513             break;
   1514           case 0x90:
   1515             goto op_semantics_9;
   1516             break;
   1517           case 0xa0:
   1518             goto op_semantics_10;
   1519             break;
   1520           case 0xb0:
   1521             goto op_semantics_11;
   1522             break;
   1523           case 0xc0:
   1524             goto op_semantics_12;
   1525             break;
   1526           case 0xd0:
   1527             goto op_semantics_13;
   1528             break;
   1529           case 0xe0:
   1530             goto op_semantics_14;
   1531             break;
   1532           case 0xf0:
   1533             goto op_semantics_15;
   1534             break;
   1535         }
   1536       break;
   1537     case 0x0f:
   1538         GETBYTE ();
   1539         switch (op[1] & 0xf0)
   1540         {
   1541           case 0x00:
   1542             goto op_semantics_1;
   1543             break;
   1544           case 0x10:
   1545             goto op_semantics_2;
   1546             break;
   1547           case 0x20:
   1548             goto op_semantics_3;
   1549             break;
   1550           case 0x30:
   1551             goto op_semantics_4;
   1552             break;
   1553           case 0x40:
   1554           case 0x50:
   1555             goto op_semantics_18;
   1556             break;
   1557           case 0x60:
   1558             goto op_semantics_6;
   1559             break;
   1560           case 0x70:
   1561             goto op_semantics_7;
   1562             break;
   1563           case 0x80:
   1564             goto op_semantics_8;
   1565             break;
   1566           case 0x90:
   1567             goto op_semantics_9;
   1568             break;
   1569           case 0xa0:
   1570             goto op_semantics_10;
   1571             break;
   1572           case 0xb0:
   1573             goto op_semantics_11;
   1574             break;
   1575           case 0xc0:
   1576             goto op_semantics_12;
   1577             break;
   1578           case 0xd0:
   1579             goto op_semantics_13;
   1580             break;
   1581           case 0xe0:
   1582             goto op_semantics_14;
   1583             break;
   1584           case 0xf0:
   1585             goto op_semantics_15;
   1586             break;
   1587         }
   1588       break;
   1589     case 0x10:
   1590         GETBYTE ();
   1591         switch (op[1] & 0x00)
   1592         {
   1593           case 0x00:
   1594             op_semantics_19:
   1595               {
   1596                 /** 0001 00so c b ad dreg	%S%b	%1				*/
   1597 #line 394 "msp430-decode.opc"
   1598                 int so AU = op[0] & 0x03;
   1599 #line 394 "msp430-decode.opc"
   1600                 int c AU = (op[1] >> 7) & 0x01;
   1601 #line 394 "msp430-decode.opc"
   1602                 int b AU = (op[1] >> 6) & 0x01;
   1603 #line 394 "msp430-decode.opc"
   1604                 int ad AU = (op[1] >> 4) & 0x03;
   1605 #line 394 "msp430-decode.opc"
   1606                 int dreg AU = op[1] & 0x0f;
   1607                 if (trace)
   1608                   {
   1609                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   1610                            "/** 0001 00so c b ad dreg	%S%b	%1				*/",
   1611                            op[0], op[1]);
   1612                     printf ("  so = 0x%x,", so);
   1613                     printf ("  c = 0x%x,", c);
   1614                     printf ("  b = 0x%x,", b);
   1615                     printf ("  ad = 0x%x,", ad);
   1616                     printf ("  dreg = 0x%x\n", dreg);
   1617                   }
   1618                 SYNTAX("%S%b	%1");
   1619 #line 394 "msp430-decode.opc"
   1620 
   1621                 ID (sopc_to_id (so,c)); ASX (dreg, ad, srxt_bits); ABW (al_bit, b);
   1622 
   1623                 if (ad == 0)
   1624                   REPZC (srxt_bits, dsxt_bits);
   1625 
   1626                 /* The helper functions encode for source, but it's
   1627                    both source and dest, with a few documented exceptions.  */
   1628                 msp430->op[0] = msp430->op[1];
   1629 
   1630                 /* RETI ignores the operand.  */
   1631                 if (msp430->id == MSO_reti)
   1632                   msp430->syntax = "%S";
   1633 
   1634                 switch (msp430->id)
   1635                   {
   1636                   case MSO_rrc:	F_VNZC; break;
   1637                   case MSO_swpb:	F_____; break;
   1638                   case MSO_rra:	F_0NZC; break;
   1639                   case MSO_sxt:	F_0NZC; break;
   1640                   case MSO_push:	F_____; break;
   1641                   case MSO_call:	F_____; break;
   1642                   case MSO_reti:	F_VNZC; break;
   1643                   default: break;
   1644                   }
   1645 
   1646                 /* 20xx 0010 0000 ---- ----
   1647                    3cxx 0011 1100 ---- ----
   1648                         001j mp-- ---- ----.  */
   1649               }
   1650             break;
   1651         }
   1652       break;
   1653     case 0x11:
   1654         GETBYTE ();
   1655         switch (op[1] & 0x00)
   1656         {
   1657           case 0x00:
   1658             goto op_semantics_19;
   1659             break;
   1660         }
   1661       break;
   1662     case 0x12:
   1663         GETBYTE ();
   1664         switch (op[1] & 0x00)
   1665         {
   1666           case 0x00:
   1667             goto op_semantics_19;
   1668             break;
   1669         }
   1670       break;
   1671     case 0x13:
   1672         GETBYTE ();
   1673         switch (op[1] & 0xff)
   1674         {
   1675           case 0x00:
   1676               {
   1677                 /** 0001 0011 0000 0000		RETI */
   1678                 if (trace)
   1679                   {
   1680                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   1681                            "/** 0001 0011 0000 0000		RETI */",
   1682                            op[0], op[1]);
   1683                   }
   1684                 SYNTAX("RETI");
   1685 #line 548 "msp430-decode.opc"
   1686                 ID (MSO_reti);
   1687                 msp430->size = 20;
   1688                 msp430->ofs_430x = 1;
   1689 
   1690               }
   1691             break;
   1692           case 0x01:
   1693           case 0x02:
   1694           case 0x03:
   1695           case 0x04:
   1696           case 0x05:
   1697           case 0x06:
   1698           case 0x07:
   1699           case 0x08:
   1700           case 0x09:
   1701           case 0x0a:
   1702           case 0x0b:
   1703           case 0x0c:
   1704           case 0x0d:
   1705           case 0x0e:
   1706           case 0x0f:
   1707           case 0x10:
   1708           case 0x11:
   1709           case 0x12:
   1710           case 0x13:
   1711           case 0x14:
   1712           case 0x15:
   1713           case 0x16:
   1714           case 0x17:
   1715           case 0x18:
   1716           case 0x19:
   1717           case 0x1a:
   1718           case 0x1b:
   1719           case 0x1c:
   1720           case 0x1d:
   1721           case 0x1e:
   1722           case 0x1f:
   1723           case 0x20:
   1724           case 0x21:
   1725           case 0x22:
   1726           case 0x23:
   1727           case 0x24:
   1728           case 0x25:
   1729           case 0x26:
   1730           case 0x27:
   1731           case 0x28:
   1732           case 0x29:
   1733           case 0x2a:
   1734           case 0x2b:
   1735           case 0x2c:
   1736           case 0x2d:
   1737           case 0x2e:
   1738           case 0x2f:
   1739           case 0x30:
   1740           case 0x31:
   1741           case 0x32:
   1742           case 0x33:
   1743           case 0x34:
   1744           case 0x35:
   1745           case 0x36:
   1746           case 0x37:
   1747           case 0x38:
   1748           case 0x39:
   1749           case 0x3a:
   1750           case 0x3b:
   1751           case 0x3c:
   1752           case 0x3d:
   1753           case 0x3e:
   1754           case 0x3f:
   1755           case 0xa0:
   1756           case 0xa1:
   1757           case 0xa2:
   1758           case 0xa3:
   1759           case 0xa4:
   1760           case 0xa5:
   1761           case 0xa6:
   1762           case 0xa7:
   1763           case 0xa8:
   1764           case 0xa9:
   1765           case 0xaa:
   1766           case 0xab:
   1767           case 0xac:
   1768           case 0xad:
   1769           case 0xae:
   1770           case 0xaf:
   1771           case 0xc0:
   1772           case 0xc1:
   1773           case 0xc2:
   1774           case 0xc3:
   1775           case 0xc4:
   1776           case 0xc5:
   1777           case 0xc6:
   1778           case 0xc7:
   1779           case 0xc8:
   1780           case 0xc9:
   1781           case 0xca:
   1782           case 0xcb:
   1783           case 0xcc:
   1784           case 0xcd:
   1785           case 0xce:
   1786           case 0xcf:
   1787           case 0xd0:
   1788           case 0xd1:
   1789           case 0xd2:
   1790           case 0xd3:
   1791           case 0xd4:
   1792           case 0xd5:
   1793           case 0xd6:
   1794           case 0xd7:
   1795           case 0xd8:
   1796           case 0xd9:
   1797           case 0xda:
   1798           case 0xdb:
   1799           case 0xdc:
   1800           case 0xdd:
   1801           case 0xde:
   1802           case 0xdf:
   1803           case 0xe0:
   1804           case 0xe1:
   1805           case 0xe2:
   1806           case 0xe3:
   1807           case 0xe4:
   1808           case 0xe5:
   1809           case 0xe6:
   1810           case 0xe7:
   1811           case 0xe8:
   1812           case 0xe9:
   1813           case 0xea:
   1814           case 0xeb:
   1815           case 0xec:
   1816           case 0xed:
   1817           case 0xee:
   1818           case 0xef:
   1819           case 0xf0:
   1820           case 0xf1:
   1821           case 0xf2:
   1822           case 0xf3:
   1823           case 0xf4:
   1824           case 0xf5:
   1825           case 0xf6:
   1826           case 0xf7:
   1827           case 0xf8:
   1828           case 0xf9:
   1829           case 0xfa:
   1830           case 0xfb:
   1831           case 0xfc:
   1832           case 0xfd:
   1833           case 0xfe:
   1834           case 0xff:
   1835             goto op_semantics_19;
   1836             break;
   1837           case 0x40:
   1838           case 0x41:
   1839           case 0x42:
   1840           case 0x43:
   1841           case 0x44:
   1842           case 0x45:
   1843           case 0x46:
   1844           case 0x47:
   1845           case 0x48:
   1846           case 0x49:
   1847           case 0x4a:
   1848           case 0x4b:
   1849           case 0x4c:
   1850           case 0x4d:
   1851           case 0x4e:
   1852           case 0x4f:
   1853           case 0x50:
   1854           case 0x51:
   1855           case 0x52:
   1856           case 0x53:
   1857           case 0x54:
   1858           case 0x55:
   1859           case 0x56:
   1860           case 0x57:
   1861           case 0x58:
   1862           case 0x59:
   1863           case 0x5a:
   1864           case 0x5b:
   1865           case 0x5c:
   1866           case 0x5d:
   1867           case 0x5e:
   1868           case 0x5f:
   1869           case 0x60:
   1870           case 0x61:
   1871           case 0x62:
   1872           case 0x63:
   1873           case 0x64:
   1874           case 0x65:
   1875           case 0x66:
   1876           case 0x67:
   1877           case 0x68:
   1878           case 0x69:
   1879           case 0x6a:
   1880           case 0x6b:
   1881           case 0x6c:
   1882           case 0x6d:
   1883           case 0x6e:
   1884           case 0x6f:
   1885           case 0x70:
   1886           case 0x71:
   1887           case 0x72:
   1888           case 0x73:
   1889           case 0x74:
   1890           case 0x75:
   1891           case 0x76:
   1892           case 0x77:
   1893           case 0x78:
   1894           case 0x79:
   1895           case 0x7a:
   1896           case 0x7b:
   1897           case 0x7c:
   1898           case 0x7d:
   1899           case 0x7e:
   1900           case 0x7f:
   1901               {
   1902                 /** 0001 0011 01as dstr		CALLA %0 */
   1903 #line 553 "msp430-decode.opc"
   1904                 int as AU = (op[1] >> 4) & 0x03;
   1905 #line 553 "msp430-decode.opc"
   1906                 int dstr AU = op[1] & 0x0f;
   1907                 if (trace)
   1908                   {
   1909                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   1910                            "/** 0001 0011 01as dstr		CALLA %0 */",
   1911                            op[0], op[1]);
   1912                     printf ("  as = 0x%x,", as);
   1913                     printf ("  dstr = 0x%x\n", dstr);
   1914                   }
   1915                 SYNTAX("CALLA %0");
   1916 #line 553 "msp430-decode.opc"
   1917                 ID (MSO_call); AS (dstr, as);
   1918                 msp430->size = 20;
   1919                 msp430->ofs_430x = 1;
   1920 
   1921               }
   1922             break;
   1923           case 0x80:
   1924           case 0x81:
   1925           case 0x82:
   1926           case 0x83:
   1927           case 0x84:
   1928           case 0x85:
   1929           case 0x86:
   1930           case 0x87:
   1931           case 0x88:
   1932           case 0x89:
   1933           case 0x8a:
   1934           case 0x8b:
   1935           case 0x8c:
   1936           case 0x8d:
   1937           case 0x8e:
   1938           case 0x8f:
   1939               {
   1940                 /** 0001 0011 1000 extb		CALLA %0 */
   1941 #line 558 "msp430-decode.opc"
   1942                 int extb AU = op[1] & 0x0f;
   1943                 if (trace)
   1944                   {
   1945                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   1946                            "/** 0001 0011 1000 extb		CALLA %0 */",
   1947                            op[0], op[1]);
   1948                     printf ("  extb = 0x%x\n", extb);
   1949                   }
   1950                 SYNTAX("CALLA %0");
   1951 #line 558 "msp430-decode.opc"
   1952                 ID (MSO_call); SA (IMMU(2) | (extb << 16));
   1953                 msp430->size = 20;
   1954                 msp430->ofs_430x = 1;
   1955 
   1956               }
   1957             break;
   1958           case 0x90:
   1959           case 0x91:
   1960           case 0x92:
   1961           case 0x93:
   1962           case 0x94:
   1963           case 0x95:
   1964           case 0x96:
   1965           case 0x97:
   1966           case 0x98:
   1967           case 0x99:
   1968           case 0x9a:
   1969           case 0x9b:
   1970           case 0x9c:
   1971           case 0x9d:
   1972           case 0x9e:
   1973           case 0x9f:
   1974               {
   1975                 /** 0001 0011 1001 extb		CALLA %0 */
   1976 #line 563 "msp430-decode.opc"
   1977                 int extb AU = op[1] & 0x0f;
   1978                 if (trace)
   1979                   {
   1980                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   1981                            "/** 0001 0011 1001 extb		CALLA %0 */",
   1982                            op[0], op[1]);
   1983                     printf ("  extb = 0x%x\n", extb);
   1984                   }
   1985                 SYNTAX("CALLA %0");
   1986 #line 563 "msp430-decode.opc"
   1987                 raddr = IMMU(2) | (extb << 16);
   1988                 if (raddr & 0x80000)
   1989                   raddr -= 0x100000;
   1990                 ID (MSO_call); SA (pc + raddr + msp430->n_bytes);
   1991                 msp430->size = 20;
   1992                 msp430->ofs_430x = 1;
   1993 
   1994               }
   1995             break;
   1996           case 0xb0:
   1997           case 0xb1:
   1998           case 0xb2:
   1999           case 0xb3:
   2000           case 0xb4:
   2001           case 0xb5:
   2002           case 0xb6:
   2003           case 0xb7:
   2004           case 0xb8:
   2005           case 0xb9:
   2006           case 0xba:
   2007           case 0xbb:
   2008           case 0xbc:
   2009           case 0xbd:
   2010           case 0xbe:
   2011           case 0xbf:
   2012               {
   2013                 /** 0001 0011 1011 extb		CALLA %0 */
   2014 #line 571 "msp430-decode.opc"
   2015                 int extb AU = op[1] & 0x0f;
   2016                 if (trace)
   2017                   {
   2018                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2019                            "/** 0001 0011 1011 extb		CALLA %0 */",
   2020                            op[0], op[1]);
   2021                     printf ("  extb = 0x%x\n", extb);
   2022                   }
   2023                 SYNTAX("CALLA %0");
   2024 #line 571 "msp430-decode.opc"
   2025                 ID (MSO_call); SC (IMMU(2) | (extb << 16));
   2026                 msp430->size = 20;
   2027                 msp430->ofs_430x = 1;
   2028 
   2029               }
   2030             break;
   2031         }
   2032       break;
   2033     case 0x14:
   2034         GETBYTE ();
   2035         switch (op[1] & 0x00)
   2036         {
   2037           case 0x00:
   2038             op_semantics_20:
   2039               {
   2040                 /** 0001 010w bits srcr		PUSHM.A %0 */
   2041 #line 576 "msp430-decode.opc"
   2042                 int w AU = op[0] & 0x01;
   2043 #line 576 "msp430-decode.opc"
   2044                 int bits AU = (op[1] >> 4) & 0x0f;
   2045 #line 576 "msp430-decode.opc"
   2046                 int srcr AU = op[1] & 0x0f;
   2047                 if (trace)
   2048                   {
   2049                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2050                            "/** 0001 010w bits srcr		PUSHM.A %0 */",
   2051                            op[0], op[1]);
   2052                     printf ("  w = 0x%x,", w);
   2053                     printf ("  bits = 0x%x,", bits);
   2054                     printf ("  srcr = 0x%x\n", srcr);
   2055                   }
   2056                 SYNTAX("PUSHM.A %0");
   2057 #line 576 "msp430-decode.opc"
   2058                 ID (MSO_push); SR (srcr);
   2059                 msp430->size = w ? 16 : 20;
   2060                 msp430->repeats = bits;
   2061                 msp430->ofs_430x = 1;
   2062 
   2063               }
   2064             break;
   2065         }
   2066       break;
   2067     case 0x15:
   2068         GETBYTE ();
   2069         switch (op[1] & 0x00)
   2070         {
   2071           case 0x00:
   2072             goto op_semantics_20;
   2073             break;
   2074         }
   2075       break;
   2076     case 0x16:
   2077         GETBYTE ();
   2078         switch (op[1] & 0x00)
   2079         {
   2080           case 0x00:
   2081             op_semantics_21:
   2082               {
   2083                 /** 0001 011w bits dstr		POPM.A %0 */
   2084 #line 582 "msp430-decode.opc"
   2085                 int w AU = op[0] & 0x01;
   2086 #line 582 "msp430-decode.opc"
   2087                 int bits AU = (op[1] >> 4) & 0x0f;
   2088 #line 582 "msp430-decode.opc"
   2089                 int dstr AU = op[1] & 0x0f;
   2090                 if (trace)
   2091                   {
   2092                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2093                            "/** 0001 011w bits dstr		POPM.A %0 */",
   2094                            op[0], op[1]);
   2095                     printf ("  w = 0x%x,", w);
   2096                     printf ("  bits = 0x%x,", bits);
   2097                     printf ("  dstr = 0x%x\n", dstr);
   2098                   }
   2099                 SYNTAX("POPM.A %0");
   2100 #line 582 "msp430-decode.opc"
   2101                 ID (MSO_pop); DR (dstr);
   2102                 msp430->size = w ? 16 : 20;
   2103                 msp430->repeats = bits;
   2104                 msp430->ofs_430x = 1;
   2105 
   2106               }
   2107             break;
   2108         }
   2109       break;
   2110     case 0x17:
   2111         GETBYTE ();
   2112         switch (op[1] & 0x00)
   2113         {
   2114           case 0x00:
   2115             goto op_semantics_21;
   2116             break;
   2117         }
   2118       break;
   2119     case 0x18:
   2120         GETBYTE ();
   2121         switch (op[1] & 0x30)
   2122         {
   2123           case 0x00:
   2124             op_semantics_22:
   2125               {
   2126                 /** 0001 1srx t l 00 dsxt 	430x */
   2127 #line 350 "msp430-decode.opc"
   2128                 int srx AU = op[0] & 0x07;
   2129 #line 350 "msp430-decode.opc"
   2130                 int t AU = (op[1] >> 7) & 0x01;
   2131 #line 350 "msp430-decode.opc"
   2132                 int l AU = (op[1] >> 6) & 0x01;
   2133 #line 350 "msp430-decode.opc"
   2134                 int dsxt AU = op[1] & 0x0f;
   2135                 if (trace)
   2136                   {
   2137                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2138                            "/** 0001 1srx t l 00 dsxt 	430x */",
   2139                            op[0], op[1]);
   2140                     printf ("  srx = 0x%x,", srx);
   2141                     printf ("  t = 0x%x,", t);
   2142                     printf ("  l = 0x%x,", l);
   2143                     printf ("  dsxt = 0x%x\n", dsxt);
   2144                   }
   2145                 SYNTAX("430x");
   2146 #line 350 "msp430-decode.opc"
   2147 
   2148                 al_bit = l;
   2149                 srxt_bits = srx * 2 + t;
   2150                 dsxt_bits = dsxt;
   2151                 op = op_buf + lds.op_ptr;
   2152                 msp430->ofs_430x = 1;
   2153                 goto post_extension_word;
   2154 
   2155               /* double-op insns:
   2156                  opcode:4 sreg:4 Ad:1 BW:1 As:2 Dreg:4
   2157 
   2158                  single-op insn:
   2159                  opcode:9 BW:1 Ad:2 DSreg:4
   2160 
   2161                  jumps:
   2162                  opcode:3 Cond:3  pcrel:10. */
   2163 
   2164               /* Double-Operand "opcode" fields.  */
   2165 
   2166               }
   2167             break;
   2168           default: UNSUPPORTED(); break;
   2169         }
   2170       break;
   2171     case 0x19:
   2172         GETBYTE ();
   2173         switch (op[1] & 0x30)
   2174         {
   2175           case 0x00:
   2176             goto op_semantics_22;
   2177             break;
   2178           default: UNSUPPORTED(); break;
   2179         }
   2180       break;
   2181     case 0x1a:
   2182         GETBYTE ();
   2183         switch (op[1] & 0x30)
   2184         {
   2185           case 0x00:
   2186             goto op_semantics_22;
   2187             break;
   2188           default: UNSUPPORTED(); break;
   2189         }
   2190       break;
   2191     case 0x1b:
   2192         GETBYTE ();
   2193         switch (op[1] & 0x30)
   2194         {
   2195           case 0x00:
   2196             goto op_semantics_22;
   2197             break;
   2198           default: UNSUPPORTED(); break;
   2199         }
   2200       break;
   2201     case 0x1c:
   2202         GETBYTE ();
   2203         switch (op[1] & 0x30)
   2204         {
   2205           case 0x00:
   2206             goto op_semantics_22;
   2207             break;
   2208           default: UNSUPPORTED(); break;
   2209         }
   2210       break;
   2211     case 0x1d:
   2212         GETBYTE ();
   2213         switch (op[1] & 0x30)
   2214         {
   2215           case 0x00:
   2216             goto op_semantics_22;
   2217             break;
   2218           default: UNSUPPORTED(); break;
   2219         }
   2220       break;
   2221     case 0x1e:
   2222         GETBYTE ();
   2223         switch (op[1] & 0x30)
   2224         {
   2225           case 0x00:
   2226             goto op_semantics_22;
   2227             break;
   2228           default: UNSUPPORTED(); break;
   2229         }
   2230       break;
   2231     case 0x1f:
   2232         GETBYTE ();
   2233         switch (op[1] & 0x30)
   2234         {
   2235           case 0x00:
   2236             goto op_semantics_22;
   2237             break;
   2238           default: UNSUPPORTED(); break;
   2239         }
   2240       break;
   2241     case 0x20:
   2242         GETBYTE ();
   2243         switch (op[1] & 0x00)
   2244         {
   2245           case 0x00:
   2246             op_semantics_23:
   2247               {
   2248                 /** 001jmp aa addrlsbs		%J	%1				*/
   2249 #line 424 "msp430-decode.opc"
   2250                 int jmp AU = (op[0] >> 2) & 0x07;
   2251 #line 424 "msp430-decode.opc"
   2252                 int aa AU = op[0] & 0x03;
   2253 #line 424 "msp430-decode.opc"
   2254                 int addrlsbs AU = op[1];
   2255                 if (trace)
   2256                   {
   2257                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2258                            "/** 001jmp aa addrlsbs		%J	%1				*/",
   2259                            op[0], op[1]);
   2260                     printf ("  jmp = 0x%x,", jmp);
   2261                     printf ("  aa = 0x%x,", aa);
   2262                     printf ("  addrlsbs = 0x%x\n", addrlsbs);
   2263                   }
   2264                 SYNTAX("%J	%1");
   2265 #line 424 "msp430-decode.opc"
   2266 
   2267                 raddr = (aa << 9) | (addrlsbs << 1);
   2268                 if (raddr & 0x400)
   2269                   raddr = raddr - 0x800;
   2270                 /* This is a pc-relative jump, but we don't use SM because that
   2271                    would load the target address from the memory at X(PC), not use
   2272                    PC+X *as* the address.  So we use SC to use the address, not the
   2273                    data at that address.  */
   2274                 ID (MSO_jmp); SC (pc + raddr + msp430->n_bytes);
   2275                 msp430->cond = jmp;
   2276 
   2277                 /* Extended instructions.  */
   2278 
   2279               }
   2280             break;
   2281         }
   2282       break;
   2283     case 0x21:
   2284         GETBYTE ();
   2285         switch (op[1] & 0x00)
   2286         {
   2287           case 0x00:
   2288             goto op_semantics_23;
   2289             break;
   2290         }
   2291       break;
   2292     case 0x22:
   2293         GETBYTE ();
   2294         switch (op[1] & 0x00)
   2295         {
   2296           case 0x00:
   2297             goto op_semantics_23;
   2298             break;
   2299         }
   2300       break;
   2301     case 0x23:
   2302         GETBYTE ();
   2303         switch (op[1] & 0x00)
   2304         {
   2305           case 0x00:
   2306             goto op_semantics_23;
   2307             break;
   2308         }
   2309       break;
   2310     case 0x24:
   2311         GETBYTE ();
   2312         switch (op[1] & 0x00)
   2313         {
   2314           case 0x00:
   2315             goto op_semantics_23;
   2316             break;
   2317         }
   2318       break;
   2319     case 0x25:
   2320         GETBYTE ();
   2321         switch (op[1] & 0x00)
   2322         {
   2323           case 0x00:
   2324             goto op_semantics_23;
   2325             break;
   2326         }
   2327       break;
   2328     case 0x26:
   2329         GETBYTE ();
   2330         switch (op[1] & 0x00)
   2331         {
   2332           case 0x00:
   2333             goto op_semantics_23;
   2334             break;
   2335         }
   2336       break;
   2337     case 0x27:
   2338         GETBYTE ();
   2339         switch (op[1] & 0x00)
   2340         {
   2341           case 0x00:
   2342             goto op_semantics_23;
   2343             break;
   2344         }
   2345       break;
   2346     case 0x28:
   2347         GETBYTE ();
   2348         switch (op[1] & 0x00)
   2349         {
   2350           case 0x00:
   2351             goto op_semantics_23;
   2352             break;
   2353         }
   2354       break;
   2355     case 0x29:
   2356         GETBYTE ();
   2357         switch (op[1] & 0x00)
   2358         {
   2359           case 0x00:
   2360             goto op_semantics_23;
   2361             break;
   2362         }
   2363       break;
   2364     case 0x2a:
   2365         GETBYTE ();
   2366         switch (op[1] & 0x00)
   2367         {
   2368           case 0x00:
   2369             goto op_semantics_23;
   2370             break;
   2371         }
   2372       break;
   2373     case 0x2b:
   2374         GETBYTE ();
   2375         switch (op[1] & 0x00)
   2376         {
   2377           case 0x00:
   2378             goto op_semantics_23;
   2379             break;
   2380         }
   2381       break;
   2382     case 0x2c:
   2383         GETBYTE ();
   2384         switch (op[1] & 0x00)
   2385         {
   2386           case 0x00:
   2387             goto op_semantics_23;
   2388             break;
   2389         }
   2390       break;
   2391     case 0x2d:
   2392         GETBYTE ();
   2393         switch (op[1] & 0x00)
   2394         {
   2395           case 0x00:
   2396             goto op_semantics_23;
   2397             break;
   2398         }
   2399       break;
   2400     case 0x2e:
   2401         GETBYTE ();
   2402         switch (op[1] & 0x00)
   2403         {
   2404           case 0x00:
   2405             goto op_semantics_23;
   2406             break;
   2407         }
   2408       break;
   2409     case 0x2f:
   2410         GETBYTE ();
   2411         switch (op[1] & 0x00)
   2412         {
   2413           case 0x00:
   2414             goto op_semantics_23;
   2415             break;
   2416         }
   2417       break;
   2418     case 0x30:
   2419         GETBYTE ();
   2420         switch (op[1] & 0x00)
   2421         {
   2422           case 0x00:
   2423             goto op_semantics_23;
   2424             break;
   2425         }
   2426       break;
   2427     case 0x31:
   2428         GETBYTE ();
   2429         switch (op[1] & 0x00)
   2430         {
   2431           case 0x00:
   2432             goto op_semantics_23;
   2433             break;
   2434         }
   2435       break;
   2436     case 0x32:
   2437         GETBYTE ();
   2438         switch (op[1] & 0x00)
   2439         {
   2440           case 0x00:
   2441             goto op_semantics_23;
   2442             break;
   2443         }
   2444       break;
   2445     case 0x33:
   2446         GETBYTE ();
   2447         switch (op[1] & 0x00)
   2448         {
   2449           case 0x00:
   2450             goto op_semantics_23;
   2451             break;
   2452         }
   2453       break;
   2454     case 0x34:
   2455         GETBYTE ();
   2456         switch (op[1] & 0x00)
   2457         {
   2458           case 0x00:
   2459             goto op_semantics_23;
   2460             break;
   2461         }
   2462       break;
   2463     case 0x35:
   2464         GETBYTE ();
   2465         switch (op[1] & 0x00)
   2466         {
   2467           case 0x00:
   2468             goto op_semantics_23;
   2469             break;
   2470         }
   2471       break;
   2472     case 0x36:
   2473         GETBYTE ();
   2474         switch (op[1] & 0x00)
   2475         {
   2476           case 0x00:
   2477             goto op_semantics_23;
   2478             break;
   2479         }
   2480       break;
   2481     case 0x37:
   2482         GETBYTE ();
   2483         switch (op[1] & 0x00)
   2484         {
   2485           case 0x00:
   2486             goto op_semantics_23;
   2487             break;
   2488         }
   2489       break;
   2490     case 0x38:
   2491         GETBYTE ();
   2492         switch (op[1] & 0x00)
   2493         {
   2494           case 0x00:
   2495             goto op_semantics_23;
   2496             break;
   2497         }
   2498       break;
   2499     case 0x39:
   2500         GETBYTE ();
   2501         switch (op[1] & 0x00)
   2502         {
   2503           case 0x00:
   2504             goto op_semantics_23;
   2505             break;
   2506         }
   2507       break;
   2508     case 0x3a:
   2509         GETBYTE ();
   2510         switch (op[1] & 0x00)
   2511         {
   2512           case 0x00:
   2513             goto op_semantics_23;
   2514             break;
   2515         }
   2516       break;
   2517     case 0x3b:
   2518         GETBYTE ();
   2519         switch (op[1] & 0x00)
   2520         {
   2521           case 0x00:
   2522             goto op_semantics_23;
   2523             break;
   2524         }
   2525       break;
   2526     case 0x3c:
   2527         GETBYTE ();
   2528         switch (op[1] & 0x00)
   2529         {
   2530           case 0x00:
   2531             goto op_semantics_23;
   2532             break;
   2533         }
   2534       break;
   2535     case 0x3d:
   2536         GETBYTE ();
   2537         switch (op[1] & 0x00)
   2538         {
   2539           case 0x00:
   2540             goto op_semantics_23;
   2541             break;
   2542         }
   2543       break;
   2544     case 0x3e:
   2545         GETBYTE ();
   2546         switch (op[1] & 0x00)
   2547         {
   2548           case 0x00:
   2549             goto op_semantics_23;
   2550             break;
   2551         }
   2552       break;
   2553     case 0x3f:
   2554         GETBYTE ();
   2555         switch (op[1] & 0x00)
   2556         {
   2557           case 0x00:
   2558             goto op_semantics_23;
   2559             break;
   2560         }
   2561       break;
   2562     case 0x40:
   2563         GETBYTE ();
   2564         switch (op[1] & 0x00)
   2565         {
   2566           case 0x00:
   2567             op_semantics_24:
   2568               {
   2569                 /** dopc sreg a b as dreg	%D%b	%1,%0				*/
   2570 #line 371 "msp430-decode.opc"
   2571                 int dopc AU = (op[0] >> 4) & 0x0f;
   2572 #line 371 "msp430-decode.opc"
   2573                 int sreg AU = op[0] & 0x0f;
   2574 #line 371 "msp430-decode.opc"
   2575                 int a AU = (op[1] >> 7) & 0x01;
   2576 #line 371 "msp430-decode.opc"
   2577                 int b AU = (op[1] >> 6) & 0x01;
   2578 #line 371 "msp430-decode.opc"
   2579                 int as AU = (op[1] >> 4) & 0x03;
   2580 #line 371 "msp430-decode.opc"
   2581                 int dreg AU = op[1] & 0x0f;
   2582                 if (trace)
   2583                   {
   2584                     printf ("\033[33m%s\033[0m  %02x %02x\n",
   2585                            "/** dopc sreg a b as dreg	%D%b	%1,%0				*/",
   2586                            op[0], op[1]);
   2587                     printf ("  dopc = 0x%x,", dopc);
   2588                     printf ("  sreg = 0x%x,", sreg);
   2589                     printf ("  a = 0x%x,", a);
   2590                     printf ("  b = 0x%x,", b);
   2591                     printf ("  as = 0x%x,", as);
   2592                     printf ("  dreg = 0x%x\n", dreg);
   2593                   }
   2594                 SYNTAX("%D%b	%1,%0");
   2595 #line 371 "msp430-decode.opc"
   2596 
   2597                 ID (dopc_to_id (dopc)); ASX (sreg, as, srxt_bits); ADX (dreg, a, dsxt_bits); ABW (al_bit, b);
   2598                 if (a == 0 && as == 0)
   2599                   REPZC (srxt_bits, dsxt_bits);
   2600 
   2601                 switch (msp430->id)
   2602                   {
   2603                   case MSO_mov:	F_____; break;
   2604                   case MSO_add:	F_VNZC; break;
   2605                   case MSO_addc:	F_VNZC; break;
   2606                   case MSO_subc:	F_VNZC; break;
   2607                   case MSO_sub:	F_VNZC; break;
   2608                   case MSO_cmp:	F_VNZC; break;
   2609                   case MSO_dadd:	F_VNZC; break;
   2610                   case MSO_bit:	F_0NZC; break;
   2611                   case MSO_bic:	F_____; break;
   2612                   case MSO_bis:	F_____; break;
   2613                   case MSO_xor:	F_VNZC; break;
   2614                   case MSO_and:	F_0NZC; break;
   2615                   default: break;
   2616                   }
   2617 
   2618               }
   2619             break;
   2620         }
   2621       break;
   2622     case 0x41:
   2623         GETBYTE ();
   2624         switch (op[1] & 0x00)
   2625         {
   2626           case 0x00:
   2627             goto op_semantics_24;
   2628             break;
   2629         }
   2630       break;
   2631     case 0x42:
   2632         GETBYTE ();
   2633         switch (op[1] & 0x00)
   2634         {
   2635           case 0x00:
   2636             goto op_semantics_24;
   2637             break;
   2638         }
   2639       break;
   2640     case 0x43:
   2641         GETBYTE ();
   2642         switch (op[1] & 0x00)
   2643         {
   2644           case 0x00:
   2645             goto op_semantics_24;
   2646             break;
   2647         }
   2648       break;
   2649     case 0x44:
   2650         GETBYTE ();
   2651         switch (op[1] & 0x00)
   2652         {
   2653           case 0x00:
   2654             goto op_semantics_24;
   2655             break;
   2656         }
   2657       break;
   2658     case 0x45:
   2659         GETBYTE ();
   2660         switch (op[1] & 0x00)
   2661         {
   2662           case 0x00:
   2663             goto op_semantics_24;
   2664             break;
   2665         }
   2666       break;
   2667     case 0x46:
   2668         GETBYTE ();
   2669         switch (op[1] & 0x00)
   2670         {
   2671           case 0x00:
   2672             goto op_semantics_24;
   2673             break;
   2674         }
   2675       break;
   2676     case 0x47:
   2677         GETBYTE ();
   2678         switch (op[1] & 0x00)
   2679         {
   2680           case 0x00:
   2681             goto op_semantics_24;
   2682             break;
   2683         }
   2684       break;
   2685     case 0x48:
   2686         GETBYTE ();
   2687         switch (op[1] & 0x00)
   2688         {
   2689           case 0x00:
   2690             goto op_semantics_24;
   2691             break;
   2692         }
   2693       break;
   2694     case 0x49:
   2695         GETBYTE ();
   2696         switch (op[1] & 0x00)
   2697         {
   2698           case 0x00:
   2699             goto op_semantics_24;
   2700             break;
   2701         }
   2702       break;
   2703     case 0x4a:
   2704         GETBYTE ();
   2705         switch (op[1] & 0x00)
   2706         {
   2707           case 0x00:
   2708             goto op_semantics_24;
   2709             break;
   2710         }
   2711       break;
   2712     case 0x4b:
   2713         GETBYTE ();
   2714         switch (op[1] & 0x00)
   2715         {
   2716           case 0x00:
   2717             goto op_semantics_24;
   2718             break;
   2719         }
   2720       break;
   2721     case 0x4c:
   2722         GETBYTE ();
   2723         switch (op[1] & 0x00)
   2724         {
   2725           case 0x00:
   2726             goto op_semantics_24;
   2727             break;
   2728         }
   2729       break;
   2730     case 0x4d:
   2731         GETBYTE ();
   2732         switch (op[1] & 0x00)
   2733         {
   2734           case 0x00:
   2735             goto op_semantics_24;
   2736             break;
   2737         }
   2738       break;
   2739     case 0x4e:
   2740         GETBYTE ();
   2741         switch (op[1] & 0x00)
   2742         {
   2743           case 0x00:
   2744             goto op_semantics_24;
   2745             break;
   2746         }
   2747       break;
   2748     case 0x4f:
   2749         GETBYTE ();
   2750         switch (op[1] & 0x00)
   2751         {
   2752           case 0x00:
   2753             goto op_semantics_24;
   2754             break;
   2755         }
   2756       break;
   2757     case 0x50:
   2758         GETBYTE ();
   2759         switch (op[1] & 0x00)
   2760         {
   2761           case 0x00:
   2762             goto op_semantics_24;
   2763             break;
   2764         }
   2765       break;
   2766     case 0x51:
   2767         GETBYTE ();
   2768         switch (op[1] & 0x00)
   2769         {
   2770           case 0x00:
   2771             goto op_semantics_24;
   2772             break;
   2773         }
   2774       break;
   2775     case 0x52:
   2776         GETBYTE ();
   2777         switch (op[1] & 0x00)
   2778         {
   2779           case 0x00:
   2780             goto op_semantics_24;
   2781             break;
   2782         }
   2783       break;
   2784     case 0x53:
   2785         GETBYTE ();
   2786         switch (op[1] & 0x00)
   2787         {
   2788           case 0x00:
   2789             goto op_semantics_24;
   2790             break;
   2791         }
   2792       break;
   2793     case 0x54:
   2794         GETBYTE ();
   2795         switch (op[1] & 0x00)
   2796         {
   2797           case 0x00:
   2798             goto op_semantics_24;
   2799             break;
   2800         }
   2801       break;
   2802     case 0x55:
   2803         GETBYTE ();
   2804         switch (op[1] & 0x00)
   2805         {
   2806           case 0x00:
   2807             goto op_semantics_24;
   2808             break;
   2809         }
   2810       break;
   2811     case 0x56:
   2812         GETBYTE ();
   2813         switch (op[1] & 0x00)
   2814         {
   2815           case 0x00:
   2816             goto op_semantics_24;
   2817             break;
   2818         }
   2819       break;
   2820     case 0x57:
   2821         GETBYTE ();
   2822         switch (op[1] & 0x00)
   2823         {
   2824           case 0x00:
   2825             goto op_semantics_24;
   2826             break;
   2827         }
   2828       break;
   2829     case 0x58:
   2830         GETBYTE ();
   2831         switch (op[1] & 0x00)
   2832         {
   2833           case 0x00:
   2834             goto op_semantics_24;
   2835             break;
   2836         }
   2837       break;
   2838     case 0x59:
   2839         GETBYTE ();
   2840         switch (op[1] & 0x00)
   2841         {
   2842           case 0x00:
   2843             goto op_semantics_24;
   2844             break;
   2845         }
   2846       break;
   2847     case 0x5a:
   2848         GETBYTE ();
   2849         switch (op[1] & 0x00)
   2850         {
   2851           case 0x00:
   2852             goto op_semantics_24;
   2853             break;
   2854         }
   2855       break;
   2856     case 0x5b:
   2857         GETBYTE ();
   2858         switch (op[1] & 0x00)
   2859         {
   2860           case 0x00:
   2861             goto op_semantics_24;
   2862             break;
   2863         }
   2864       break;
   2865     case 0x5c:
   2866         GETBYTE ();
   2867         switch (op[1] & 0x00)
   2868         {
   2869           case 0x00:
   2870             goto op_semantics_24;
   2871             break;
   2872         }
   2873       break;
   2874     case 0x5d:
   2875         GETBYTE ();
   2876         switch (op[1] & 0x00)
   2877         {
   2878           case 0x00:
   2879             goto op_semantics_24;
   2880             break;
   2881         }
   2882       break;
   2883     case 0x5e:
   2884         GETBYTE ();
   2885         switch (op[1] & 0x00)
   2886         {
   2887           case 0x00:
   2888             goto op_semantics_24;
   2889             break;
   2890         }
   2891       break;
   2892     case 0x5f:
   2893         GETBYTE ();
   2894         switch (op[1] & 0x00)
   2895         {
   2896           case 0x00:
   2897             goto op_semantics_24;
   2898             break;
   2899         }
   2900       break;
   2901     case 0x60:
   2902         GETBYTE ();
   2903         switch (op[1] & 0x00)
   2904         {
   2905           case 0x00:
   2906             goto op_semantics_24;
   2907             break;
   2908         }
   2909       break;
   2910     case 0x61:
   2911         GETBYTE ();
   2912         switch (op[1] & 0x00)
   2913         {
   2914           case 0x00:
   2915             goto op_semantics_24;
   2916             break;
   2917         }
   2918       break;
   2919     case 0x62:
   2920         GETBYTE ();
   2921         switch (op[1] & 0x00)
   2922         {
   2923           case 0x00:
   2924             goto op_semantics_24;
   2925             break;
   2926         }
   2927       break;
   2928     case 0x63:
   2929         GETBYTE ();
   2930         switch (op[1] & 0x00)
   2931         {
   2932           case 0x00:
   2933             goto op_semantics_24;
   2934             break;
   2935         }
   2936       break;
   2937     case 0x64:
   2938         GETBYTE ();
   2939         switch (op[1] & 0x00)
   2940         {
   2941           case 0x00:
   2942             goto op_semantics_24;
   2943             break;
   2944         }
   2945       break;
   2946     case 0x65:
   2947         GETBYTE ();
   2948         switch (op[1] & 0x00)
   2949         {
   2950           case 0x00:
   2951             goto op_semantics_24;
   2952             break;
   2953         }
   2954       break;
   2955     case 0x66:
   2956         GETBYTE ();
   2957         switch (op[1] & 0x00)
   2958         {
   2959           case 0x00:
   2960             goto op_semantics_24;
   2961             break;
   2962         }
   2963       break;
   2964     case 0x67:
   2965         GETBYTE ();
   2966         switch (op[1] & 0x00)
   2967         {
   2968           case 0x00:
   2969             goto op_semantics_24;
   2970             break;
   2971         }
   2972       break;
   2973     case 0x68:
   2974         GETBYTE ();
   2975         switch (op[1] & 0x00)
   2976         {
   2977           case 0x00:
   2978             goto op_semantics_24;
   2979             break;
   2980         }
   2981       break;
   2982     case 0x69:
   2983         GETBYTE ();
   2984         switch (op[1] & 0x00)
   2985         {
   2986           case 0x00:
   2987             goto op_semantics_24;
   2988             break;
   2989         }
   2990       break;
   2991     case 0x6a:
   2992         GETBYTE ();
   2993         switch (op[1] & 0x00)
   2994         {
   2995           case 0x00:
   2996             goto op_semantics_24;
   2997             break;
   2998         }
   2999       break;
   3000     case 0x6b:
   3001         GETBYTE ();
   3002         switch (op[1] & 0x00)
   3003         {
   3004           case 0x00:
   3005             goto op_semantics_24;
   3006             break;
   3007         }
   3008       break;
   3009     case 0x6c:
   3010         GETBYTE ();
   3011         switch (op[1] & 0x00)
   3012         {
   3013           case 0x00:
   3014             goto op_semantics_24;
   3015             break;
   3016         }
   3017       break;
   3018     case 0x6d:
   3019         GETBYTE ();
   3020         switch (op[1] & 0x00)
   3021         {
   3022           case 0x00:
   3023             goto op_semantics_24;
   3024             break;
   3025         }
   3026       break;
   3027     case 0x6e:
   3028         GETBYTE ();
   3029         switch (op[1] & 0x00)
   3030         {
   3031           case 0x00:
   3032             goto op_semantics_24;
   3033             break;
   3034         }
   3035       break;
   3036     case 0x6f:
   3037         GETBYTE ();
   3038         switch (op[1] & 0x00)
   3039         {
   3040           case 0x00:
   3041             goto op_semantics_24;
   3042             break;
   3043         }
   3044       break;
   3045     case 0x70:
   3046         GETBYTE ();
   3047         switch (op[1] & 0x00)
   3048         {
   3049           case 0x00:
   3050             goto op_semantics_24;
   3051             break;
   3052         }
   3053       break;
   3054     case 0x71:
   3055         GETBYTE ();
   3056         switch (op[1] & 0x00)
   3057         {
   3058           case 0x00:
   3059             goto op_semantics_24;
   3060             break;
   3061         }
   3062       break;
   3063     case 0x72:
   3064         GETBYTE ();
   3065         switch (op[1] & 0x00)
   3066         {
   3067           case 0x00:
   3068             goto op_semantics_24;
   3069             break;
   3070         }
   3071       break;
   3072     case 0x73:
   3073         GETBYTE ();
   3074         switch (op[1] & 0x00)
   3075         {
   3076           case 0x00:
   3077             goto op_semantics_24;
   3078             break;
   3079         }
   3080       break;
   3081     case 0x74:
   3082         GETBYTE ();
   3083         switch (op[1] & 0x00)
   3084         {
   3085           case 0x00:
   3086             goto op_semantics_24;
   3087             break;
   3088         }
   3089       break;
   3090     case 0x75:
   3091         GETBYTE ();
   3092         switch (op[1] & 0x00)
   3093         {
   3094           case 0x00:
   3095             goto op_semantics_24;
   3096             break;
   3097         }
   3098       break;
   3099     case 0x76:
   3100         GETBYTE ();
   3101         switch (op[1] & 0x00)
   3102         {
   3103           case 0x00:
   3104             goto op_semantics_24;
   3105             break;
   3106         }
   3107       break;
   3108     case 0x77:
   3109         GETBYTE ();
   3110         switch (op[1] & 0x00)
   3111         {
   3112           case 0x00:
   3113             goto op_semantics_24;
   3114             break;
   3115         }
   3116       break;
   3117     case 0x78:
   3118         GETBYTE ();
   3119         switch (op[1] & 0x00)
   3120         {
   3121           case 0x00:
   3122             goto op_semantics_24;
   3123             break;
   3124         }
   3125       break;
   3126     case 0x79:
   3127         GETBYTE ();
   3128         switch (op[1] & 0x00)
   3129         {
   3130           case 0x00:
   3131             goto op_semantics_24;
   3132             break;
   3133         }
   3134       break;
   3135     case 0x7a:
   3136         GETBYTE ();
   3137         switch (op[1] & 0x00)
   3138         {
   3139           case 0x00:
   3140             goto op_semantics_24;
   3141             break;
   3142         }
   3143       break;
   3144     case 0x7b:
   3145         GETBYTE ();
   3146         switch (op[1] & 0x00)
   3147         {
   3148           case 0x00:
   3149             goto op_semantics_24;
   3150             break;
   3151         }
   3152       break;
   3153     case 0x7c:
   3154         GETBYTE ();
   3155         switch (op[1] & 0x00)
   3156         {
   3157           case 0x00:
   3158             goto op_semantics_24;
   3159             break;
   3160         }
   3161       break;
   3162     case 0x7d:
   3163         GETBYTE ();
   3164         switch (op[1] & 0x00)
   3165         {
   3166           case 0x00:
   3167             goto op_semantics_24;
   3168             break;
   3169         }
   3170       break;
   3171     case 0x7e:
   3172         GETBYTE ();
   3173         switch (op[1] & 0x00)
   3174         {
   3175           case 0x00:
   3176             goto op_semantics_24;
   3177             break;
   3178         }
   3179       break;
   3180     case 0x7f:
   3181         GETBYTE ();
   3182         switch (op[1] & 0x00)
   3183         {
   3184           case 0x00:
   3185             goto op_semantics_24;
   3186             break;
   3187         }
   3188       break;
   3189     case 0x80:
   3190         GETBYTE ();
   3191         switch (op[1] & 0x00)
   3192         {
   3193           case 0x00:
   3194             goto op_semantics_24;
   3195             break;
   3196         }
   3197       break;
   3198     case 0x81:
   3199         GETBYTE ();
   3200         switch (op[1] & 0x00)
   3201         {
   3202           case 0x00:
   3203             goto op_semantics_24;
   3204             break;
   3205         }
   3206       break;
   3207     case 0x82:
   3208         GETBYTE ();
   3209         switch (op[1] & 0x00)
   3210         {
   3211           case 0x00:
   3212             goto op_semantics_24;
   3213             break;
   3214         }
   3215       break;
   3216     case 0x83:
   3217         GETBYTE ();
   3218         switch (op[1] & 0x00)
   3219         {
   3220           case 0x00:
   3221             goto op_semantics_24;
   3222             break;
   3223         }
   3224       break;
   3225     case 0x84:
   3226         GETBYTE ();
   3227         switch (op[1] & 0x00)
   3228         {
   3229           case 0x00:
   3230             goto op_semantics_24;
   3231             break;
   3232         }
   3233       break;
   3234     case 0x85:
   3235         GETBYTE ();
   3236         switch (op[1] & 0x00)
   3237         {
   3238           case 0x00:
   3239             goto op_semantics_24;
   3240             break;
   3241         }
   3242       break;
   3243     case 0x86:
   3244         GETBYTE ();
   3245         switch (op[1] & 0x00)
   3246         {
   3247           case 0x00:
   3248             goto op_semantics_24;
   3249             break;
   3250         }
   3251       break;
   3252     case 0x87:
   3253         GETBYTE ();
   3254         switch (op[1] & 0x00)
   3255         {
   3256           case 0x00:
   3257             goto op_semantics_24;
   3258             break;
   3259         }
   3260       break;
   3261     case 0x88:
   3262         GETBYTE ();
   3263         switch (op[1] & 0x00)
   3264         {
   3265           case 0x00:
   3266             goto op_semantics_24;
   3267             break;
   3268         }
   3269       break;
   3270     case 0x89:
   3271         GETBYTE ();
   3272         switch (op[1] & 0x00)
   3273         {
   3274           case 0x00:
   3275             goto op_semantics_24;
   3276             break;
   3277         }
   3278       break;
   3279     case 0x8a:
   3280         GETBYTE ();
   3281         switch (op[1] & 0x00)
   3282         {
   3283           case 0x00:
   3284             goto op_semantics_24;
   3285             break;
   3286         }
   3287       break;
   3288     case 0x8b:
   3289         GETBYTE ();
   3290         switch (op[1] & 0x00)
   3291         {
   3292           case 0x00:
   3293             goto op_semantics_24;
   3294             break;
   3295         }
   3296       break;
   3297     case 0x8c:
   3298         GETBYTE ();
   3299         switch (op[1] & 0x00)
   3300         {
   3301           case 0x00:
   3302             goto op_semantics_24;
   3303             break;
   3304         }
   3305       break;
   3306     case 0x8d:
   3307         GETBYTE ();
   3308         switch (op[1] & 0x00)
   3309         {
   3310           case 0x00:
   3311             goto op_semantics_24;
   3312             break;
   3313         }
   3314       break;
   3315     case 0x8e:
   3316         GETBYTE ();
   3317         switch (op[1] & 0x00)
   3318         {
   3319           case 0x00:
   3320             goto op_semantics_24;
   3321             break;
   3322         }
   3323       break;
   3324     case 0x8f:
   3325         GETBYTE ();
   3326         switch (op[1] & 0x00)
   3327         {
   3328           case 0x00:
   3329             goto op_semantics_24;
   3330             break;
   3331         }
   3332       break;
   3333     case 0x90:
   3334         GETBYTE ();
   3335         switch (op[1] & 0x00)
   3336         {
   3337           case 0x00:
   3338             goto op_semantics_24;
   3339             break;
   3340         }
   3341       break;
   3342     case 0x91:
   3343         GETBYTE ();
   3344         switch (op[1] & 0x00)
   3345         {
   3346           case 0x00:
   3347             goto op_semantics_24;
   3348             break;
   3349         }
   3350       break;
   3351     case 0x92:
   3352         GETBYTE ();
   3353         switch (op[1] & 0x00)
   3354         {
   3355           case 0x00:
   3356             goto op_semantics_24;
   3357             break;
   3358         }
   3359       break;
   3360     case 0x93:
   3361         GETBYTE ();
   3362         switch (op[1] & 0x00)
   3363         {
   3364           case 0x00:
   3365             goto op_semantics_24;
   3366             break;
   3367         }
   3368       break;
   3369     case 0x94:
   3370         GETBYTE ();
   3371         switch (op[1] & 0x00)
   3372         {
   3373           case 0x00:
   3374             goto op_semantics_24;
   3375             break;
   3376         }
   3377       break;
   3378     case 0x95:
   3379         GETBYTE ();
   3380         switch (op[1] & 0x00)
   3381         {
   3382           case 0x00:
   3383             goto op_semantics_24;
   3384             break;
   3385         }
   3386       break;
   3387     case 0x96:
   3388         GETBYTE ();
   3389         switch (op[1] & 0x00)
   3390         {
   3391           case 0x00:
   3392             goto op_semantics_24;
   3393             break;
   3394         }
   3395       break;
   3396     case 0x97:
   3397         GETBYTE ();
   3398         switch (op[1] & 0x00)
   3399         {
   3400           case 0x00:
   3401             goto op_semantics_24;
   3402             break;
   3403         }
   3404       break;
   3405     case 0x98:
   3406         GETBYTE ();
   3407         switch (op[1] & 0x00)
   3408         {
   3409           case 0x00:
   3410             goto op_semantics_24;
   3411             break;
   3412         }
   3413       break;
   3414     case 0x99:
   3415         GETBYTE ();
   3416         switch (op[1] & 0x00)
   3417         {
   3418           case 0x00:
   3419             goto op_semantics_24;
   3420             break;
   3421         }
   3422       break;
   3423     case 0x9a:
   3424         GETBYTE ();
   3425         switch (op[1] & 0x00)
   3426         {
   3427           case 0x00:
   3428             goto op_semantics_24;
   3429             break;
   3430         }
   3431       break;
   3432     case 0x9b:
   3433         GETBYTE ();
   3434         switch (op[1] & 0x00)
   3435         {
   3436           case 0x00:
   3437             goto op_semantics_24;
   3438             break;
   3439         }
   3440       break;
   3441     case 0x9c:
   3442         GETBYTE ();
   3443         switch (op[1] & 0x00)
   3444         {
   3445           case 0x00:
   3446             goto op_semantics_24;
   3447             break;
   3448         }
   3449       break;
   3450     case 0x9d:
   3451         GETBYTE ();
   3452         switch (op[1] & 0x00)
   3453         {
   3454           case 0x00:
   3455             goto op_semantics_24;
   3456             break;
   3457         }
   3458       break;
   3459     case 0x9e:
   3460         GETBYTE ();
   3461         switch (op[1] & 0x00)
   3462         {
   3463           case 0x00:
   3464             goto op_semantics_24;
   3465             break;
   3466         }
   3467       break;
   3468     case 0x9f:
   3469         GETBYTE ();
   3470         switch (op[1] & 0x00)
   3471         {
   3472           case 0x00:
   3473             goto op_semantics_24;
   3474             break;
   3475         }
   3476       break;
   3477     case 0xa0:
   3478         GETBYTE ();
   3479         switch (op[1] & 0x00)
   3480         {
   3481           case 0x00:
   3482             goto op_semantics_24;
   3483             break;
   3484         }
   3485       break;
   3486     case 0xa1:
   3487         GETBYTE ();
   3488         switch (op[1] & 0x00)
   3489         {
   3490           case 0x00:
   3491             goto op_semantics_24;
   3492             break;
   3493         }
   3494       break;
   3495     case 0xa2:
   3496         GETBYTE ();
   3497         switch (op[1] & 0x00)
   3498         {
   3499           case 0x00:
   3500             goto op_semantics_24;
   3501             break;
   3502         }
   3503       break;
   3504     case 0xa3:
   3505         GETBYTE ();
   3506         switch (op[1] & 0x00)
   3507         {
   3508           case 0x00:
   3509             goto op_semantics_24;
   3510             break;
   3511         }
   3512       break;
   3513     case 0xa4:
   3514         GETBYTE ();
   3515         switch (op[1] & 0x00)
   3516         {
   3517           case 0x00:
   3518             goto op_semantics_24;
   3519             break;
   3520         }
   3521       break;
   3522     case 0xa5:
   3523         GETBYTE ();
   3524         switch (op[1] & 0x00)
   3525         {
   3526           case 0x00:
   3527             goto op_semantics_24;
   3528             break;
   3529         }
   3530       break;
   3531     case 0xa6:
   3532         GETBYTE ();
   3533         switch (op[1] & 0x00)
   3534         {
   3535           case 0x00:
   3536             goto op_semantics_24;
   3537             break;
   3538         }
   3539       break;
   3540     case 0xa7:
   3541         GETBYTE ();
   3542         switch (op[1] & 0x00)
   3543         {
   3544           case 0x00:
   3545             goto op_semantics_24;
   3546             break;
   3547         }
   3548       break;
   3549     case 0xa8:
   3550         GETBYTE ();
   3551         switch (op[1] & 0x00)
   3552         {
   3553           case 0x00:
   3554             goto op_semantics_24;
   3555             break;
   3556         }
   3557       break;
   3558     case 0xa9:
   3559         GETBYTE ();
   3560         switch (op[1] & 0x00)
   3561         {
   3562           case 0x00:
   3563             goto op_semantics_24;
   3564             break;
   3565         }
   3566       break;
   3567     case 0xaa:
   3568         GETBYTE ();
   3569         switch (op[1] & 0x00)
   3570         {
   3571           case 0x00:
   3572             goto op_semantics_24;
   3573             break;
   3574         }
   3575       break;
   3576     case 0xab:
   3577         GETBYTE ();
   3578         switch (op[1] & 0x00)
   3579         {
   3580           case 0x00:
   3581             goto op_semantics_24;
   3582             break;
   3583         }
   3584       break;
   3585     case 0xac:
   3586         GETBYTE ();
   3587         switch (op[1] & 0x00)
   3588         {
   3589           case 0x00:
   3590             goto op_semantics_24;
   3591             break;
   3592         }
   3593       break;
   3594     case 0xad:
   3595         GETBYTE ();
   3596         switch (op[1] & 0x00)
   3597         {
   3598           case 0x00:
   3599             goto op_semantics_24;
   3600             break;
   3601         }
   3602       break;
   3603     case 0xae:
   3604         GETBYTE ();
   3605         switch (op[1] & 0x00)
   3606         {
   3607           case 0x00:
   3608             goto op_semantics_24;
   3609             break;
   3610         }
   3611       break;
   3612     case 0xaf:
   3613         GETBYTE ();
   3614         switch (op[1] & 0x00)
   3615         {
   3616           case 0x00:
   3617             goto op_semantics_24;
   3618             break;
   3619         }
   3620       break;
   3621     case 0xb0:
   3622         GETBYTE ();
   3623         switch (op[1] & 0x00)
   3624         {
   3625           case 0x00:
   3626             goto op_semantics_24;
   3627             break;
   3628         }
   3629       break;
   3630     case 0xb1:
   3631         GETBYTE ();
   3632         switch (op[1] & 0x00)
   3633         {
   3634           case 0x00:
   3635             goto op_semantics_24;
   3636             break;
   3637         }
   3638       break;
   3639     case 0xb2:
   3640         GETBYTE ();
   3641         switch (op[1] & 0x00)
   3642         {
   3643           case 0x00:
   3644             goto op_semantics_24;
   3645             break;
   3646         }
   3647       break;
   3648     case 0xb3:
   3649         GETBYTE ();
   3650         switch (op[1] & 0x00)
   3651         {
   3652           case 0x00:
   3653             goto op_semantics_24;
   3654             break;
   3655         }
   3656       break;
   3657     case 0xb4:
   3658         GETBYTE ();
   3659         switch (op[1] & 0x00)
   3660         {
   3661           case 0x00:
   3662             goto op_semantics_24;
   3663             break;
   3664         }
   3665       break;
   3666     case 0xb5:
   3667         GETBYTE ();
   3668         switch (op[1] & 0x00)
   3669         {
   3670           case 0x00:
   3671             goto op_semantics_24;
   3672             break;
   3673         }
   3674       break;
   3675     case 0xb6:
   3676         GETBYTE ();
   3677         switch (op[1] & 0x00)
   3678         {
   3679           case 0x00:
   3680             goto op_semantics_24;
   3681             break;
   3682         }
   3683       break;
   3684     case 0xb7:
   3685         GETBYTE ();
   3686         switch (op[1] & 0x00)
   3687         {
   3688           case 0x00:
   3689             goto op_semantics_24;
   3690             break;
   3691         }
   3692       break;
   3693     case 0xb8:
   3694         GETBYTE ();
   3695         switch (op[1] & 0x00)
   3696         {
   3697           case 0x00:
   3698             goto op_semantics_24;
   3699             break;
   3700         }
   3701       break;
   3702     case 0xb9:
   3703         GETBYTE ();
   3704         switch (op[1] & 0x00)
   3705         {
   3706           case 0x00:
   3707             goto op_semantics_24;
   3708             break;
   3709         }
   3710       break;
   3711     case 0xba:
   3712         GETBYTE ();
   3713         switch (op[1] & 0x00)
   3714         {
   3715           case 0x00:
   3716             goto op_semantics_24;
   3717             break;
   3718         }
   3719       break;
   3720     case 0xbb:
   3721         GETBYTE ();
   3722         switch (op[1] & 0x00)
   3723         {
   3724           case 0x00:
   3725             goto op_semantics_24;
   3726             break;
   3727         }
   3728       break;
   3729     case 0xbc:
   3730         GETBYTE ();
   3731         switch (op[1] & 0x00)
   3732         {
   3733           case 0x00:
   3734             goto op_semantics_24;
   3735             break;
   3736         }
   3737       break;
   3738     case 0xbd:
   3739         GETBYTE ();
   3740         switch (op[1] & 0x00)
   3741         {
   3742           case 0x00:
   3743             goto op_semantics_24;
   3744             break;
   3745         }
   3746       break;
   3747     case 0xbe:
   3748         GETBYTE ();
   3749         switch (op[1] & 0x00)
   3750         {
   3751           case 0x00:
   3752             goto op_semantics_24;
   3753             break;
   3754         }
   3755       break;
   3756     case 0xbf:
   3757         GETBYTE ();
   3758         switch (op[1] & 0x00)
   3759         {
   3760           case 0x00:
   3761             goto op_semantics_24;
   3762             break;
   3763         }
   3764       break;
   3765     case 0xc0:
   3766         GETBYTE ();
   3767         switch (op[1] & 0x00)
   3768         {
   3769           case 0x00:
   3770             goto op_semantics_24;
   3771             break;
   3772         }
   3773       break;
   3774     case 0xc1:
   3775         GETBYTE ();
   3776         switch (op[1] & 0x00)
   3777         {
   3778           case 0x00:
   3779             goto op_semantics_24;
   3780             break;
   3781         }
   3782       break;
   3783     case 0xc2:
   3784         GETBYTE ();
   3785         switch (op[1] & 0x00)
   3786         {
   3787           case 0x00:
   3788             goto op_semantics_24;
   3789             break;
   3790         }
   3791       break;
   3792     case 0xc3:
   3793         GETBYTE ();
   3794         switch (op[1] & 0x00)
   3795         {
   3796           case 0x00:
   3797             goto op_semantics_24;
   3798             break;
   3799         }
   3800       break;
   3801     case 0xc4:
   3802         GETBYTE ();
   3803         switch (op[1] & 0x00)
   3804         {
   3805           case 0x00:
   3806             goto op_semantics_24;
   3807             break;
   3808         }
   3809       break;
   3810     case 0xc5:
   3811         GETBYTE ();
   3812         switch (op[1] & 0x00)
   3813         {
   3814           case 0x00:
   3815             goto op_semantics_24;
   3816             break;
   3817         }
   3818       break;
   3819     case 0xc6:
   3820         GETBYTE ();
   3821         switch (op[1] & 0x00)
   3822         {
   3823           case 0x00:
   3824             goto op_semantics_24;
   3825             break;
   3826         }
   3827       break;
   3828     case 0xc7:
   3829         GETBYTE ();
   3830         switch (op[1] & 0x00)
   3831         {
   3832           case 0x00:
   3833             goto op_semantics_24;
   3834             break;
   3835         }
   3836       break;
   3837     case 0xc8:
   3838         GETBYTE ();
   3839         switch (op[1] & 0x00)
   3840         {
   3841           case 0x00:
   3842             goto op_semantics_24;
   3843             break;
   3844         }
   3845       break;
   3846     case 0xc9:
   3847         GETBYTE ();
   3848         switch (op[1] & 0x00)
   3849         {
   3850           case 0x00:
   3851             goto op_semantics_24;
   3852             break;
   3853         }
   3854       break;
   3855     case 0xca:
   3856         GETBYTE ();
   3857         switch (op[1] & 0x00)
   3858         {
   3859           case 0x00:
   3860             goto op_semantics_24;
   3861             break;
   3862         }
   3863       break;
   3864     case 0xcb:
   3865         GETBYTE ();
   3866         switch (op[1] & 0x00)
   3867         {
   3868           case 0x00:
   3869             goto op_semantics_24;
   3870             break;
   3871         }
   3872       break;
   3873     case 0xcc:
   3874         GETBYTE ();
   3875         switch (op[1] & 0x00)
   3876         {
   3877           case 0x00:
   3878             goto op_semantics_24;
   3879             break;
   3880         }
   3881       break;
   3882     case 0xcd:
   3883         GETBYTE ();
   3884         switch (op[1] & 0x00)
   3885         {
   3886           case 0x00:
   3887             goto op_semantics_24;
   3888             break;
   3889         }
   3890       break;
   3891     case 0xce:
   3892         GETBYTE ();
   3893         switch (op[1] & 0x00)
   3894         {
   3895           case 0x00:
   3896             goto op_semantics_24;
   3897             break;
   3898         }
   3899       break;
   3900     case 0xcf:
   3901         GETBYTE ();
   3902         switch (op[1] & 0x00)
   3903         {
   3904           case 0x00:
   3905             goto op_semantics_24;
   3906             break;
   3907         }
   3908       break;
   3909     case 0xd0:
   3910         GETBYTE ();
   3911         switch (op[1] & 0x00)
   3912         {
   3913           case 0x00:
   3914             goto op_semantics_24;
   3915             break;
   3916         }
   3917       break;
   3918     case 0xd1:
   3919         GETBYTE ();
   3920         switch (op[1] & 0x00)
   3921         {
   3922           case 0x00:
   3923             goto op_semantics_24;
   3924             break;
   3925         }
   3926       break;
   3927     case 0xd2:
   3928         GETBYTE ();
   3929         switch (op[1] & 0x00)
   3930         {
   3931           case 0x00:
   3932             goto op_semantics_24;
   3933             break;
   3934         }
   3935       break;
   3936     case 0xd3:
   3937         GETBYTE ();
   3938         switch (op[1] & 0x00)
   3939         {
   3940           case 0x00:
   3941             goto op_semantics_24;
   3942             break;
   3943         }
   3944       break;
   3945     case 0xd4:
   3946         GETBYTE ();
   3947         switch (op[1] & 0x00)
   3948         {
   3949           case 0x00:
   3950             goto op_semantics_24;
   3951             break;
   3952         }
   3953       break;
   3954     case 0xd5:
   3955         GETBYTE ();
   3956         switch (op[1] & 0x00)
   3957         {
   3958           case 0x00:
   3959             goto op_semantics_24;
   3960             break;
   3961         }
   3962       break;
   3963     case 0xd6:
   3964         GETBYTE ();
   3965         switch (op[1] & 0x00)
   3966         {
   3967           case 0x00:
   3968             goto op_semantics_24;
   3969             break;
   3970         }
   3971       break;
   3972     case 0xd7:
   3973         GETBYTE ();
   3974         switch (op[1] & 0x00)
   3975         {
   3976           case 0x00:
   3977             goto op_semantics_24;
   3978             break;
   3979         }
   3980       break;
   3981     case 0xd8:
   3982         GETBYTE ();
   3983         switch (op[1] & 0x00)
   3984         {
   3985           case 0x00:
   3986             goto op_semantics_24;
   3987             break;
   3988         }
   3989       break;
   3990     case 0xd9:
   3991         GETBYTE ();
   3992         switch (op[1] & 0x00)
   3993         {
   3994           case 0x00:
   3995             goto op_semantics_24;
   3996             break;
   3997         }
   3998       break;
   3999     case 0xda:
   4000         GETBYTE ();
   4001         switch (op[1] & 0x00)
   4002         {
   4003           case 0x00:
   4004             goto op_semantics_24;
   4005             break;
   4006         }
   4007       break;
   4008     case 0xdb:
   4009         GETBYTE ();
   4010         switch (op[1] & 0x00)
   4011         {
   4012           case 0x00:
   4013             goto op_semantics_24;
   4014             break;
   4015         }
   4016       break;
   4017     case 0xdc:
   4018         GETBYTE ();
   4019         switch (op[1] & 0x00)
   4020         {
   4021           case 0x00:
   4022             goto op_semantics_24;
   4023             break;
   4024         }
   4025       break;
   4026     case 0xdd:
   4027         GETBYTE ();
   4028         switch (op[1] & 0x00)
   4029         {
   4030           case 0x00:
   4031             goto op_semantics_24;
   4032             break;
   4033         }
   4034       break;
   4035     case 0xde:
   4036         GETBYTE ();
   4037         switch (op[1] & 0x00)
   4038         {
   4039           case 0x00:
   4040             goto op_semantics_24;
   4041             break;
   4042         }
   4043       break;
   4044     case 0xdf:
   4045         GETBYTE ();
   4046         switch (op[1] & 0x00)
   4047         {
   4048           case 0x00:
   4049             goto op_semantics_24;
   4050             break;
   4051         }
   4052       break;
   4053     case 0xe0:
   4054         GETBYTE ();
   4055         switch (op[1] & 0x00)
   4056         {
   4057           case 0x00:
   4058             goto op_semantics_24;
   4059             break;
   4060         }
   4061       break;
   4062     case 0xe1:
   4063         GETBYTE ();
   4064         switch (op[1] & 0x00)
   4065         {
   4066           case 0x00:
   4067             goto op_semantics_24;
   4068             break;
   4069         }
   4070       break;
   4071     case 0xe2:
   4072         GETBYTE ();
   4073         switch (op[1] & 0x00)
   4074         {
   4075           case 0x00:
   4076             goto op_semantics_24;
   4077             break;
   4078         }
   4079       break;
   4080     case 0xe3:
   4081         GETBYTE ();
   4082         switch (op[1] & 0x00)
   4083         {
   4084           case 0x00:
   4085             goto op_semantics_24;
   4086             break;
   4087         }
   4088       break;
   4089     case 0xe4:
   4090         GETBYTE ();
   4091         switch (op[1] & 0x00)
   4092         {
   4093           case 0x00:
   4094             goto op_semantics_24;
   4095             break;
   4096         }
   4097       break;
   4098     case 0xe5:
   4099         GETBYTE ();
   4100         switch (op[1] & 0x00)
   4101         {
   4102           case 0x00:
   4103             goto op_semantics_24;
   4104             break;
   4105         }
   4106       break;
   4107     case 0xe6:
   4108         GETBYTE ();
   4109         switch (op[1] & 0x00)
   4110         {
   4111           case 0x00:
   4112             goto op_semantics_24;
   4113             break;
   4114         }
   4115       break;
   4116     case 0xe7:
   4117         GETBYTE ();
   4118         switch (op[1] & 0x00)
   4119         {
   4120           case 0x00:
   4121             goto op_semantics_24;
   4122             break;
   4123         }
   4124       break;
   4125     case 0xe8:
   4126         GETBYTE ();
   4127         switch (op[1] & 0x00)
   4128         {
   4129           case 0x00:
   4130             goto op_semantics_24;
   4131             break;
   4132         }
   4133       break;
   4134     case 0xe9:
   4135         GETBYTE ();
   4136         switch (op[1] & 0x00)
   4137         {
   4138           case 0x00:
   4139             goto op_semantics_24;
   4140             break;
   4141         }
   4142       break;
   4143     case 0xea:
   4144         GETBYTE ();
   4145         switch (op[1] & 0x00)
   4146         {
   4147           case 0x00:
   4148             goto op_semantics_24;
   4149             break;
   4150         }
   4151       break;
   4152     case 0xeb:
   4153         GETBYTE ();
   4154         switch (op[1] & 0x00)
   4155         {
   4156           case 0x00:
   4157             goto op_semantics_24;
   4158             break;
   4159         }
   4160       break;
   4161     case 0xec:
   4162         GETBYTE ();
   4163         switch (op[1] & 0x00)
   4164         {
   4165           case 0x00:
   4166             goto op_semantics_24;
   4167             break;
   4168         }
   4169       break;
   4170     case 0xed:
   4171         GETBYTE ();
   4172         switch (op[1] & 0x00)
   4173         {
   4174           case 0x00:
   4175             goto op_semantics_24;
   4176             break;
   4177         }
   4178       break;
   4179     case 0xee:
   4180         GETBYTE ();
   4181         switch (op[1] & 0x00)
   4182         {
   4183           case 0x00:
   4184             goto op_semantics_24;
   4185             break;
   4186         }
   4187       break;
   4188     case 0xef:
   4189         GETBYTE ();
   4190         switch (op[1] & 0x00)
   4191         {
   4192           case 0x00:
   4193             goto op_semantics_24;
   4194             break;
   4195         }
   4196       break;
   4197     case 0xf0:
   4198         GETBYTE ();
   4199         switch (op[1] & 0x00)
   4200         {
   4201           case 0x00:
   4202             goto op_semantics_24;
   4203             break;
   4204         }
   4205       break;
   4206     case 0xf1:
   4207         GETBYTE ();
   4208         switch (op[1] & 0x00)
   4209         {
   4210           case 0x00:
   4211             goto op_semantics_24;
   4212             break;
   4213         }
   4214       break;
   4215     case 0xf2:
   4216         GETBYTE ();
   4217         switch (op[1] & 0x00)
   4218         {
   4219           case 0x00:
   4220             goto op_semantics_24;
   4221             break;
   4222         }
   4223       break;
   4224     case 0xf3:
   4225         GETBYTE ();
   4226         switch (op[1] & 0x00)
   4227         {
   4228           case 0x00:
   4229             goto op_semantics_24;
   4230             break;
   4231         }
   4232       break;
   4233     case 0xf4:
   4234         GETBYTE ();
   4235         switch (op[1] & 0x00)
   4236         {
   4237           case 0x00:
   4238             goto op_semantics_24;
   4239             break;
   4240         }
   4241       break;
   4242     case 0xf5:
   4243         GETBYTE ();
   4244         switch (op[1] & 0x00)
   4245         {
   4246           case 0x00:
   4247             goto op_semantics_24;
   4248             break;
   4249         }
   4250       break;
   4251     case 0xf6:
   4252         GETBYTE ();
   4253         switch (op[1] & 0x00)
   4254         {
   4255           case 0x00:
   4256             goto op_semantics_24;
   4257             break;
   4258         }
   4259       break;
   4260     case 0xf7:
   4261         GETBYTE ();
   4262         switch (op[1] & 0x00)
   4263         {
   4264           case 0x00:
   4265             goto op_semantics_24;
   4266             break;
   4267         }
   4268       break;
   4269     case 0xf8:
   4270         GETBYTE ();
   4271         switch (op[1] & 0x00)
   4272         {
   4273           case 0x00:
   4274             goto op_semantics_24;
   4275             break;
   4276         }
   4277       break;
   4278     case 0xf9:
   4279         GETBYTE ();
   4280         switch (op[1] & 0x00)
   4281         {
   4282           case 0x00:
   4283             goto op_semantics_24;
   4284             break;
   4285         }
   4286       break;
   4287     case 0xfa:
   4288         GETBYTE ();
   4289         switch (op[1] & 0x00)
   4290         {
   4291           case 0x00:
   4292             goto op_semantics_24;
   4293             break;
   4294         }
   4295       break;
   4296     case 0xfb:
   4297         GETBYTE ();
   4298         switch (op[1] & 0x00)
   4299         {
   4300           case 0x00:
   4301             goto op_semantics_24;
   4302             break;
   4303         }
   4304       break;
   4305     case 0xfc:
   4306         GETBYTE ();
   4307         switch (op[1] & 0x00)
   4308         {
   4309           case 0x00:
   4310             goto op_semantics_24;
   4311             break;
   4312         }
   4313       break;
   4314     case 0xfd:
   4315         GETBYTE ();
   4316         switch (op[1] & 0x00)
   4317         {
   4318           case 0x00:
   4319             goto op_semantics_24;
   4320             break;
   4321         }
   4322       break;
   4323     case 0xfe:
   4324         GETBYTE ();
   4325         switch (op[1] & 0x00)
   4326         {
   4327           case 0x00:
   4328             goto op_semantics_24;
   4329             break;
   4330         }
   4331       break;
   4332     case 0xff:
   4333         GETBYTE ();
   4334         switch (op[1] & 0x00)
   4335         {
   4336           case 0x00:
   4337             goto op_semantics_24;
   4338             break;
   4339         }
   4340       break;
   4341   }
   4342 #line 588 "msp430-decode.opc"
   4343 
   4344   return msp430->n_bytes;
   4345 }
   4346