binutils-gdb/opcodes/alpha-opc.h
Steve Chamberlain e521d840f4 From David Mosberger-Tang <davidm@azstarnet.com>
* alpha-opc.h (MEMORY_FUNCTION_FORMAT_MASK): added.
  	(alpha_insn_set): added definitions for VAX floating point
 	instructions (Unix compilers don't generate these, but handcoded
 	assembly might still use them).

	* alpha-dis.c (print_insn_alpha): added support for disassembling
 	the miscellaneous instructions in the Alpha instruction set.
1995-10-03 15:35:55 +00:00

742 lines
26 KiB
C

/* Opcode table for the Alpha.
Copyright 1993, 1995 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Contributed by sac@cygnus.com. */
#define OSF_ASMCODE 1
/* Alpha opcode format */
#define RA(x) (((x)>>21)& 0x1f)
#define RB(x) (((x)>>16)& 0x1f)
#define RC(x) (((x)>>0) & 0x1f)
#define DISP(x) ((((x) & 0xffff) ^ 0x8000)-0x8000)
#define BDISP(x) ((((x) & 0x1fffff) ^ 0x100000)-0x100000)
#define OPCODE(x) (((x) >>26)&0x3f)
#define JUMP_OPTYPE(x) (((x)>>14) & 0xf)
#define JUMP_HINT(x) ((x) & 0x3fff)
#define JDISP(x) ((((x) & 0x3fff) ^ 0x2000)-0x2000)
#define OP_OPTYPE(x) (((x)>>5)&0x7f)
#define OP_IS_CONSTANT(x) ((x) & (1<<12))
#define LITERAL(x) (((x)>>13) & 0xff)
/* Shapes
Memory instruction format oooo ooaa aaab bbbb dddd dddd dddd dddd
Memory with function oooo ooaa aaab bbbb ffff ffff ffff ffff
Memory branch oooo ooaa aaab bbbb BBff ffff ffff ffff
Branch oooo ooaa aaad dddd dddd dddd dddd dddd
Operate reg oooo ooaa aaab bbbb ***F ffff fffc cccc
Operate cont oooo ooaa aaal llll lll1 ffff fffc cccc
FP reg oooo ooaa aaab bbbb 000f ffff fffc cccc
Pal oooo oodd dddd dddd dddd dddd dddd dddd
The following masks just give opcode & function
*/
#define MEMORY_FORMAT_MASK 0xfc000000
#define MEMORY_FUNCTION_FORMAT_MASK 0xfc00ffff
#define MEMORY_BRANCH_FORMAT_MASK 0xfc00c000
#define BRANCH_FORMAT_MASK 0xfc000000
#define OPERATE_FORMAT_MASK 0xfc000fe0
#define FLOAT_FORMAT_MASK 0xfc000fe0
typedef struct
{
unsigned i;
char *name;
int type;
} alpha_insn;
#ifdef DEFINE_TABLE
char *alpha_regs[32] =
{
"v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6",
"t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp",
"a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9",
"t10", "t11", "ra", "t12", "at", "gp", "sp", "zero"
};
#define MEMORY_FORMAT_CODE 1
#define MEMORY_FORMAT(op, name) \
{ op << 26, name, MEMORY_FORMAT_CODE }
#define MEMORY_BRANCH_FORMAT_CODE 2
#define MEMORY_BRANCH_FORMAT(op, func, name) \
{ (op<<26)+(func<<14),name, MEMORY_BRANCH_FORMAT_CODE }
#define MEMORY_FUNCTION_FORMAT_CODE 3
#define MEMORY_FORMAT_FUNCTION(op, func, name) \
{ (op<<26)+(func), name, MEMORY_FUNCTION_FORMAT_CODE }
#define BRANCH_FORMAT_CODE 4
#define BRANCH_FORMAT(op, name) \
{ (op<<26), name , BRANCH_FORMAT_CODE }
#define OPERATE_FORMAT_CODE 5
#define OPERATE_FORMAT(op, extra,name) \
{(op<<26)+(extra<<5),name , OPERATE_FORMAT_CODE}
#define FLOAT_FORMAT_CODE 6
#define FLOAT_FORMAT(op, extra,name) \
{(op<<26)+(extra<<5),name , FLOAT_FORMAT_CODE }
#define PAL_FORMAT_CODE 7
#define PAL_FORMAT(op, extra, name) \
{(op<<26)+(extra),name, PAL_FORMAT_CODE}
#define FLOAT_MEMORY_FORMAT_CODE 8
#define FLOAT_MEMORY_FORMAT(op, name) \
{ op << 26, name, FLOAT_MEMORY_FORMAT_CODE }
#define FLOAT_BRANCH_FORMAT_CODE 9
#define FLOAT_BRANCH_FORMAT(op, name) \
{ (op<<26), name , FLOAT_BRANCH_FORMAT_CODE }
alpha_insn alpha_insn_set[] =
{
/* Memory format instruction opcodes */
MEMORY_FORMAT( 0x08, "lda"),
FLOAT_MEMORY_FORMAT( 0x21, "ldg"),
MEMORY_FORMAT( 0x29, "ldq"),
FLOAT_MEMORY_FORMAT( 0x22, "lds"),
FLOAT_MEMORY_FORMAT( 0x25, "stg"),
MEMORY_FORMAT( 0x2d, "stq"),
FLOAT_MEMORY_FORMAT( 0x26, "sts"),
MEMORY_FORMAT( 0x09, "ldah"),
MEMORY_FORMAT( 0x28, "ldl"),
MEMORY_FORMAT( 0x2b, "ldq_l"),
FLOAT_MEMORY_FORMAT( 0x23, "ldt"),
MEMORY_FORMAT( 0x2c, "stl"),
MEMORY_FORMAT( 0x2f, "stq_c"),
FLOAT_MEMORY_FORMAT( 0x27, "stt"),
FLOAT_MEMORY_FORMAT( 0x20, "ldf"),
MEMORY_FORMAT( 0x2a, "ldl_l"),
MEMORY_FORMAT( 0x0b, "ldq_u"),
FLOAT_MEMORY_FORMAT( 0x24, "stf"),
MEMORY_FORMAT( 0x2e, "stl_c"),
MEMORY_FORMAT( 0x0f, "stq_u"),
/* Memory format instructions with a function code */
MEMORY_FORMAT_FUNCTION( 0x18, 0x8000, "fetch"),
MEMORY_FORMAT_FUNCTION( 0x18, 0xe000, "rc"),
MEMORY_FORMAT_FUNCTION( 0x18, 0x0000, "trapb"),
MEMORY_FORMAT_FUNCTION( 0x18, 0xa000, "fetch_m"),
MEMORY_FORMAT_FUNCTION( 0x18, 0xc000, "rpcc"),
MEMORY_FORMAT_FUNCTION( 0x18, 0x4000, "mb"),
MEMORY_FORMAT_FUNCTION( 0x18, 0xf000, "rs"),
MEMORY_BRANCH_FORMAT( 0x1a, 0x0, "jmp"),
MEMORY_BRANCH_FORMAT( 0x1a, 0x2, "ret"),
MEMORY_BRANCH_FORMAT( 0x1a, 0x1, "jsr"),
MEMORY_BRANCH_FORMAT( 0x1a, 0x3, "jsr_coroutine"),
BRANCH_FORMAT( 0x30, "br"),
FLOAT_BRANCH_FORMAT( 0x33, "fble"),
FLOAT_BRANCH_FORMAT( 0x36, "fbge"),
BRANCH_FORMAT( 0x39, "beq"),
BRANCH_FORMAT( 0x3c, "blbs"),
BRANCH_FORMAT( 0x3f, "bgt"),
FLOAT_BRANCH_FORMAT( 0x31, "fbeq"),
BRANCH_FORMAT( 0x34, "bsr"),
FLOAT_BRANCH_FORMAT( 0x37, "fbgt"),
BRANCH_FORMAT( 0x3a, "blt"),
BRANCH_FORMAT( 0x3d, "bne"),
FLOAT_BRANCH_FORMAT( 0x32, "fblt"),
FLOAT_BRANCH_FORMAT( 0x35, "fbne"),
BRANCH_FORMAT( 0x38, "blbc"),
BRANCH_FORMAT( 0x3b, "ble"),
BRANCH_FORMAT( 0x3e, "bge"),
OPERATE_FORMAT(0x10, 0x00, "addl"),
OPERATE_FORMAT(0x10, 0x02, "s4addl"),
OPERATE_FORMAT(0x10, 0x09, "subl"),
OPERATE_FORMAT(0x10, 0x0b, "s4subl"),
OPERATE_FORMAT(0x10, 0x0f, "cmpbge"),
OPERATE_FORMAT(0x10, 0x12, "s8addl"),
OPERATE_FORMAT(0x10, 0x1b, "s8subl"),
OPERATE_FORMAT(0x10, 0x1d, "cmpult"),
OPERATE_FORMAT(0x10, 0x20, "addq"),
OPERATE_FORMAT(0x10, 0x22, "s4addq"),
OPERATE_FORMAT(0x10, 0x29, "subq"),
OPERATE_FORMAT(0x10, 0x2b, "s4subq"),
OPERATE_FORMAT(0x10, 0x2d, "cmpeq"),
OPERATE_FORMAT(0x10, 0x32, "s8addq"),
OPERATE_FORMAT(0x10, 0x3b, "s8subq"),
OPERATE_FORMAT(0x10, 0x3d, "cmpule"),
OPERATE_FORMAT(0x10, 0x40, "addlv"),
OPERATE_FORMAT(0x10, 0x49, "sublv"),
OPERATE_FORMAT(0x10, 0x4d, "cmplt"),
OPERATE_FORMAT(0x10, 0x60, "addqv"),
OPERATE_FORMAT(0x10, 0x69, "subqv"),
OPERATE_FORMAT(0x10, 0x6d, "cmple"),
OPERATE_FORMAT(0x11, 0x00, "and"),
OPERATE_FORMAT(0x11, 0x08, "bic"),
OPERATE_FORMAT(0x11, 0x14, "cmovlbs"),
OPERATE_FORMAT(0x11, 0x16, "cmovlbc"),
OPERATE_FORMAT(0x11, 0x20, "bis"),
OPERATE_FORMAT(0x11, 0x24, "cmoveq"),
OPERATE_FORMAT(0x11, 0x26, "cmovne"),
OPERATE_FORMAT(0x11, 0x28, "ornot"),
OPERATE_FORMAT(0x11, 0x40, "xor"),
OPERATE_FORMAT(0x11, 0x44, "cmovlt"),
OPERATE_FORMAT(0x11, 0x46, "cmovge"),
OPERATE_FORMAT(0x11, 0x48, "eqv"),
OPERATE_FORMAT(0x11, 0x64, "cmovle"),
OPERATE_FORMAT(0x11, 0x66, "cmovgt"),
OPERATE_FORMAT(0x12, 0x02, "mskbl"),
OPERATE_FORMAT(0x12, 0x06, "extbl"),
OPERATE_FORMAT(0x12, 0x0b, "insbl"),
OPERATE_FORMAT(0x12, 0x12, "mskwl"),
OPERATE_FORMAT(0x12, 0x16, "extwl"),
OPERATE_FORMAT(0x12, 0x1b, "inswl"),
OPERATE_FORMAT(0x12, 0x22, "mskll"),
OPERATE_FORMAT(0x12, 0x26, "extll"),
OPERATE_FORMAT(0x12, 0x2b, "insll"),
OPERATE_FORMAT(0x12, 0x30, "zap"),
OPERATE_FORMAT(0x12, 0x31, "zapnot"),
OPERATE_FORMAT(0x12, 0x32, "mskql"),
OPERATE_FORMAT(0x12, 0x34, "srl"),
OPERATE_FORMAT(0x12, 0x36, "extql"),
OPERATE_FORMAT(0x12, 0x39, "sll"),
OPERATE_FORMAT(0x12, 0x3b, "insql"),
OPERATE_FORMAT(0x12, 0x3c, "sra"),
OPERATE_FORMAT(0x12, 0x52, "mskwh"),
OPERATE_FORMAT(0x12, 0x57, "inswh"),
OPERATE_FORMAT(0x12, 0x5a, "extwh"),
OPERATE_FORMAT(0x12, 0x62, "msklh"),
OPERATE_FORMAT(0x12, 0x67, "inslh"),
OPERATE_FORMAT(0x12, 0x6a, "extlh"),
OPERATE_FORMAT(0x12, 0x72, "mskqh"),
OPERATE_FORMAT(0x12, 0x77, "insqh"),
OPERATE_FORMAT(0x12, 0x7a, "extqh"),
OPERATE_FORMAT(0x13, 0x00, "mull"),
OPERATE_FORMAT(0x13, 0x20, "mulq"),
OPERATE_FORMAT(0x13, 0x30, "umulh"),
OPERATE_FORMAT(0x13, 0x40, "mullv"),
OPERATE_FORMAT(0x13, 0x60, "mulqv"),
FLOAT_FORMAT(0x17, 0x20, "cpys"),
FLOAT_FORMAT(0x17, 0x21, "cpysn"),
FLOAT_FORMAT(0x17, 0x22, "cpyse"),
FLOAT_FORMAT(0x17, 0x24, "mt_fpcr"),
FLOAT_FORMAT(0x17, 0x25, "mf_fpcr"),
FLOAT_FORMAT(0x17, 0x2a, "fcmoveq"),
FLOAT_FORMAT(0x17, 0x2b, "fcmovne"),
FLOAT_FORMAT(0x17, 0x2c, "fcmovlt"),
FLOAT_FORMAT(0x17, 0x2d, "fcmovge"),
FLOAT_FORMAT(0x17, 0x2e, "fcmovle"),
FLOAT_FORMAT(0x17, 0x2f, "fcmovgt"),
FLOAT_FORMAT(0x17, 0x10, "cvtlq"),
FLOAT_FORMAT(0x17, 0x30, "cvtql"),
FLOAT_FORMAT(0x17, 0x130, "cvtql/v"),
FLOAT_FORMAT(0x17, 0x530, "cvtql/sv"),
/* IEEE floating point operations: */
FLOAT_FORMAT(0x16, 0x080, "adds"),
FLOAT_FORMAT(0x16, 0x000, "adds/c"),
FLOAT_FORMAT(0x16, 0x040, "adds/m"),
FLOAT_FORMAT(0x16, 0x0c0, "adds/d"),
FLOAT_FORMAT(0x16, 0x180, "adds/u"),
FLOAT_FORMAT(0x16, 0x100, "adds/uc"),
FLOAT_FORMAT(0x16, 0x140, "adds/um"),
FLOAT_FORMAT(0x16, 0x1c0, "adds/ud"),
FLOAT_FORMAT(0x16, 0x580, "adds/su"),
FLOAT_FORMAT(0x16, 0x500, "adds/suc"),
FLOAT_FORMAT(0x16, 0x540, "adds/sum"),
FLOAT_FORMAT(0x16, 0x5c0, "adds/sud"),
FLOAT_FORMAT(0x16, 0x780, "adds/sui"),
FLOAT_FORMAT(0x16, 0x700, "adds/suic"),
FLOAT_FORMAT(0x16, 0x740, "adds/suim"),
FLOAT_FORMAT(0x16, 0x7c0, "adds/suid"),
FLOAT_FORMAT(0x16, 0x0a0, "addt"),
FLOAT_FORMAT(0x16, 0x020, "addt/c"),
FLOAT_FORMAT(0x16, 0x060, "addt/m"),
FLOAT_FORMAT(0x16, 0x0e0, "addt/d"),
FLOAT_FORMAT(0x16, 0x1a0, "addt/u"),
FLOAT_FORMAT(0x16, 0x120, "addt/uc"),
FLOAT_FORMAT(0x16, 0x160, "addt/um"),
FLOAT_FORMAT(0x16, 0x1e0, "addt/ud"),
FLOAT_FORMAT(0x16, 0x5a0, "addt/su"),
FLOAT_FORMAT(0x16, 0x520, "addt/suc"),
FLOAT_FORMAT(0x16, 0x560, "addt/sum"),
FLOAT_FORMAT(0x16, 0x5e0, "addt/sud"),
FLOAT_FORMAT(0x16, 0x7a0, "addt/sui"),
FLOAT_FORMAT(0x16, 0x720, "addt/suic"),
FLOAT_FORMAT(0x16, 0x760, "addt/suim"),
FLOAT_FORMAT(0x16, 0x7e0, "addt/suid"),
FLOAT_FORMAT(0x16, 0x0a5, "cmpteq"),
FLOAT_FORMAT(0x16, 0x025, "cmpteq/c"),
FLOAT_FORMAT(0x16, 0x065, "cmpteq/m"),
FLOAT_FORMAT(0x16, 0x0e5, "cmpteq/d"),
FLOAT_FORMAT(0x16, 0x1a5, "cmpteq/u"),
FLOAT_FORMAT(0x16, 0x125, "cmpteq/uc"),
FLOAT_FORMAT(0x16, 0x165, "cmpteq/um"),
FLOAT_FORMAT(0x16, 0x1e5, "cmpteq/ud"),
FLOAT_FORMAT(0x16, 0x5a5, "cmpteq/su"),
FLOAT_FORMAT(0x16, 0x525, "cmpteq/suc"),
FLOAT_FORMAT(0x16, 0x565, "cmpteq/sum"),
FLOAT_FORMAT(0x16, 0x5e5, "cmpteq/sud"),
FLOAT_FORMAT(0x16, 0x7a5, "cmpteq/sui"),
FLOAT_FORMAT(0x16, 0x725, "cmpteq/suic"),
FLOAT_FORMAT(0x16, 0x765, "cmpteq/suim"),
FLOAT_FORMAT(0x16, 0x7e5, "cmpteq/suid"),
FLOAT_FORMAT(0x16, 0x0a6, "cmptlt"),
FLOAT_FORMAT(0x16, 0x026, "cmptlt/c"),
FLOAT_FORMAT(0x16, 0x066, "cmptlt/m"),
FLOAT_FORMAT(0x16, 0x0e6, "cmptlt/d"),
FLOAT_FORMAT(0x16, 0x1a6, "cmptlt/u"),
FLOAT_FORMAT(0x16, 0x126, "cmptlt/uc"),
FLOAT_FORMAT(0x16, 0x166, "cmptlt/um"),
FLOAT_FORMAT(0x16, 0x1e6, "cmptlt/ud"),
FLOAT_FORMAT(0x16, 0x5a6, "cmptlt/su"),
FLOAT_FORMAT(0x16, 0x526, "cmptlt/suc"),
FLOAT_FORMAT(0x16, 0x566, "cmptlt/sum"),
FLOAT_FORMAT(0x16, 0x5e6, "cmptlt/sud"),
FLOAT_FORMAT(0x16, 0x7a6, "cmptlt/sui"),
FLOAT_FORMAT(0x16, 0x726, "cmptlt/suic"),
FLOAT_FORMAT(0x16, 0x766, "cmptlt/suim"),
FLOAT_FORMAT(0x16, 0x7e6, "cmptlt/suid"),
FLOAT_FORMAT(0x16, 0x0a7, "cmptle"),
FLOAT_FORMAT(0x16, 0x027, "cmptle/c"),
FLOAT_FORMAT(0x16, 0x067, "cmptle/m"),
FLOAT_FORMAT(0x16, 0x0e7, "cmptle/d"),
FLOAT_FORMAT(0x16, 0x1a7, "cmptle/u"),
FLOAT_FORMAT(0x16, 0x127, "cmptle/uc"),
FLOAT_FORMAT(0x16, 0x167, "cmptle/um"),
FLOAT_FORMAT(0x16, 0x1e7, "cmptle/ud"),
FLOAT_FORMAT(0x16, 0x5a7, "cmptle/su"),
FLOAT_FORMAT(0x16, 0x527, "cmptle/suc"),
FLOAT_FORMAT(0x16, 0x567, "cmptle/sum"),
FLOAT_FORMAT(0x16, 0x5e7, "cmptle/sud"),
FLOAT_FORMAT(0x16, 0x7a7, "cmptle/sui"),
FLOAT_FORMAT(0x16, 0x727, "cmptle/suic"),
FLOAT_FORMAT(0x16, 0x767, "cmptle/suim"),
FLOAT_FORMAT(0x16, 0x7e7, "cmptle/suid"),
FLOAT_FORMAT(0x16, 0x0a4, "cmptun"),
FLOAT_FORMAT(0x16, 0x024, "cmptun/c"),
FLOAT_FORMAT(0x16, 0x064, "cmptun/m"),
FLOAT_FORMAT(0x16, 0x0e4, "cmptun/d"),
FLOAT_FORMAT(0x16, 0x1a4, "cmptun/u"),
FLOAT_FORMAT(0x16, 0x124, "cmptun/uc"),
FLOAT_FORMAT(0x16, 0x164, "cmptun/um"),
FLOAT_FORMAT(0x16, 0x1e4, "cmptun/ud"),
FLOAT_FORMAT(0x16, 0x5a4, "cmptun/su"),
FLOAT_FORMAT(0x16, 0x524, "cmptun/suc"),
FLOAT_FORMAT(0x16, 0x564, "cmptun/sum"),
FLOAT_FORMAT(0x16, 0x5e4, "cmptun/sud"),
FLOAT_FORMAT(0x16, 0x7a4, "cmptun/sui"),
FLOAT_FORMAT(0x16, 0x724, "cmptun/suic"),
FLOAT_FORMAT(0x16, 0x764, "cmptun/suim"),
FLOAT_FORMAT(0x16, 0x7e4, "cmptun/suid"),
FLOAT_FORMAT(0x16, 0x0bc, "cvtqs"),
FLOAT_FORMAT(0x16, 0x03c, "cvtqs/c"),
FLOAT_FORMAT(0x16, 0x07c, "cvtqs/m"),
FLOAT_FORMAT(0x16, 0x0fc, "cvtqs/d"),
FLOAT_FORMAT(0x16, 0x1bc, "cvtqs/u"),
FLOAT_FORMAT(0x16, 0x13c, "cvtqs/uc"),
FLOAT_FORMAT(0x16, 0x17c, "cvtqs/um"),
FLOAT_FORMAT(0x16, 0x1fc, "cvtqs/ud"),
FLOAT_FORMAT(0x16, 0x5bc, "cvtqs/su"),
FLOAT_FORMAT(0x16, 0x53c, "cvtqs/suc"),
FLOAT_FORMAT(0x16, 0x57c, "cvtqs/sum"),
FLOAT_FORMAT(0x16, 0x5fc, "cvtqs/sud"),
FLOAT_FORMAT(0x16, 0x7bc, "cvtqs/sui"),
FLOAT_FORMAT(0x16, 0x73c, "cvtqs/suic"),
FLOAT_FORMAT(0x16, 0x77c, "cvtqs/suim"),
FLOAT_FORMAT(0x16, 0x7fc, "cvtqs/suid"),
FLOAT_FORMAT(0x16, 0x0be, "cvtqt"),
FLOAT_FORMAT(0x16, 0x03e, "cvtqt/c"),
FLOAT_FORMAT(0x16, 0x07e, "cvtqt/m"),
FLOAT_FORMAT(0x16, 0x0fe, "cvtqt/d"),
FLOAT_FORMAT(0x16, 0x1be, "cvtqt/u"),
FLOAT_FORMAT(0x16, 0x13e, "cvtqt/uc"),
FLOAT_FORMAT(0x16, 0x17e, "cvtqt/um"),
FLOAT_FORMAT(0x16, 0x1fe, "cvtqt/ud"),
FLOAT_FORMAT(0x16, 0x5be, "cvtqt/su"),
FLOAT_FORMAT(0x16, 0x53e, "cvtqt/suc"),
FLOAT_FORMAT(0x16, 0x57e, "cvtqt/sum"),
FLOAT_FORMAT(0x16, 0x5fe, "cvtqt/sud"),
FLOAT_FORMAT(0x16, 0x7be, "cvtqt/sui"),
FLOAT_FORMAT(0x16, 0x73e, "cvtqt/suic"),
FLOAT_FORMAT(0x16, 0x77e, "cvtqt/suim"),
FLOAT_FORMAT(0x16, 0x7fe, "cvtqt/suid"),
FLOAT_FORMAT(0x16, 0x0ac, "cvtts"),
FLOAT_FORMAT(0x16, 0x02c, "cvtts/c"),
FLOAT_FORMAT(0x16, 0x06c, "cvtts/m"),
FLOAT_FORMAT(0x16, 0x0ec, "cvtts/d"),
FLOAT_FORMAT(0x16, 0x1ac, "cvtts/u"),
FLOAT_FORMAT(0x16, 0x12c, "cvtts/uc"),
FLOAT_FORMAT(0x16, 0x16c, "cvtts/um"),
FLOAT_FORMAT(0x16, 0x1ec, "cvtts/ud"),
FLOAT_FORMAT(0x16, 0x5ac, "cvtts/su"),
FLOAT_FORMAT(0x16, 0x52c, "cvtts/suc"),
FLOAT_FORMAT(0x16, 0x56c, "cvtts/sum"),
FLOAT_FORMAT(0x16, 0x5ec, "cvtts/sud"),
FLOAT_FORMAT(0x16, 0x7ac, "cvtts/sui"),
FLOAT_FORMAT(0x16, 0x72c, "cvtts/suic"),
FLOAT_FORMAT(0x16, 0x76c, "cvtts/suim"),
FLOAT_FORMAT(0x16, 0x7ec, "cvtts/suid"),
FLOAT_FORMAT(0x16, 0x083, "divs"),
FLOAT_FORMAT(0x16, 0x003, "divs/c"),
FLOAT_FORMAT(0x16, 0x043, "divs/m"),
FLOAT_FORMAT(0x16, 0x0c3, "divs/d"),
FLOAT_FORMAT(0x16, 0x183, "divs/u"),
FLOAT_FORMAT(0x16, 0x103, "divs/uc"),
FLOAT_FORMAT(0x16, 0x143, "divs/um"),
FLOAT_FORMAT(0x16, 0x1c3, "divs/ud"),
FLOAT_FORMAT(0x16, 0x583, "divs/su"),
FLOAT_FORMAT(0x16, 0x503, "divs/suc"),
FLOAT_FORMAT(0x16, 0x543, "divs/sum"),
FLOAT_FORMAT(0x16, 0x5c3, "divs/sud"),
FLOAT_FORMAT(0x16, 0x783, "divs/sui"),
FLOAT_FORMAT(0x16, 0x703, "divs/suic"),
FLOAT_FORMAT(0x16, 0x743, "divs/suim"),
FLOAT_FORMAT(0x16, 0x7c3, "divs/suid"),
FLOAT_FORMAT(0x16, 0x0a3, "divt"),
FLOAT_FORMAT(0x16, 0x023, "divt/c"),
FLOAT_FORMAT(0x16, 0x063, "divt/m"),
FLOAT_FORMAT(0x16, 0x0e3, "divt/d"),
FLOAT_FORMAT(0x16, 0x1a3, "divt/u"),
FLOAT_FORMAT(0x16, 0x123, "divt/uc"),
FLOAT_FORMAT(0x16, 0x163, "divt/um"),
FLOAT_FORMAT(0x16, 0x1e3, "divt/ud"),
FLOAT_FORMAT(0x16, 0x5a3, "divt/su"),
FLOAT_FORMAT(0x16, 0x523, "divt/suc"),
FLOAT_FORMAT(0x16, 0x563, "divt/sum"),
FLOAT_FORMAT(0x16, 0x5e3, "divt/sud"),
FLOAT_FORMAT(0x16, 0x7a3, "divt/sui"),
FLOAT_FORMAT(0x16, 0x723, "divt/suic"),
FLOAT_FORMAT(0x16, 0x763, "divt/suim"),
FLOAT_FORMAT(0x16, 0x7e3, "divt/suid"),
FLOAT_FORMAT(0x16, 0x082, "muls"),
FLOAT_FORMAT(0x16, 0x002, "muls/c"),
FLOAT_FORMAT(0x16, 0x042, "muls/m"),
FLOAT_FORMAT(0x16, 0x0c2, "muls/d"),
FLOAT_FORMAT(0x16, 0x182, "muls/u"),
FLOAT_FORMAT(0x16, 0x102, "muls/uc"),
FLOAT_FORMAT(0x16, 0x142, "muls/um"),
FLOAT_FORMAT(0x16, 0x1c2, "muls/ud"),
FLOAT_FORMAT(0x16, 0x582, "muls/su"),
FLOAT_FORMAT(0x16, 0x502, "muls/suc"),
FLOAT_FORMAT(0x16, 0x542, "muls/sum"),
FLOAT_FORMAT(0x16, 0x5c2, "muls/sud"),
FLOAT_FORMAT(0x16, 0x782, "muls/sui"),
FLOAT_FORMAT(0x16, 0x702, "muls/suic"),
FLOAT_FORMAT(0x16, 0x742, "muls/suim"),
FLOAT_FORMAT(0x16, 0x7c2, "muls/suid"),
FLOAT_FORMAT(0x16, 0x0a2, "mult"),
FLOAT_FORMAT(0x16, 0x022, "mult/c"),
FLOAT_FORMAT(0x16, 0x062, "mult/m"),
FLOAT_FORMAT(0x16, 0x0e2, "mult/d"),
FLOAT_FORMAT(0x16, 0x1a2, "mult/u"),
FLOAT_FORMAT(0x16, 0x122, "mult/uc"),
FLOAT_FORMAT(0x16, 0x162, "mult/um"),
FLOAT_FORMAT(0x16, 0x1e2, "mult/ud"),
FLOAT_FORMAT(0x16, 0x5a2, "mult/su"),
FLOAT_FORMAT(0x16, 0x522, "mult/suc"),
FLOAT_FORMAT(0x16, 0x562, "mult/sum"),
FLOAT_FORMAT(0x16, 0x5e2, "mult/sud"),
FLOAT_FORMAT(0x16, 0x7a2, "mult/sui"),
FLOAT_FORMAT(0x16, 0x722, "mult/suic"),
FLOAT_FORMAT(0x16, 0x762, "mult/suim"),
FLOAT_FORMAT(0x16, 0x7e2, "mult/suid"),
FLOAT_FORMAT(0x16, 0x081, "subs"),
FLOAT_FORMAT(0x16, 0x001, "subs/c"),
FLOAT_FORMAT(0x16, 0x041, "subs/m"),
FLOAT_FORMAT(0x16, 0x0c1, "subs/d"),
FLOAT_FORMAT(0x16, 0x181, "subs/u"),
FLOAT_FORMAT(0x16, 0x101, "subs/uc"),
FLOAT_FORMAT(0x16, 0x141, "subs/um"),
FLOAT_FORMAT(0x16, 0x1c1, "subs/ud"),
FLOAT_FORMAT(0x16, 0x581, "subs/su"),
FLOAT_FORMAT(0x16, 0x501, "subs/suc"),
FLOAT_FORMAT(0x16, 0x541, "subs/sum"),
FLOAT_FORMAT(0x16, 0x5c1, "subs/sud"),
FLOAT_FORMAT(0x16, 0x781, "subs/sui"),
FLOAT_FORMAT(0x16, 0x701, "subs/suic"),
FLOAT_FORMAT(0x16, 0x741, "subs/suim"),
FLOAT_FORMAT(0x16, 0x7c1, "subs/suid"),
FLOAT_FORMAT(0x16, 0x0a1, "subt"),
FLOAT_FORMAT(0x16, 0x021, "subt/c"),
FLOAT_FORMAT(0x16, 0x061, "subt/m"),
FLOAT_FORMAT(0x16, 0x0e1, "subt/d"),
FLOAT_FORMAT(0x16, 0x1a1, "subt/u"),
FLOAT_FORMAT(0x16, 0x121, "subt/uc"),
FLOAT_FORMAT(0x16, 0x161, "subt/um"),
FLOAT_FORMAT(0x16, 0x1e1, "subt/ud"),
FLOAT_FORMAT(0x16, 0x5a1, "subt/su"),
FLOAT_FORMAT(0x16, 0x521, "subt/suc"),
FLOAT_FORMAT(0x16, 0x561, "subt/sum"),
FLOAT_FORMAT(0x16, 0x5e1, "subt/sud"),
FLOAT_FORMAT(0x16, 0x7a1, "subt/sui"),
FLOAT_FORMAT(0x16, 0x721, "subt/suic"),
FLOAT_FORMAT(0x16, 0x761, "subt/suim"),
FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"),
/* VAX floating point operations: */
FLOAT_FORMAT(0x16, 0x080, "addf"),
FLOAT_FORMAT(0x16, 0x000, "addf/c"),
FLOAT_FORMAT(0x16, 0x180, "addf/u"),
FLOAT_FORMAT(0x16, 0x100, "addf/uc"),
FLOAT_FORMAT(0x16, 0x480, "addf/s"),
FLOAT_FORMAT(0x16, 0x400, "addf/sc"),
FLOAT_FORMAT(0x16, 0x580, "addf/su"),
FLOAT_FORMAT(0x16, 0x500, "addf/suc"),
FLOAT_FORMAT(0x16, 0x09e, "cvtdg"),
FLOAT_FORMAT(0x16, 0x01e, "cvtdg/c"),
FLOAT_FORMAT(0x16, 0x19e, "cvtdg/u"),
FLOAT_FORMAT(0x16, 0x11e, "cvtdg/uc"),
FLOAT_FORMAT(0x16, 0x49e, "cvtdg/s"),
FLOAT_FORMAT(0x16, 0x41e, "cvtdg/sc"),
FLOAT_FORMAT(0x16, 0x59e, "cvtdg/su"),
FLOAT_FORMAT(0x16, 0x51e, "cvtdg/suc"),
FLOAT_FORMAT(0x16, 0x0a0, "addg"),
FLOAT_FORMAT(0x16, 0x020, "addg/c"),
FLOAT_FORMAT(0x16, 0x1a0, "addg/u"),
FLOAT_FORMAT(0x16, 0x120, "addg/uc"),
FLOAT_FORMAT(0x16, 0x4a0, "addg/s"),
FLOAT_FORMAT(0x16, 0x420, "addg/sc"),
FLOAT_FORMAT(0x16, 0x5a0, "addg/su"),
FLOAT_FORMAT(0x16, 0x520, "addg/suc"),
FLOAT_FORMAT(0x16, 0x0a5, "cmpgeq"),
FLOAT_FORMAT(0x16, 0x4a5, "cmpgeq/s"),
FLOAT_FORMAT(0x16, 0x0a6, "cmpglt"),
FLOAT_FORMAT(0x16, 0x4a6, "cmpglt/s"),
FLOAT_FORMAT(0x16, 0x0a7, "cmpgle"),
FLOAT_FORMAT(0x16, 0x4a7, "cmpgle/s"),
FLOAT_FORMAT(0x16, 0x0ac, "cvtgf"),
FLOAT_FORMAT(0x16, 0x02c, "cvtgf/c"),
FLOAT_FORMAT(0x16, 0x1ac, "cvtgf/u"),
FLOAT_FORMAT(0x16, 0x12c, "cvtgf/uc"),
FLOAT_FORMAT(0x16, 0x4ac, "cvtgf/s"),
FLOAT_FORMAT(0x16, 0x42c, "cvtgf/sc"),
FLOAT_FORMAT(0x16, 0x5ac, "cvtgf/su"),
FLOAT_FORMAT(0x16, 0x52c, "cvtgf/suc"),
FLOAT_FORMAT(0x16, 0x0ad, "cvtgd"),
FLOAT_FORMAT(0x16, 0x02d, "cvtgd/c"),
FLOAT_FORMAT(0x16, 0x1ad, "cvtgd/u"),
FLOAT_FORMAT(0x16, 0x12d, "cvtgd/uc"),
FLOAT_FORMAT(0x16, 0x4ad, "cvtgd/s"),
FLOAT_FORMAT(0x16, 0x42d, "cvtgd/sc"),
FLOAT_FORMAT(0x16, 0x5ad, "cvtgd/su"),
FLOAT_FORMAT(0x16, 0x52d, "cvtgd/suc"),
FLOAT_FORMAT(0x16, 0x0bc, "cvtqf"),
FLOAT_FORMAT(0x16, 0x03c, "cvtqf/c"),
FLOAT_FORMAT(0x16, 0x0be, "cvtqg"),
FLOAT_FORMAT(0x16, 0x03e, "cvtqg/c"),
FLOAT_FORMAT(0x16, 0x083, "divf"),
FLOAT_FORMAT(0x16, 0x003, "divf/c"),
FLOAT_FORMAT(0x16, 0x183, "divf/u"),
FLOAT_FORMAT(0x16, 0x103, "divf/uc"),
FLOAT_FORMAT(0x16, 0x483, "divf/s"),
FLOAT_FORMAT(0x16, 0x403, "divf/sc"),
FLOAT_FORMAT(0x16, 0x583, "divf/su"),
FLOAT_FORMAT(0x16, 0x503, "divf/suc"),
FLOAT_FORMAT(0x16, 0x0a3, "divg"),
FLOAT_FORMAT(0x16, 0x023, "divg/c"),
FLOAT_FORMAT(0x16, 0x1a3, "divg/u"),
FLOAT_FORMAT(0x16, 0x123, "divg/uc"),
FLOAT_FORMAT(0x16, 0x4a3, "divg/s"),
FLOAT_FORMAT(0x16, 0x423, "divg/sc"),
FLOAT_FORMAT(0x16, 0x5a3, "divg/su"),
FLOAT_FORMAT(0x16, 0x523, "divg/suc"),
FLOAT_FORMAT(0x16, 0x082, "mulf"),
FLOAT_FORMAT(0x16, 0x002, "mulf/c"),
FLOAT_FORMAT(0x16, 0x182, "mulf/u"),
FLOAT_FORMAT(0x16, 0x102, "mulf/uc"),
FLOAT_FORMAT(0x16, 0x482, "mulf/s"),
FLOAT_FORMAT(0x16, 0x402, "mulf/sc"),
FLOAT_FORMAT(0x16, 0x582, "mulf/su"),
FLOAT_FORMAT(0x16, 0x502, "mulf/suc"),
FLOAT_FORMAT(0x16, 0x0a2, "mulg"),
FLOAT_FORMAT(0x16, 0x022, "mulg/c"),
FLOAT_FORMAT(0x16, 0x1a2, "mulg/u"),
FLOAT_FORMAT(0x16, 0x122, "mulg/uc"),
FLOAT_FORMAT(0x16, 0x4a2, "mulg/s"),
FLOAT_FORMAT(0x16, 0x422, "mulg/sc"),
FLOAT_FORMAT(0x16, 0x5a2, "mulg/su"),
FLOAT_FORMAT(0x16, 0x522, "mulg/suc"),
FLOAT_FORMAT(0x16, 0x081, "subf"),
FLOAT_FORMAT(0x16, 0x001, "subf/c"),
FLOAT_FORMAT(0x16, 0x181, "subf/u"),
FLOAT_FORMAT(0x16, 0x101, "subf/uc"),
FLOAT_FORMAT(0x16, 0x481, "subf/s"),
FLOAT_FORMAT(0x16, 0x401, "subf/sc"),
FLOAT_FORMAT(0x16, 0x581, "subf/su"),
FLOAT_FORMAT(0x16, 0x501, "subf/suc"),
FLOAT_FORMAT(0x16, 0x0a1, "subg"),
FLOAT_FORMAT(0x16, 0x021, "subg/c"),
FLOAT_FORMAT(0x16, 0x1a1, "subg/u"),
FLOAT_FORMAT(0x16, 0x121, "subg/uc"),
FLOAT_FORMAT(0x16, 0x4a1, "subg/s"),
FLOAT_FORMAT(0x16, 0x421, "subg/sc"),
FLOAT_FORMAT(0x16, 0x5a1, "subg/su"),
FLOAT_FORMAT(0x16, 0x521, "subg/suc"),
FLOAT_FORMAT(0x16, 0x0af, "cvtgq"),
FLOAT_FORMAT(0x16, 0x02f, "cvtgq/c"),
FLOAT_FORMAT(0x16, 0x1af, "cvtgq/v"),
FLOAT_FORMAT(0x16, 0x12f, "cvtgq/vc"),
FLOAT_FORMAT(0x16, 0x4af, "cvtgq/s"),
FLOAT_FORMAT(0x16, 0x42f, "cvtgq/sc"),
FLOAT_FORMAT(0x16, 0x5af, "cvtgq/sv"),
FLOAT_FORMAT(0x16, 0x52f, "cvtgq/svc"),
#if (VMS_ASMCODE)
/* unprivileged codes */
PAL_FORMAT(0x00, 0x0080, "bpt"),
PAL_FORMAT(0x00, 0x0081, "bugchk"),
PAL_FORMAT(0x00, 0x0082, "chme"),
PAL_FORMAT(0x00, 0x0083, "chmk"),
PAL_FORMAT(0x00, 0x0084, "chms"),
PAL_FORMAT(0x00, 0x0085, "chmu"),
PAL_FORMAT(0x00, 0x0086, "imb"),
PAL_FORMAT(0x00, 0x0087, "insqhil"),
PAL_FORMAT(0x00, 0x0088, "insqtil"),
PAL_FORMAT(0x00, 0x0089, "insqhiq"),
PAL_FORMAT(0x00, 0x008a, "insqtiq"),
PAL_FORMAT(0x00, 0x008b, "insquel"),
PAL_FORMAT(0x00, 0x008c, "insqueq"),
PAL_FORMAT(0x00, 0x008d, "insquel/d"),
PAL_FORMAT(0x00, 0x008e, "insqueq/d"),
PAL_FORMAT(0x00, 0x008f, "prober"),
PAL_FORMAT(0x00, 0x0090, "probew"),
PAL_FORMAT(0x00, 0x0091, "rd_ps"),
PAL_FORMAT(0x00, 0x0092, "rei"),
PAL_FORMAT(0x00, 0x0093, "remqhil"),
PAL_FORMAT(0x00, 0x0095, "remqhiq"),
PAL_FORMAT(0x00, 0x009e, "read_unq"),
PAL_FORMAT(0x00, 0x0094, "remqtil"),
PAL_FORMAT(0x00, 0x0096, "remqtiq"),
PAL_FORMAT(0x00, 0x0097, "remquel"),
PAL_FORMAT(0x00, 0x0098, "remqueq"),
PAL_FORMAT(0x00, 0x0099, "remquel/d"),
PAL_FORMAT(0x00, 0x009a, "remqueq/d"),
PAL_FORMAT(0x00, 0x009b, "swasten"),
PAL_FORMAT(0x00, 0x009c, "wr_ps_sw"),
PAL_FORMAT(0x00, 0x009d, "rscc"),
PAL_FORMAT(0x00, 0x009f, "write_unq"),
PAL_FORMAT(0x00, 0x00a0, "amovrr"),
PAL_FORMAT(0x00, 0x00a1, "amovrm"),
PAL_FORMAT(0x00, 0x00a2, "insqhilr"),
PAL_FORMAT(0x00, 0x00a3, "insqtilr"),
PAL_FORMAT(0x00, 0x00a4, "insqhiqr"),
PAL_FORMAT(0x00, 0x00a5, "insqtiqr"),
PAL_FORMAT(0x00, 0x00a6, "remqhilr"),
PAL_FORMAT(0x00, 0x00a7, "remqtilr"),
PAL_FORMAT(0x00, 0x00a8, "remqhiqr"),
PAL_FORMAT(0x00, 0x00a9, "remqtiqr"),
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
/* privileged codes */
PAL_FORMAT(0x00, 0x0000, "halt"),
PAL_FORMAT(0x00, 0x0001, "cflush"),
PAL_FORMAT(0x00, 0x0002, "draina"),
PAL_FORMAT(0x00, 0x0003, "ldqp"),
PAL_FORMAT(0x00, 0x0004, "stqp"),
PAL_FORMAT(0x00, 0x0005, "swpctx"),
PAL_FORMAT(0x00, 0x0006, "mfpr_asn"),
PAL_FORMAT(0x00, 0x0007, "mtpr_asten"),
PAL_FORMAT(0x00, 0x0008, "mtpr_astsr"),
PAL_FORMAT(0x00, 0x000b, "mfpr_fen"),
PAL_FORMAT(0x00, 0x000c, "mtpr_fen"),
PAL_FORMAT(0x00, 0x000d, "mtpr_ipir"),
PAL_FORMAT(0x00, 0x000e, "mfpr_ipl"),
PAL_FORMAT(0x00, 0x000f, "mtpr_ipl"),
PAL_FORMAT(0x00, 0x0010, "mfpr_mces"),
PAL_FORMAT(0x00, 0x0011, "mtpr_mces"),
PAL_FORMAT(0x00, 0x0012, "mfpr_pcbb"),
PAL_FORMAT(0x00, 0x0013, "mfpr_prbr"),
PAL_FORMAT(0x00, 0x0014, "mtpr_prbr"),
PAL_FORMAT(0x00, 0x0015, "mfpr_ptbr"),
PAL_FORMAT(0x00, 0x0016, "mfpr_scbb"),
PAL_FORMAT(0x00, 0x0017, "mtpr_scbb"),
PAL_FORMAT(0x00, 0x0018, "mtpr_sirr"),
PAL_FORMAT(0x00, 0x0019, "mfpr_sisr"),
PAL_FORMAT(0x00, 0x001a, "mfpr_tbchk"),
PAL_FORMAT(0x00, 0x001b, "mtpr_tbia"),
PAL_FORMAT(0x00, 0x001c, "mtpr_tbiap"),
PAL_FORMAT(0x00, 0x001d, "mtpr_tbis"),
PAL_FORMAT(0x00, 0x001e, "mfpr_esp"),
PAL_FORMAT(0x00, 0x001f, "mtpr_esp"),
PAL_FORMAT(0x00, 0x0020, "mfpr_ssp"),
PAL_FORMAT(0x00, 0x0021, "mtpr_ssp"),
PAL_FORMAT(0x00, 0x0022, "mfpr_usp"),
PAL_FORMAT(0x00, 0x0023, "mtpr_usp"),
PAL_FORMAT(0x00, 0x0024, "mtpr_tbisd"),
PAL_FORMAT(0x00, 0x0025, "mtpr_tbisi"),
PAL_FORMAT(0x00, 0x0026, "mfpr_asten"),
PAL_FORMAT(0x00, 0x0027, "mfpr_astsr"),
PAL_FORMAT(0x00, 0x0029, "mfpr_vptb"),
PAL_FORMAT(0x00, 0x002a, "mtpr_vptb"),
PAL_FORMAT(0x00, 0x002b, "mtpr_perfmon"),
PAL_FORMAT(0x00, 0x002e, "mtpr_datfx"),
PAL_FORMAT(0x00, 0x003f, "mfpr_whami"),
#elif OSF_ASMCODE
/* unprivileged codes */
PAL_FORMAT(0x00, 0x0080, "bpt"),
PAL_FORMAT(0x00, 0x0081, "bugchk"),
PAL_FORMAT(0x00, 0x0083, "callsys"),
PAL_FORMAT(0x00, 0x0086, "imb"),
PAL_FORMAT(0x00, 0x009f, "wrunique"),
PAL_FORMAT(0x00, 0x009e, "rdunique"),
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
/* privileged codes */
PAL_FORMAT(0x00, 0x0000, "halt"),
PAL_FORMAT(0x00, 0x0032, "rdval"),
PAL_FORMAT(0x00, 0x0030, "swpctx"),
PAL_FORMAT(0x00, 0x003c, "whami"),
PAL_FORMAT(0x00, 0x0037, "wrkgp"),
PAL_FORMAT(0x00, 0x002d, "wrvptptr"),
PAL_FORMAT(0x00, 0x0036, "rdps"),
PAL_FORMAT(0x00, 0x003d, "retsys"),
PAL_FORMAT(0x00, 0x0035, "swpipl"),
PAL_FORMAT(0x00, 0x0034, "wrent"),
PAL_FORMAT(0x00, 0x0038, "wrusp"),
PAL_FORMAT(0x00, 0x003a, "rdusp"),
PAL_FORMAT(0x00, 0x003f, "rti"),
PAL_FORMAT(0x00, 0x0033, "tbi"),
PAL_FORMAT(0x00, 0x002b, "wrfen"),
PAL_FORMAT(0x00, 0x0031, "wrval"),
#endif /* OSF_ASMCODE */
/* This is the old set we had before:
PAL_FORMAT(0x00, 0x0000, "halt"),
PAL_FORMAT(0x00, 0x0080, "bpt"),
PAL_FORMAT(0x00, 0x00aa, "gentrap"),
PAL_FORMAT(0x00, 0x009f, "wrunique"),
PAL_FORMAT(0x00, 0x0081, "bugchk"),
PAL_FORMAT(0x00, 0x0086, "imb"),
PAL_FORMAT(0x00, 0x0083, "callsys"),
PAL_FORMAT(0x00, 0x009e, "rdunique"),
*/
0
};
#endif