home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-23 | 224.0 KB | 5,132 lines |
- diff -rcP gas-1.38.1-fsf/Makefile gas-1.38.1-amiga/Makefile
- *** gas-1.38.1-fsf/Makefile Thu Oct 18 20:26:42 1990
- --- gas-1.38.1-amiga/Makefile Thu Sep 9 22:50:11 1993
- ***************
- *** 21,31 ****
- # SPARC, ns32k, or i860 assembler(s).
-
- BINDIR = /usr/local/bin
- ! #CC=gcc
-
- # If you are on a BSD system, un-comment the next two lines, and comment out
- # the lines for SystemV and HPUX below
- ! G0 = -g -I. #-O -Wall
- LDFLAGS = $(CFLAGS)
- #
- # To compile gas on a System Five machine, comment out the two lines above
- --- 21,38 ----
- # SPARC, ns32k, or i860 assembler(s).
-
- BINDIR = /usr/local/bin
- ! CC=gcc
- ! LOADLIBES = #-lc
-
- + #G0 = -O2 -resident
- + G0 = -O2
- +
- + .c.o:
- + $(CC) -c $(CFLAGS) $*.c
- +
- # If you are on a BSD system, un-comment the next two lines, and comment out
- # the lines for SystemV and HPUX below
- ! #G0 = -g -I. #-O -Wall
- LDFLAGS = $(CFLAGS)
- #
- # To compile gas on a System Five machine, comment out the two lines above
- ***************
- *** 108,128 ****
- # (This option is automatically enabled when building the sparc assembler.
- #
-
- ! O1 = -DNO_VARARGS
- ! O2 = # -DNON_BROKEN_WORDS
- ! O3 = # -Dm68851
- ! O4 = # -DEXEC_VERSION=1
- ! O5 = # -DSIGTY=void
- ! O6 = # -DNS32532
- ! O6 = # -DNS32381
- ! O7 = # -DDOT_LABEL_PREFIX
- ! O8 = # -DSEQUENT_COMPATABILITY
- ! O9 = # -DREGISTER_PREFIX=\'%\'
- ! O10= # -DOTHER_ALIGN
- !
- ! G1 = # -DUSE_SYSTEM_HDR
- ! G2 = # -DUSE_HP_HDR
- ! G3 = # -DSUN_ASM_SYNTAX
-
- OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
-
- --- 115,147 ----
- # (This option is automatically enabled when building the sparc assembler.
- #
-
- ! #O1 = -DNO_VARARGS
- ! O1 =
- ! #O2 = -DNON_BROKEN_WORDS
- ! O2 =
- ! O3 = -Dm68851
- ! #O4 = -DEXEC_VERSION=1
- ! O4 =
- ! O5 = -DSIGTY=void
- ! #O6 = -DNS32532
- ! O6 =
- ! #O6 = -DNS32381
- ! #O7 = -DDOT_LABEL_PREFIX
- ! O7 =
- ! #O8 = -DSEQUENT_COMPATABILITY
- ! O8 =
- ! #O9 = -DREGISTER_PREFIX=\'%\'
- ! O9 =
- ! #O10= -DOTHER_ALIGN
- ! O10 =
- !
- ! #G1 = -DUSE_SYSTEM_HDR
- ! G1 =
- ! #G2 = -DUSE_HP_HDR
- ! G2 =
- ! G3 = -DSUN_ASM_SYNTAX
- ! #G3 =
- ! G4 =
-
- OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
-
- ***************
- *** 165,294 ****
- #gdb.o gdb-file.o gdb-symbols.o gdb-blocks.o gdb-lines.o
-
- a: $(DEFAULT_GAS)
- ! @rm -f a
- ! @ln $(DEFAULT_GAS) a
- !
- ! # I860 GAS ------------------------------------------------------------------
- ! u = i860.o atof-ieee.o write-i860.o read-i860.o
- !
- ! U = i860.c i860.h i860-opcode.h
- !
- ! i860.o: i860.c i860.h i860-opcode.h as.h frags.h struc-symbol.h
- ! i860.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
- ! $(CC) -c $(CFLAGS) -DI860 i860.c
- !
- ! atof-ieee.o: flonum.h
- !
- ! write-i860.o: write.c i860.h
- ! $(CC) -c -DI860 $(CFLAGS) write.c
- ! mv write.o write-i860.o
- !
- ! read-i860.o: read.c i860.h
- ! $(CC) -c -DI860 $(CFLAGS) read.c
- ! mv read.o read-i860.o
- !
- ! a860: $a $u
- ! $(CC) -o a860 $(LDFLAGS) $a $u $(LOADLIBES)
- !
- ! # SPARC GAS ------------------------------------------------------------------
- ! v = sparc.o atof-ieee.o write-sparc.o read-sparc.o
- !
- ! V = sparc.c sparc.h sparc-opcode.h
- !
- ! atof-ieee.o: flonum.h
- ! sparc.o: sparc.c sparc.h sparc-opcode.h as.h frags.h struc-symbol.h
- ! sparc.o: flonum.h expr.h hash.h md.h write.h read.h symbols.h
- ! $(CC) -c $(CFLAGS) -DSPARC sparc.c
- !
- ! write-sparc.o: write.c
- ! $(CC) -c -DSPARC $(CFLAGS) write.c
- ! mv write.o write-sparc.o
- !
- ! read-sparc.o: read.c
- ! $(CC) -c -DSPARC $(CFLAGS) read.c
- ! mv read.o read-sparc.o
- !
- ! asparc: $a $v
- ! $(CC) -o asparc $(LDFLAGS) $a $v $(LOADLIBES)
- !
- ! # NS32K GAS ------------------------------------------------------------------
- ! w = ns32k.o atof-ieee.o write-ns32k.o read-ns32k.o
-
- - W = ns32k.c ns32k-opcode.h
- -
- - atof-ieee.o: flonum.h
- - ns32k.o: as.h frags.h struc-symbol.h flonum.h expr.h md.h hash.h
- - ns32k.o: write.h symbols.h ns32k-opcode.h ns32k.c
- - $(CC) $(CFLAGS) $(OPTIONS) -c ns32k.c
- -
- - write-ns32k.o: write.c
- - $(CC) -c -DNS32K $(CFLAGS) write.c
- - mv write.o write-ns32k.o
- -
- - read-ns32k.o:
- - $(CC) -c -DNS32K $(CFLAGS) read.c
- - mv read.o read-ns32k.o
- -
- - a32k: $a $w
- - $(CC) -o a32k $(LDFLAGS) $a $w $(LOADLIBES)
- -
- - # 80386 GAS ------------------------------------------------------------------
- - x = i386.o atof-ieee.o write.o read.o
- -
- - X = i386.c i386.h i386-opcode.h
- -
- - i386.o: i386.c as.h read.h flonum.h frags.h struc-symbol.h expr.h
- - i386.o: symbols.h hash.h md.h i386.h i386-opcode.h
- - $(CC) $(CFLAGS) $(OPTIONS) -c i386.c
- -
- - atof-ieee.o: flonum.h
- -
- - a386: $a $x
- - $(CC) -o a386 $(LDFLAGS) $a $x $(LOADLIBES)
- -
- # 68020 GAS ------------------------------------------------------------------
- ! y = m68k.o atof-ieee.o write.o read.o
-
- ! Y = m68k.c atof-ieee.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
-
- atof-ieee.o: flonum.h
-
- m68k.o: m68k.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
- m68k.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
- ! $(CC) $(CFLAGS) $(OPTIONS) -c m68k.c
-
- a68: $a $y
- $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
-
- - # VAX GAS --------------------------------------------------------------------
- - z = vax.o atof-vax.o write.o read.o
- -
- - Z = vax.c atof-vax.c vax-opcode.h vax-inst.h \
- - make-gas.com objrecdef.h vms.c vms-dbg.c README-vms-dbg
- -
- - vax.o: vax.c a.out.gnu.h as.h expr.h flonum.h frags.h md.h obstack.h
- - vax.o: read.h struc-symbol.h symbols.h vax-inst.h vax-opcode.h
- - atof-vax.o: as.h flonum.h read.h
- -
- - avax: $a $z
- - $(CC) -o avax $(LDFLAGS) $a $z $(LOADLIBES)
- -
- # global files ---------------------------------------------------------------
-
- as.o: as.c
- ! $(CC) $(CFLAGS) $(OPTIONS) -c as.c
-
- messages.o: messages.c
- ! $(CC) $(CFLAGS) $(OPTIONS) -c messages.c
-
- hash.o: hash.c
- ! $(CC) $(CFLAGS) -Derror=as_fatal -c hash.c
-
- xmalloc.o: xmalloc.c
- ! $(CC) $(CFLAGS) -Derror=as_fatal -c xmalloc.c
-
- xrealloc.o: xrealloc.c
- ! $(CC) $(CFLAGS) -Derror=as_fatal -c xrealloc.c
-
- A =\
- as.c xrealloc.c xmalloc.c hash.c hex-value.c \
- --- 184,226 ----
- #gdb.o gdb-file.o gdb-symbols.o gdb-blocks.o gdb-lines.o
-
- a: $(DEFAULT_GAS)
- ! # @rm -f a
- ! # @ln $(DEFAULT_GAS) a
-
- # 68020 GAS ------------------------------------------------------------------
- ! y = m68k.o m68k-opcode.o atof-ieee.o write.o read.o
-
- ! Y = m68k.c m68k-opcode.c atof-ieee.c m68k-opcode.h m-hpux.h m-sun3.h m-generic.h
-
- atof-ieee.o: flonum.h
-
- m68k.o: m68k.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
- m68k.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
- ! $(CC) -c $(CFLAGS) $(OPTIONS) m68k.c
-
- + m68k-opcode.o: m68k-opcode.c a.out.gnu.h as.h expr.h flonum.h frags.h hash.h
- + m68k-opcode.o: m68k-opcode.h m68k.h md.h obstack.h struc-symbol.h
- + $(CC) -c $(CFLAGS) $(OPTIONS) m68k-opcode.c
- +
- a68: $a $y
- $(CC) -o a68 $(LDFLAGS) $a $y $(LOADLIBES)
-
- # global files ---------------------------------------------------------------
-
- as.o: as.c
- ! $(CC) -c $(CFLAGS) $(OPTIONS) as.c
-
- messages.o: messages.c
- ! $(CC) -c $(CFLAGS) $(OPTIONS) messages.c
-
- hash.o: hash.c
- ! $(CC) -c $(CFLAGS) -Derror=as_fatal hash.c
-
- xmalloc.o: xmalloc.c
- ! $(CC) -c $(CFLAGS) -Derror=as_fatal xmalloc.c
-
- xrealloc.o: xrealloc.c
- ! $(CC) -c $(CFLAGS) -Derror=as_fatal xrealloc.c
-
- A =\
- as.c xrealloc.c xmalloc.c hash.c hex-value.c \
- ***************
- *** 296,304 ****
- frags.c input-file.c input-scrub.c output-file.c read.c \
- subsegs.c symbols.c write.c strstr.c \
- flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \
- ! obstack.c \
- ! #gdb.c gdb-file.c gdb-symbols.c gdb-blocks.c \
- ! #gdb-lines.c
-
- H = \
- a.out.gnu.h as.h bignum.h expr.h flonum.h \
- --- 228,234 ----
- frags.c input-file.c input-scrub.c output-file.c read.c \
- subsegs.c symbols.c write.c strstr.c \
- flonum-const.c flonum-copy.c flonum-mult.c app.c version.c \
- ! obstack.c
-
- H = \
- a.out.gnu.h as.h bignum.h expr.h flonum.h \
- ***************
- *** 306,320 ****
- obstack.h read.h struc-symbol.h subsegs.h \
- symbols.h write.h
-
- - dist: COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile
- - echo gas-`sed -n -e '/ version /s/[^0-9.]*\([0-9.]*\).*/\1/p' < version.c` > .fname
- - mkdir `cat .fname`
- -
- - ln COPYING README ChangeLog $A $H $Z $Y $X $W $V $U Makefile `cat .fname`
- - tar cvhZf `cat .fname`.tar.Z `cat .fname`
- - -rm -r `cat .fname`
- - -rm .fname
- -
- clean:
- rm -f a avax a68 a386 a32k asparc $a $v $w $x $y $z a core gmon.out bugs a.out
-
- --- 236,241 ----
- ***************
- *** 333,339 ****
- flonum-const.o: flonum.h
- flonum-copy.o: flonum.h
- flonum-mult.o: flonum.h
- ! flonum-normal.o:flonum.h
- flonum-print.o: flonum.h
- frags.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h
- #gdb.o: as.h
- --- 254,260 ----
- flonum-const.o: flonum.h
- flonum-copy.o: flonum.h
- flonum-mult.o: flonum.h
- ! flonum-normal.o: flonum.h
- flonum-print.o: flonum.h
- frags.o: a.out.gnu.h as.h frags.h obstack.h struc-symbol.h subsegs.h
- #gdb.o: as.h
- diff -rcP gas-1.38.1-fsf/a.out.gnu.h gas-1.38.1-amiga/a.out.gnu.h
- *** gas-1.38.1-fsf/a.out.gnu.h Mon Jul 16 21:00:50 1990
- --- gas-1.38.1-amiga/a.out.gnu.h Thu Sep 9 22:49:55 1993
- ***************
- *** 247,258 ****
- unsigned int r_extern:1;
- /* Four bits that aren't used, but when writing an object file
- it is desirable to clear them. */
- - #ifdef NS32K
- unsigned r_bsr:1;
- unsigned r_disp:1;
- unsigned r_pad:2;
- #else
- ! unsigned int r_pad:4;
- #endif
- };
- #endif /* no N_RELOCATION_INFO_DECLARED. */
- --- 247,258 ----
- unsigned int r_extern:1;
- /* Four bits that aren't used, but when writing an object file
- it is desirable to clear them. */
- unsigned r_bsr:1;
- + #ifdef NS32K
- unsigned r_disp:1;
- unsigned r_pad:2;
- #else
- ! unsigned int r_pad:3;
- #endif
- };
- #endif /* no N_RELOCATION_INFO_DECLARED. */
- diff -rcP gas-1.38.1-fsf/atof-ieee.c gas-1.38.1-amiga/atof-ieee.c
- *** gas-1.38.1-fsf/atof-ieee.c Mon Jul 16 16:13:13 1990
- --- gas-1.38.1-amiga/atof-ieee.c Thu Sep 9 22:49:27 1993
- ***************
- *** 26,32 ****
- extern FLONUM_TYPE generic_floating_point_number; /* Flonums returned here. */
- #define NULL (0)
-
- ! extern char EXP_CHARS[];
- /* Precision in LittleNums. */
- #define MAX_PRECISION (6)
- #define F_PRECISION (2)
- --- 26,32 ----
- extern FLONUM_TYPE generic_floating_point_number; /* Flonums returned here. */
- #define NULL (0)
-
- ! extern const char EXP_CHARS[];
- /* Precision in LittleNums. */
- #define MAX_PRECISION (6)
- #define F_PRECISION (2)
- diff -rcP gas-1.38.1-fsf/expr.c gas-1.38.1-amiga/expr.c
- *** gas-1.38.1-fsf/expr.c Mon Jan 28 16:37:34 1991
- --- gas-1.38.1-amiga/expr.c Thu Sep 9 22:49:37 1993
- ***************
- *** 86,92 ****
- register char *name; /* points to name of symbol */
- register struct symbol * symbolP; /* Points to symbol */
-
- ! extern char hex_value[]; /* In hex_value.c */
- char *local_label_name();
-
- SKIP_WHITESPACE(); /* Leading whitespace is part of operand. */
- --- 86,92 ----
- register char *name; /* points to name of symbol */
- register struct symbol * symbolP; /* Points to symbol */
-
- ! extern const char hex_value[]; /* In hex_value.c */
- char *local_label_name();
-
- SKIP_WHITESPACE(); /* Leading whitespace is part of operand. */
- diff -rcP gas-1.38.1-fsf/input-file.c gas-1.38.1-amiga/input-file.c
- *** gas-1.38.1-fsf/input-file.c Fri Jan 4 18:12:57 1991
- --- gas-1.38.1-amiga/input-file.c Thu Sep 9 22:49:41 1993
- ***************
- *** 222,228 ****
- --- 222,232 ----
- char *mktemp();
- FILE *f_out;
-
- + #ifdef amigados
- + (void)strcpy (temporary_file_name, "t:#appXXXXXX");
- + #else
- (void)strcpy (temporary_file_name, "/tmp/#appXXXXXX");
- + #endif
- (void)mktemp (temporary_file_name);
- f_out=fopen(temporary_file_name,"w+");
- if(f_out==(FILE *)0)
- diff -rcP gas-1.38.1-fsf/m-sun3.h gas-1.38.1-amiga/m-sun3.h
- *** gas-1.38.1-fsf/m-sun3.h Wed Mar 1 22:49:04 1989
- --- gas-1.38.1-amiga/m-sun3.h Thu Sep 9 22:50:08 1993
- ***************
- *** 28,31 ****
- --- 28,33 ----
-
-
- #define M_SUN 1
- + #ifndef SUN_ASM_SYNTAX
- #define SUN_ASM_SYNTAX
- + #endif
- diff -rcP gas-1.38.1-fsf/m68k-opcode.c gas-1.38.1-amiga/m68k-opcode.c
- *** gas-1.38.1-fsf/m68k-opcode.c
- --- gas-1.38.1-amiga/m68k-opcode.c Thu Sep 9 22:49:45 1993
- ***************
- *** 0 ****
- --- 1,1506 ----
- + /* Opcode table for m68000/m68020 and m68881.
- + Copyright (C) 1989, Free Software Foundation.
- +
- + This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
- +
- + Both GDB and GAS are free software; you can redistribute and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 1, or (at your option)
- + any later version.
- +
- + GDB and GAS are 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 GDB or GAS; see the file COPYING. If not, write to
- + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- +
- + #include "m68k-opcode.h"
- +
- + /*
- + *** DANGER WILL ROBINSON ***
- +
- + The assembler requires that all instances of the same mnemonic must be
- + consecutive. If they aren't, the assembler will bomb at runtime
- + */
- + struct m68k_opcode m68k_opcodes[] =
- + {
- + {"abcd", one(0140400), one(0170770), "DsDd"},
- + {"abcd", one(0140410), one(0170770), "-s-d"},
- +
- + /* Add instructions */
- + {"addal", one(0150700), one(0170700), "*lAd"},
- + {"addaw", one(0150300), one(0170700), "*wAd"},
- + {"addib", one(0003000), one(0177700), "#b$b"},
- + {"addil", one(0003200), one(0177700), "#l$l"},
- + {"addiw", one(0003100), one(0177700), "#w$w"},
- + {"addqb", one(0050000), one(0170700), "Qd$b"},
- + {"addql", one(0050200), one(0170700), "Qd%l"},
- + {"addqw", one(0050100), one(0170700), "Qd%w"},
- +
- + {"addb", one(0050000), one(0170700), "Qd$b"}, /* addq written as add */
- + {"addb", one(0003000), one(0177700), "#b$b"}, /* addi written as add */
- + {"addb", one(0150000), one(0170700), ";bDd"}, /* addb <ea>, Dd */
- + {"addb", one(0150400), one(0170700), "Dd~b"}, /* addb Dd, <ea> */
- +
- + {"addw", one(0050100), one(0170700), "Qd%w"}, /* addq written as add */
- + {"addw", one(0003100), one(0177700), "#w$w"}, /* addi written as add */
- + {"addw", one(0150300), one(0170700), "*wAd"}, /* adda written as add */
- + {"addw", one(0150100), one(0170700), "*wDd"}, /* addw <ea>, Dd */
- + {"addw", one(0150500), one(0170700), "Dd~w"}, /* addw Dd, <ea> */
- +
- + {"addl", one(0050200), one(0170700), "Qd%l"}, /* addq written as add */
- + {"addl", one(0003200), one(0177700), "#l$l"}, /* addi written as add */
- + {"addl", one(0150700), one(0170700), "*lAd"}, /* adda written as add */
- + {"addl", one(0150200), one(0170700), "*lDd"}, /* addl <ea>, Dd */
- + {"addl", one(0150600), one(0170700), "Dd~l"}, /* addl Dd, <ea> */
- +
- + {"addxb", one(0150400), one(0170770), "DsDd"},
- + {"addxb", one(0150410), one(0170770), "-s-d"},
- + {"addxl", one(0150600), one(0170770), "DsDd"},
- + {"addxl", one(0150610), one(0170770), "-s-d"},
- + {"addxw", one(0150500), one(0170770), "DsDd"},
- + {"addxw", one(0150510), one(0170770), "-s-d"},
- +
- + {"andib", one(0001000), one(0177700), "#b$b"},
- + {"andib", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */
- + {"andiw", one(0001100), one(0177700), "#w$w"},
- + {"andiw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */
- + {"andil", one(0001200), one(0177700), "#l$l"},
- +
- + {"andb", one(0001000), one(0177700), "#b$b"}, /* andi written as or */
- + {"andb", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */
- + {"andb", one(0140000), one(0170700), ";bDd"}, /* memory to register */
- + {"andb", one(0140400), one(0170700), "Dd~b"}, /* register to memory */
- + {"andw", one(0001100), one(0177700), "#w$w"}, /* andi written as or */
- + {"andw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */
- + {"andw", one(0140100), one(0170700), ";wDd"}, /* memory to register */
- + {"andw", one(0140500), one(0170700), "Dd~w"}, /* register to memory */
- + {"andl", one(0001200), one(0177700), "#l$l"}, /* andi written as or */
- + {"andl", one(0140200), one(0170700), ";lDd"}, /* memory to register */
- + {"andl", one(0140600), one(0170700), "Dd~l"}, /* register to memory */
- +
- + {"aslb", one(0160400), one(0170770), "QdDs"},
- + {"aslb", one(0160440), one(0170770), "DdDs"},
- + {"asll", one(0160600), one(0170770), "QdDs"},
- + {"asll", one(0160640), one(0170770), "DdDs"},
- + {"aslw", one(0160500), one(0170770), "QdDs"},
- + {"aslw", one(0160540), one(0170770), "DdDs"},
- + {"aslw", one(0160700), one(0177700), "~s"}, /* Shift memory */
- + {"asrb", one(0160000), one(0170770), "QdDs"},
- + {"asrb", one(0160040), one(0170770), "DdDs"},
- + {"asrl", one(0160200), one(0170770), "QdDs"},
- + {"asrl", one(0160240), one(0170770), "DdDs"},
- + {"asrw", one(0160100), one(0170770), "QdDs"},
- + {"asrw", one(0160140), one(0170770), "DdDs"},
- + {"asrw", one(0160300), one(0177700), "~s"}, /* Shift memory */
- +
- + {"bhi", one(0061000), one(0177400), "Bg"},
- + {"bls", one(0061400), one(0177400), "Bg"},
- + {"bcc", one(0062000), one(0177400), "Bg"},
- + {"bcs", one(0062400), one(0177400), "Bg"},
- + {"bne", one(0063000), one(0177400), "Bg"},
- + {"beq", one(0063400), one(0177400), "Bg"},
- + {"bvc", one(0064000), one(0177400), "Bg"},
- + {"bvs", one(0064400), one(0177400), "Bg"},
- + {"bpl", one(0065000), one(0177400), "Bg"},
- + {"bmi", one(0065400), one(0177400), "Bg"},
- + {"bge", one(0066000), one(0177400), "Bg"},
- + {"blt", one(0066400), one(0177400), "Bg"},
- + {"bgt", one(0067000), one(0177400), "Bg"},
- + {"ble", one(0067400), one(0177400), "Bg"},
- +
- + {"bchg", one(0000500), one(0170700), "Dd$s"},
- + {"bchg", one(0004100), one(0177700), "#b$s"},
- + {"bclr", one(0000600), one(0170700), "Dd$s"},
- + {"bclr", one(0004200), one(0177700), "#b$s"},
- + {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3"},
- + {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3"},
- + {"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1"},
- + {"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1"},
- + {"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1"},
- + {"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3"},
- + {"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3"},
- + {"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3"},
- + {"bset", one(0000700), one(0170700), "Dd$s"},
- + {"bset", one(0004300), one(0177700), "#b$s"},
- + {"btst", one(0000400), one(0170700), "Dd@s"},
- + {"btst", one(0004000), one(0177700), "#b@s"},
- +
- + {"bkpt", one(0044110), one(0177770), "Qs"},
- + {"bra", one(0060000), one(0177400), "Bg"},
- + {"bras", one(0060000), one(0177400), "Bw"},
- + {"bsr", one(0060400), one(0177400), "Bg"},
- + {"bsrs", one(0060400), one(0177400), "Bw"},
- +
- + {"callm", one(0003300), one(0177700), "#b!s"},
- + {"cas2l", two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF FOO this is really a 3 word ins */
- + {"cas2w", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF ditto */
- + {"casb", two(0005300, 0), two(0177700, 0177070), "D3D2~s"},
- + {"casl", two(0007300, 0), two(0177700, 0177070), "D3D2~s"},
- + {"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s"},
- +
- + /* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */
- + {"chk2b", two(0000300, 0004000), two(0177700, 07777), "!sR1"},
- + {"chk2l", two(0002300, 0004000), two(0177700, 07777), "!sR1"},
- + {"chk2w", two(0001300, 0004000), two(0177700, 07777), "!sR1"},
- + {"chkl", one(0040400), one(0170700), ";lDd"},
- + {"chkw", one(0040600), one(0170700), ";wDd"},
- + {"clrb", one(0041000), one(0177700), "$s"},
- + {"clrl", one(0041200), one(0177700), "$s"},
- + {"clrw", one(0041100), one(0177700), "$s"},
- +
- + {"cmp2b", two(0000300, 0), two(0177700, 07777), "!sR1"},
- + {"cmp2l", two(0002300, 0), two(0177700, 07777), "!sR1"},
- + {"cmp2w", two(0001300, 0), two(0177700, 07777), "!sR1"},
- + {"cmpal", one(0130700), one(0170700), "*lAd"},
- + {"cmpaw", one(0130300), one(0170700), "*wAd"},
- + {"cmpib", one(0006000), one(0177700), "#b;b"},
- + {"cmpil", one(0006200), one(0177700), "#l;l"},
- + {"cmpiw", one(0006100), one(0177700), "#w;w"},
- + {"cmpb", one(0006000), one(0177700), "#b;b"}, /* cmpi written as cmp */
- + {"cmpb", one(0130000), one(0170700), ";bDd"},
- + {"cmpw", one(0006100), one(0177700), "#w;w"},
- + {"cmpw", one(0130100), one(0170700), "*wDd"},
- + {"cmpw", one(0130300), one(0170700), "*wAd"}, /* cmpa written as cmp */
- + {"cmpl", one(0006200), one(0177700), "#l;l"},
- + {"cmpl", one(0130200), one(0170700), "*lDd"},
- + {"cmpl", one(0130700), one(0170700), "*lAd"},
- + {"cmpmb", one(0130410), one(0170770), "+s+d"},
- + {"cmpml", one(0130610), one(0170770), "+s+d"},
- + {"cmpmw", one(0130510), one(0170770), "+s+d"},
- +
- + {"dbcc", one(0052310), one(0177770), "DsBw"},
- + {"dbcs", one(0052710), one(0177770), "DsBw"},
- + {"dbeq", one(0053710), one(0177770), "DsBw"},
- + {"dbf", one(0050710), one(0177770), "DsBw"},
- + {"dbge", one(0056310), one(0177770), "DsBw"},
- + {"dbgt", one(0057310), one(0177770), "DsBw"},
- + {"dbhi", one(0051310), one(0177770), "DsBw"},
- + {"dble", one(0057710), one(0177770), "DsBw"},
- + {"dbls", one(0051710), one(0177770), "DsBw"},
- + {"dblt", one(0056710), one(0177770), "DsBw"},
- + {"dbmi", one(0055710), one(0177770), "DsBw"},
- + {"dbne", one(0053310), one(0177770), "DsBw"},
- + {"dbpl", one(0055310), one(0177770), "DsBw"},
- + {"dbra", one(0050710), one(0177770), "DsBw"},
- + {"dbt", one(0050310), one(0177770), "DsBw"},
- + {"dbvc", one(0054310), one(0177770), "DsBw"},
- + {"dbvs", one(0054710), one(0177770), "DsBw"},
- +
- + {"divsl", two(0046100, 0006000), two(0177700, 0107770), ";lD3D1"},
- + {"divsl", two(0046100, 0004000), two(0177700, 0107770), ";lDD"},
- + {"divsll", two(0046100, 0004000), two(0177700, 0107770), ";lD3D1"},
- + {"divsw", one(0100700), one(0170700), ";wDd"},
- + {"divs", one(0100700), one(0170700), ";wDd"},
- + {"divul", two(0046100, 0002000), two(0177700, 0107770), ";lD3D1"},
- + {"divul", two(0046100, 0000000), two(0177700, 0107770), ";lDD"},
- + {"divull", two(0046100, 0000000), two(0177700, 0107770), ";lD3D1"},
- + {"divuw", one(0100300), one(0170700), ";wDd"},
- + {"divu", one(0100300), one(0170700), ";wDd"},
- + {"eorb", one(0005000), one(0177700), "#b$s"}, /* eori written as or */
- + {"eorb", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */
- + {"eorb", one(0130400), one(0170700), "Dd$s"}, /* register to memory */
- + {"eorib", one(0005000), one(0177700), "#b$s"},
- + {"eorib", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */
- + {"eoril", one(0005200), one(0177700), "#l$s"},
- + {"eoriw", one(0005100), one(0177700), "#w$s"},
- + {"eoriw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */
- + {"eorl", one(0005200), one(0177700), "#l$s"},
- + {"eorl", one(0130600), one(0170700), "Dd$s"},
- + {"eorw", one(0005100), one(0177700), "#w$s"},
- + {"eorw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */
- + {"eorw", one(0130500), one(0170700), "Dd$s"},
- +
- + {"exg", one(0140500), one(0170770), "DdDs"},
- + {"exg", one(0140510), one(0170770), "AdAs"},
- + {"exg", one(0140610), one(0170770), "DdAs"},
- + {"exg", one(0140610), one(0170770), "AsDd"},
- +
- + {"extw", one(0044200), one(0177770), "Ds"},
- + {"extl", one(0044300), one(0177770), "Ds"},
- + {"extbl", one(0044700), one(0177770), "Ds"},
- + {"extb.l", one(0044700), one(0177770), "Ds"}, /* Not sure we should support this one*/
- +
- + {"illegal", one(0045374), one(0177777), ""},
- + {"jmp", one(0047300), one(0177700), "!s"},
- + {"jsr", one(0047200), one(0177700), "!s"},
- + {"lea", one(0040700), one(0170700), "!sAd"},
- + {"linkw", one(0047120), one(0177770), "As#w"},
- + {"linkl", one(0044010), one(0177770), "As#l"},
- + {"link", one(0047120), one(0177770), "As#w"},
- + {"link", one(0044010), one(0177770), "As#l"},
- +
- + {"lslb", one(0160410), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- + {"lslb", one(0160450), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- + {"lslw", one(0160510), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- + {"lslw", one(0160550), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- + {"lslw", one(0161700), one(0177700), "~s"}, /* Shift memory */
- + {"lsll", one(0160610), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- + {"lsll", one(0160650), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- +
- + {"lsrb", one(0160010), one(0170770), "QdDs"} /* lsrb #Q, Ds */,
- + {"lsrb", one(0160050), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- + {"lsrl", one(0160210), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- + {"lsrl", one(0160250), one(0170770), "DdDs"}, /* lsrb #Q, Ds */
- + {"lsrw", one(0160110), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- + {"lsrw", one(0160150), one(0170770), "DdDs"}, /* lsrb #Q, Ds */
- + {"lsrw", one(0161300), one(0177700), "~s"}, /* Shift memory */
- +
- + {"moveal", one(0020100), one(0170700), "*lAd"},
- + {"moveaw", one(0030100), one(0170700), "*wAd"},
- + {"moveb", one(0010000), one(0170000), ";b$d"}, /* move */
- + {"movel", one(0070000), one(0170400), "MsDd"}, /* moveq written as move */
- + {"movel", one(0020000), one(0170000), "*l$d"},
- + {"movel", one(0020100), one(0170700), "*lAd"},
- + {"movel", one(0047140), one(0177770), "AsUd"}, /* move to USP */
- + {"movel", one(0047150), one(0177770), "UdAs"}, /* move from USP */
- +
- + {"movec", one(0047173), one(0177777), "R1Jj"},
- + {"movec", one(0047173), one(0177777), "R1#j"},
- + {"movec", one(0047172), one(0177777), "JjR1"},
- + {"movec", one(0047172), one(0177777), "#jR1"},
- +
- + /* JF added these next four for the assembler */
- + {"moveml", one(0044300), one(0177700), "Lw&s"}, /* movem reg to mem. */
- + {"moveml", one(0044340), one(0177770), "lw-s"}, /* movem reg to autodecrement. */
- + {"moveml", one(0046300), one(0177700), "!sLw"}, /* movem mem to reg. */
- + {"moveml", one(0046330), one(0177770), "+sLw"}, /* movem autoinc to reg. */
- +
- + {"moveml", one(0044300), one(0177700), "#w&s"}, /* movem reg to mem. */
- + {"moveml", one(0044340), one(0177770), "#w-s"}, /* movem reg to autodecrement. */
- + {"moveml", one(0046300), one(0177700), "!s#w"}, /* movem mem to reg. */
- + {"moveml", one(0046330), one(0177770), "+s#w"}, /* movem autoinc to reg. */
- +
- + /* JF added these next four for the assembler */
- + {"movemw", one(0044200), one(0177700), "Lw&s"}, /* movem reg to mem. */
- + {"movemw", one(0044240), one(0177770), "lw-s"}, /* movem reg to autodecrement. */
- + {"movemw", one(0046200), one(0177700), "!sLw"}, /* movem mem to reg. */
- + {"movemw", one(0046230), one(0177770), "+sLw"}, /* movem autoinc to reg. */
- +
- + {"movemw", one(0044200), one(0177700), "#w&s"}, /* movem reg to mem. */
- + {"movemw", one(0044240), one(0177770), "#w-s"}, /* movem reg to autodecrement. */
- + {"movemw", one(0046200), one(0177700), "!s#w"}, /* movem mem to reg. */
- + {"movemw", one(0046230), one(0177770), "+s#w"}, /* movem autoinc to reg. */
- +
- + {"movepl", one(0000510), one(0170770), "dsDd"}, /* memory to register */
- + {"movepl", one(0000710), one(0170770), "Ddds"}, /* register to memory */
- + {"movepw", one(0000410), one(0170770), "dsDd"}, /* memory to register */
- + {"movepw", one(0000610), one(0170770), "Ddds"}, /* register to memory */
- + {"moveq", one(0070000), one(0170400), "MsDd"},
- + {"movew", one(0030000), one(0170000), "*w$d"},
- + {"movew", one(0030100), one(0170700), "*wAd"}, /* movea, written as move */
- + {"movew", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */
- + {"movew", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */
- + {"movew", one(0042300), one(0177700), ";wCd"}, /* move to ccr */
- + {"movew", one(0043300), one(0177700), ";wSd"}, /* move to sr */
- +
- + {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- + {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- + {"movesl", two(0007200, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- + {"movesl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- + {"movesw", two(0007100, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- + {"movesw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- +
- + {"mulsl", two(0046000, 004000), two(0177700, 0107770), ";lD1"},
- + {"mulsl", two(0046000, 006000), two(0177700, 0107770), ";lD3D1"},
- + {"mulsw", one(0140700), one(0170700), ";wDd"},
- + {"muls", one(0140700), one(0170700), ";wDd"},
- + {"mulul", two(0046000, 000000), two(0177700, 0107770), ";lD1"},
- + {"mulul", two(0046000, 002000), two(0177700, 0107770), ";lD3D1"},
- + {"muluw", one(0140300), one(0170700), ";wDd"},
- + {"mulu", one(0140300), one(0170700), ";wDd"},
- + {"nbcd", one(0044000), one(0177700), "$s"},
- + {"negb", one(0042000), one(0177700), "$s"},
- + {"negl", one(0042200), one(0177700), "$s"},
- + {"negw", one(0042100), one(0177700), "$s"},
- + {"negxb", one(0040000), one(0177700), "$s"},
- + {"negxl", one(0040200), one(0177700), "$s"},
- + {"negxw", one(0040100), one(0177700), "$s"},
- + {"nop", one(0047161), one(0177777), ""},
- + {"notb", one(0043000), one(0177700), "$s"},
- + {"notl", one(0043200), one(0177700), "$s"},
- + {"notw", one(0043100), one(0177700), "$s"},
- +
- + {"orb", one(0000000), one(0177700), "#b$s"}, /* ori written as or */
- + {"orb", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */
- + {"orb", one(0100000), one(0170700), ";bDd"}, /* memory to register */
- + {"orb", one(0100400), one(0170700), "Dd~s"}, /* register to memory */
- + {"orib", one(0000000), one(0177700), "#b$s"},
- + {"orib", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */
- + {"oril", one(0000200), one(0177700), "#l$s"},
- + {"oriw", one(0000100), one(0177700), "#w$s"},
- + {"oriw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */
- + {"orl", one(0000200), one(0177700), "#l$s"},
- + {"orl", one(0100200), one(0170700), ";lDd"}, /* memory to register */
- + {"orl", one(0100600), one(0170700), "Dd~s"}, /* register to memory */
- + {"orw", one(0000100), one(0177700), "#w$s"},
- + {"orw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */
- + {"orw", one(0100100), one(0170700), ";wDd"}, /* memory to register */
- + {"orw", one(0100500), one(0170700), "Dd~s"}, /* register to memory */
- +
- + {"pack", one(0100500), one(0170770), "DsDd#w"}, /* pack Ds, Dd, #w */
- + {"pack", one(0100510), one(0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */
- + {"pea", one(0044100), one(0177700), "!s"},
- + {"reset", one(0047160), one(0177777), ""},
- +
- + {"rolb", one(0160430), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"rolb", one(0160470), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"roll", one(0160630), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"roll", one(0160670), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"rolw", one(0160530), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"rolw", one(0160570), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"rolw", one(0163700), one(0177700), "~s"}, /* Rotate memory */
- + {"rorb", one(0160030), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"rorb", one(0160070), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"rorl", one(0160230), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"rorl", one(0160270), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"rorw", one(0160130), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- + {"rorw", one(0160170), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- + {"rorw", one(0163300), one(0177700), "~s"}, /* Rotate memory */
- +
- + {"roxlb", one(0160420), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxlb", one(0160460), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxll", one(0160620), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxll", one(0160660), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxlw", one(0160520), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxlw", one(0160560), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxlw", one(0162700), one(0177700), "~s"}, /* Rotate memory */
- + {"roxrb", one(0160020), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxrb", one(0160060), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxrl", one(0160220), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxrl", one(0160260), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxrw", one(0160120), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- + {"roxrw", one(0160160), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- + {"roxrw", one(0162300), one(0177700), "~s"}, /* Rotate memory */
- +
- + {"rtd", one(0047164), one(0177777), "#w"},
- + {"rte", one(0047163), one(0177777), ""},
- + {"rtm", one(0003300), one(0177760), "Rs"},
- + {"rtr", one(0047167), one(0177777), ""},
- + {"rts", one(0047165), one(0177777), ""},
- +
- + {"scc", one(0052300), one(0177700), "$s"},
- + {"scs", one(0052700), one(0177700), "$s"},
- + {"seq", one(0053700), one(0177700), "$s"},
- + {"sf", one(0050700), one(0177700), "$s"},
- + {"sge", one(0056300), one(0177700), "$s"},
- + {"sgt", one(0057300), one(0177700), "$s"},
- + {"shi", one(0051300), one(0177700), "$s"},
- + {"sle", one(0057700), one(0177700), "$s"},
- + {"sls", one(0051700), one(0177700), "$s"},
- + {"slt", one(0056700), one(0177700), "$s"},
- + {"smi", one(0055700), one(0177700), "$s"},
- + {"sne", one(0053300), one(0177700), "$s"},
- + {"spl", one(0055300), one(0177700), "$s"},
- + {"st", one(0050300), one(0177700), "$s"},
- + {"svc", one(0054300), one(0177700), "$s"},
- + {"svs", one(0054700), one(0177700), "$s"},
- +
- + {"sbcd", one(0100400), one(0170770), "DsDd"},
- + {"sbcd", one(0100410), one(0170770), "-s-d"},
- + {"stop", one(0047162), one(0177777), "#w"},
- +
- + {"subal", one(0110700), one(0170700), "*lAd"},
- + {"subaw", one(0110300), one(0170700), "*wAd"},
- + {"subb", one(0050400), one(0170700), "Qd%s"}, /* subq written as sub */
- + {"subb", one(0002000), one(0177700), "#b$s"}, /* subi written as sub */
- + {"subb", one(0110000), one(0170700), ";bDd"}, /* subb ? ?, Dd */
- + {"subb", one(0110400), one(0170700), "Dd~s"}, /* subb Dd, ? ? */
- + {"subib", one(0002000), one(0177700), "#b$s"},
- + {"subil", one(0002200), one(0177700), "#l$s"},
- + {"subiw", one(0002100), one(0177700), "#w$s"},
- + {"subl", one(0050600), one(0170700), "Qd%s"},
- + {"subl", one(0002200), one(0177700), "#l$s"},
- + {"subl", one(0110700), one(0170700), "*lAd"},
- + {"subl", one(0110200), one(0170700), "*lDd"},
- + {"subl", one(0110600), one(0170700), "Dd~s"},
- + {"subqb", one(0050400), one(0170700), "Qd%s"},
- + {"subql", one(0050600), one(0170700), "Qd%s"},
- + {"subqw", one(0050500), one(0170700), "Qd%s"},
- + {"subw", one(0050500), one(0170700), "Qd%s"},
- + {"subw", one(0002100), one(0177700), "#w$s"},
- + {"subw", one(0110100), one(0170700), "*wDd"},
- + {"subw", one(0110300), one(0170700), "*wAd"}, /* suba written as sub */
- + {"subw", one(0110500), one(0170700), "Dd~s"},
- + {"subxb", one(0110400), one(0170770), "DsDd"}, /* subxb Ds, Dd */
- + {"subxb", one(0110410), one(0170770), "-s-d"}, /* subxb -(As), -(Ad) */
- + {"subxl", one(0110600), one(0170770), "DsDd"},
- + {"subxl", one(0110610), one(0170770), "-s-d"},
- + {"subxw", one(0110500), one(0170770), "DsDd"},
- + {"subxw", one(0110510), one(0170770), "-s-d"},
- +
- + {"swap", one(0044100), one(0177770), "Ds"},
- +
- + {"tas", one(0045300), one(0177700), "$s"},
- + {"trap", one(0047100), one(0177760), "Ts"},
- +
- + {"trapcc", one(0052374), one(0177777), ""},
- + {"trapcs", one(0052774), one(0177777), ""},
- + {"trapeq", one(0053774), one(0177777), ""},
- + {"trapf", one(0050774), one(0177777), ""},
- + {"trapge", one(0056374), one(0177777), ""},
- + {"trapgt", one(0057374), one(0177777), ""},
- + {"traphi", one(0051374), one(0177777), ""},
- + {"traple", one(0057774), one(0177777), ""},
- + {"trapls", one(0051774), one(0177777), ""},
- + {"traplt", one(0056774), one(0177777), ""},
- + {"trapmi", one(0055774), one(0177777), ""},
- + {"trapne", one(0053374), one(0177777), ""},
- + {"trappl", one(0055374), one(0177777), ""},
- + {"trapt", one(0050374), one(0177777), ""},
- + {"trapvc", one(0054374), one(0177777), ""},
- + {"trapvs", one(0054774), one(0177777), ""},
- +
- + {"trapcc.w", one(0052372), one(0177777), ""},
- + {"trapcs.w", one(0052772), one(0177777), ""},
- + {"trapeq.w", one(0053772), one(0177777), ""},
- + {"trapf.w", one(0050772), one(0177777), ""},
- + {"trapge.w", one(0056372), one(0177777), ""},
- + {"trapgt.w", one(0057372), one(0177777), ""},
- + {"traphi.w", one(0051372), one(0177777), ""},
- + {"traple.w", one(0057772), one(0177777), ""},
- + {"trapls.w", one(0051772), one(0177777), ""},
- + {"traplt.w", one(0056772), one(0177777), ""},
- + {"trapmi.w", one(0055772), one(0177777), ""},
- + {"trapne.w", one(0053372), one(0177777), ""},
- + {"trappl.w", one(0055372), one(0177777), ""},
- + {"trapt.w", one(0050372), one(0177777), ""},
- + {"trapvc.w", one(0054372), one(0177777), ""},
- + {"trapvs.w", one(0054772), one(0177777), ""},
- +
- + {"trapcc.l", one(0052373), one(0177777), ""},
- + {"trapcs.l", one(0052773), one(0177777), ""},
- + {"trapeq.l", one(0053773), one(0177777), ""},
- + {"trapf.l", one(0050773), one(0177777), ""},
- + {"trapge.l", one(0056373), one(0177777), ""},
- + {"trapgt.l", one(0057373), one(0177777), ""},
- + {"traphi.l", one(0051373), one(0177777), ""},
- + {"traple.l", one(0057773), one(0177777), ""},
- + {"trapls.l", one(0051773), one(0177777), ""},
- + {"traplt.l", one(0056773), one(0177777), ""},
- + {"trapmi.l", one(0055773), one(0177777), ""},
- + {"trapne.l", one(0053373), one(0177777), ""},
- + {"trappl.l", one(0055373), one(0177777), ""},
- + {"trapt.l", one(0050373), one(0177777), ""},
- + {"trapvc.l", one(0054373), one(0177777), ""},
- + {"trapvs.l", one(0054773), one(0177777), ""},
- +
- + {"trapv", one(0047166), one(0177777), ""},
- +
- + {"tstb", one(0045000), one(0177700), ";b"},
- + {"tstw", one(0045100), one(0177700), "*w"},
- + {"tstl", one(0045200), one(0177700), "*l"},
- +
- + {"unlk", one(0047130), one(0177770), "As"},
- + {"unpk", one(0100600), one(0170770), "DsDd#w"},
- + {"unpk", one(0100610), one(0170770), "-s-d#w"},
- + /* JF floating pt stuff moved down here */
- +
- + {"fabsb", two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fabsd", two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fabsl", two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fabss", two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fabsw", two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fabsx", two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"facosb", two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"facosd", two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"facosl", two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"facoss", two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"facosw", two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"facosx", two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"faddb", two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"faddd", two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"faddl", two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fadds", two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"faddw", two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"faddx", two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */
- +
- + {"fasinb", two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fasind", two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fasinl", two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fasins", two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fasinw", two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fasinx", two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fatanb", two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fatand", two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fatanl", two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fatans", two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fatanw", two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fatanx", two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fatanhb", two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fatanhd", two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fatanhl", two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fatanhs", two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fatanhw", two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fatanhx", two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fbeq", one(0xF081), one(0xF1BF), "IdBc"},
- + {"fbf", one(0xF080), one(0xF1BF), "IdBc"},
- + {"fbge", one(0xF093), one(0xF1BF), "IdBc"},
- + {"fbgl", one(0xF096), one(0xF1BF), "IdBc"},
- + {"fbgle", one(0xF097), one(0xF1BF), "IdBc"},
- + {"fbgt", one(0xF092), one(0xF1BF), "IdBc"},
- + {"fble", one(0xF095), one(0xF1BF), "IdBc"},
- + {"fblt", one(0xF094), one(0xF1BF), "IdBc"},
- + {"fbne", one(0xF08E), one(0xF1BF), "IdBc"},
- + {"fbnge", one(0xF09C), one(0xF1BF), "IdBc"},
- + {"fbngl", one(0xF099), one(0xF1BF), "IdBc"},
- + {"fbngle", one(0xF098), one(0xF1BF), "IdBc"},
- + {"fbngt", one(0xF09D), one(0xF1BF), "IdBc"},
- + {"fbnle", one(0xF09A), one(0xF1BF), "IdBc"},
- + {"fbnlt", one(0xF09B), one(0xF1BF), "IdBc"},
- + {"fboge", one(0xF083), one(0xF1BF), "IdBc"},
- + {"fbogl", one(0xF086), one(0xF1BF), "IdBc"},
- + {"fbogt", one(0xF082), one(0xF1BF), "IdBc"},
- + {"fbole", one(0xF085), one(0xF1BF), "IdBc"},
- + {"fbolt", one(0xF084), one(0xF1BF), "IdBc"},
- + {"fbor", one(0xF087), one(0xF1BF), "IdBc"},
- + {"fbseq", one(0xF091), one(0xF1BF), "IdBc"},
- + {"fbsf", one(0xF090), one(0xF1BF), "IdBc"},
- + {"fbsne", one(0xF09E), one(0xF1BF), "IdBc"},
- + {"fbst", one(0xF09F), one(0xF1BF), "IdBc"},
- + {"fbt", one(0xF08F), one(0xF1BF), "IdBc"},
- + {"fbueq", one(0xF089), one(0xF1BF), "IdBc"},
- + {"fbuge", one(0xF08B), one(0xF1BF), "IdBc"},
- + {"fbugt", one(0xF08A), one(0xF1BF), "IdBc"},
- + {"fbule", one(0xF08D), one(0xF1BF), "IdBc"},
- + {"fbult", one(0xF08C), one(0xF1BF), "IdBc"},
- + {"fbun", one(0xF088), one(0xF1BF), "IdBc"},
- +
- + {"fcmpb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fcmpd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fcmpl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fcmps", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fcmpw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fcmpx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */
- +
- + {"fcosb", two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fcosd", two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fcosl", two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fcoss", two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fcosw", two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fcosx", two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fcoshb", two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fcoshd", two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fcoshl", two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fcoshs", two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fcoshw", two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fcoshx", two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw"},
- + {"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw"},
- +
- + {"fdivb", two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fdivd", two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fdivl", two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fdivs", two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fdivw", two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fdivx", two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- +
- + {"fetoxb", two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fetoxd", two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fetoxl", two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fetoxs", two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fetoxw", two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fetoxx", two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fetoxm1b", two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fetoxm1d", two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fetoxm1l", two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fetoxm1s", two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fetoxm1w", two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fetoxm1x", two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fgetexpb", two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fgetexpd", two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fgetexpl", two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fgetexps", two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fgetexpw", two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fgetexpx", two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fgetmanb", two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fgetmand", two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fgetmanl", two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fgetmans", two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fgetmanw", two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fgetmanx", two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fintb", two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fintd", two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fintl", two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fints", two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fintw", two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fintx", two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fintrzb", two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fintrzd", two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fintrzl", two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fintrzs", two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fintrzw", two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fintrzx", two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"flog10b", two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"flog10d", two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"flog10l", two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"flog10s", two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"flog10w", two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"flog10x", two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"flog2b", two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"flog2d", two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"flog2l", two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"flog2s", two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"flog2w", two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"flog2x", two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"flognb", two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"flognd", two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"flognl", two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"flogns", two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"flognw", two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"flognx", two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"flognp1b", two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"flognp1d", two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"flognp1l", two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"flognp1s", two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"flognp1w", two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"flognp1x", two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fmodb", two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fmodd", two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fmodl", two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fmods", two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fmodw", two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fmodx", two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- +
- + {"fmoveb", two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */
- + {"fmoveb", two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */
- + {"fmoved", two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */
- + {"fmoved", two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */
- + {"fmovel", two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */
- + {"fmovel", two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */
- + /* Warning: The addressing modes on these are probably not right:
- + esp, Areg direct is only allowed for FPI */
- + /* fmove.l from/to system control registers: */
- + {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- + {"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8"},
- +
- + /* {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- + {"fmovel", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*ss8"}, */
- +
- + {"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */
- + {"fmovep", two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */
- + {"fmovep", two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk"}, /* fmove.p with k-factors: */
- +
- + {"fmoves", two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */
- + {"fmoves", two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */
- + {"fmovew", two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */
- + {"fmovew", two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */
- + {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */
- + {"fmovex", two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */
- + {"fmovex", two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */
- + /* JF removed {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, / * fmove from <ea> to fp<n> */
- +
- + {"fmovecrx", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */
- + {"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"},
- +
- + /* Other fmovemx. */
- + {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- + {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- +
- + {"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */
- +
- + {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */
- + {"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */
- + {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */
- + {"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */
- + {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */
- + {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */
- +
- + {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */
- + {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */
- + {"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */
- +
- + {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"},
- + {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8@s"},
- + {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- +
- + {"fmoveml", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"},
- + {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8"},
- + {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"},
- +
- + /* fmovemx with register lists */
- + {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- + {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */
- + {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */
- + {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */
- +
- + /* Alternate mnemonics for GNU as and GNU CC */
- + {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- + {"fmovem", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */
- +
- + {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */
- + {"fmovem", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */
- +
- + {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */
- + {"fmovem", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */
- +
- + {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */
- + {"fmovem", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */
- +
- + /* fmoveml a FP-control register */
- + {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- + {"fmovem", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"},
- +
- + /* fmoveml a FP-control reglist */
- + {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"},
- + {"fmovem", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"},
- +
- + {"fmulb", two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fmuld", two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fmull", two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fmuls", two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fmulw", two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fmulx", two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- +
- + {"fnegb", two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fnegd", two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fnegl", two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fnegs", two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fnegw", two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fnegx", two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fnop", two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii"},
- +
- + {"fremb", two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fremd", two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"freml", two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"frems", two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fremw", two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fremx", two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- +
- + {"frestore", one(0xF140), one(0xF1C0), "Id&s"},
- + {"frestore", one(0xF158), one(0xF1F8), "Id+s"},
- + {"fsave", one(0xF100), one(0xF1C0), "Id&s"},
- + {"fsave", one(0xF120), one(0xF1F8), "Id-s"},
- +
- + {"fsincosb", two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bF3F7"},
- + {"fsincosd", two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FF3F7"},
- + {"fsincosl", two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lF3F7"},
- + {"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pF3F7"},
- + {"fsincoss", two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fF3F7"},
- + {"fsincosw", two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wF3F7"},
- + {"fsincosx", two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8F3F7"},
- + {"fsincosx", two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xF3F7"},
- +
- + {"fscaleb", two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fscaled", two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fscalel", two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fscales", two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fscalew", two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fscalex", two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + /* {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- +
- + /* $ is necessary to prevent the assembler from using PC-relative.
- + If @ were used, "label: fseq label" could produce "ftrapeq",
- + because "label" became "pc@label". */
- + {"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s"},
- + {"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s"},
- +
- + {"fsgldivb", two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsgldivd", two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsgldivl", two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsgldivs", two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsgldivw", two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsgldivx", two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fsglmulb", two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsglmuld", two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsglmull", two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsglmuls", two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsglmulw", two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsglmulx", two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fsinb", two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsind", two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsinl", two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsins", two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsinw", two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsinx", two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fsinhb", two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsinhd", two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsinhl", two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsinhs", two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsinhw", two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsinhx", two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fsqrtb", two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsqrtd", two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsqrtl", two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsqrts", two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsqrtw", two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsqrtx", two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"fsubb", two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"fsubd", two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"fsubl", two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"fsubs", two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"fsubw", two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"fsubx", two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"ftanb", two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"ftand", two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"ftanl", two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"ftans", two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"ftanw", two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"ftanx", two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"ftanhb", two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"ftanhd", two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"ftanhl", two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"ftanhs", two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"ftanhw", two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"ftanhx", two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"ftentoxb", two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"ftentoxd", two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"ftentoxl", two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"ftentoxs", two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"ftentoxw", two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"ftentoxx", two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt"},
- +
- + {"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii"},
- + {"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii"},
- +
- + {"ftrapeqw", two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapfw", two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapgew", two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapglw", two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapglew", two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapgtw", two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftraplew", two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapltw", two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapnew", two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapngew", two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapnglw", two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapnglew", two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapngtw", two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapnlew", two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapnltw", two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapogew", two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapoglw", two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapogtw", two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapolew", two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapoltw", two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftraporw", two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapseqw", two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapsfw", two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapsnew", two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapstw", two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftraptw", two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapueqw", two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapugew", two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapugtw", two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapulew", two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapultw", two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w"},
- + {"ftrapunw", two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w"},
- +
- + {"ftrapeql", two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapfl", two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapgel", two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapgll", two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapglel", two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapgtl", two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftraplel", two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapltl", two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapnel", two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapngel", two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapngll", two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapnglel", two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapngtl", two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapnlel", two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapnltl", two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapogel", two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapogll", two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapogtl", two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapolel", two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapoltl", two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftraporl", two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapseql", two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapsfl", two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapsnel", two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapstl", two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftraptl", two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapueql", two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapugel", two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapugtl", two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapulel", two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapultl", two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l"},
- + {"ftrapunl", two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l"},
- +
- + {"ftstb", two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b"},
- + {"ftstd", two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F"},
- + {"ftstl", two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l"},
- + {"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p"},
- + {"ftsts", two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f"},
- + {"ftstw", two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w"},
- + {"ftstx", two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8"},
- + {"ftstx", two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x"},
- +
- + {"ftwotoxb", two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- + {"ftwotoxd", two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- + {"ftwotoxl", two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- + {"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- + {"ftwotoxs", two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- + {"ftwotoxw", two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- + {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7"},
- + {"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- + {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt"},
- +
- +
- + {"fjeq", one(0xF081), one(0xF1FF), "IdBc"},
- + {"fjf", one(0xF080), one(0xF1FF), "IdBc"},
- + {"fjge", one(0xF093), one(0xF1FF), "IdBc"},
- + {"fjgl", one(0xF096), one(0xF1FF), "IdBc"},
- + {"fjgle", one(0xF097), one(0xF1FF), "IdBc"},
- + {"fjgt", one(0xF092), one(0xF1FF), "IdBc"},
- + {"fjle", one(0xF095), one(0xF1FF), "IdBc"},
- + {"fjlt", one(0xF094), one(0xF1FF), "IdBc"},
- + {"fjne", one(0xF08E), one(0xF1FF), "IdBc"},
- + {"fjnge", one(0xF09C), one(0xF1FF), "IdBc"},
- + {"fjngl", one(0xF099), one(0xF1FF), "IdBc"},
- + {"fjngle", one(0xF098), one(0xF1FF), "IdBc"},
- + {"fjngt", one(0xF09D), one(0xF1FF), "IdBc"},
- + {"fjnle", one(0xF09A), one(0xF1FF), "IdBc"},
- + {"fjnlt", one(0xF09B), one(0xF1FF), "IdBc"},
- + {"fjoge", one(0xF083), one(0xF1FF), "IdBc"},
- + {"fjogl", one(0xF086), one(0xF1FF), "IdBc"},
- + {"fjogt", one(0xF082), one(0xF1FF), "IdBc"},
- + {"fjole", one(0xF085), one(0xF1FF), "IdBc"},
- + {"fjolt", one(0xF084), one(0xF1FF), "IdBc"},
- + {"fjor", one(0xF087), one(0xF1FF), "IdBc"},
- + {"fjseq", one(0xF091), one(0xF1FF), "IdBc"},
- + {"fjsf", one(0xF090), one(0xF1FF), "IdBc"},
- + {"fjsne", one(0xF09E), one(0xF1FF), "IdBc"},
- + {"fjst", one(0xF09F), one(0xF1FF), "IdBc"},
- + {"fjt", one(0xF08F), one(0xF1FF), "IdBc"},
- + {"fjueq", one(0xF089), one(0xF1FF), "IdBc"},
- + {"fjuge", one(0xF08B), one(0xF1FF), "IdBc"},
- + {"fjugt", one(0xF08A), one(0xF1FF), "IdBc"},
- + {"fjule", one(0xF08D), one(0xF1FF), "IdBc"},
- + {"fjult", one(0xF08C), one(0xF1FF), "IdBc"},
- + {"fjun", one(0xF088), one(0xF1FF), "IdBc"},
- +
- + /* The assembler will ignore attempts to force a short offset */
- +
- + {"bhis", one(0061000), one(0177400), "Bg"},
- + {"blss", one(0061400), one(0177400), "Bg"},
- + {"bccs", one(0062000), one(0177400), "Bg"},
- + {"bcss", one(0062400), one(0177400), "Bg"},
- + {"bnes", one(0063000), one(0177400), "Bg"},
- + {"beqs", one(0063400), one(0177400), "Bg"},
- + {"bvcs", one(0064000), one(0177400), "Bg"},
- + {"bvss", one(0064400), one(0177400), "Bg"},
- + {"bpls", one(0065000), one(0177400), "Bg"},
- + {"bmis", one(0065400), one(0177400), "Bg"},
- + {"bges", one(0066000), one(0177400), "Bg"},
- + {"blts", one(0066400), one(0177400), "Bg"},
- + {"bgts", one(0067000), one(0177400), "Bg"},
- + {"bles", one(0067400), one(0177400), "Bg"},
- +
- + /* Alternate mnemonics for SUN */
- +
- + {"jbsr", one(0060400), one(0177400), "Bg"},
- + {"jbsr", one(0047200), one(0177700), "!s"},
- + {"jra", one(0060000), one(0177400), "Bg"},
- + {"jra", one(0047300), one(0177700), "!s"},
- +
- + {"jhi", one(0061000), one(0177400), "Bg"},
- + {"jls", one(0061400), one(0177400), "Bg"},
- + {"jcc", one(0062000), one(0177400), "Bg"},
- + {"jcs", one(0062400), one(0177400), "Bg"},
- + {"jne", one(0063000), one(0177400), "Bg"},
- + {"jeq", one(0063400), one(0177400), "Bg"},
- + {"jvc", one(0064000), one(0177400), "Bg"},
- + {"jvs", one(0064400), one(0177400), "Bg"},
- + {"jpl", one(0065000), one(0177400), "Bg"},
- + {"jmi", one(0065400), one(0177400), "Bg"},
- + {"jge", one(0066000), one(0177400), "Bg"},
- + {"jlt", one(0066400), one(0177400), "Bg"},
- + {"jgt", one(0067000), one(0177400), "Bg"},
- + {"jle", one(0067400), one(0177400), "Bg"},
- +
- + /* Short offsets are ignored */
- +
- + {"jbsrs", one(0060400), one(0177400), "Bg"},
- + {"jras", one(0060000), one(0177400), "Bg"},
- + {"jhis", one(0061000), one(0177400), "Bg"},
- + {"jlss", one(0061400), one(0177400), "Bg"},
- + {"jccs", one(0062000), one(0177400), "Bg"},
- + {"jcss", one(0062400), one(0177400), "Bg"},
- + {"jnes", one(0063000), one(0177400), "Bg"},
- + {"jeqs", one(0063400), one(0177400), "Bg"},
- + {"jvcs", one(0064000), one(0177400), "Bg"},
- + {"jvss", one(0064400), one(0177400), "Bg"},
- + {"jpls", one(0065000), one(0177400), "Bg"},
- + {"jmis", one(0065400), one(0177400), "Bg"},
- + {"jges", one(0066000), one(0177400), "Bg"},
- + {"jlts", one(0066400), one(0177400), "Bg"},
- + {"jgts", one(0067000), one(0177400), "Bg"},
- + {"jles", one(0067400), one(0177400), "Bg"},
- +
- + {"movql", one(0070000), one(0170400), "MsDd"},
- + {"moveql", one(0070000), one(0170400), "MsDd"},
- + {"moval", one(0020100), one(0170700), "*lAd"},
- + {"movaw", one(0030100), one(0170700), "*wAd"},
- + {"movb", one(0010000), one(0170000), ";b$d"}, /* mov */
- + {"movl", one(0070000), one(0170400), "MsDd"}, /* movq written as mov */
- + {"movl", one(0020000), one(0170000), "*l$d"},
- + {"movl", one(0020100), one(0170700), "*lAd"},
- + {"movl", one(0047140), one(0177770), "AsUd"}, /* mov to USP */
- + {"movl", one(0047150), one(0177770), "UdAs"}, /* mov from USP */
- + {"movc", one(0047173), one(0177777), "R1Jj"},
- + {"movc", one(0047173), one(0177777), "R1#j"},
- + {"movc", one(0047172), one(0177777), "JjR1"},
- + {"movc", one(0047172), one(0177777), "#jR1"},
- + {"movml", one(0044300), one(0177700), "#w&s"}, /* movm reg to mem. */
- + {"movml", one(0044340), one(0177770), "#w-s"}, /* movm reg to autodecrement. */
- + {"movml", one(0046300), one(0177700), "!s#w"}, /* movm mem to reg. */
- + {"movml", one(0046330), one(0177770), "+s#w"}, /* movm autoinc to reg. */
- + {"movml", one(0044300), one(0177700), "Lw&s"}, /* movm reg to mem. */
- + {"movml", one(0044340), one(0177770), "lw-s"}, /* movm reg to autodecrement. */
- + {"movml", one(0046300), one(0177700), "!sLw"}, /* movm mem to reg. */
- + {"movml", one(0046330), one(0177770), "+sLw"}, /* movm autoinc to reg. */
- + {"movmw", one(0044200), one(0177700), "#w&s"}, /* movm reg to mem. */
- + {"movmw", one(0044240), one(0177770), "#w-s"}, /* movm reg to autodecrement. */
- + {"movmw", one(0046200), one(0177700), "!s#w"}, /* movm mem to reg. */
- + {"movmw", one(0046230), one(0177770), "+s#w"}, /* movm autoinc to reg. */
- + {"movmw", one(0044200), one(0177700), "Lw&s"}, /* movm reg to mem. */
- + {"movmw", one(0044240), one(0177770), "lw-s"}, /* movm reg to autodecrement. */
- + {"movmw", one(0046200), one(0177700), "!sLw"}, /* movm mem to reg. */
- + {"movmw", one(0046230), one(0177770), "+sLw"}, /* movm autoinc to reg. */
- + {"movpl", one(0000510), one(0170770), "dsDd"}, /* memory to register */
- + {"movpl", one(0000710), one(0170770), "Ddds"}, /* register to memory */
- + {"movpw", one(0000410), one(0170770), "dsDd"}, /* memory to register */
- + {"movpw", one(0000610), one(0170770), "Ddds"}, /* register to memory */
- + {"movq", one(0070000), one(0170400), "MsDd"},
- + {"movw", one(0030000), one(0170000), "*w$d"},
- + {"movw", one(0030100), one(0170700), "*wAd"}, /* mova, written as mov */
- + {"movw", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */
- + {"movw", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */
- + {"movw", one(0042300), one(0177700), ";wCd"}, /* mov to ccr */
- + {"movw", one(0043300), one(0177700), ";wSd"}, /* mov to sr */
- +
- + {"movsb", two(0007000, 0), two(0177700, 07777), "~sR1"},
- + {"movsb", two(0007000, 04000), two(0177700, 07777), "R1~s"},
- + {"movsl", two(0007200, 0), two(0177700, 07777), "~sR1"},
- + {"movsl", two(0007200, 04000), two(0177700, 07777), "R1~s"},
- + {"movsw", two(0007100, 0), two(0177700, 07777), "~sR1"},
- + {"movsw", two(0007100, 04000), two(0177700, 07777), "R1~s"},
- +
- + #ifdef m68851
- + /* name */ /* opcode */ /* match */ /* args */
- +
- + {"pbac", one(0xf0c7), one(0xffbf), "Bc"},
- + {"pbacw", one(0xf087), one(0xffbf), "Bc"},
- + {"pbas", one(0xf0c6), one(0xffbf), "Bc"},
- + {"pbasw", one(0xf086), one(0xffbf), "Bc"},
- + {"pbbc", one(0xf0c1), one(0xffbf), "Bc"},
- + {"pbbcw", one(0xf081), one(0xffbf), "Bc"},
- + {"pbbs", one(0xf0c0), one(0xffbf), "Bc"},
- + {"pbbsw", one(0xf080), one(0xffbf), "Bc"},
- + {"pbcc", one(0xf0cf), one(0xffbf), "Bc"},
- + {"pbccw", one(0xf08f), one(0xffbf), "Bc"},
- + {"pbcs", one(0xf0ce), one(0xffbf), "Bc"},
- + {"pbcsw", one(0xf08e), one(0xffbf), "Bc"},
- + {"pbgc", one(0xf0cd), one(0xffbf), "Bc"},
- + {"pbgcw", one(0xf08d), one(0xffbf), "Bc"},
- + {"pbgs", one(0xf0cc), one(0xffbf), "Bc"},
- + {"pbgsw", one(0xf08c), one(0xffbf), "Bc"},
- + {"pbic", one(0xf0cb), one(0xffbf), "Bc"},
- + {"pbicw", one(0xf08b), one(0xffbf), "Bc"},
- + {"pbis", one(0xf0ca), one(0xffbf), "Bc"},
- + {"pbisw", one(0xf08a), one(0xffbf), "Bc"},
- + {"pblc", one(0xf0c3), one(0xffbf), "Bc"},
- + {"pblcw", one(0xf083), one(0xffbf), "Bc"},
- + {"pbls", one(0xf0c2), one(0xffbf), "Bc"},
- + {"pblsw", one(0xf082), one(0xffbf), "Bc"},
- + {"pbsc", one(0xf0c5), one(0xffbf), "Bc"},
- + {"pbscw", one(0xf085), one(0xffbf), "Bc"},
- + {"pbss", one(0xf0c4), one(0xffbf), "Bc"},
- + {"pbssw", one(0xf084), one(0xffbf), "Bc"},
- + {"pbwc", one(0xf0c9), one(0xffbf), "Bc"},
- + {"pbwcw", one(0xf089), one(0xffbf), "Bc"},
- + {"pbws", one(0xf0c8), one(0xffbf), "Bc"},
- + {"pbwsw", one(0xf088), one(0xffbf), "Bc"},
- +
- +
- + {"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw"},
- + {"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw"},
- + {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw"},
- +
- + {"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "" },
- +
- + {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9" },
- + {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s" },
- + {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9" },
- + {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s" },
- + {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9" },
- + {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s" },
- +
- + {"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9" },
- + {"pflushs", two(0xf000, 0x3c10), two(0xfff8, 0xfe00), "T3T9&s" },
- + {"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9" },
- + {"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s" },
- + {"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9" },
- + {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s"},
- +
- + {"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s" },
- +
- + {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s" },
- + {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s" },
- + {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s" },
- + {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s" },
- + {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s" },
- + {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s" },
- +
- + /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */
- + {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "*sP8" },
- + {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s" },
- + {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8" },
- + {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s" },
- +
- + /* BADx, BACx */
- + {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3" },
- + {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s" },
- +
- + /* PSR, PCSR */
- + /* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8" }, */
- + {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8" },
- + {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s" },
- + {"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s" },
- +
- + {"prestore", one(0xf140), one(0xffc0), "&s"},
- + {"prestore", one(0xf158), one(0xfff8), "+s"},
- + {"psave", one(0xf100), one(0xffc0), "&s"},
- + {"psave", one(0xf100), one(0xffc0), "+s"},
- +
- + {"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s"},
- + {"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s"},
- + {"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s"},
- + {"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s"},
- + {"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s"},
- + {"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s"},
- + {"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s"},
- + {"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s"},
- + {"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s"},
- + {"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s"},
- + {"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s"},
- + {"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s"},
- + {"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s"},
- + {"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s"},
- + {"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s"},
- + {"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s"},
- +
- + {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8" },
- + {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9" },
- + {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8" },
- + {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9" },
- + {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8" },
- + {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9" },
- +
- + {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8" },
- + {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9" },
- + {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8" },
- + {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9" },
- + {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8" },
- + {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9" },
- +
- + {"ptrapacw", two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w"},
- + {"ptrapacl", two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l"},
- + {"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), ""},
- +
- + {"ptrapasw", two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w"},
- + {"ptrapasl", two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l"},
- + {"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), ""},
- +
- + {"ptrapbcw", two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w"},
- + {"ptrapbcl", two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l"},
- + {"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), ""},
- +
- + {"ptrapbsw", two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w"},
- + {"ptrapbsl", two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l"},
- + {"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), ""},
- +
- + {"ptrapccw", two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w"},
- + {"ptrapccl", two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l"},
- + {"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), ""},
- +
- + {"ptrapcsw", two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w"},
- + {"ptrapcsl", two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l"},
- + {"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), ""},
- +
- + {"ptrapgcw", two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w"},
- + {"ptrapgcl", two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l"},
- + {"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), ""},
- +
- + {"ptrapgsw", two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w"},
- + {"ptrapgsl", two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l"},
- + {"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), ""},
- +
- + {"ptrapicw", two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w"},
- + {"ptrapicl", two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l"},
- + {"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), ""},
- +
- + {"ptrapisw", two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w"},
- + {"ptrapisl", two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l"},
- + {"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), ""},
- +
- + {"ptraplcw", two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w"},
- + {"ptraplcl", two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l"},
- + {"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), ""},
- +
- + {"ptraplsw", two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w"},
- + {"ptraplsl", two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l"},
- + {"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), ""},
- +
- + {"ptrapscw", two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w"},
- + {"ptrapscl", two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l"},
- + {"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), ""},
- +
- + {"ptrapssw", two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w"},
- + {"ptrapssl", two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l"},
- + {"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), ""},
- +
- + {"ptrapwcw", two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w"},
- + {"ptrapwcl", two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l"},
- + {"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), ""},
- +
- + {"ptrapwsw", two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w"},
- + {"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l"},
- + {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), ""},
- +
- + {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s"},
- + {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" },
- +
- + #endif /* m68851 */
- +
- + };
- +
- + int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
- +
- + struct m68k_opcode *endop = m68k_opcodes+sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
- diff -rcP gas-1.38.1-fsf/m68k-opcode.h gas-1.38.1-amiga/m68k-opcode.h
- *** gas-1.38.1-fsf/m68k-opcode.h Wed Aug 1 18:49:19 1990
- --- gas-1.38.1-amiga/m68k-opcode.h Thu Sep 9 22:49:45 1993
- ***************
- *** 193,1680 ****
- #define one(x) ((x) << 16)
- #define two(x, y) (((x) << 16) + y)
-
- ! /*
- ! *** DANGER WILL ROBINSON ***
-
- ! The assembler requires that all instances of the same mnemonic must be
- ! consecutive. If they aren't, the assembler will bomb at runtime
- ! */
- ! struct m68k_opcode m68k_opcodes[] =
- ! {
- ! {"abcd", one(0140400), one(0170770), "DsDd"},
- ! {"abcd", one(0140410), one(0170770), "-s-d"},
-
- ! /* Add instructions */
- ! {"addal", one(0150700), one(0170700), "*lAd"},
- ! {"addaw", one(0150300), one(0170700), "*wAd"},
- ! {"addib", one(0003000), one(0177700), "#b$b"},
- ! {"addil", one(0003200), one(0177700), "#l$l"},
- ! {"addiw", one(0003100), one(0177700), "#w$w"},
- ! {"addqb", one(0050000), one(0170700), "Qd$b"},
- ! {"addql", one(0050200), one(0170700), "Qd%l"},
- ! {"addqw", one(0050100), one(0170700), "Qd%w"},
- !
- ! {"addb", one(0050000), one(0170700), "Qd$b"}, /* addq written as add */
- ! {"addb", one(0003000), one(0177700), "#b$b"}, /* addi written as add */
- ! {"addb", one(0150000), one(0170700), ";bDd"}, /* addb <ea>, Dd */
- ! {"addb", one(0150400), one(0170700), "Dd~b"}, /* addb Dd, <ea> */
- !
- ! {"addw", one(0050100), one(0170700), "Qd%w"}, /* addq written as add */
- ! {"addw", one(0003100), one(0177700), "#w$w"}, /* addi written as add */
- ! {"addw", one(0150300), one(0170700), "*wAd"}, /* adda written as add */
- ! {"addw", one(0150100), one(0170700), "*wDd"}, /* addw <ea>, Dd */
- ! {"addw", one(0150500), one(0170700), "Dd~w"}, /* addw Dd, <ea> */
- !
- ! {"addl", one(0050200), one(0170700), "Qd%l"}, /* addq written as add */
- ! {"addl", one(0003200), one(0177700), "#l$l"}, /* addi written as add */
- ! {"addl", one(0150700), one(0170700), "*lAd"}, /* adda written as add */
- ! {"addl", one(0150200), one(0170700), "*lDd"}, /* addl <ea>, Dd */
- ! {"addl", one(0150600), one(0170700), "Dd~l"}, /* addl Dd, <ea> */
- !
- ! {"addxb", one(0150400), one(0170770), "DsDd"},
- ! {"addxb", one(0150410), one(0170770), "-s-d"},
- ! {"addxl", one(0150600), one(0170770), "DsDd"},
- ! {"addxl", one(0150610), one(0170770), "-s-d"},
- ! {"addxw", one(0150500), one(0170770), "DsDd"},
- ! {"addxw", one(0150510), one(0170770), "-s-d"},
- !
- ! {"andib", one(0001000), one(0177700), "#b$b"},
- ! {"andib", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */
- ! {"andiw", one(0001100), one(0177700), "#w$w"},
- ! {"andiw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */
- ! {"andil", one(0001200), one(0177700), "#l$l"},
- !
- ! {"andb", one(0001000), one(0177700), "#b$b"}, /* andi written as or */
- ! {"andb", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */
- ! {"andb", one(0140000), one(0170700), ";bDd"}, /* memory to register */
- ! {"andb", one(0140400), one(0170700), "Dd~b"}, /* register to memory */
- ! {"andw", one(0001100), one(0177700), "#w$w"}, /* andi written as or */
- ! {"andw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */
- ! {"andw", one(0140100), one(0170700), ";wDd"}, /* memory to register */
- ! {"andw", one(0140500), one(0170700), "Dd~w"}, /* register to memory */
- ! {"andl", one(0001200), one(0177700), "#l$l"}, /* andi written as or */
- ! {"andl", one(0140200), one(0170700), ";lDd"}, /* memory to register */
- ! {"andl", one(0140600), one(0170700), "Dd~l"}, /* register to memory */
- !
- ! {"aslb", one(0160400), one(0170770), "QdDs"},
- ! {"aslb", one(0160440), one(0170770), "DdDs"},
- ! {"asll", one(0160600), one(0170770), "QdDs"},
- ! {"asll", one(0160640), one(0170770), "DdDs"},
- ! {"aslw", one(0160500), one(0170770), "QdDs"},
- ! {"aslw", one(0160540), one(0170770), "DdDs"},
- ! {"aslw", one(0160700), one(0177700), "~s"}, /* Shift memory */
- ! {"asrb", one(0160000), one(0170770), "QdDs"},
- ! {"asrb", one(0160040), one(0170770), "DdDs"},
- ! {"asrl", one(0160200), one(0170770), "QdDs"},
- ! {"asrl", one(0160240), one(0170770), "DdDs"},
- ! {"asrw", one(0160100), one(0170770), "QdDs"},
- ! {"asrw", one(0160140), one(0170770), "DdDs"},
- ! {"asrw", one(0160300), one(0177700), "~s"}, /* Shift memory */
- !
- ! {"bhi", one(0061000), one(0177400), "Bg"},
- ! {"bls", one(0061400), one(0177400), "Bg"},
- ! {"bcc", one(0062000), one(0177400), "Bg"},
- ! {"bcs", one(0062400), one(0177400), "Bg"},
- ! {"bne", one(0063000), one(0177400), "Bg"},
- ! {"beq", one(0063400), one(0177400), "Bg"},
- ! {"bvc", one(0064000), one(0177400), "Bg"},
- ! {"bvs", one(0064400), one(0177400), "Bg"},
- ! {"bpl", one(0065000), one(0177400), "Bg"},
- ! {"bmi", one(0065400), one(0177400), "Bg"},
- ! {"bge", one(0066000), one(0177400), "Bg"},
- ! {"blt", one(0066400), one(0177400), "Bg"},
- ! {"bgt", one(0067000), one(0177400), "Bg"},
- ! {"ble", one(0067400), one(0177400), "Bg"},
- !
- ! {"bchg", one(0000500), one(0170700), "Dd$s"},
- ! {"bchg", one(0004100), one(0177700), "#b$s"},
- ! {"bclr", one(0000600), one(0170700), "Dd$s"},
- ! {"bclr", one(0004200), one(0177700), "#b$s"},
- ! {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3"},
- ! {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3"},
- ! {"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1"},
- ! {"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1"},
- ! {"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1"},
- ! {"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3"},
- ! {"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3"},
- ! {"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3"},
- ! {"bset", one(0000700), one(0170700), "Dd$s"},
- ! {"bset", one(0004300), one(0177700), "#b$s"},
- ! {"btst", one(0000400), one(0170700), "Dd@s"},
- ! {"btst", one(0004000), one(0177700), "#b@s"},
- !
- ! {"bkpt", one(0044110), one(0177770), "Qs"},
- ! {"bra", one(0060000), one(0177400), "Bg"},
- ! {"bras", one(0060000), one(0177400), "Bw"},
- ! {"bsr", one(0060400), one(0177400), "Bg"},
- ! {"bsrs", one(0060400), one(0177400), "Bw"},
- !
- ! {"callm", one(0003300), one(0177700), "#b!s"},
- ! {"cas2l", two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF FOO this is really a 3 word ins */
- ! {"cas2w", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF ditto */
- ! {"casb", two(0005300, 0), two(0177700, 0177070), "D3D2~s"},
- ! {"casl", two(0007300, 0), two(0177700, 0177070), "D3D2~s"},
- ! {"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s"},
- !
- ! /* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */
- ! {"chk2b", two(0000300, 0004000), two(0177700, 07777), "!sR1"},
- ! {"chk2l", two(0002300, 0004000), two(0177700, 07777), "!sR1"},
- ! {"chk2w", two(0001300, 0004000), two(0177700, 07777), "!sR1"},
- ! {"chkl", one(0040400), one(0170700), ";lDd"},
- ! {"chkw", one(0040600), one(0170700), ";wDd"},
- ! {"clrb", one(0041000), one(0177700), "$s"},
- ! {"clrl", one(0041200), one(0177700), "$s"},
- ! {"clrw", one(0041100), one(0177700), "$s"},
- !
- ! {"cmp2b", two(0000300, 0), two(0177700, 07777), "!sR1"},
- ! {"cmp2l", two(0002300, 0), two(0177700, 07777), "!sR1"},
- ! {"cmp2w", two(0001300, 0), two(0177700, 07777), "!sR1"},
- ! {"cmpal", one(0130700), one(0170700), "*lAd"},
- ! {"cmpaw", one(0130300), one(0170700), "*wAd"},
- ! {"cmpib", one(0006000), one(0177700), "#b;b"},
- ! {"cmpil", one(0006200), one(0177700), "#l;l"},
- ! {"cmpiw", one(0006100), one(0177700), "#w;w"},
- ! {"cmpb", one(0006000), one(0177700), "#b;b"}, /* cmpi written as cmp */
- ! {"cmpb", one(0130000), one(0170700), ";bDd"},
- ! {"cmpw", one(0006100), one(0177700), "#w;w"},
- ! {"cmpw", one(0130100), one(0170700), "*wDd"},
- ! {"cmpw", one(0130300), one(0170700), "*wAd"}, /* cmpa written as cmp */
- ! {"cmpl", one(0006200), one(0177700), "#l;l"},
- ! {"cmpl", one(0130200), one(0170700), "*lDd"},
- ! {"cmpl", one(0130700), one(0170700), "*lAd"},
- ! {"cmpmb", one(0130410), one(0170770), "+s+d"},
- ! {"cmpml", one(0130610), one(0170770), "+s+d"},
- ! {"cmpmw", one(0130510), one(0170770), "+s+d"},
- !
- ! {"dbcc", one(0052310), one(0177770), "DsBw"},
- ! {"dbcs", one(0052710), one(0177770), "DsBw"},
- ! {"dbeq", one(0053710), one(0177770), "DsBw"},
- ! {"dbf", one(0050710), one(0177770), "DsBw"},
- ! {"dbge", one(0056310), one(0177770), "DsBw"},
- ! {"dbgt", one(0057310), one(0177770), "DsBw"},
- ! {"dbhi", one(0051310), one(0177770), "DsBw"},
- ! {"dble", one(0057710), one(0177770), "DsBw"},
- ! {"dbls", one(0051710), one(0177770), "DsBw"},
- ! {"dblt", one(0056710), one(0177770), "DsBw"},
- ! {"dbmi", one(0055710), one(0177770), "DsBw"},
- ! {"dbne", one(0053310), one(0177770), "DsBw"},
- ! {"dbpl", one(0055310), one(0177770), "DsBw"},
- ! {"dbra", one(0050710), one(0177770), "DsBw"},
- ! {"dbt", one(0050310), one(0177770), "DsBw"},
- ! {"dbvc", one(0054310), one(0177770), "DsBw"},
- ! {"dbvs", one(0054710), one(0177770), "DsBw"},
- !
- ! {"divsl", two(0046100, 0006000), two(0177700, 0107770), ";lD3D1"},
- ! {"divsl", two(0046100, 0004000), two(0177700, 0107770), ";lDD"},
- ! {"divsll", two(0046100, 0004000), two(0177700, 0107770), ";lD3D1"},
- ! {"divsw", one(0100700), one(0170700), ";wDd"},
- ! {"divs", one(0100700), one(0170700), ";wDd"},
- ! {"divul", two(0046100, 0002000), two(0177700, 0107770), ";lD3D1"},
- ! {"divul", two(0046100, 0000000), two(0177700, 0107770), ";lDD"},
- ! {"divull", two(0046100, 0000000), two(0177700, 0107770), ";lD3D1"},
- ! {"divuw", one(0100300), one(0170700), ";wDd"},
- ! {"divu", one(0100300), one(0170700), ";wDd"},
- ! {"eorb", one(0005000), one(0177700), "#b$s"}, /* eori written as or */
- ! {"eorb", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */
- ! {"eorb", one(0130400), one(0170700), "Dd$s"}, /* register to memory */
- ! {"eorib", one(0005000), one(0177700), "#b$s"},
- ! {"eorib", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */
- ! {"eoril", one(0005200), one(0177700), "#l$s"},
- ! {"eoriw", one(0005100), one(0177700), "#w$s"},
- ! {"eoriw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */
- ! {"eorl", one(0005200), one(0177700), "#l$s"},
- ! {"eorl", one(0130600), one(0170700), "Dd$s"},
- ! {"eorw", one(0005100), one(0177700), "#w$s"},
- ! {"eorw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */
- ! {"eorw", one(0130500), one(0170700), "Dd$s"},
- !
- ! {"exg", one(0140500), one(0170770), "DdDs"},
- ! {"exg", one(0140510), one(0170770), "AdAs"},
- ! {"exg", one(0140610), one(0170770), "DdAs"},
- ! {"exg", one(0140610), one(0170770), "AsDd"},
- !
- ! {"extw", one(0044200), one(0177770), "Ds"},
- ! {"extl", one(0044300), one(0177770), "Ds"},
- ! {"extbl", one(0044700), one(0177770), "Ds"},
- ! {"extb.l", one(0044700), one(0177770), "Ds"}, /* Not sure we should support this one*/
- !
- ! {"illegal", one(0045374), one(0177777), ""},
- ! {"jmp", one(0047300), one(0177700), "!s"},
- ! {"jsr", one(0047200), one(0177700), "!s"},
- ! {"lea", one(0040700), one(0170700), "!sAd"},
- ! {"linkw", one(0047120), one(0177770), "As#w"},
- ! {"linkl", one(0044010), one(0177770), "As#l"},
- ! {"link", one(0047120), one(0177770), "As#w"},
- ! {"link", one(0044010), one(0177770), "As#l"},
- !
- ! {"lslb", one(0160410), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- ! {"lslb", one(0160450), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- ! {"lslw", one(0160510), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- ! {"lslw", one(0160550), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- ! {"lslw", one(0161700), one(0177700), "~s"}, /* Shift memory */
- ! {"lsll", one(0160610), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- ! {"lsll", one(0160650), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- !
- ! {"lsrb", one(0160010), one(0170770), "QdDs"} /* lsrb #Q, Ds */,
- ! {"lsrb", one(0160050), one(0170770), "DdDs"}, /* lsrb Dd, Ds */
- ! {"lsrl", one(0160210), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- ! {"lsrl", one(0160250), one(0170770), "DdDs"}, /* lsrb #Q, Ds */
- ! {"lsrw", one(0160110), one(0170770), "QdDs"}, /* lsrb #Q, Ds */
- ! {"lsrw", one(0160150), one(0170770), "DdDs"}, /* lsrb #Q, Ds */
- ! {"lsrw", one(0161300), one(0177700), "~s"}, /* Shift memory */
- !
- ! {"moveal", one(0020100), one(0170700), "*lAd"},
- ! {"moveaw", one(0030100), one(0170700), "*wAd"},
- ! {"moveb", one(0010000), one(0170000), ";b$d"}, /* move */
- ! {"movel", one(0070000), one(0170400), "MsDd"}, /* moveq written as move */
- ! {"movel", one(0020000), one(0170000), "*l$d"},
- ! {"movel", one(0020100), one(0170700), "*lAd"},
- ! {"movel", one(0047140), one(0177770), "AsUd"}, /* move to USP */
- ! {"movel", one(0047150), one(0177770), "UdAs"}, /* move from USP */
- !
- ! {"movec", one(0047173), one(0177777), "R1Jj"},
- ! {"movec", one(0047173), one(0177777), "R1#j"},
- ! {"movec", one(0047172), one(0177777), "JjR1"},
- ! {"movec", one(0047172), one(0177777), "#jR1"},
- !
- ! /* JF added these next four for the assembler */
- ! {"moveml", one(0044300), one(0177700), "Lw&s"}, /* movem reg to mem. */
- ! {"moveml", one(0044340), one(0177770), "lw-s"}, /* movem reg to autodecrement. */
- ! {"moveml", one(0046300), one(0177700), "!sLw"}, /* movem mem to reg. */
- ! {"moveml", one(0046330), one(0177770), "+sLw"}, /* movem autoinc to reg. */
- !
- ! {"moveml", one(0044300), one(0177700), "#w&s"}, /* movem reg to mem. */
- ! {"moveml", one(0044340), one(0177770), "#w-s"}, /* movem reg to autodecrement. */
- ! {"moveml", one(0046300), one(0177700), "!s#w"}, /* movem mem to reg. */
- ! {"moveml", one(0046330), one(0177770), "+s#w"}, /* movem autoinc to reg. */
- !
- ! /* JF added these next four for the assembler */
- ! {"movemw", one(0044200), one(0177700), "Lw&s"}, /* movem reg to mem. */
- ! {"movemw", one(0044240), one(0177770), "lw-s"}, /* movem reg to autodecrement. */
- ! {"movemw", one(0046200), one(0177700), "!sLw"}, /* movem mem to reg. */
- ! {"movemw", one(0046230), one(0177770), "+sLw"}, /* movem autoinc to reg. */
- !
- ! {"movemw", one(0044200), one(0177700), "#w&s"}, /* movem reg to mem. */
- ! {"movemw", one(0044240), one(0177770), "#w-s"}, /* movem reg to autodecrement. */
- ! {"movemw", one(0046200), one(0177700), "!s#w"}, /* movem mem to reg. */
- ! {"movemw", one(0046230), one(0177770), "+s#w"}, /* movem autoinc to reg. */
- !
- ! {"movepl", one(0000510), one(0170770), "dsDd"}, /* memory to register */
- ! {"movepl", one(0000710), one(0170770), "Ddds"}, /* register to memory */
- ! {"movepw", one(0000410), one(0170770), "dsDd"}, /* memory to register */
- ! {"movepw", one(0000610), one(0170770), "Ddds"}, /* register to memory */
- ! {"moveq", one(0070000), one(0170400), "MsDd"},
- ! {"movew", one(0030000), one(0170000), "*w$d"},
- ! {"movew", one(0030100), one(0170700), "*wAd"}, /* movea, written as move */
- ! {"movew", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */
- ! {"movew", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */
- ! {"movew", one(0042300), one(0177700), ";wCd"}, /* move to ccr */
- ! {"movew", one(0043300), one(0177700), ";wSd"}, /* move to sr */
- !
- ! {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- ! {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- ! {"movesl", two(0007200, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- ! {"movesl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- ! {"movesw", two(0007100, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */
- ! {"movesw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */
- !
- ! {"mulsl", two(0046000, 004000), two(0177700, 0107770), ";lD1"},
- ! {"mulsl", two(0046000, 006000), two(0177700, 0107770), ";lD3D1"},
- ! {"mulsw", one(0140700), one(0170700), ";wDd"},
- ! {"muls", one(0140700), one(0170700), ";wDd"},
- ! {"mulul", two(0046000, 000000), two(0177700, 0107770), ";lD1"},
- ! {"mulul", two(0046000, 002000), two(0177700, 0107770), ";lD3D1"},
- ! {"muluw", one(0140300), one(0170700), ";wDd"},
- ! {"mulu", one(0140300), one(0170700), ";wDd"},
- ! {"nbcd", one(0044000), one(0177700), "$s"},
- ! {"negb", one(0042000), one(0177700), "$s"},
- ! {"negl", one(0042200), one(0177700), "$s"},
- ! {"negw", one(0042100), one(0177700), "$s"},
- ! {"negxb", one(0040000), one(0177700), "$s"},
- ! {"negxl", one(0040200), one(0177700), "$s"},
- ! {"negxw", one(0040100), one(0177700), "$s"},
- ! {"nop", one(0047161), one(0177777), ""},
- ! {"notb", one(0043000), one(0177700), "$s"},
- ! {"notl", one(0043200), one(0177700), "$s"},
- ! {"notw", one(0043100), one(0177700), "$s"},
- !
- ! {"orb", one(0000000), one(0177700), "#b$s"}, /* ori written as or */
- ! {"orb", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */
- ! {"orb", one(0100000), one(0170700), ";bDd"}, /* memory to register */
- ! {"orb", one(0100400), one(0170700), "Dd~s"}, /* register to memory */
- ! {"orib", one(0000000), one(0177700), "#b$s"},
- ! {"orib", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */
- ! {"oril", one(0000200), one(0177700), "#l$s"},
- ! {"oriw", one(0000100), one(0177700), "#w$s"},
- ! {"oriw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */
- ! {"orl", one(0000200), one(0177700), "#l$s"},
- ! {"orl", one(0100200), one(0170700), ";lDd"}, /* memory to register */
- ! {"orl", one(0100600), one(0170700), "Dd~s"}, /* register to memory */
- ! {"orw", one(0000100), one(0177700), "#w$s"},
- ! {"orw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */
- ! {"orw", one(0100100), one(0170700), ";wDd"}, /* memory to register */
- ! {"orw", one(0100500), one(0170700), "Dd~s"}, /* register to memory */
- !
- ! {"pack", one(0100500), one(0170770), "DsDd#w"}, /* pack Ds, Dd, #w */
- ! {"pack", one(0100510), one(0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */
- ! {"pea", one(0044100), one(0177700), "!s"},
- ! {"reset", one(0047160), one(0177777), ""},
- !
- ! {"rolb", one(0160430), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"rolb", one(0160470), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"roll", one(0160630), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"roll", one(0160670), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"rolw", one(0160530), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"rolw", one(0160570), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"rolw", one(0163700), one(0177700), "~s"}, /* Rotate memory */
- ! {"rorb", one(0160030), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"rorb", one(0160070), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"rorl", one(0160230), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"rorl", one(0160270), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"rorw", one(0160130), one(0170770), "QdDs"}, /* rorb #Q, Ds */
- ! {"rorw", one(0160170), one(0170770), "DdDs"}, /* rorb Dd, Ds */
- ! {"rorw", one(0163300), one(0177700), "~s"}, /* Rotate memory */
- !
- ! {"roxlb", one(0160420), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxlb", one(0160460), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxll", one(0160620), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxll", one(0160660), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxlw", one(0160520), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxlw", one(0160560), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxlw", one(0162700), one(0177700), "~s"}, /* Rotate memory */
- ! {"roxrb", one(0160020), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxrb", one(0160060), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxrl", one(0160220), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxrl", one(0160260), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxrw", one(0160120), one(0170770), "QdDs"}, /* roxrb #Q, Ds */
- ! {"roxrw", one(0160160), one(0170770), "DdDs"}, /* roxrb Dd, Ds */
- ! {"roxrw", one(0162300), one(0177700), "~s"}, /* Rotate memory */
- !
- ! {"rtd", one(0047164), one(0177777), "#w"},
- ! {"rte", one(0047163), one(0177777), ""},
- ! {"rtm", one(0003300), one(0177760), "Rs"},
- ! {"rtr", one(0047167), one(0177777), ""},
- ! {"rts", one(0047165), one(0177777), ""},
- !
- ! {"scc", one(0052300), one(0177700), "$s"},
- ! {"scs", one(0052700), one(0177700), "$s"},
- ! {"seq", one(0053700), one(0177700), "$s"},
- ! {"sf", one(0050700), one(0177700), "$s"},
- ! {"sge", one(0056300), one(0177700), "$s"},
- ! {"sgt", one(0057300), one(0177700), "$s"},
- ! {"shi", one(0051300), one(0177700), "$s"},
- ! {"sle", one(0057700), one(0177700), "$s"},
- ! {"sls", one(0051700), one(0177700), "$s"},
- ! {"slt", one(0056700), one(0177700), "$s"},
- ! {"smi", one(0055700), one(0177700), "$s"},
- ! {"sne", one(0053300), one(0177700), "$s"},
- ! {"spl", one(0055300), one(0177700), "$s"},
- ! {"st", one(0050300), one(0177700), "$s"},
- ! {"svc", one(0054300), one(0177700), "$s"},
- ! {"svs", one(0054700), one(0177700), "$s"},
- !
- ! {"sbcd", one(0100400), one(0170770), "DsDd"},
- ! {"sbcd", one(0100410), one(0170770), "-s-d"},
- ! {"stop", one(0047162), one(0177777), "#w"},
- !
- ! {"subal", one(0110700), one(0170700), "*lAd"},
- ! {"subaw", one(0110300), one(0170700), "*wAd"},
- ! {"subb", one(0050400), one(0170700), "Qd%s"}, /* subq written as sub */
- ! {"subb", one(0002000), one(0177700), "#b$s"}, /* subi written as sub */
- ! {"subb", one(0110000), one(0170700), ";bDd"}, /* subb ? ?, Dd */
- ! {"subb", one(0110400), one(0170700), "Dd~s"}, /* subb Dd, ? ? */
- ! {"subib", one(0002000), one(0177700), "#b$s"},
- ! {"subil", one(0002200), one(0177700), "#l$s"},
- ! {"subiw", one(0002100), one(0177700), "#w$s"},
- ! {"subl", one(0050600), one(0170700), "Qd%s"},
- ! {"subl", one(0002200), one(0177700), "#l$s"},
- ! {"subl", one(0110700), one(0170700), "*lAd"},
- ! {"subl", one(0110200), one(0170700), "*lDd"},
- ! {"subl", one(0110600), one(0170700), "Dd~s"},
- ! {"subqb", one(0050400), one(0170700), "Qd%s"},
- ! {"subql", one(0050600), one(0170700), "Qd%s"},
- ! {"subqw", one(0050500), one(0170700), "Qd%s"},
- ! {"subw", one(0050500), one(0170700), "Qd%s"},
- ! {"subw", one(0002100), one(0177700), "#w$s"},
- ! {"subw", one(0110100), one(0170700), "*wDd"},
- ! {"subw", one(0110300), one(0170700), "*wAd"}, /* suba written as sub */
- ! {"subw", one(0110500), one(0170700), "Dd~s"},
- ! {"subxb", one(0110400), one(0170770), "DsDd"}, /* subxb Ds, Dd */
- ! {"subxb", one(0110410), one(0170770), "-s-d"}, /* subxb -(As), -(Ad) */
- ! {"subxl", one(0110600), one(0170770), "DsDd"},
- ! {"subxl", one(0110610), one(0170770), "-s-d"},
- ! {"subxw", one(0110500), one(0170770), "DsDd"},
- ! {"subxw", one(0110510), one(0170770), "-s-d"},
- !
- ! {"swap", one(0044100), one(0177770), "Ds"},
- !
- ! {"tas", one(0045300), one(0177700), "$s"},
- ! {"trap", one(0047100), one(0177760), "Ts"},
- !
- ! {"trapcc", one(0052374), one(0177777), ""},
- ! {"trapcs", one(0052774), one(0177777), ""},
- ! {"trapeq", one(0053774), one(0177777), ""},
- ! {"trapf", one(0050774), one(0177777), ""},
- ! {"trapge", one(0056374), one(0177777), ""},
- ! {"trapgt", one(0057374), one(0177777), ""},
- ! {"traphi", one(0051374), one(0177777), ""},
- ! {"traple", one(0057774), one(0177777), ""},
- ! {"trapls", one(0051774), one(0177777), ""},
- ! {"traplt", one(0056774), one(0177777), ""},
- ! {"trapmi", one(0055774), one(0177777), ""},
- ! {"trapne", one(0053374), one(0177777), ""},
- ! {"trappl", one(0055374), one(0177777), ""},
- ! {"trapt", one(0050374), one(0177777), ""},
- ! {"trapvc", one(0054374), one(0177777), ""},
- ! {"trapvs", one(0054774), one(0177777), ""},
- !
- ! {"trapcc.w", one(0052372), one(0177777), ""},
- ! {"trapcs.w", one(0052772), one(0177777), ""},
- ! {"trapeq.w", one(0053772), one(0177777), ""},
- ! {"trapf.w", one(0050772), one(0177777), ""},
- ! {"trapge.w", one(0056372), one(0177777), ""},
- ! {"trapgt.w", one(0057372), one(0177777), ""},
- ! {"traphi.w", one(0051372), one(0177777), ""},
- ! {"traple.w", one(0057772), one(0177777), ""},
- ! {"trapls.w", one(0051772), one(0177777), ""},
- ! {"traplt.w", one(0056772), one(0177777), ""},
- ! {"trapmi.w", one(0055772), one(0177777), ""},
- ! {"trapne.w", one(0053372), one(0177777), ""},
- ! {"trappl.w", one(0055372), one(0177777), ""},
- ! {"trapt.w", one(0050372), one(0177777), ""},
- ! {"trapvc.w", one(0054372), one(0177777), ""},
- ! {"trapvs.w", one(0054772), one(0177777), ""},
- !
- ! {"trapcc.l", one(0052373), one(0177777), ""},
- ! {"trapcs.l", one(0052773), one(0177777), ""},
- ! {"trapeq.l", one(0053773), one(0177777), ""},
- ! {"trapf.l", one(0050773), one(0177777), ""},
- ! {"trapge.l", one(0056373), one(0177777), ""},
- ! {"trapgt.l", one(0057373), one(0177777), ""},
- ! {"traphi.l", one(0051373), one(0177777), ""},
- ! {"traple.l", one(0057773), one(0177777), ""},
- ! {"trapls.l", one(0051773), one(0177777), ""},
- ! {"traplt.l", one(0056773), one(0177777), ""},
- ! {"trapmi.l", one(0055773), one(0177777), ""},
- ! {"trapne.l", one(0053373), one(0177777), ""},
- ! {"trappl.l", one(0055373), one(0177777), ""},
- ! {"trapt.l", one(0050373), one(0177777), ""},
- ! {"trapvc.l", one(0054373), one(0177777), ""},
- ! {"trapvs.l", one(0054773), one(0177777), ""},
- !
- ! {"trapv", one(0047166), one(0177777), ""},
- !
- ! {"tstb", one(0045000), one(0177700), ";b"},
- ! {"tstw", one(0045100), one(0177700), "*w"},
- ! {"tstl", one(0045200), one(0177700), "*l"},
- !
- ! {"unlk", one(0047130), one(0177770), "As"},
- ! {"unpk", one(0100600), one(0170770), "DsDd#w"},
- ! {"unpk", one(0100610), one(0170770), "-s-d#w"},
- ! /* JF floating pt stuff moved down here */
- !
- ! {"fabsb", two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fabsd", two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fabsl", two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fabss", two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fabsw", two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fabsx", two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"facosb", two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"facosd", two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"facosl", two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"facoss", two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"facosw", two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"facosx", two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"faddb", two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"faddd", two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"faddl", two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fadds", two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"faddw", two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"faddx", two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */
- !
- ! {"fasinb", two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fasind", two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fasinl", two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fasins", two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fasinw", two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fasinx", two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fatanb", two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fatand", two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fatanl", two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fatans", two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fatanw", two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fatanx", two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fatanhb", two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fatanhd", two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fatanhl", two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fatanhs", two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fatanhw", two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fatanhx", two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fbeq", one(0xF081), one(0xF1BF), "IdBc"},
- ! {"fbf", one(0xF080), one(0xF1BF), "IdBc"},
- ! {"fbge", one(0xF093), one(0xF1BF), "IdBc"},
- ! {"fbgl", one(0xF096), one(0xF1BF), "IdBc"},
- ! {"fbgle", one(0xF097), one(0xF1BF), "IdBc"},
- ! {"fbgt", one(0xF092), one(0xF1BF), "IdBc"},
- ! {"fble", one(0xF095), one(0xF1BF), "IdBc"},
- ! {"fblt", one(0xF094), one(0xF1BF), "IdBc"},
- ! {"fbne", one(0xF08E), one(0xF1BF), "IdBc"},
- ! {"fbnge", one(0xF09C), one(0xF1BF), "IdBc"},
- ! {"fbngl", one(0xF099), one(0xF1BF), "IdBc"},
- ! {"fbngle", one(0xF098), one(0xF1BF), "IdBc"},
- ! {"fbngt", one(0xF09D), one(0xF1BF), "IdBc"},
- ! {"fbnle", one(0xF09A), one(0xF1BF), "IdBc"},
- ! {"fbnlt", one(0xF09B), one(0xF1BF), "IdBc"},
- ! {"fboge", one(0xF083), one(0xF1BF), "IdBc"},
- ! {"fbogl", one(0xF086), one(0xF1BF), "IdBc"},
- ! {"fbogt", one(0xF082), one(0xF1BF), "IdBc"},
- ! {"fbole", one(0xF085), one(0xF1BF), "IdBc"},
- ! {"fbolt", one(0xF084), one(0xF1BF), "IdBc"},
- ! {"fbor", one(0xF087), one(0xF1BF), "IdBc"},
- ! {"fbseq", one(0xF091), one(0xF1BF), "IdBc"},
- ! {"fbsf", one(0xF090), one(0xF1BF), "IdBc"},
- ! {"fbsne", one(0xF09E), one(0xF1BF), "IdBc"},
- ! {"fbst", one(0xF09F), one(0xF1BF), "IdBc"},
- ! {"fbt", one(0xF08F), one(0xF1BF), "IdBc"},
- ! {"fbueq", one(0xF089), one(0xF1BF), "IdBc"},
- ! {"fbuge", one(0xF08B), one(0xF1BF), "IdBc"},
- ! {"fbugt", one(0xF08A), one(0xF1BF), "IdBc"},
- ! {"fbule", one(0xF08D), one(0xF1BF), "IdBc"},
- ! {"fbult", one(0xF08C), one(0xF1BF), "IdBc"},
- ! {"fbun", one(0xF088), one(0xF1BF), "IdBc"},
- !
- ! {"fcmpb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fcmpd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fcmpl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fcmps", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fcmpw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fcmpx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */
- !
- ! {"fcosb", two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fcosd", two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fcosl", two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fcoss", two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fcosw", two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fcosx", two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fcoshb", two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fcoshd", two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fcoshl", two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fcoshs", two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fcoshw", two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fcoshx", two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw"},
- ! {"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw"},
- !
- ! {"fdivb", two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fdivd", two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fdivl", two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fdivs", two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fdivw", two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fdivx", two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- !
- ! {"fetoxb", two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fetoxd", two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fetoxl", two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fetoxs", two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fetoxw", two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fetoxx", two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fetoxm1b", two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fetoxm1d", two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fetoxm1l", two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fetoxm1s", two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fetoxm1w", two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fetoxm1x", two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fgetexpb", two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fgetexpd", two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fgetexpl", two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fgetexps", two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fgetexpw", two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fgetexpx", two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fgetmanb", two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fgetmand", two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fgetmanl", two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fgetmans", two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fgetmanw", two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fgetmanx", two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fintb", two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fintd", two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fintl", two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fints", two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fintw", two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fintx", two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fintrzb", two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fintrzd", two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fintrzl", two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fintrzs", two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fintrzw", two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fintrzx", two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"flog10b", two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"flog10d", two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"flog10l", two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"flog10s", two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"flog10w", two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"flog10x", two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"flog2b", two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"flog2d", two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"flog2l", two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"flog2s", two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"flog2w", two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"flog2x", two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"flognb", two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"flognd", two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"flognl", two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"flogns", two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"flognw", two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"flognx", two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"flognp1b", two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"flognp1d", two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"flognp1l", two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"flognp1s", two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"flognp1w", two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"flognp1x", two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fmodb", two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fmodd", two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fmodl", two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fmods", two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fmodw", two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fmodx", two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- !
- ! {"fmoveb", two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmoveb", two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */
- ! {"fmoved", two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmoved", two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */
- ! {"fmovel", two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmovel", two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */
- ! /* Warning: The addressing modes on these are probably not right:
- ! esp, Areg direct is only allowed for FPI */
- ! /* fmove.l from/to system control registers: */
- ! {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- ! {"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8"},
- !
- ! /* {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- ! {"fmovel", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*ss8"}, */
- !
- ! {"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmovep", two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */
- ! {"fmovep", two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk"}, /* fmove.p with k-factors: */
- !
- ! {"fmoves", two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmoves", two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */
- ! {"fmovew", two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmovew", two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */
- ! {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */
- ! {"fmovex", two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */
- ! {"fmovex", two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */
- ! /* JF removed {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, / * fmove from <ea> to fp<n> */
- !
- ! {"fmovecrx", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */
- ! {"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"},
- !
- ! /* Other fmovemx. */
- ! {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- ! {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- !
- ! {"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */
- !
- ! {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */
- ! {"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */
- ! {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */
- ! {"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */
- ! {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */
- ! {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */
- !
- ! {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */
- ! {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */
- ! {"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */
- !
- ! {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"},
- ! {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8@s"},
- ! {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- !
- ! {"fmoveml", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"},
- ! {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8"},
- ! {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"},
- !
- ! /* fmovemx with register lists */
- ! {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- ! {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */
- ! {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */
- ! {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */
- !
- ! /* Alternate mnemonics for GNU as and GNU CC */
- ! {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */
- ! {"fmovem", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */
- !
- ! {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */
- ! {"fmovem", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */
- !
- ! {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */
- ! {"fmovem", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */
- !
- ! {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */
- ! {"fmovem", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */
- !
- ! /* fmoveml a FP-control register */
- ! {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"},
- ! {"fmovem", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"},
- !
- ! /* fmoveml a FP-control reglist */
- ! {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"},
- ! {"fmovem", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"},
- !
- ! {"fmulb", two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fmuld", two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fmull", two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fmuls", two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fmulw", two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fmulx", two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- !
- ! {"fnegb", two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fnegd", two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fnegl", two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fnegs", two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fnegw", two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fnegx", two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fnop", two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii"},
- !
- ! {"fremb", two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fremd", two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"freml", two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"frems", two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fremw", two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fremx", two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- !
- ! {"frestore", one(0xF140), one(0xF1C0), "Id&s"},
- ! {"frestore", one(0xF158), one(0xF1F8), "Id+s"},
- ! {"fsave", one(0xF100), one(0xF1C0), "Id&s"},
- ! {"fsave", one(0xF120), one(0xF1F8), "Id-s"},
- !
- ! {"fsincosb", two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bF3F7"},
- ! {"fsincosd", two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FF3F7"},
- ! {"fsincosl", two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lF3F7"},
- ! {"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pF3F7"},
- ! {"fsincoss", two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fF3F7"},
- ! {"fsincosw", two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wF3F7"},
- ! {"fsincosx", two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8F3F7"},
- ! {"fsincosx", two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xF3F7"},
- !
- ! {"fscaleb", two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fscaled", two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fscalel", two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fscales", two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fscalew", two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fscalex", two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! /* {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, JF */
- !
- ! /* $ is necessary to prevent the assembler from using PC-relative.
- ! If @ were used, "label: fseq label" could produce "ftrapeq",
- ! because "label" became "pc@label". */
- ! {"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s"},
- ! {"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s"},
- !
- ! {"fsgldivb", two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsgldivd", two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsgldivl", two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsgldivs", two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsgldivw", two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsgldivx", two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fsglmulb", two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsglmuld", two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsglmull", two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsglmuls", two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsglmulw", two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsglmulx", two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fsinb", two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsind", two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsinl", two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsins", two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsinw", two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsinx", two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fsinhb", two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsinhd", two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsinhl", two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsinhs", two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsinhw", two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsinhx", two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fsqrtb", two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsqrtd", two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsqrtl", two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsqrts", two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsqrtw", two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsqrtx", two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"fsubb", two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"fsubd", two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"fsubl", two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"fsubs", two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"fsubw", two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"fsubx", two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"ftanb", two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"ftand", two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"ftanl", two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"ftans", two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"ftanw", two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"ftanx", two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"ftanhb", two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"ftanhd", two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"ftanhl", two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"ftanhs", two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"ftanhw", two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"ftanhx", two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"ftentoxb", two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"ftentoxd", two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"ftentoxl", two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"ftentoxs", two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"ftentoxw", two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"ftentoxx", two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt"},
- !
- ! {"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii"},
- ! {"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii"},
- !
- ! {"ftrapeqw", two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapfw", two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapgew", two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapglw", two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapglew", two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapgtw", two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftraplew", two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapltw", two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapnew", two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapngew", two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapnglw", two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapnglew", two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapngtw", two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapnlew", two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapnltw", two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapogew", two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapoglw", two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapogtw", two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapolew", two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapoltw", two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftraporw", two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapseqw", two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapsfw", two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapsnew", two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapstw", two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftraptw", two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapueqw", two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapugew", two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapugtw", two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapulew", two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapultw", two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w"},
- ! {"ftrapunw", two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w"},
- !
- ! {"ftrapeql", two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapfl", two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapgel", two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapgll", two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapglel", two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapgtl", two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftraplel", two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapltl", two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapnel", two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapngel", two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapngll", two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapnglel", two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapngtl", two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapnlel", two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapnltl", two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapogel", two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapogll", two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapogtl", two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapolel", two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapoltl", two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftraporl", two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapseql", two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapsfl", two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapsnel", two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapstl", two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftraptl", two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapueql", two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapugel", two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapugtl", two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapulel", two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapultl", two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l"},
- ! {"ftrapunl", two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l"},
- !
- ! {"ftstb", two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b"},
- ! {"ftstd", two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F"},
- ! {"ftstl", two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l"},
- ! {"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p"},
- ! {"ftsts", two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f"},
- ! {"ftstw", two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w"},
- ! {"ftstx", two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8"},
- ! {"ftstx", two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x"},
- !
- ! {"ftwotoxb", two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7"},
- ! {"ftwotoxd", two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7"},
- ! {"ftwotoxl", two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7"},
- ! {"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7"},
- ! {"ftwotoxs", two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7"},
- ! {"ftwotoxw", two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7"},
- ! {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7"},
- ! {"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7"},
- ! {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt"},
- !
- !
- ! {"fjeq", one(0xF081), one(0xF1FF), "IdBc"},
- ! {"fjf", one(0xF080), one(0xF1FF), "IdBc"},
- ! {"fjge", one(0xF093), one(0xF1FF), "IdBc"},
- ! {"fjgl", one(0xF096), one(0xF1FF), "IdBc"},
- ! {"fjgle", one(0xF097), one(0xF1FF), "IdBc"},
- ! {"fjgt", one(0xF092), one(0xF1FF), "IdBc"},
- ! {"fjle", one(0xF095), one(0xF1FF), "IdBc"},
- ! {"fjlt", one(0xF094), one(0xF1FF), "IdBc"},
- ! {"fjne", one(0xF08E), one(0xF1FF), "IdBc"},
- ! {"fjnge", one(0xF09C), one(0xF1FF), "IdBc"},
- ! {"fjngl", one(0xF099), one(0xF1FF), "IdBc"},
- ! {"fjngle", one(0xF098), one(0xF1FF), "IdBc"},
- ! {"fjngt", one(0xF09D), one(0xF1FF), "IdBc"},
- ! {"fjnle", one(0xF09A), one(0xF1FF), "IdBc"},
- ! {"fjnlt", one(0xF09B), one(0xF1FF), "IdBc"},
- ! {"fjoge", one(0xF083), one(0xF1FF), "IdBc"},
- ! {"fjogl", one(0xF086), one(0xF1FF), "IdBc"},
- ! {"fjogt", one(0xF082), one(0xF1FF), "IdBc"},
- ! {"fjole", one(0xF085), one(0xF1FF), "IdBc"},
- ! {"fjolt", one(0xF084), one(0xF1FF), "IdBc"},
- ! {"fjor", one(0xF087), one(0xF1FF), "IdBc"},
- ! {"fjseq", one(0xF091), one(0xF1FF), "IdBc"},
- ! {"fjsf", one(0xF090), one(0xF1FF), "IdBc"},
- ! {"fjsne", one(0xF09E), one(0xF1FF), "IdBc"},
- ! {"fjst", one(0xF09F), one(0xF1FF), "IdBc"},
- ! {"fjt", one(0xF08F), one(0xF1FF), "IdBc"},
- ! {"fjueq", one(0xF089), one(0xF1FF), "IdBc"},
- ! {"fjuge", one(0xF08B), one(0xF1FF), "IdBc"},
- ! {"fjugt", one(0xF08A), one(0xF1FF), "IdBc"},
- ! {"fjule", one(0xF08D), one(0xF1FF), "IdBc"},
- ! {"fjult", one(0xF08C), one(0xF1FF), "IdBc"},
- ! {"fjun", one(0xF088), one(0xF1FF), "IdBc"},
- !
- ! /* The assembler will ignore attempts to force a short offset */
- !
- ! {"bhis", one(0061000), one(0177400), "Bg"},
- ! {"blss", one(0061400), one(0177400), "Bg"},
- ! {"bccs", one(0062000), one(0177400), "Bg"},
- ! {"bcss", one(0062400), one(0177400), "Bg"},
- ! {"bnes", one(0063000), one(0177400), "Bg"},
- ! {"beqs", one(0063400), one(0177400), "Bg"},
- ! {"bvcs", one(0064000), one(0177400), "Bg"},
- ! {"bvss", one(0064400), one(0177400), "Bg"},
- ! {"bpls", one(0065000), one(0177400), "Bg"},
- ! {"bmis", one(0065400), one(0177400), "Bg"},
- ! {"bges", one(0066000), one(0177400), "Bg"},
- ! {"blts", one(0066400), one(0177400), "Bg"},
- ! {"bgts", one(0067000), one(0177400), "Bg"},
- ! {"bles", one(0067400), one(0177400), "Bg"},
- !
- ! /* Alternate mnemonics for SUN */
- !
- ! {"jbsr", one(0060400), one(0177400), "Bg"},
- ! {"jbsr", one(0047200), one(0177700), "!s"},
- ! {"jra", one(0060000), one(0177400), "Bg"},
- ! {"jra", one(0047300), one(0177700), "!s"},
- !
- ! {"jhi", one(0061000), one(0177400), "Bg"},
- ! {"jls", one(0061400), one(0177400), "Bg"},
- ! {"jcc", one(0062000), one(0177400), "Bg"},
- ! {"jcs", one(0062400), one(0177400), "Bg"},
- ! {"jne", one(0063000), one(0177400), "Bg"},
- ! {"jeq", one(0063400), one(0177400), "Bg"},
- ! {"jvc", one(0064000), one(0177400), "Bg"},
- ! {"jvs", one(0064400), one(0177400), "Bg"},
- ! {"jpl", one(0065000), one(0177400), "Bg"},
- ! {"jmi", one(0065400), one(0177400), "Bg"},
- ! {"jge", one(0066000), one(0177400), "Bg"},
- ! {"jlt", one(0066400), one(0177400), "Bg"},
- ! {"jgt", one(0067000), one(0177400), "Bg"},
- ! {"jle", one(0067400), one(0177400), "Bg"},
- !
- ! /* Short offsets are ignored */
- !
- ! {"jbsrs", one(0060400), one(0177400), "Bg"},
- ! {"jras", one(0060000), one(0177400), "Bg"},
- ! {"jhis", one(0061000), one(0177400), "Bg"},
- ! {"jlss", one(0061400), one(0177400), "Bg"},
- ! {"jccs", one(0062000), one(0177400), "Bg"},
- ! {"jcss", one(0062400), one(0177400), "Bg"},
- ! {"jnes", one(0063000), one(0177400), "Bg"},
- ! {"jeqs", one(0063400), one(0177400), "Bg"},
- ! {"jvcs", one(0064000), one(0177400), "Bg"},
- ! {"jvss", one(0064400), one(0177400), "Bg"},
- ! {"jpls", one(0065000), one(0177400), "Bg"},
- ! {"jmis", one(0065400), one(0177400), "Bg"},
- ! {"jges", one(0066000), one(0177400), "Bg"},
- ! {"jlts", one(0066400), one(0177400), "Bg"},
- ! {"jgts", one(0067000), one(0177400), "Bg"},
- ! {"jles", one(0067400), one(0177400), "Bg"},
- !
- ! {"movql", one(0070000), one(0170400), "MsDd"},
- ! {"moveql", one(0070000), one(0170400), "MsDd"},
- ! {"moval", one(0020100), one(0170700), "*lAd"},
- ! {"movaw", one(0030100), one(0170700), "*wAd"},
- ! {"movb", one(0010000), one(0170000), ";b$d"}, /* mov */
- ! {"movl", one(0070000), one(0170400), "MsDd"}, /* movq written as mov */
- ! {"movl", one(0020000), one(0170000), "*l$d"},
- ! {"movl", one(0020100), one(0170700), "*lAd"},
- ! {"movl", one(0047140), one(0177770), "AsUd"}, /* mov to USP */
- ! {"movl", one(0047150), one(0177770), "UdAs"}, /* mov from USP */
- ! {"movc", one(0047173), one(0177777), "R1Jj"},
- ! {"movc", one(0047173), one(0177777), "R1#j"},
- ! {"movc", one(0047172), one(0177777), "JjR1"},
- ! {"movc", one(0047172), one(0177777), "#jR1"},
- ! {"movml", one(0044300), one(0177700), "#w&s"}, /* movm reg to mem. */
- ! {"movml", one(0044340), one(0177770), "#w-s"}, /* movm reg to autodecrement. */
- ! {"movml", one(0046300), one(0177700), "!s#w"}, /* movm mem to reg. */
- ! {"movml", one(0046330), one(0177770), "+s#w"}, /* movm autoinc to reg. */
- ! {"movml", one(0044300), one(0177700), "Lw&s"}, /* movm reg to mem. */
- ! {"movml", one(0044340), one(0177770), "lw-s"}, /* movm reg to autodecrement. */
- ! {"movml", one(0046300), one(0177700), "!sLw"}, /* movm mem to reg. */
- ! {"movml", one(0046330), one(0177770), "+sLw"}, /* movm autoinc to reg. */
- ! {"movmw", one(0044200), one(0177700), "#w&s"}, /* movm reg to mem. */
- ! {"movmw", one(0044240), one(0177770), "#w-s"}, /* movm reg to autodecrement. */
- ! {"movmw", one(0046200), one(0177700), "!s#w"}, /* movm mem to reg. */
- ! {"movmw", one(0046230), one(0177770), "+s#w"}, /* movm autoinc to reg. */
- ! {"movmw", one(0044200), one(0177700), "Lw&s"}, /* movm reg to mem. */
- ! {"movmw", one(0044240), one(0177770), "lw-s"}, /* movm reg to autodecrement. */
- ! {"movmw", one(0046200), one(0177700), "!sLw"}, /* movm mem to reg. */
- ! {"movmw", one(0046230), one(0177770), "+sLw"}, /* movm autoinc to reg. */
- ! {"movpl", one(0000510), one(0170770), "dsDd"}, /* memory to register */
- ! {"movpl", one(0000710), one(0170770), "Ddds"}, /* register to memory */
- ! {"movpw", one(0000410), one(0170770), "dsDd"}, /* memory to register */
- ! {"movpw", one(0000610), one(0170770), "Ddds"}, /* register to memory */
- ! {"movq", one(0070000), one(0170400), "MsDd"},
- ! {"movw", one(0030000), one(0170000), "*w$d"},
- ! {"movw", one(0030100), one(0170700), "*wAd"}, /* mova, written as mov */
- ! {"movw", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */
- ! {"movw", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */
- ! {"movw", one(0042300), one(0177700), ";wCd"}, /* mov to ccr */
- ! {"movw", one(0043300), one(0177700), ";wSd"}, /* mov to sr */
- !
- ! {"movsb", two(0007000, 0), two(0177700, 07777), "~sR1"},
- ! {"movsb", two(0007000, 04000), two(0177700, 07777), "R1~s"},
- ! {"movsl", two(0007200, 0), two(0177700, 07777), "~sR1"},
- ! {"movsl", two(0007200, 04000), two(0177700, 07777), "R1~s"},
- ! {"movsw", two(0007100, 0), two(0177700, 07777), "~sR1"},
- ! {"movsw", two(0007100, 04000), two(0177700, 07777), "R1~s"},
- !
- ! #ifdef m68851
- ! /* name */ /* opcode */ /* match */ /* args */
- !
- ! {"pbac", one(0xf0c7), one(0xffbf), "Bc"},
- ! {"pbacw", one(0xf087), one(0xffbf), "Bc"},
- ! {"pbas", one(0xf0c6), one(0xffbf), "Bc"},
- ! {"pbasw", one(0xf086), one(0xffbf), "Bc"},
- ! {"pbbc", one(0xf0c1), one(0xffbf), "Bc"},
- ! {"pbbcw", one(0xf081), one(0xffbf), "Bc"},
- ! {"pbbs", one(0xf0c0), one(0xffbf), "Bc"},
- ! {"pbbsw", one(0xf080), one(0xffbf), "Bc"},
- ! {"pbcc", one(0xf0cf), one(0xffbf), "Bc"},
- ! {"pbccw", one(0xf08f), one(0xffbf), "Bc"},
- ! {"pbcs", one(0xf0ce), one(0xffbf), "Bc"},
- ! {"pbcsw", one(0xf08e), one(0xffbf), "Bc"},
- ! {"pbgc", one(0xf0cd), one(0xffbf), "Bc"},
- ! {"pbgcw", one(0xf08d), one(0xffbf), "Bc"},
- ! {"pbgs", one(0xf0cc), one(0xffbf), "Bc"},
- ! {"pbgsw", one(0xf08c), one(0xffbf), "Bc"},
- ! {"pbic", one(0xf0cb), one(0xffbf), "Bc"},
- ! {"pbicw", one(0xf08b), one(0xffbf), "Bc"},
- ! {"pbis", one(0xf0ca), one(0xffbf), "Bc"},
- ! {"pbisw", one(0xf08a), one(0xffbf), "Bc"},
- ! {"pblc", one(0xf0c3), one(0xffbf), "Bc"},
- ! {"pblcw", one(0xf083), one(0xffbf), "Bc"},
- ! {"pbls", one(0xf0c2), one(0xffbf), "Bc"},
- ! {"pblsw", one(0xf082), one(0xffbf), "Bc"},
- ! {"pbsc", one(0xf0c5), one(0xffbf), "Bc"},
- ! {"pbscw", one(0xf085), one(0xffbf), "Bc"},
- ! {"pbss", one(0xf0c4), one(0xffbf), "Bc"},
- ! {"pbssw", one(0xf084), one(0xffbf), "Bc"},
- ! {"pbwc", one(0xf0c9), one(0xffbf), "Bc"},
- ! {"pbwcw", one(0xf089), one(0xffbf), "Bc"},
- ! {"pbws", one(0xf0c8), one(0xffbf), "Bc"},
- ! {"pbwsw", one(0xf088), one(0xffbf), "Bc"},
- !
- !
- ! {"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw"},
- ! {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw"},
- !
- ! {"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "" },
- !
- ! {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9" },
- ! {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s" },
- ! {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9" },
- ! {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s" },
- ! {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9" },
- ! {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s" },
- !
- ! {"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9" },
- ! {"pflushs", two(0xf000, 0x3c10), two(0xfff8, 0xfe00), "T3T9&s" },
- ! {"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9" },
- ! {"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s" },
- ! {"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9" },
- ! {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s"},
- !
- ! {"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s" },
- !
- ! {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s" },
- ! {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s" },
- ! {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s" },
- ! {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s" },
- ! {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s" },
- ! {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s" },
- !
- ! /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */
- ! {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "*sP8" },
- ! {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s" },
- ! {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8" },
- ! {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s" },
- !
- ! /* BADx, BACx */
- ! {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3" },
- ! {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s" },
- !
- ! /* PSR, PCSR */
- ! /* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8" }, */
- ! {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8" },
- ! {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s" },
- ! {"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s" },
- !
- ! {"prestore", one(0xf140), one(0xffc0), "&s"},
- ! {"prestore", one(0xf158), one(0xfff8), "+s"},
- ! {"psave", one(0xf100), one(0xffc0), "&s"},
- ! {"psave", one(0xf100), one(0xffc0), "+s"},
- !
- ! {"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s"},
- ! {"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s"},
- ! {"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s"},
- ! {"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s"},
- ! {"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s"},
- ! {"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s"},
- ! {"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s"},
- ! {"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s"},
- ! {"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s"},
- ! {"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s"},
- ! {"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s"},
- ! {"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s"},
- ! {"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s"},
- ! {"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s"},
- ! {"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s"},
- ! {"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s"},
- !
- ! {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8" },
- ! {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9" },
- ! {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8" },
- ! {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9" },
- ! {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8" },
- ! {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9" },
- !
- ! {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8" },
- ! {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9" },
- ! {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8" },
- ! {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9" },
- ! {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8" },
- ! {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9" },
- !
- ! {"ptrapacw", two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w"},
- ! {"ptrapacl", two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l"},
- ! {"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapasw", two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w"},
- ! {"ptrapasl", two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l"},
- ! {"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapbcw", two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w"},
- ! {"ptrapbcl", two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l"},
- ! {"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapbsw", two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w"},
- ! {"ptrapbsl", two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l"},
- ! {"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapccw", two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w"},
- ! {"ptrapccl", two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l"},
- ! {"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapcsw", two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w"},
- ! {"ptrapcsl", two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l"},
- ! {"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapgcw", two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w"},
- ! {"ptrapgcl", two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l"},
- ! {"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapgsw", two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w"},
- ! {"ptrapgsl", two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l"},
- ! {"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapicw", two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w"},
- ! {"ptrapicl", two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l"},
- ! {"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapisw", two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w"},
- ! {"ptrapisl", two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l"},
- ! {"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), ""},
- !
- ! {"ptraplcw", two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w"},
- ! {"ptraplcl", two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l"},
- ! {"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), ""},
- !
- ! {"ptraplsw", two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w"},
- ! {"ptraplsl", two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l"},
- ! {"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapscw", two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w"},
- ! {"ptrapscl", two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l"},
- ! {"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapssw", two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w"},
- ! {"ptrapssl", two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l"},
- ! {"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapwcw", two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w"},
- ! {"ptrapwcl", two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l"},
- ! {"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), ""},
- !
- ! {"ptrapwsw", two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w"},
- ! {"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l"},
- ! {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), ""},
- !
- ! {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s"},
- ! {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" },
- !
- ! #endif /* m68851 */
- !
- ! };
- !
- ! int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
- !
- ! struct m68k_opcode *endop = m68k_opcodes+sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
- --- 193,200 ----
- #define one(x) ((x) << 16)
- #define two(x, y) (((x) << 16) + y)
-
- ! extern int numopcodes;
-
- ! extern struct m68k_opcode *endop;
-
- ! extern struct m68k_opcode m68k_opcodes[];
- diff -rcP gas-1.38.1-fsf/m68k.c gas-1.38.1-amiga/m68k.c
- *** gas-1.38.1-fsf/m68k.c Tue Dec 4 20:50:00 1990
- --- gas-1.38.1-amiga/m68k.c Thu Sep 9 22:50:10 1993
- ***************
- *** 18,23 ****
- --- 18,34 ----
- along with GAS; see the file COPYING. If not, write to
- the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- +
- +
- +
- + #if 0
- + #define DP(a) printf a
- + #else
- + #define DP(a)
- + #endif
- +
- +
- +
- #include <ctype.h>
-
- #include "m68k-opcode.h"
- ***************
- *** 31,46 ****
- #include "md.h"
- #include "m68k.h"
-
- ! #ifdef M_SUN
- /* This variable contains the value to write out at the beginning of
- ! the a.out file. The 2<<16 means that this is a 68020 file instead
- of an old-style 68000 file */
-
- ! long omagic = 2<<16|OMAGIC; /* Magic byte for header file */
- ! #else
- ! long omagic = OMAGIC;
- ! #endif
- !
-
- /* This array holds the chars that always start a comment. If the
- pre-processor is disabled, these aren't very useful */
- --- 42,55 ----
- #include "md.h"
- #include "m68k.h"
-
- ! extern char *index();
- !
- /* This variable contains the value to write out at the beginning of
- ! the a.out file. The MID_SUN020 means that this is a 68020 file instead
- of an old-style 68000 file */
-
- ! short mid = MID_SUN020;
- ! short omagic = OMAGIC; /* Magic byte for header file */
-
- /* This array holds the chars that always start a comment. If the
- pre-processor is disabled, these aren't very useful */
- ***************
- *** 90,99 ****
- --- 99,120 ----
- #define BCC68000 4
- #define DBCC 5
- #define PCLEA 6
- + #define ABSREL 7
- + #define IMMREL 8
-
- /* BCC68000 is for patching in an extra jmp instruction for long offsets
- on the 68000. The 68000 doesn't support long branches with branchs */
-
- + /* ABSREL (nice name;-)) is used in small-code/-data mode, it might be
- + * implemented base-relative (a4), pc-relative, or base-rel with an extra
- + * add instruction to add the base-register
- + *
- + * IMMREL is the analogous mode for immediate addressing of variables. This
- + * one can lead into situations, where a replacement is not possible:
- + * addl #foo,a0
- + * can't be made pc-relative, if foo is in the text segment */
- +
- +
- /* This table desribes how you change sizes for the various types of variable
- size expressions. This version only supports two kinds. */
-
- ***************
- *** 143,148 ****
- --- 164,179 ----
- { 0, 0, 6, 0 },
- { 1, 1, 0, 0 },
-
- + { 127, -128, 0, 0 },
- + { 32767, -32768, 2, TAB(ABSREL,LONG) },
- + { 0, 0, 6, 0 },
- + { 1, 1, 0, 0 },
- +
- + { 127, -128, 0, 0 },
- + { 32767, -32768, 2, TAB(IMMREL,LONG) },
- + { 0, 0, 6, 0 },
- + { 1, 1, 0, 0 },
- +
- };
-
- void s_data1(), s_data2(), s_even(), s_space();
- ***************
- *** 325,330 ****
- --- 356,362 ----
- char *e_end;
- expressionS e_exp;
- short e_siz; /* 0== default 1==short/byte 2==word 3==long */
- + short e_baserel; /* if the expression is base relative */
- };
-
- /* Internal form of an operand. */
- ***************
- *** 369,374 ****
- --- 401,407 ----
- long int off;
- char wid;
- char pcrel;
- + char baserel;
- } reloc[5]; /* Five is enough??? */
- };
-
- ***************
- *** 398,411 ****
-
-
- /* The numo+1 kludge is so we can hit the low order byte of the prev word. Blecch*/
- ! #define add_fix(width,exp,pc_rel) {\
- the_ins.reloc[the_ins.nrel].n= ((width)=='B') ? (the_ins.numo*2-1) : \
- (((width)=='b') ? ((the_ins.numo-1)*2) : (the_ins.numo*2));\
- the_ins.reloc[the_ins.nrel].add=adds((exp));\
- the_ins.reloc[the_ins.nrel].sub=subs((exp));\
- the_ins.reloc[the_ins.nrel].off=offs((exp));\
- the_ins.reloc[the_ins.nrel].wid=width;\
- ! the_ins.reloc[the_ins.nrel++].pcrel=pc_rel;\
- }
-
- #define add_frag(add,off,type) {\
- --- 431,446 ----
-
-
- /* The numo+1 kludge is so we can hit the low order byte of the prev word. Blecch*/
- ! #define add_fix(width,exp,pc_rel,base_rel) {\
- the_ins.reloc[the_ins.nrel].n= ((width)=='B') ? (the_ins.numo*2-1) : \
- (((width)=='b') ? ((the_ins.numo-1)*2) : (the_ins.numo*2));\
- the_ins.reloc[the_ins.nrel].add=adds((exp));\
- the_ins.reloc[the_ins.nrel].sub=subs((exp));\
- the_ins.reloc[the_ins.nrel].off=offs((exp));\
- the_ins.reloc[the_ins.nrel].wid=width;\
- ! the_ins.reloc[the_ins.nrel].pcrel=pc_rel;\
- ! the_ins.reloc[the_ins.nrel++].baserel=base_rel;\
- ! DP(("add_fix, bsr = %d\n",base_rel));\
- }
-
- #define add_frag(add,off,type) {\
- ***************
- *** 686,692 ****
- i=m68k_reg_parse(&str);
- if((i==FAIL || *str!='\0') && *str!='@') {
- char *stmp;
- - char *index();
-
- if(i!=FAIL && (*str=='/' || *str=='-')) {
- opP->mode=REGLST;
- --- 721,726 ----
- ***************
- *** 885,891 ****
- *s=ss;
- return OK;
- }
- ! if(*ss!=':') {
- opP->error="Missing : in index register";
- *s=ss;
- return FAIL;
- --- 919,927 ----
- *s=ss;
- return OK;
- }
- ! /* to make life a bit easier for Motorola freaks, allow . as well as
- ! * : as size introducer */
- ! if(*ss!=':' && *ss != '.') {
- opP->error="Missing : in index register";
- *s=ss;
- return FAIL;
- ***************
- *** 984,990 ****
- * No argument string should generate such an error string:
- * it means a bug in our code, not in the user's text.
- *
- ! * You MUST have called m86_ip_begin() once and m86_ip_end() never before using
- * this function.
- */
-
- --- 1020,1026 ----
- * No argument string should generate such an error string:
- * it means a bug in our code, not in the user's text.
- *
- ! * You MUST have called m68_ip_begin() once and m68_ip_end() never before using
- * this function.
- */
-
- ***************
- *** 1376,1382 ****
- if(index("bwl",s[1])) nextword=get_num(opP->con1,80);
- else nextword=nextword=get_num(opP->con1,0);
- if(isvar(opP->con1))
- ! add_fix(s[1],opP->con1,0);
- switch(s[1]) {
- case 'b':
- if(!isbyte(nextword))
- --- 1412,1429 ----
- if(index("bwl",s[1])) nextword=get_num(opP->con1,80);
- else nextword=nextword=get_num(opP->con1,0);
- if(isvar(opP->con1))
- ! {
- ! if (flagseen['p'] || flagseen['b'])
- ! {
- ! DP(("adding IMMREL frag\n"));
- ! add_frag (adds(opP->con1),
- ! offs(opP->con1),
- ! TAB(IMMREL, SZ_UNDEF));
- ! break;
- ! }
- ! else
- ! add_fix(s[1],opP->con1,0,0);
- ! }
- switch(s[1]) {
- case 'b':
- if(!isbyte(nextword))
- ***************
- *** 1489,1495 ****
- break;
- } else {
- addword(0x0170);
- ! add_fix('l',opP->con1,1);
- }
- } else
- addword(0x0170);
- --- 1536,1542 ----
- break;
- } else {
- addword(0x0170);
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- }
- } else
- addword(0x0170);
- ***************
- *** 1502,1510 ****
-
- if(isvar(opP->con1)) {
- if(opP->reg==PC) {
- ! add_fix('w',opP->con1,1);
- } else
- ! add_fix('w',opP->con1,0);
- }
- }
- addword(nextword);
- --- 1549,1557 ----
-
- if(isvar(opP->con1)) {
- if(opP->reg==PC) {
- ! add_fix('w',opP->con1,1,opP->con1->e_baserel);
- } else
- ! add_fix('w',opP->con1,0,opP->con1->e_baserel);
- }
- }
- addword(nextword);
- ***************
- *** 1560,1566 ****
- nextword +=baseo&0xff;
- addword(nextword);
- if(isvar(opP->con1))
- ! add_fix('B',opP->con1,0);
- break;
- }
- } else
- --- 1607,1613 ----
- nextword +=baseo&0xff;
- addword(nextword);
- if(isvar(opP->con1))
- ! add_fix('B',opP->con1,0,0);
- break;
- }
- } else
- ***************
- *** 1623,1632 ****
-
- if(isvar(opP->con1)) {
- if(opP->reg==PC || opP->reg==ZPC) {
- ! add_fix(siz1==3 ? 'l' : 'w',opP->con1,1);
- opP->con1->e_exp.X_add_number+=6;
- } else
- ! add_fix(siz1==3 ? 'l' : 'w',opP->con1,0);
- }
- if(siz1==3)
- addword(baseo>>16);
- --- 1670,1679 ----
-
- if(isvar(opP->con1)) {
- if(opP->reg==PC || opP->reg==ZPC) {
- ! add_fix(siz1==3 ? 'l' : 'w',opP->con1,1,opP->con1->e_baserel);
- opP->con1->e_exp.X_add_number+=6;
- } else
- ! add_fix(siz1==3 ? 'l' : 'w',opP->con1,0,opP->con1->e_baserel);
- }
- if(siz1==3)
- addword(baseo>>16);
- ***************
- *** 1635,1644 ****
-
- if(isvar(opP->con2)) {
- if(opP->reg==PC || opP->reg==ZPC) {
- ! add_fix(siz2==3 ? 'l' : 'w',opP->con2,1);
- opP->con1->e_exp.X_add_number+=6;
- } else
- ! add_fix(siz2==3 ? 'l' : 'w',opP->con2,0);
- }
- if(siz2==3)
- addword(outro>>16);
- --- 1682,1691 ----
-
- if(isvar(opP->con2)) {
- if(opP->reg==PC || opP->reg==ZPC) {
- ! add_fix(siz2==3 ? 'l' : 'w',opP->con2,1,opP->con2->e_baserel);
- opP->con1->e_exp.X_add_number+=6;
- } else
- ! add_fix(siz2==3 ? 'l' : 'w',opP->con2,0,opP->con2->e_baserel);
- }
- if(siz2==3)
- addword(outro>>16);
- ***************
- *** 1649,1659 ****
- --- 1696,1708 ----
-
- case ABSL:
- nextword=get_num(opP->con1,80);
- + DP(("case ABSL: opP->con1->e_siz = %d\n",opP->con1->e_siz));
- switch(opP->con1->e_siz) {
- default:
- as_warn("Unknown size for absolute reference");
- case 0:
- if(!isvar(opP->con1) && issword(offs(opP->con1))) {
- + DP(("tmpreg=7.0\n"));
- tmpreg=0x38; /* 7.0 */
- addword(nextword);
- break;
- ***************
- *** 1664,1671 ****
- !subs(opP->con1) &&
- seg(opP->con1)==SEG_TEXT &&
- now_seg==SEG_TEXT &&
- ! flagseen['m']==0 &&
- !index("~%&$?", s[0])) {
- tmpreg=0x3A; /* 7.2 */
- add_frag(adds(opP->con1),
- offs(opP->con1),
- --- 1713,1722 ----
- !subs(opP->con1) &&
- seg(opP->con1)==SEG_TEXT &&
- now_seg==SEG_TEXT &&
- ! (flagseen['m']==0 ||
- ! flagseen['p']==1) &&
- !index("~%&$?", s[0])) {
- + DP(("tmpreg=7.2\n"));
- tmpreg=0x3A; /* 7.2 */
- add_frag(adds(opP->con1),
- offs(opP->con1),
- ***************
- *** 1673,1689 ****
- break;
- }
- case 3: /* Fall through into long */
- if(isvar(opP->con1))
- ! add_fix('l',opP->con1,0);
-
- tmpreg=0x39; /* 7.1 mode */
- addword(nextword>>16);
- addword(nextword);
- break;
-
- case 2: /* Word */
- if(isvar(opP->con1))
- ! add_fix('w',opP->con1,0);
-
- tmpreg=0x38; /* 7.0 mode */
- addword(nextword);
- --- 1724,1765 ----
- break;
- }
- case 3: /* Fall through into long */
- + if (flagseen['p'] || flagseen['b'])
- + {
- + DP(("adding ABSREL frag\n"));
- + tmpreg=0x3A; /* 7.2 */
- + /* opP->con1->e_exp.X_add_number+=2; */
- + add_frag (adds(opP->con1),
- + offs(opP->con1),
- + TAB(ABSREL, SZ_UNDEF));
- + break;
- + }
- +
- +
- + #if 0
- + if (flagseen['b'] && now_seg==SEG_TEXT)
- + {
- + DP(("tmpreg=5.4\n"));
- + add_fix('w', opP->con1, 0, 1);
- + tmpreg = 0x2c; /* 5.4 mode */
- + addword (nextword);
- + break;
- + }
- + #endif
- +
- if(isvar(opP->con1))
- ! add_fix('l',opP->con1,0,opP->con1->e_baserel);
-
- tmpreg=0x39; /* 7.1 mode */
- + DP(("tmpreg=7.1\n"));
- addword(nextword>>16);
- addword(nextword);
- break;
-
- case 2: /* Word */
- if(isvar(opP->con1))
- ! add_fix('w',opP->con1,0,opP->con1->e_baserel);
- ! DP(("tmpreg=7.0#2\n"));
-
- tmpreg=0x38; /* 7.0 mode */
- addword(nextword);
- ***************
- *** 1717,1723 ****
- }
- tmpreg=get_num(opP->con1,tmpreg);
- if(isvar(opP->con1))
- ! add_fix(s[1],opP->con1,0);
- switch(s[1]) {
- case 'b': /* Danger: These do no check for
- certain types of overflow.
- --- 1793,1799 ----
- }
- tmpreg=get_num(opP->con1,tmpreg);
- if(isvar(opP->con1))
- ! add_fix(s[1],opP->con1,0,opP->con1->e_baserel);
- switch(s[1]) {
- case 'b': /* Danger: These do no check for
- certain types of overflow.
- ***************
- *** 1765,1778 ****
- if(opP->con1->e_siz) { /* Deal with fixed size stuff by hand */
- switch(opP->con1->e_siz) {
- case 1:
- ! add_fix('b',opP->con1,1);
- break;
- case 2:
- ! add_fix('w',opP->con1,1);
- addword(0);
- break;
- case 3:
- ! add_fix('l',opP->con1,1);
- addword(0);
- addword(0);
- break;
- --- 1841,1854 ----
- if(opP->con1->e_siz) { /* Deal with fixed size stuff by hand */
- switch(opP->con1->e_siz) {
- case 1:
- ! add_fix('b',opP->con1,1,opP->con1->e_baserel);
- break;
- case 2:
- ! add_fix('w',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- break;
- case 3:
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- addword(0);
- break;
- ***************
- *** 1782,1788 ****
- } else if(subs(opP->con1)) {
- /* We can't relax it */
- the_ins.opcode[the_ins.numo-1]|=0xff;
- ! add_fix('l',opP->con1,1);
- addword(0);
- addword(0);
- } else if(adds(opP->con1)) {
- --- 1858,1864 ----
- } else if(subs(opP->con1)) {
- /* We can't relax it */
- the_ins.opcode[the_ins.numo-1]|=0xff;
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- addword(0);
- } else if(adds(opP->con1)) {
- ***************
- *** 1798,1804 ****
- add_frag((symbolS *)0,offs(opP->con1),TAB(BRANCH,BYTE)); */
- the_ins.opcode[the_ins.numo-1]|=0xff;
- offs(opP->con1)+=4;
- ! add_fix('l',opP->con1,1);
- addword(0);
- addword(0);
- }
- --- 1874,1880 ----
- add_frag((symbolS *)0,offs(opP->con1),TAB(BRANCH,BYTE)); */
- the_ins.opcode[the_ins.numo-1]|=0xff;
- offs(opP->con1)+=4;
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- addword(0);
- }
- ***************
- *** 1815,1821 ****
-
- /* Don't ask! */
- opP->con1->e_exp.X_add_number+=2;
- ! add_fix('w',opP->con1,1);
- }
- addword(0);
- break;
- --- 1891,1897 ----
-
- /* Don't ask! */
- opP->con1->e_exp.X_add_number+=2;
- ! add_fix('w',opP->con1,1,opP->con1->e_baserel);
- }
- addword(0);
- break;
- ***************
- *** 1823,1834 ****
- if(opP->con1->e_siz) {
- switch(opP->con1->e_siz) {
- case 2:
- ! add_fix('w',opP->con1,1)
- addword(0);
- break;
- case 3:
- the_ins.opcode[the_ins.numo-1]|=0x40;
- ! add_fix('l',opP->con1,1);
- addword(0);
- addword(0);
- break;
- --- 1899,1910 ----
- if(opP->con1->e_siz) {
- switch(opP->con1->e_siz) {
- case 2:
- ! add_fix('w',opP->con1,1,opP->con1->e_baserel)
- addword(0);
- break;
- case 3:
- the_ins.opcode[the_ins.numo-1]|=0x40;
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- addword(0);
- break;
- ***************
- *** 1837,1850 ****
- break;
- }
- } else if(subs(opP->con1)) {
- ! add_fix('l',opP->con1,1);
- add_frag((symbolS *)0,(long)0,TAB(FBRANCH,LONG));
- } else if(adds(opP->con1)) {
- add_frag(adds(opP->con1),offs(opP->con1),TAB(FBRANCH,SZ_UNDEF));
- } else {
- /* add_frag((symbolS *)0,offs(opP->con1),TAB(FBRANCH,SHORT)); */
- the_ins.opcode[the_ins.numo-1]|=0x40;
- ! add_fix('l',opP->con1,1);
- addword(0);
- addword(4);
- }
- --- 1913,1926 ----
- break;
- }
- } else if(subs(opP->con1)) {
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- add_frag((symbolS *)0,(long)0,TAB(FBRANCH,LONG));
- } else if(adds(opP->con1)) {
- add_frag(adds(opP->con1),offs(opP->con1),TAB(FBRANCH,SZ_UNDEF));
- } else {
- /* add_frag((symbolS *)0,offs(opP->con1),TAB(FBRANCH,SHORT)); */
- the_ins.opcode[the_ins.numo-1]|=0x40;
- ! add_fix('l',opP->con1,1,opP->con1->e_baserel);
- addword(0);
- addword(4);
- }
- ***************
- *** 2424,2430 ****
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel);
- }
- return;
- }
- --- 2500,2507 ----
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel,
- ! the_ins.reloc[m].baserel);
- }
- return;
- }
- ***************
- *** 2461,2467 ****
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel);
- }
- know(the_ins.fragb[n].fadd);
- (void)frag_var(rs_machine_dependent,10,0,(relax_substateT)(the_ins.fragb[n].fragty),
- --- 2538,2545 ----
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel,
- ! the_ins.reloc[m].baserel);
- }
- know(the_ins.fragb[n].fadd);
- (void)frag_var(rs_machine_dependent,10,0,(relax_substateT)(the_ins.fragb[n].fragty),
- ***************
- *** 2493,2499 ****
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel);
- }
- }
-
- --- 2571,2578 ----
- the_ins.reloc[m].add,
- the_ins.reloc[m].sub,
- the_ins.reloc[m].off,
- ! the_ins.reloc[m].pcrel,
- ! the_ins.reloc[m].baserel);
- }
- }
-
- ***************
- *** 2741,2746 ****
- --- 2820,2827 ----
- /* The displacement of the address, from current location. */
- disp = (fragP->fr_symbol->sy_value + fragP->fr_offset) - object_address;
-
- + DP(("md_convert_frag: fragP->fr_subtype = $%x\n", fragP->fr_subtype));
- +
- switch(fragP->fr_subtype) {
- case TAB(BCC68000,BYTE):
- case TAB(BRANCH,BYTE):
- ***************
- *** 2762,2783 ****
- break;
- case TAB(BRANCH,LONG):
- if(flagseen['m']) {
- ! if(fragP->fr_opcode[0]==0x61) {
- ! fragP->fr_opcode[0]= 0x4E;
- ! fragP->fr_opcode[1]= 0xB9; /* JBSR with ABSL LONG offset */
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset, 0);
- ! fragP->fr_fix+=4;
- ! ext=0;
- ! } else if(fragP->fr_opcode[0]==0x60) {
- ! fragP->fr_opcode[0]= 0x4E;
- ! fragP->fr_opcode[1]= 0xF9; /* JMP with ABSL LONG offset */
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset,0);
- ! fragP->fr_fix+=4;
- ! ext=0;
- ! }else {
- ! as_bad("Long branch offset not supported.");
- }
- } else {
- fragP->fr_opcode[1]=0xff;
- --- 2843,2868 ----
- break;
- case TAB(BRANCH,LONG):
- if(flagseen['m']) {
- ! if (flagseen['p']) {
- ! as_bad("Long branch in small code model, not supported.");
- ! } else {
- ! if(fragP->fr_opcode[0]==0x61) { /* BSR */
- ! fragP->fr_opcode[0]= 0x4E;
- ! fragP->fr_opcode[1]= 0xB9; /* JBSR with ABSL LONG offset */
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset, 0, 0);
- ! fragP->fr_fix+=4;
- ! ext=0;
- ! } else if(fragP->fr_opcode[0]==0x60) {
- ! fragP->fr_opcode[0]= 0x4E;
- ! fragP->fr_opcode[1]= 0xF9; /* JMP with ABSL LONG offset */
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset,0,0);
- ! fragP->fr_fix+=4;
- ! ext=0;
- ! }else {
- ! as_bad("Long branch offset not supported.");
- ! }
- }
- } else {
- fragP->fr_opcode[1]=0xff;
- ***************
- *** 2798,2804 ****
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix += 4;
- ext=0;
- break;
- --- 2883,2889 ----
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix += 4;
- ext=0;
- break;
- ***************
- *** 2816,2822 ****
- fragP->fr_fix += 6; /* account for bra/jmp instructions */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix += 4;
- ext=0;
- break;
- --- 2901,2907 ----
- fragP->fr_fix += 6; /* account for bra/jmp instructions */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix += 4;
- ext=0;
- break;
- ***************
- *** 2829,2842 ****
- ext=4;
- break;
- case TAB(PCREL,SHORT):
- ext=2;
- break;
- case TAB(PCREL,LONG):
- /* The thing to do here is force it to ABSOLUTE LONG, since
- PCREL is really trying to shorten an ABSOLUTE address anyway */
- /* JF FOO This code has not been tested */
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset, 0);
- if((fragP->fr_opcode[1] & 0x3F) != 0x3A)
- as_bad("Internal error (long PC-relative operand) for insn 0x%04lx at 0x%lx",
- fragP->fr_opcode[0],fragP->fr_address);
- --- 2914,2933 ----
- ext=4;
- break;
- case TAB(PCREL,SHORT):
- + DP(("TAB(PCREL,SHORT)\n"));
- ext=2;
- break;
- case TAB(PCREL,LONG):
- + DP(("TAB(PCREL,LONG)\n"));
- /* The thing to do here is force it to ABSOLUTE LONG, since
- PCREL is really trying to shorten an ABSOLUTE address anyway */
- /* JF FOO This code has not been tested */
- +
- + if (flagseen['p'])
- + as_bad ("Trying to force a pcrel thing into absolute mode while in small code mode");
- +
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0, fragP->fr_offset, 0,0);
- if((fragP->fr_opcode[1] & 0x3F) != 0x3A)
- as_bad("Internal error (long PC-relative operand) for insn 0x%04lx at 0x%lx",
- fragP->fr_opcode[0],fragP->fr_address);
- ***************
- *** 2849,2863 ****
- ext=0;
- break;
- case TAB(PCLEA,SHORT):
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset,1);
- fragP->fr_opcode[1] &= ~0x3F;
- fragP->fr_opcode[1] |= 0x3A;
- ext=2;
- break;
- case TAB(PCLEA,LONG):
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP,(int)(fragP->fr_fix)+2,4,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset+2,1);
- *buffer_address++ = 0x01;
- *buffer_address++ = 0x70;
- fragP->fr_fix+=2;
- --- 2940,2956 ----
- ext=0;
- break;
- case TAB(PCLEA,SHORT):
- + DP(("TAB(PCLEA,SHORT)\n"));
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset, 1, 0);
- fragP->fr_opcode[1] &= ~0x3F;
- fragP->fr_opcode[1] |= 0x3A;
- ext=2;
- break;
- case TAB(PCLEA,LONG):
- + DP(("TAB(PCLEA,LONG)\n"));
- subseg_change(SEG_TEXT,0);
- ! fix_new(fragP,(int)(fragP->fr_fix)+2,4,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset+2,1,0);
- *buffer_address++ = 0x01;
- *buffer_address++ = 0x70;
- fragP->fr_fix+=2;
- ***************
- *** 2865,2870 ****
- --- 2958,3046 ----
- ext=4;
- break;
-
- +
- + case TAB(ABSREL,BYTE):
- + DP(("TAB(ABSREL,BYTE)\n"));
- + as_bad ("ABSREL_BYTE: how the ** does this look ?? \n");
- + break;
- + case TAB(ABSREL,SHORT):
- + DP(("TAB(ABSREL,SHORT)\n"));
- + subseg_change (SEG_TEXT, 0);
- + ext = 2;
- + fragP->fr_opcode[1] &= ~0x3f;
- + if ((fragP->fr_symbol->sy_type & N_TYPE) == N_TEXT)
- + {
- + /* so this is really a pc-relative address */
- + fragP->fr_opcode[1] |= 0x3a;
- + fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,(symbolS *)0, fragP->fr_offset+2, 1, 0);
- + break;
- + }
- + /* in that case we have to generate base-relative code
- + * (note: if we're in N_UNDF, this could as well be pc-relative, but the linker
- + * will have to do the final patch in that case) */
- + fragP->fr_opcode[1] |= 0x2c; /* (a4) */
- + fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset, 0, 1);
- + break;
- + case TAB(ABSREL,LONG):
- + DP(("TAB(ABSREL,LONG)\n"));
- + as_bad ("ABSREL_LONG: sorry, not supported.\n");
- + break;
- +
- + case TAB(IMMREL,BYTE):
- + DP(("TAB(IMMREL,BYTE)\n"));
- + as_bad ("IMMREL_BYTE: how the ** does this look ?? \n");
- + break;
- + case TAB(IMMREL,SHORT):
- + DP(("TAB(IMMREL,SHORT)\n"));
- + subseg_change (SEG_TEXT, 0);
- + ext = 0;
- + if ((fragP->fr_symbol->sy_type & N_TYPE) == N_TEXT)
- + {
- + /* we can only fix operations on data registers, not on <ea> */
- + if ((fragP->fr_opcode[1] & 0x38) != 0)
- + {
- + /* use the normal reloc32, sigh... */
- + fix_new (fragP,(int)(fragP->fr_fix),4,fragP->fr_symbol,(symbolS *)0, fragP->fr_offset, 0, 0);
- + fragP->fr_fix += 4;
- + break;
- + }
- +
- + /* so this is really a pc-relative address
- + * What we have to do now is a VERY UGLY AND BIG KLUDGE. Basically do the
- + * following thing:
- + * turn
- + * addl #foo,d0 (foo is N_TEXT)
- + * into
- + * pea foo(pc)
- + * addl (sp)+,d0
- + */
- + *buffer_address++ = fragP->fr_opcode[0]; /* save the original command */
- + *buffer_address++ = fragP->fr_opcode[1];
- + fragP->fr_opcode[0] = 0x48; /* PEA */
- + fragP->fr_opcode[1] = 0x7a;
- + fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,(symbolS *)0, fragP->fr_offset+2, 1, 0);
- +
- + *buffer_address++ = 0x9f; /* sp@+ */
- + fragP->fr_fix += 4; /* two byte fix, two byte code extension */
- + break;
- + }
- + /* in that case we have to generate base-relative code
- + * (note: if we're in N_UNDF, this could as well be pc-relative, but the linker
- + * will have to do the final patch in that case) */
- +
- + /* analogous (more or less;-)) to above, the following conversion is done
- + * turn
- + * addl #bar,d0 (bar is N_DATA)
- + * into
- + * addl #<bar>,d0 where <bar> is a baserel-reloc
- + * addl a4,d0
- + */
- +
- + fix_new(fragP,(int)(fragP->fr_fix), 4,fragP->fr_symbol,(symbolS *)0,fragP->fr_offset, 0, 1);
- + *buffer_address++ = 0xd0;
- + *buffer_address++ = 0x8c;
- + break;
- +
- }
- if(ext) {
- md_number_to_chars(buffer_address,(long)disp,(int)ext);
- ***************
- *** 2885,2890 ****
- --- 3061,3067 ----
-
- old_fix=fragP->fr_fix;
-
- + DP(("md_estimate_size_before_relax, fragP->fr_subtype = $%x\n",fragP->fr_subtype));
- /* handle SZ_UNDEF first, it can be changed to BYTE or SHORT */
- switch(fragP->fr_subtype) {
- case TAB(BRANCH,SZ_UNDEF):
- ***************
- *** 2892,2928 ****
- fragP->fr_subtype=TAB(TABTYPE(fragP->fr_subtype),BYTE);
- break;
- } else if(flagseen['m']) {
- ! if(fragP->fr_opcode[0]==0x61) {
- ! if(flagseen['l']) {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xB8; /* JBSR with ABSL WORD offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0);
- fragP->fr_fix+=2;
- } else {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xB9; /* JBSR with ABSL LONG offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 4,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0);
- fragP->fr_fix+=4;
- }
- frag_wane(fragP);
- ! } else if(fragP->fr_opcode[0]==0x60) {
- ! if(flagseen['l']) {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xF8; /* JMP with ABSL WORD offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0);
- fragP->fr_fix+=2;
- } else {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xF9; /* JMP with ABSL LONG offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 4,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0);
- fragP->fr_fix+=4;
- }
- frag_wane(fragP);
- --- 3069,3125 ----
- fragP->fr_subtype=TAB(TABTYPE(fragP->fr_subtype),BYTE);
- break;
- } else if(flagseen['m']) {
- ! if(fragP->fr_opcode[0]==0x61) { /* BSR */
- ! if (flagseen['p']) {
- ! /* leave the BSR, no need to change
- ! * it into a JSR (PC,..) */
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 1, 0);
- ! fragP->fr_fix+=2;
- ! } else if(flagseen['l']) {
- ! #if 0
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xB8; /* JBSR with ABSL WORD offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0, 0);
- fragP->fr_fix+=2;
- + #else
- + subseg_change(SEG_TEXT, 0);
- + fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,
- + (symbolS *)0,fragP->fr_offset + 2,1, 0);
- + fragP->fr_fix+=2;
- + fragP->fr_opcode[1]=0x00;
- + #endif
- } else {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xB9; /* JBSR with ABSL LONG offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 4,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0, 0);
- fragP->fr_fix+=4;
- }
- frag_wane(fragP);
- ! } else if(fragP->fr_opcode[0]==0x60) { /* BRA */
- ! if(flagseen['p']) {
- ! subseg_change(SEG_TEXT, 0);
- ! fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 1, 0);
- ! fragP->fr_fix+=2;
- ! } else if(flagseen['l']) {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xF8; /* JMP with ABSL WORD offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 2,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0, 0);
- fragP->fr_fix+=2;
- } else {
- fragP->fr_opcode[0]= 0x4E;
- fragP->fr_opcode[1]= 0xF9; /* JMP with ABSL LONG offset */
- subseg_change(SEG_TEXT, 0);
- fix_new(fragP, fragP->fr_fix, 4,
- ! fragP->fr_symbol, 0, fragP->fr_offset, 0, 0);
- fragP->fr_fix+=4;
- }
- frag_wane(fragP);
- ***************
- *** 2931,2943 ****
- }
- } else if(flagseen['l']) { /* Symbol is still undefined. Make it simple */
- fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,
- ! (symbolS *)0,fragP->fr_offset + 2,1);
- fragP->fr_fix+=2;
- fragP->fr_opcode[1]=0x00;
- frag_wane(fragP);
- } else {
- fix_new(fragP,(int)(fragP->fr_fix),4,fragP->fr_symbol,
- ! (symbolS *)0,fragP->fr_offset + 4,1);
- fragP->fr_fix+=4;
- fragP->fr_opcode[1]=0xff;
- frag_wane(fragP);
- --- 3128,3141 ----
- }
- } else if(flagseen['l']) { /* Symbol is still undefined. Make it simple */
- fix_new(fragP,(int)(fragP->fr_fix),2,fragP->fr_symbol,
- ! (symbolS *)0,fragP->fr_offset + 2,1, 0);
- fragP->fr_fix+=2;
- fragP->fr_opcode[1]=0x00;
- frag_wane(fragP);
- } else {
- + DP(("TAB(BRANCH,SZ_UNDEF)\n"));
- fix_new(fragP,(int)(fragP->fr_fix),4,fragP->fr_symbol,
- ! (symbolS *)0,fragP->fr_offset + 4,1,0);
- fragP->fr_fix+=4;
- fragP->fr_opcode[1]=0xff;
- frag_wane(fragP);
- ***************
- *** 2956,2962 ****
- break;
-
- case TAB(PCREL,SZ_UNDEF):
- ! if((fragP->fr_symbol->sy_type&N_TYPE)==segtype || flagseen['l']) {
- fragP->fr_subtype=TAB(PCREL,SHORT);
- fragP->fr_var+=2;
- } else {
- --- 3154,3161 ----
- break;
-
- case TAB(PCREL,SZ_UNDEF):
- ! DP(("TAB(PCREL,SZ_UNDEF)\n"));
- ! if((fragP->fr_symbol->sy_type&N_TYPE)==segtype || flagseen['l'] || flagseen['p']) {
- fragP->fr_subtype=TAB(PCREL,SHORT);
- fragP->fr_var+=2;
- } else {
- ***************
- *** 2981,2987 ****
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 2, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix += 2;
- } else {
- fragP->fr_opcode[1] = 0x06; /* branch offset = 6 */
- --- 3180,3186 ----
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 2, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix += 2;
- } else {
- fragP->fr_opcode[1] = 0x06; /* branch offset = 6 */
- ***************
- *** 2991,2997 ****
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix += 4;
- }
- frag_wane(fragP);
- --- 3190,3196 ----
- fragP->fr_fix += 2; /* account for jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix += 4;
- }
- frag_wane(fragP);
- ***************
- *** 3017,3023 ****
- fragP->fr_fix += 6; /* account for bra/jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 2, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix+=2;
- } else {
- /* JF: these were fr_opcode[5-7] */
- --- 3216,3222 ----
- fragP->fr_fix += 6; /* account for bra/jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 2, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix+=2;
- } else {
- /* JF: these were fr_opcode[5-7] */
- ***************
- *** 3027,3040 ****
- fragP->fr_fix += 6; /* account for bra/jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0);
- fragP->fr_fix += 4;
- }
- frag_wane(fragP);
- break;
-
- case TAB(PCLEA,SZ_UNDEF):
- ! if((fragP->fr_symbol->sy_type&N_TYPE)==segtype || flagseen['l']) {
- fragP->fr_subtype=TAB(PCLEA,SHORT);
- fragP->fr_var+=2;
- } else {
- --- 3226,3240 ----
- fragP->fr_fix += 6; /* account for bra/jmp instruction */
- subseg_change(SEG_TEXT,0);
- fix_new(fragP, fragP->fr_fix, 4, fragP->fr_symbol, 0,
- ! fragP->fr_offset,0,0);
- fragP->fr_fix += 4;
- }
- frag_wane(fragP);
- break;
-
- case TAB(PCLEA,SZ_UNDEF):
- ! DP(("TAB(PCLEA,SZ_UNDEF)\n"));
- ! if((fragP->fr_symbol->sy_type&N_TYPE)==segtype || flagseen['l'] || flagseen['p']) {
- fragP->fr_subtype=TAB(PCLEA,SHORT);
- fragP->fr_var+=2;
- } else {
- ***************
- *** 3043,3048 ****
- --- 3243,3259 ----
- }
- break;
-
- + case TAB(ABSREL,SZ_UNDEF):
- + DP(("TAB(ABSREL,SZ_UNDEF)\n"));
- + if((fragP->fr_symbol->sy_type&N_TYPE)==segtype || flagseen['l'] || flagseen['p']) {
- + fragP->fr_subtype=TAB(ABSREL,SHORT);
- + fragP->fr_var+=2;
- + } else {
- + fragP->fr_subtype=TAB(ABSREL,LONG);
- + fragP->fr_var+=6;
- + }
- + break;
- +
- default:
- break;
- }
- ***************
- *** 3079,3084 ****
- --- 3290,3297 ----
- {
- unsigned char the_bytes[8];
-
- + DP(("md_ri_to_chars: baserel = %d\n", ri.r_baserel));
- +
- /* this is easy */
- md_number_to_chars(the_bytes, ri.r_address, sizeof(ri.r_address));
- /* now the fun stuff */
- ***************
- *** 3086,3099 ****
- the_bytes[5] = (ri.r_symbolnum >> 8) & 0x0ff;
- the_bytes[6] = ri.r_symbolnum & 0x0ff;
- the_bytes[7] = (((ri.r_pcrel << 7) & 0x80) | ((ri.r_length << 5) & 0x60) |
- ! ((ri.r_extern << 4) & 0x10));
- /* now put it back where you found it */
- bcopy (the_bytes, (char *)ri_p, sizeof(struct relocation_info));
- }
-
- #ifndef WORKING_DOT_WORD
- ! const int md_short_jump_size = 4;
- ! const int md_long_jump_size = 6;
-
- void
- md_create_short_jump(ptr,from_addr,to_addr,frag,to_symbol)
- --- 3299,3312 ----
- the_bytes[5] = (ri.r_symbolnum >> 8) & 0x0ff;
- the_bytes[6] = ri.r_symbolnum & 0x0ff;
- the_bytes[7] = (((ri.r_pcrel << 7) & 0x80) | ((ri.r_length << 5) & 0x60) |
- ! ((ri.r_extern << 4) & 0x10) | ((ri.r_baserel << 3) & 0x08));
- /* now put it back where you found it */
- bcopy (the_bytes, (char *)ri_p, sizeof(struct relocation_info));
- }
-
- #ifndef WORKING_DOT_WORD
- ! int md_short_jump_size = 4;
- ! int md_long_jump_size = 6;
-
- void
- md_create_short_jump(ptr,from_addr,to_addr,frag,to_symbol)
- ***************
- *** 3125,3131 ****
- offset=to_addr-to_symbol->sy_value;
- md_number_to_chars(ptr ,(long)0x4EF9,2);
- md_number_to_chars(ptr+2,(long)offset,4);
- ! fix_new(frag,(ptr+2)-frag->fr_literal,4,to_symbol,(symbolS *)0,(long int)0,0);
- } else {
- offset=to_addr - (from_addr+2);
- md_number_to_chars(ptr ,(long)0x60ff,2);
- --- 3338,3344 ----
- offset=to_addr-to_symbol->sy_value;
- md_number_to_chars(ptr ,(long)0x4EF9,2);
- md_number_to_chars(ptr+2,(long)offset,4);
- ! fix_new(frag,(ptr+2)-frag->fr_literal,4,to_symbol,(symbolS *)0,(long int)0,0,0);
- } else {
- offset=to_addr - (from_addr+2);
- md_number_to_chars(ptr ,(long)0x60ff,2);
- ***************
- *** 3184,3203 ****
- }
-
- exp->e_siz=0;
- if(/* ok!=80 && */exp->e_end[-1]==':' && (exp->e_end-exp->e_beg)>=2) {
- switch(exp->e_end[0]) {
- case 's':
- case 'S':
- case 'b':
- - case 'B':
- exp->e_siz=1;
- break;
- - case 'w':
- case 'W':
- exp->e_siz=2;
- break;
- - case 'l':
- case 'L':
- exp->e_siz=3;
- break;
- default:
- --- 3397,3420 ----
- }
-
- exp->e_siz=0;
- + exp->e_baserel = 0;
- if(/* ok!=80 && */exp->e_end[-1]==':' && (exp->e_end-exp->e_beg)>=2) {
- switch(exp->e_end[0]) {
- + case 'B':
- + exp->e_baserel = 1;
- case 's':
- case 'S':
- case 'b':
- exp->e_siz=1;
- break;
- case 'W':
- + exp->e_baserel = 1;
- + case 'w':
- exp->e_siz=2;
- break;
- case 'L':
- + exp->e_baserel = 1;
- + case 'l':
- exp->e_siz=3;
- break;
- default:
- ***************
- *** 3370,3375 ****
- --- 3587,3608 ----
- char ***vecP;
- {
- switch(**argP) {
- + /* additions for pc- and base-relative conversions, MW */
- + case 's':
- + (*argP)++;
- + while (**argP)
- + {
- + if (**argP == 'c')
- + /* small-code, generate pc-relative code */
- + flagseen['p'] = 1;
- + else if (**argP == 'd')
- + flagseen['b'] = 1;
- + else
- + as_warn ("Unknown -s option ignored.");
- + (*argP)++;
- + }
- + break;
- +
- case 'l': /* -l means keep external to 2 bit offset
- rather than 16 bit one */
- break;
- ***************
- *** 3379,3390 ****
- (*argP)++;
- if(**argP=='c')
- (*argP)++;
- ! if(!strcmp(*argP,"68000"))
- flagseen['m']=2;
- ! else if(!strcmp(*argP,"68010")) {
- ! #ifdef M_SUN
- ! omagic= 1<<16|OMAGIC;
- ! #endif
- flagseen['m']=1;
- } else if(!strcmp(*argP,"68020"))
- flagseen['m']=0;
- --- 3612,3622 ----
- (*argP)++;
- if(**argP=='c')
- (*argP)++;
- ! if(!strcmp(*argP,"68000")) {
- flagseen['m']=2;
- ! mid = MID_SUN010; /* rather than SUN020 */
- ! } else if(!strcmp(*argP,"68010")) {
- ! mid = MID_SUN010;
- flagseen['m']=1;
- } else if(!strcmp(*argP,"68020"))
- flagseen['m']=0;
- diff -rcP gas-1.38.1-fsf/m68k.h gas-1.38.1-amiga/m68k.h
- *** gas-1.38.1-fsf/m68k.h
- --- gas-1.38.1-amiga/m68k.h Thu Sep 9 22:49:45 1993
- ***************
- *** 0 ****
- --- 1 ----
- + #include "m-sun3.h"
- diff -rcP gas-1.38.1-fsf/messages.c gas-1.38.1-amiga/messages.c
- *** gas-1.38.1-fsf/messages.c Fri Jan 4 18:12:57 1991
- --- gas-1.38.1-amiga/messages.c Thu Sep 9 22:49:48 1993
- ***************
- *** 73,86 ****
- {
- extern int errno; /* See perror(3) for details. */
- extern int sys_nerr;
- ! extern char * sys_errlist[];
-
- as_where();
- fprintf (stderr,gripe,filename);
- ! if (errno > sys_nerr)
- ! fprintf (stderr, "Unknown error #%d.\n", errno);
- else
- ! fprintf (stderr, "%s.\n", sys_errlist [errno]);
- errno = 0; /* After reporting, clear it. */
- }
-
- --- 73,86 ----
- {
- extern int errno; /* See perror(3) for details. */
- extern int sys_nerr;
- ! int error = errno;
-
- as_where();
- fprintf (stderr,gripe,filename);
- ! if (error > sys_nerr)
- ! fprintf (stderr, "Unknown error #%d.\n", error);
- else
- ! fprintf (stderr, "%s.\n", strerror (error));
- errno = 0; /* After reporting, clear it. */
- }
-
- diff -rcP gas-1.38.1-fsf/read.c gas-1.38.1-amiga/read.c
- *** gas-1.38.1-fsf/read.c Tue Oct 30 18:42:03 1990
- --- gas-1.38.1-amiga/read.c Thu Sep 9 22:49:29 1993
- ***************
- *** 122,128 ****
- static void stab();
- static void stringer();
-
- ! extern char line_comment_chars[];
-
- static char * buffer_limit; /* -> 1 + last char in buffer. */
-
- --- 122,128 ----
- static void stab();
- static void stringer();
-
- ! extern const char line_comment_chars[];
-
- static char * buffer_limit; /* -> 1 + last char in buffer. */
-
- ***************
- *** 1513,1519 ****
- #if !defined(SPARC) && !defined(NS32K) && !defined(I860)
- fix_new (frag_now, p - frag_now -> fr_literal, nbytes,
- exp . X_add_symbol, exp . X_subtract_symbol,
- ! exp . X_add_number, 0);
- #endif
- break;
-
- --- 1513,1519 ----
- #if !defined(SPARC) && !defined(NS32K) && !defined(I860)
- fix_new (frag_now, p - frag_now -> fr_literal, nbytes,
- exp . X_add_symbol, exp . X_subtract_symbol,
- ! exp . X_add_number, 0, 0);
- #endif
- break;
-
- ***************
- *** 1562,1568 ****
- register int work; /* For multi-precision arithmetic. */
- register char * p; /* For multi-precision arithmetic. */
-
- ! extern char hex_value[]; /* In hex_value.c. */
-
- /*
- * The following awkward logic is to parse ZERO or more strings,
- --- 1562,1568 ----
- register int work; /* For multi-precision arithmetic. */
- register char * p; /* For multi-precision arithmetic. */
-
- ! extern const char hex_value[]; /* In hex_value.c. */
-
- /*
- * The following awkward logic is to parse ZERO or more strings,
- diff -rcP gas-1.38.1-fsf/strstr.c gas-1.38.1-amiga/strstr.c
- *** gas-1.38.1-fsf/strstr.c Wed Mar 1 22:48:48 1989
- --- gas-1.38.1-amiga/strstr.c Thu Sep 9 22:49:59 1993
- ***************
- *** 20,26 ****
-
-
- #define CONST
- ! #define SIZET int
-
- #define NULL 0
-
- --- 20,26 ----
-
-
- #define CONST
- ! typedef unsigned long size_t;
-
- #define NULL 0
-
- ***************
- *** 30,39 ****
- CONST char *wanted;
- {
- register CONST char *scan;
- ! register SIZET len;
- register char firstc;
- extern int strcmp();
- ! extern SIZET strlen();
-
- /*
- * The odd placement of the two tests is so "" is findable.
- --- 30,39 ----
- CONST char *wanted;
- {
- register CONST char *scan;
- ! register size_t len;
- register char firstc;
- extern int strcmp();
- ! extern size_t strlen();
-
- /*
- * The odd placement of the two tests is so "" is findable.
- diff -rcP gas-1.38.1-fsf/struc-symbol.h gas-1.38.1-amiga/struc-symbol.h
- *** gas-1.38.1-fsf/struc-symbol.h Fri Jul 6 18:43:12 1990
- --- gas-1.38.1-amiga/struc-symbol.h Thu Sep 9 22:49:56 1993
- ***************
- *** 17,26 ****
- --- 17,30 ----
- along with GAS; see the file COPYING. If not, write to
- the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- + #ifdef amigados
- + #include <a.out.h>
- + #else
- #ifndef VMS
- #include "a.out.gnu.h" /* Needed to define struct nlist. Sigh. */
- #else
- #include "a_out.h"
- + #endif
- #endif
-
- struct symbol /* our version of an nlist node */
- diff -rcP gas-1.38.1-fsf/symbols.c gas-1.38.1-amiga/symbols.c
- *** gas-1.38.1-fsf/symbols.c Thu Oct 18 20:01:13 1990
- --- gas-1.38.1-amiga/symbols.c Thu Sep 9 22:49:46 1993
- ***************
- *** 241,248 ****
- int possible_bytes;
- fragS *frag_tmp;
- char *frag_opcode;
- ! extern md_short_jump_size;
- ! extern md_long_jump_size;
-
- possible_bytes=md_short_jump_size+new_broken_words*md_long_jump_size;
- frag_tmp=frag_now;
- --- 241,248 ----
- int possible_bytes;
- fragS *frag_tmp;
- char *frag_opcode;
- ! extern int md_short_jump_size;
- ! extern int md_long_jump_size;
-
- possible_bytes=md_short_jump_size+new_broken_words*md_long_jump_size;
- frag_tmp=frag_now;
- diff -rcP gas-1.38.1-fsf/version.c gas-1.38.1-amiga/version.c
- *** gas-1.38.1-fsf/version.c Thu Jan 17 19:49:06 1991
- --- gas-1.38.1-amiga/version.c Thu Sep 9 22:49:55 1993
- ***************
- *** 1,23 ****
- ! #if defined(__STDC__) || defined(const)
- ! const
- ! #endif
- ! char version_string[] = "GNU assembler version 1.38\n";
- !
- ! /* DO NOT PUT COMMENTS ABOUT CHANGES IN THIS FILE.
- !
- ! This file exists only to define `version_string'.
- !
- ! Log changes in ChangeLog. The easiest way to do this is with
- ! the Emacs command `add-change-log-entry'. If you don't use Emacs,
- ! add entries of the form:
- !
- ! Thu Jan 1 00:00:00 1970 Dennis Ritchie (dmr at alice)
- !
- ! * universe.c (temporal_reality): Began Time.
- ! */
- !
- ! #ifdef VMS
- ! dummy3()
- ! {
- ! }
- ! #endif
- --- 1 ----
- ! char *version_string = "GNU assembler version 1.38.1";
- diff -rcP gas-1.38.1-fsf/write.c gas-1.38.1-amiga/write.c
- *** gas-1.38.1-fsf/write.c Thu Oct 11 16:26:15 1990
- --- gas-1.38.1-amiga/write.c Thu Sep 9 22:49:47 1993
- ***************
- *** 107,113 ****
- #if defined(SPARC) || defined(I860)
- fix_new (frag, where, size, add_symbol, sub_symbol, offset, pcrel, r_type)
- #else
- ! fix_new (frag, where, size, add_symbol, sub_symbol, offset, pcrel)
- #endif
- fragS * frag; /* Which frag? */
- int where; /* Where in that frag? */
- --- 107,113 ----
- #if defined(SPARC) || defined(I860)
- fix_new (frag, where, size, add_symbol, sub_symbol, offset, pcrel, r_type)
- #else
- ! fix_new (frag, where, size, add_symbol, sub_symbol, offset, pcrel, baserel)
- #endif
- fragS * frag; /* Which frag? */
- int where; /* Where in that frag? */
- ***************
- *** 116,121 ****
- --- 116,122 ----
- symbolS * sub_symbol; /* X_subtract_symbol. */
- long int offset; /* X_add_number. */
- int pcrel; /* TRUE if PC-relative relocation. */
- + int baserel; /* true if base-relative data */
- #if defined(SPARC) || defined(I860)
- int r_type;
- #endif
- ***************
- *** 136,142 ****
- /* JF these 'cuz of the NS32K stuff */
- fixP -> fx_im_disp = 0;
- fixP -> fx_pcrel_adjust = 0;
- ! fixP -> fx_bsr = 0;
- fixP ->fx_bit_fixP = 0;
-
- #if defined(SPARC) || defined(I860)
- --- 137,143 ----
- /* JF these 'cuz of the NS32K stuff */
- fixP -> fx_im_disp = 0;
- fixP -> fx_pcrel_adjust = 0;
- ! fixP -> fx_bsr = baserel;
- fixP ->fx_bit_fixP = 0;
-
- #if defined(SPARC) || defined(I860)
- ***************
- *** 170,177 ****
- void gdb_emit();
- void gdb_end();
- #endif
- ! extern long omagic; /* JF magic # to write out. Is different for
- Suns and Vaxen and other boxes */
-
- #ifdef VMS
- /*
- --- 171,179 ----
- void gdb_emit();
- void gdb_end();
- #endif
- ! extern short omagic; /* JF magic # to write out. Is different for
- Suns and Vaxen and other boxes */
- + extern short mid;
-
- #ifdef VMS
- /*
- ***************
- *** 489,495 ****
- fix_new( lie->frag, lie->word_goes_here - lie->frag->fr_literal,
- 2, lie->add,
- lie->sub, lie->addnum,
- ! 0);
- #endif
- /* md_number_to_chars(lie->word_goes_here,
- lie->add->sy_value
- --- 491,497 ----
- fix_new( lie->frag, lie->word_goes_here - lie->frag->fr_literal,
- 2, lie->add,
- lie->sub, lie->addnum,
- ! 0, 0);
- #endif
- /* md_number_to_chars(lie->word_goes_here,
- lie->add->sy_value
- ***************
- *** 572,578 ****
- md_number_to_chars((char *)&the_exec.a_trsize, tr_siz ,sizeof(the_exec.a_trsize));
- dr_siz=sizeof(struct relocation_info) * fixup_segment (data_fix_root, N_DATA);
- md_number_to_chars((char *)&the_exec.a_drsize, dr_siz, sizeof(the_exec.a_drsize));
- ! md_number_to_chars((char *)&the_exec.a_info,omagic,sizeof(the_exec.a_info));
- md_number_to_chars((char *)&the_exec.a_entry,0,sizeof(the_exec.a_entry));
-
- #ifdef EXEC_MACHINE_TYPE
- --- 574,581 ----
- md_number_to_chars((char *)&the_exec.a_trsize, tr_siz ,sizeof(the_exec.a_trsize));
- dr_siz=sizeof(struct relocation_info) * fixup_segment (data_fix_root, N_DATA);
- md_number_to_chars((char *)&the_exec.a_drsize, dr_siz, sizeof(the_exec.a_drsize));
- ! md_number_to_chars((char *)&the_exec.a_mid,mid,sizeof(the_exec.a_mid));
- ! md_number_to_chars((char *)&the_exec.a_magic,omagic,sizeof(the_exec.a_magic));
- md_number_to_chars((char *)&the_exec.a_entry,0,sizeof(the_exec.a_entry));
-
- #ifdef EXEC_MACHINE_TYPE
- ***************
- *** 1024,1029 ****
- --- 1027,1033 ----
- register char * place;
- register long int where;
- register char pcrel;
- + register char baserel;
- register fragS * fragP;
- register int add_symbol_N_TYPE;
-
- ***************
- *** 1040,1045 ****
- --- 1044,1050 ----
- sub_symbolP = fixP -> fx_subsy;
- add_number = fixP -> fx_offset;
- pcrel = fixP -> fx_pcrel;
- + baserel = fixP -> fx_bsr;
- if(add_symbolP)
- add_symbol_N_TYPE = add_symbolP -> sy_type & N_TYPE;
- if (sub_symbolP)
- ***************
- *** 1093,1099 ****
- #endif
- where + fragP -> fr_address;
- #if defined(NS32K) && defined(SEQUENT_COMPATABILITY)
- ! if (fragP->fr_bsr)
- add_number -= 0x12; /* FOO Kludge alert! */
- #endif
- /* Kenny thinks this needs *
- --- 1098,1104 ----
- #endif
- where + fragP -> fr_address;
- #if defined(NS32K) && defined(SEQUENT_COMPATABILITY)
- ! if (fragP->fr_baserel)
- add_number -= 0x12; /* FOO Kludge alert! */
- #endif
- /* Kenny thinks this needs *
- ***************
- *** 1148,1153 ****
- --- 1153,1162 ----
- seg_reloc_count ++;
- }
- }
- +
- + if (baserel && add_number) /* ###mw is that it....??? */
- + add_number -= text_last_frag->fr_address;
- +
- /* OVE added fx_im_disp for ns32k and others */
- if (!fixP->fx_bit_fixP) {
- /* JF I hope this works . . . */
- ***************
- *** 1206,1214 ****
- if (symbolP = fixP -> fx_addsy)
- {
-
- - #ifdef NS32K
- /* These two 'cuz of NS32K */
- ! ri . r_bsr = fixP -> fx_bsr;
- ri . r_disp = fixP -> fx_im_disp;
- #endif
-
- --- 1215,1223 ----
- if (symbolP = fixP -> fx_addsy)
- {
-
- /* These two 'cuz of NS32K */
- ! ri . r_baserel = fixP -> fx_bsr;
- ! #ifdef NS32K
- ri . r_disp = fixP -> fx_im_disp;
- #endif
-
-