Checkpoint
authorSteve Chamberlain <sac@cygnus>
Tue, 26 May 1992 18:26:13 +0000 (18:26 +0000)
committerSteve Chamberlain <sac@cygnus>
Tue, 26 May 1992 18:26:13 +0000 (18:26 +0000)
include/opcode/m68kmri.h

index 16eacb9..102c1fe 100644 (file)
@@ -19,28 +19,29 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* These are used as bit flags for arch below. */
 
-enum m68k_architecture {
-       _m68k_undef = 0,
-       m68000 = 0x01,
-       m68008 = m68000, /* synonym for -m68000.  otherwise unused. */
-       m68010 = 0x02,
-       m68020 = 0x04,
-       m68030 = 0x08,
-       m68040 = 0x10,
-       m68881 = 0x20,
-       m68882 = m68881, /* synonym for -m68881.  otherwise unused. */
-       m68851 = 0x40,
+enum m68k_architecture { a,b };
+
+#define        _m68k_undef  0
+#define        m68000  0x01
+#define        m68008  m68000 /* synonym for -m68000.  otherwise unused. */
+#define        m68010  0x02
+#define        m68020  0x04
+#define        m68030  0x08
+#define        m68040  0x10
+#define        m68881  0x20
+#define        m68882  m68881 /* synonym for -m68881.  otherwise unused. */
+#define        m68851  0x40
 
  /* handy aliases */
-       m68040up = m68040,
-       m68030up = (m68030 | m68040up),
-       m68020up = (m68020 | m68030up),
-       m68010up = (m68010 | m68020up),
-       m68000up = (m68000 | m68010up),
+#define        m68040up m68040
+#define        m68030up  (m68030 | m68040up)
+#define        m68020up  (m68020 | m68030up)
+#define        m68010up  (m68010 | m68020up)
+#define        m68000up  (m68000 | m68010up)
+
+#define        mfloat  (m68881 | m68882 | m68040)
+#define        mmmu    (m68851 | m68030 | m68040)
 
-       mfloat = (m68881 | m68882 | m68040),
-       mmmu   = (m68851 | m68030 | m68040)
-}; /* enum m68k_architecture */
 
  /* note that differences in addressing modes that aren't distinguished
     in the following table are handled explicitly by gas. */
@@ -50,7 +51,7 @@ struct m68k_opcode {
   unsigned long opcode;
   unsigned long  match;
   char *args;
-  enum m68k_architecture arch;
+  int  arch;
 };
 
 /* We store four bytes of opcode for all opcodes because that
@@ -277,9 +278,9 @@ struct m68k_opcode m68k_opcodes[] =
 {"addb",       one(0150000),           one(0170700), ";bDd", m68000up },       /* addb <ea>,   Dd */
 {"addb",       one(0150400),           one(0170700), "Dd~b", m68000up },       /* addb Dd,     <ea> */
 
+{"addw",       one(0150300),           one(0170700), "*wAd", m68000up },       /* adda written as add */
 {"addw",       one(0050100),           one(0170700), "Qd%w", m68000up },       /* addq written as add */
 {"addw",       one(0003100),           one(0177700), "#w$w", m68000up },       /* addi written as add */
-{"addw",       one(0150300),           one(0170700), "*wAd", m68000up },       /* adda written as add */
 {"addw",       one(0150100),           one(0170700), "*wDd", m68000up },       /* addw <ea>,   Dd */
 {"addw",       one(0150500),           one(0170700), "Dd~w", m68000up },       /* addw Dd,     <ea> */
 
@@ -420,6 +421,11 @@ struct m68k_opcode m68k_opcodes[] =
 {"bclrb",      one(0000600),           one(0170700),           "Dd$s", m68000up },
 {"bclrb",      one(0004200),           one(0177700),           "#b$s", m68000up },
 
+{"bchgl",      one(0000500),           one(0170700),           "Dd$s", m68000up },
+{"bchgl",      one(0004100),           one(0177700),           "#b$s", m68000up },
+{"bclrl",      one(0000600),           one(0170700),           "Dd$s", m68000up },
+{"bclrl",      one(0004200),           one(0177700),           "#b$s", m68000up },
+
 #endif
 
 {"bchg",       one(0000500),           one(0170700),           "Dd$s", m68000up },
@@ -444,6 +450,12 @@ struct m68k_opcode m68k_opcodes[] =
 {"btstb",      one(0000400),           one(0170700),           "Dd@s", m68000up },
 {"btstb",      one(0004000),           one(0177700),           "#b@s", m68000up },
 
+{"bsetl",      one(0000700),           one(0170700),           "Dd$s", m68000up },
+{"bsetl",      one(0004300),           one(0177700),           "#b$s", m68000up },
+{"btstl",      one(0000400),           one(0170700),           "Dd@s", m68000up },
+{"btstl",      one(0004000),           one(0177700),           "#b@s", m68000up },
+
+
 #endif
 
 {"bset",       one(0000700),           one(0170700),           "Dd$s", m68000up },
@@ -1978,6 +1990,7 @@ struct m68k_opcode m68k_opcodes[] =
 {"subil",      one(0002200),           one(0177700),           "#l$s", m68000up },
 {"subiw",      one(0002100),           one(0177700),           "#w$s", m68000up },
 {"subl",       one(0050600),           one(0170700),           "Qd%s", m68000up },
+{"suba",       one(0110700),           one(0170700),           "*lAd", m68000up },
 {"subl",       one(0002200),           one(0177700),           "#l$s", m68000up },
 {"subl",       one(0110700),           one(0170700),           "*lAd", m68000up },
 {"subl",       one(0110200),           one(0170700),           "*lDd", m68000up },
@@ -2030,39 +2043,39 @@ struct m68k_opcode m68k_opcodes[] =
 {"trapvc",     one(0054374),           one(0177777),           "", m68020up },
 {"trapvs",     one(0054774),           one(0177777),           "", m68020up },
 
-{"trapcc.w",   one(0052372),           one(0177777),           "", m68020up },
-{"trapcs.w",   one(0052772),           one(0177777),           "", m68020up },
-{"trapeq.w",   one(0053772),           one(0177777),           "", m68020up },
-{"trapf.w",    one(0050772),           one(0177777),           "", m68020up },
-{"trapge.w",   one(0056372),           one(0177777),           "", m68020up },
-{"trapgt.w",   one(0057372),           one(0177777),           "", m68020up },
-{"traphi.w",   one(0051372),           one(0177777),           "", m68020up },
-{"traple.w",   one(0057772),           one(0177777),           "", m68020up },
-{"trapls.w",   one(0051772),           one(0177777),           "", m68020up },
-{"traplt.w",   one(0056772),           one(0177777),           "", m68020up },
-{"trapmi.w",   one(0055772),           one(0177777),           "", m68020up },
-{"trapne.w",   one(0053372),           one(0177777),           "", m68020up },
-{"trappl.w",   one(0055372),           one(0177777),           "", m68020up },
-{"trapt.w",    one(0050372),           one(0177777),           "", m68020up },
-{"trapvc.w",   one(0054372),           one(0177777),           "", m68020up },
-{"trapvs.w",   one(0054772),           one(0177777),           "", m68020up },
-
-{"trapcc.l",   one(0052373),           one(0177777),           "", m68020up },
-{"trapcs.l",   one(0052773),           one(0177777),           "", m68020up },
-{"trapeq.l",   one(0053773),           one(0177777),           "", m68020up },
-{"trapf.l",    one(0050773),           one(0177777),           "", m68020up },
-{"trapge.l",   one(0056373),           one(0177777),           "", m68020up },
-{"trapgt.l",   one(0057373),           one(0177777),           "", m68020up },
-{"traphi.l",   one(0051373),           one(0177777),           "", m68020up },
-{"traple.l",   one(0057773),           one(0177777),           "", m68020up },
-{"trapls.l",   one(0051773),           one(0177777),           "", m68020up },
-{"traplt.l",   one(0056773),           one(0177777),           "", m68020up },
-{"trapmi.l",   one(0055773),           one(0177777),           "", m68020up },
-{"trapne.l",   one(0053373),           one(0177777),           "", m68020up },
-{"trappl.l",   one(0055373),           one(0177777),           "", m68020up },
-{"trapt.l",    one(0050373),           one(0177777),           "", m68020up },
-{"trapvc.l",   one(0054373),           one(0177777),           "", m68020up },
-{"trapvs.l",   one(0054773),           one(0177777),           "", m68020up },
+{"trapccw",    one(0052372),           one(0177777),           "#w", m68020up },
+{"trapcsw",    one(0052772),           one(0177777),           "#w", m68020up },
+{"trapeqw",    one(0053772),           one(0177777),           "#w", m68020up },
+{"trapfw",     one(0050772),           one(0177777),           "#w", m68020up },
+{"trapgew",    one(0056372),           one(0177777),           "#w", m68020up },
+{"trapgtw",    one(0057372),           one(0177777),           "#w", m68020up },
+{"traphiw",    one(0051372),           one(0177777),           "#w", m68020up },
+{"traplew",    one(0057772),           one(0177777),           "#w", m68020up },
+{"traplsw",    one(0051772),           one(0177777),           "#w", m68020up },
+{"trapltw",    one(0056772),           one(0177777),           "#w", m68020up },
+{"trapmiw",    one(0055772),           one(0177777),           "#w", m68020up },
+{"trapnew",    one(0053372),           one(0177777),           "#w", m68020up },
+{"trapplw",    one(0055372),           one(0177777),           "#w", m68020up },
+{"traptw",     one(0050372),           one(0177777),           "#w", m68020up },
+{"trapvcw",    one(0054372),           one(0177777),           "#w", m68020up },
+{"trapvsw",    one(0054772),           one(0177777),           "#w", m68020up },
+
+{"trapccl",    one(0052373),           one(0177777),           "#l", m68020up },
+{"trapcsl",    one(0052773),           one(0177777),           "#l", m68020up },
+{"trapeql",    one(0053773),           one(0177777),           "#l", m68020up },
+{"trapfl",     one(0050773),           one(0177777),           "#l", m68020up },
+{"trapgel",    one(0056373),           one(0177777),           "#l", m68020up },
+{"trapgtl",    one(0057373),           one(0177777),           "#l", m68020up },
+{"traphil",    one(0051373),           one(0177777),           "#l", m68020up },
+{"traplel",    one(0057773),           one(0177777),           "#l", m68020up },
+{"traplsl",    one(0051773),           one(0177777),           "#l", m68020up },
+{"trapltl",    one(0056773),           one(0177777),           "#l", m68020up },
+{"trapmil",    one(0055773),           one(0177777),           "#l", m68020up },
+{"trapnel",    one(0053373),           one(0177777),           "#l", m68020up },
+{"trappll",    one(0055373),           one(0177777),           "#l", m68020up },
+{"traptl",     one(0050373),           one(0177777),           "#l", m68020up },
+{"trapvcl",    one(0054373),           one(0177777),           "#l", m68020up },
+{"trapvsl",    one(0054773),           one(0177777),           "#l", m68020up },
 
 {"trapv",      one(0047166),           one(0177777),           "", m68000up },
 
@@ -2083,7 +2096,10 @@ struct m68k_opcode m68k_opcodes[] =
 {"jbsr",       one(0047200),           one(0177700),           "!s", m68000up },
 {"jra",                one(0060000),           one(0177400),           "Bg", m68000up },
 {"jra",                one(0047300),           one(0177700),           "!s", m68000up },
-
+#ifdef MRI
+{"jbra",       one(0060000),           one(0177400),           "Bg", m68000up },
+{"jbra",       one(0047300),           one(0177700),           "!s", m68000up },
+#endif
 {"jhi",                one(0061000),           one(0177400),           "Bg", m68000up },
 {"jls",                one(0061400),           one(0177400),           "Bg", m68000up },
 {"jcc",                one(0062000),           one(0177400),           "Bg", m68000up },
@@ -2099,6 +2115,23 @@ struct m68k_opcode m68k_opcodes[] =
 {"jgt",                one(0067000),           one(0177400),           "Bg", m68000up },
 {"jle",                one(0067400),           one(0177400),           "Bg", m68000up },
 
+#ifdef MRI
+
+{"jbhi",               one(0061000),           one(0177400),           "Bg", m68000up },
+{"jbls",               one(0061400),           one(0177400),           "Bg", m68000up },
+{"jbcc",               one(0062000),           one(0177400),           "Bg", m68000up },
+{"jbcs",               one(0062400),           one(0177400),           "Bg", m68000up },
+{"jbne",               one(0063000),           one(0177400),           "Bg", m68000up },
+{"jbeq",               one(0063400),           one(0177400),           "Bg", m68000up },
+{"jbvc",               one(0064000),           one(0177400),           "Bg", m68000up },
+{"jbvs",               one(0064400),           one(0177400),           "Bg", m68000up },
+{"jbpl",               one(0065000),           one(0177400),           "Bg", m68000up },
+{"jbmi",               one(0065400),           one(0177400),           "Bg", m68000up },
+{"jbge",               one(0066000),           one(0177400),           "Bg", m68000up },
+{"jblt",               one(0066400),           one(0177400),           "Bg", m68000up },
+{"jbgt",               one(0067000),           one(0177400),           "Bg", m68000up },
+{"jble",               one(0067400),           one(0177400),           "Bg", m68000up },
+#endif
 /* aliases */
 #ifdef MRI