Changes from Klaus Kaempf:

* alpha-opc.h (OSF_ASMCODE): define print pal-code names as defined in App C of
the Alpha Architecture Reference Manual

* alpha-dis.c: cleaned up output print stylized code forms as defined in App
A.4.3 of the Alpha Architecture Reference Manual
This commit is contained in:
Ken Raeburn
1995-03-14 07:17:20 +00:00
parent 03c35bcb6e
commit c024cc1110
2 changed files with 523 additions and 390 deletions

View File

@ -1,3 +1,15 @@
Tue Mar 14 00:52:57 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com)
Sat Feb 11 17:22:41 1995 Klaus Kaempf (kkaempf@didymus.rmi.de)
* alpha-opc.h (OSF_ASMCODE): define
print pal-code names as defined in App C of the
Alpha Architecture Reference Manual
* alpha-dis.c: cleaned up output
print stylized code forms as defined in App A.4.3 of the
Alpha Architecture Reference Manual
Wed Mar 8 15:21:14 1995 Ian Lance Taylor <ian@cygnus.com>
* mips-opc.c: Add new mips4 instructions. Don't set INSN_RFE for

View File

@ -1,6 +1,6 @@
/* Opcode table for the Alpha.
Copyright 1993 Free Software Foundation, Inc.
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
@ -16,11 +16,11 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/*
Contributed by sac@cygnus.com
*/
/* Contributed by sac@cygnus.com. */
#define OSF_ASMCODE 1
/* Alpha opcode format */
#define RA(x) (((x)>>21)& 0x1f)
#define RB(x) (((x)>>16)& 0x1f)
@ -47,6 +47,7 @@
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
@ -54,24 +55,22 @@
#define BRANCH_FORMAT_MASK 0xfc000000
#define OPERATE_FORMAT_MASK 0xfc000fe0
#define FLOAT_FORMAT_MASK 0xfc000fe0
typedef struct
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"
"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
@ -110,8 +109,6 @@ char *alpha_regs[32] =
#define FLOAT_BRANCH_FORMAT(op, name) \
{ (op<<26), name , FLOAT_BRANCH_FORMAT_CODE }
alpha_insn alpha_insn_set[] =
{
@ -494,6 +491,128 @@ FLOAT_FORMAT(0x16,0x721,"subt/suic"),
FLOAT_FORMAT(0x16, 0x761, "subt/suim"),
FLOAT_FORMAT(0x16, 0x7e1, "subt/suid"),
#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"),
@ -501,6 +620,8 @@ PAL_FORMAT(0x00, 0x0081,"bugchk"),
PAL_FORMAT(0x00, 0x0086, "imb"),
PAL_FORMAT(0x00, 0x0083, "callsys"),
PAL_FORMAT(0x00, 0x009e, "rdunique"),
*/
0
};