commit eac71db4886803fcbccc07f4f9bdd4c2a713ab5c Author: Clifford T. Matthews Date: Fri Sep 26 08:25:10 2008 -0600 Syn68k from an svn export diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..71b7543 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +$Id: AUTHORS 61 2004-12-21 23:44:50Z ctm $ + +Matthew J. Hostetter +minor contributions by Clifford T. Matthews + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..11b43b8 --- /dev/null +++ b/COPYING @@ -0,0 +1,24 @@ +$Id: COPYING 52 2004-12-16 02:08:47Z ctm $ + +Copyright 1994-2004 Abacus Research & Development, Inc. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..1c8353c --- /dev/null +++ b/ChangeLog @@ -0,0 +1,6 @@ +$Id: ChangeLog 74 2004-12-30 03:38:55Z ctm $ + +2004-12-28 Clifford T. Matthews + + * Still in the process of switching to GNU build system. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..9655c11 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,3 @@ +# $Id: Makefile.am 61 2004-12-21 23:44:50Z ctm $ + +SUBDIRS = syngen runtime test profile diff --git a/Makefile.common.in b/Makefile.common.in new file mode 100644 index 0000000..4b28b28 --- /dev/null +++ b/Makefile.common.in @@ -0,0 +1,488 @@ +#CC = @CC@ +CC = gcc +ifneq "$(findstring cygwin, $(SYN68K_TARGET))" "" + CC += -m486 +endif +LIB_CC = @CC@ +INCLUDE_DIR=$(topdir)/include +CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) +RANLIB = /usr/bin/ranlib +#RANLIB = @RANLIB@ +LIBS = +SYN68K_TARGET=@host@ +OFILE_DIR = . +LIBDIR = . +HOSTCPU = $(SYN68K_TARGET) +host-native=native/i386 + +#----------------------------------------------------------------- +#Makefile.common.alpha-redhat-linux +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "alpha-redhat-linux" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +# NOTE: QUADALIGN DOESN'T WORK RIGHT NOW +# LIB_CFLAGS = -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -DQUADALIGN + +# OPTIMIZE = ./i486-optimize.pl +# CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +# LDFLAGS = -taso +SYN68K_CFLAGS = $(LIB_CFLAGS) -O2 -fomit-frame-pointer +# SYN68K_CFLAGS = -g -Wall -DQUADALIGN + +NO_NATIVE = TRUE +endif +#----------------------------------------------------------------- +#Makefile.common.alpha.orig +#----------------------------------------------------------------- +# ifeq "$(SYN68K_TARGET)" "" +# CC = cc +# OFILE_DIR = obj/alpha +# LIBDIR = ../lib/alpha + +# HOSTCPU = alpha +# RANLIB = /bin/ranlib +# LDFLAGS = -taso +# endif +#----------------------------------------------------------------- +#Makefile.common.i386-msdos-go32 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i386-msdos-go32" + +LIB_CC = i386-msdos-go32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +AR = ar +AS = i386-msdos-go32-gcc -x assembler +RANLIB = ranlib + +LDFLAGS = -Ttext 0 -Tdata 200000 +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i386-next-mach-o.dynamic +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i386-next-mach-o.dynamic" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-next-mach-o +LIBDIR = $(topdir)/lib/i386-next-mach-o +HOSTCPU = i386-next-mach-o + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i386-next-mach-o.static +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i386-next-mach-o.static" +CFLAGS = -static -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + + +LIB_CFLAGS = -static -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-next-mach-o +LIBDIR = $(topdir)/lib/i386-next-mach-o +HOSTCPU = i386-next-mach-o + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i486-pc-cygwin32 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-pc-cygwin32" +CC = gcc -m486 + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -Dfree=free_hack + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer -Dfree=free_hack +endif +#----------------------------------------------------------------- +#Makefile.common.i486-cygwin32-debug +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-cygwin32-debug" +CC = gcc -m486 + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ -Dfree=free_hack + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +# OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +LDFLAGS = -Lhost-native +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-a.out +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-a.out" + +LIB_CC = gcc -b i486-linuxaout +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-a.out-debug +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-linux-a.out-debug" + +LIB_CC = gcc -b i486-linuxaout +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +SYN68K_CFLAGS = $(LIB_CFLAGS) -O + +OFILE_DIR = obj/i486-linux-debug +LIBDIR = $(topdir)/lib/i486-linux-debug + +HOSTCPU = i486-linux-debug + +AR = ar +RANLIB = ranlib + +# don't optimize syn68k.s when compiling with checker +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl + +LDFLAGS = -Lhost-native +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-elf +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-elf" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-elf-debug +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-elf-debug" +CFLAGS = -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +LIB_CFLAGS = -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc-nonnative +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-glibc-nonnative" + +LIB_CFLAGS = -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i486-linux-glibc-nonnative +LIBDIR = $(topdir)/lib/i486-linux-glibc-nonnative + +HOSTCPU = i486-linux-elf + +# OPTIMIZE = ./i486-optimize.pl +# CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O +host-native=native/null +NO_NATIVE = TRUE +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc +#----------------------------------------------------------------- +var_host=@host_alias@ +ifeq "$(var_host)" "" +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +LIB_CC = @CC@ +LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif + +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc-ccr8 +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-linux-glibc-ccr8" + +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ -DNO_FAST_CC_FUNCS + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc-debug +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-linux-glibc-debug" + +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc-nonnative +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-glibc-nonnative" +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNONNATIVE + +LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNONNATIVE + + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -DNONNATIVE -g -D__CHECKER__ + +host-native=native/null +NO_NATIVE = TRUE +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-glibc-slowccr +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-linux-glibc-slowccr" + +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ -DNO_CCR_SPEEDUPS +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +endif +#----------------------------------------------------------------- +#Makefile.common.i486-linux-slam +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-linux-slam" + +LIB_CC = checkergcc +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +SYN68K_FLAGS = $(LIB_CFLAGS) + +OFILE_DIR = obj/i486-linux +LIBDIR = $(topdir)/lib/i486-linux + +HOSTCPU = i486-linux + +AR = /usr/local/lib/checker/ar +RANLIB = /usr/local/lib/checker/ranlib + +# don't optimize syn68k.s when compiling with checker +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl + +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = +endif +#----------------------------------------------------------------- +#Makefile.common.i486-pc-new-cygwin32 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-pc-new-cygwin32" +CC = gcc -m486 + +LIB_CC = i486-pc-cygwin32-gcc -m486 -I/usr/local/i486-pc-cygwin32/include/mingw32 +LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i486-pc-new-cygwin32-debug +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "i486-pc-new-cygwin32-debug" +CC = gcc -m486 + +LIB_CC = i486-pc-cygwin32-gcc -m486 -I/usr/local/i486-pc-cygwin32/include/mingw32 +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +# OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +LDFLAGS = -Lhost-native +endif +#----------------------------------------------------------------- +#Makefile.common.i486-next-ns3 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i486-next-ns3" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i586-cygwin32 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i586-cygwin32" +CC = gcc -m486 + +LIB_CC = i586-cygwin32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +AR = ar +AS = i586-cygwin32-gcc -x assembler +RANLIB = i586-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif +#----------------------------------------------------------------- +#Makefile.common.i586-cygwin32-debug +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i586-cygwin32-debug" +CC = gcc -m486 + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O +endif +#----------------------------------------------------------------- +#Makefile.common.i860 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "i860" +OFILE_DIR = obj/i860 +LIBDIR = ../lib/i860 +LIBS = -L/usr/ucblib -lucb +HOSTCPU = i860 +endif +#----------------------------------------------------------------- +#Makefile.common.m68k-next-ns3 +#----------------------------------------------------------------- +ifeq "$(SYN68K_TARGET)" "m68k-next-ns3" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +RANLIB = /bin/ranlib -c +host-native=native/null +endif +#----------------------------------------------------------------- +#Makefile.common.powerpc-linux-glibc +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "powerpc-linux-glibc" + +LIB_CFLAGS = -O2 -g -Wall -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) + +# OPTIMIZE = ./powerpc-optimize.pl +# CLEANUP = ./powerpc-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O2 -fomit-frame-pointer + +NO_NATIVE = TRUE +endif +#----------------------------------------------------------------- +#Makefile.common.powerpc-linux-glibc-debug +#----------------------------------------------------------------- +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +ifeq "$(SYN68K_TARGET)" "powerpc-linux-glibc-debug" + +LIB_CFLAGS = -g -I$(INCLUDE_DIR) $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/powerpc-linux-glibc-debug +LIBDIR = $(topdir)/lib/powerpc-linux-glibc-debug + +HOSTCPU = powerpc-linux-elf-debug + +# OPTIMIZE = ./powerpc-optimize.pl +# CLEANUP = ./powerpc-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O + +NO_NATIVE = TRUE +endif +#----------------------------------------------------------------- +#Makefile.common.i386-pc-mingw32 +#----------------------------------------------------------------- +#ifeq "$(SYN68K_TARGET)" "i386-pc-mingw32" +#LIB_CC = i386-pc-mingw32-gcc +#LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +#AR = ar +#AS = i386-pc-mingw32-gcc -x assembler +#RANLIB = i386-pc-mingw32-ranlib + +#CLEANUP = ./i486-cleanup.pl +#OPTIMIZE = ./i486-optimize.pl +#SYN68K_CFLAGS = -O2 -fomit-frame-pointer +#endif +#--- +var_host_os=@host_os@ +ifeq "$(var_host_os)" "mingw32" +LIB_CC = @host@-gcc +LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) +AR = ar +AS = i386-pc-mingw32-gcc -x assembler +RANLIB = @host@-ranlib +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer +endif diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..84b9c55 --- /dev/null +++ b/NEWS @@ -0,0 +1,6 @@ +$Id: NEWS 74 2004-12-30 03:38:55Z ctm $ + +Syn68k now uses automake for all the Makefiles, but we do enough +things on our own that we're not getting proper dependency tracking +and most likely make clean doesn't work as well as it could. + diff --git a/README b/README new file mode 100644 index 0000000..a1e96e4 --- /dev/null +++ b/README @@ -0,0 +1,6 @@ +$Id: README 77 2005-01-04 23:51:13Z ctm $ + +Syn68k has not been actively worked on for about ten years. A few +mods have been made here and there to keep up with changes in gcc. + + diff --git a/TODO b/TODO new file mode 100644 index 0000000..36c7617 --- /dev/null +++ b/TODO @@ -0,0 +1,41 @@ +$Id: TODO 77 2005-01-04 23:51:13Z ctm $ + + Make it so that we can install libsyn68k.a and the .h files + + Make so we can build the various debug versions, non-native, etc. + + Figure out exactly which variables Makefile.common.in sets, then + get rid of Makefile.common.in + + see TODO.variables + + figure out what to do concerning bswap + + Look into what else from syn68k we can delete + + Makefile.common.in + + config + + Make sure make clean really does a make clean + + Make sure we get proper dependencies (if possible) + + make sure syn68k builds on a powerpc (either the + old yellow dog linux on sybil, or on Mac OS X on sybil) + + non-native + + figure out *exactly* which options should be available + via configure + + clean the junk out of test (mostly old test results) + + build some semi-canonical test results to use for + comparing on other platforms + + write-up what is needed to do testing on a real m68k + + need a .spec file so we can build syn68k and syn68k-devel + RPMS + diff --git a/TODO.variables b/TODO.variables new file mode 100644 index 0000000..e1acddd --- /dev/null +++ b/TODO.variables @@ -0,0 +1,42 @@ +$Id: TODO.variables 55 2004-12-16 22:00:22Z ctm $ + + + +These are some rough notes associated with Makefile.common. These notes should +go away after syn68k is fully transitioned to using the GNU build system + +NOTE: Need to know the difference between the cross-compiler and the + local compiler + +AR +AS +RANLIB + +CC should probably be CC_FOR_BUILD +CFLAGS should probably be CFLAGS_FOR_BUILD + +CLEANUP i486-cleanup.pl, if we're x86 and we don't have no-native set +OPTIMIZE i486-optimize.pl, if we're x86 and we don't have no-native set + +HOSTCPU UNUSED + +INCLUDE_DIR +LDFLAGS +LIBDIR +LIBS + +LIB_CC should probably be CC +LIB_CFLAGS should probably be LIB_CFLAGS + +NO_NATIVE +OFILE_DIR + +SYN68K_CFLAGS +SYN68K_TARGET + +host-native +var_host +var_host_os + + + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..57e4ac7 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,10 @@ +#! /bin/bash + +# $Id: autogen.sh 65 2004-12-24 19:51:17Z ctm $ + +set -o errexit -o nounset -o noclobber + +aclocal +autoheader +automake --add-missing +autoconf diff --git a/config/Makefile.common.alpha b/config/Makefile.common.alpha new file mode 100644 index 0000000..64a884c --- /dev/null +++ b/config/Makefile.common.alpha @@ -0,0 +1,24 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +# NOTE: QUADALIGN DOESN'T WORK RIGHT NOW +# LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -DQUADALIGN + +OFILE_DIR = obj/alpha-redhat-linux +LIBDIR = $(topdir)/lib/alpha-redhat-linux +LIBS = +HOSTCPU = alpha-redhat-linux + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +# CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +# LDFLAGS = -taso +SYN68K_CFLAGS = $(LIB_CFLAGS) -O2 -fomit-frame-pointer +# SYN68K_CFLAGS = -g -Wall -DQUADALIGN + +NO_NATIVE = TRUE diff --git a/config/Makefile.common.alpha.orig b/config/Makefile.common.alpha.orig new file mode 100644 index 0000000..c17816a --- /dev/null +++ b/config/Makefile.common.alpha.orig @@ -0,0 +1,7 @@ +CC = cc +OFILE_DIR = obj/alpha +LIBDIR = ../lib/alpha +LIBS = +HOSTCPU = alpha +RANLIB = /bin/ranlib +LDFLAGS = -taso diff --git a/config/Makefile.common.i386-msdos-go32 b/config/Makefile.common.i386-msdos-go32 new file mode 100644 index 0000000..79d4d88 --- /dev/null +++ b/config/Makefile.common.i386-msdos-go32 @@ -0,0 +1,18 @@ +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i386-msdos-go32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-msdos-go32 +LIBDIR = $(topdir)/lib/i386-msdos-go32 +LIBS = +HOSTCPU = i386-msdos-go32 + +AR = ar +AS = i386-msdos-go32-gcc -x assembler +RANLIB = ranlib + +LDFLAGS = -Ttext 0 -Tdata 200000 +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i386-next-mach-o.dynamic b/config/Makefile.common.i386-next-mach-o.dynamic new file mode 100644 index 0000000..a13a12b --- /dev/null +++ b/config/Makefile.common.i386-next-mach-o.dynamic @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-next-mach-o +LIBDIR = $(topdir)/lib/i386-next-mach-o +LIBS = +HOSTCPU = i386-next-mach-o + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i386-next-mach-o.static b/config/Makefile.common.i386-next-mach-o.static new file mode 100644 index 0000000..b3a823b --- /dev/null +++ b/config/Makefile.common.i386-next-mach-o.static @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -static -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -static -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-next-mach-o +LIBDIR = $(topdir)/lib/i386-next-mach-o +LIBS = +HOSTCPU = i386-next-mach-o + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i386-pc-mingw32 b/config/Makefile.common.i386-pc-mingw32 new file mode 100644 index 0000000..cf34fec --- /dev/null +++ b/config/Makefile.common.i386-pc-mingw32 @@ -0,0 +1,18 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i386-pc-mingw32-gcc +LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i386-pc-mingw32 +LIBDIR = $(topdir)/lib/i386-pc-mingw32 +LIBS = +HOSTCPU = i386-pc-mingw32 + +AR = ar +AS = i386-pc-mingw32-gcc -x assembler +RANLIB = i386-pc-mingw32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i486-cygwin32 b/config/Makefile.common.i486-cygwin32 new file mode 100644 index 0000000..5537913 --- /dev/null +++ b/config/Makefile.common.i486-cygwin32 @@ -0,0 +1,18 @@ +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -Dfree=free_hack + +OFILE_DIR = obj/i486-pc-cygwin32 +LIBDIR = $(topdir)/lib/i486-pc-cygwin32 +LIBS = +HOSTCPU = i486-pc-cygwin32 + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer -Dfree=free_hack diff --git a/config/Makefile.common.i486-cygwin32.debug b/config/Makefile.common.i486-cygwin32.debug new file mode 100644 index 0000000..e1deb88 --- /dev/null +++ b/config/Makefile.common.i486-cygwin32.debug @@ -0,0 +1,21 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -Dfree=free_hack + +OFILE_DIR = obj/i486-pc-cygwin32-debug +LIBDIR = $(topdir)/lib/i486-pc-cygwin32-debug +LIBS = +HOSTCPU = i486-pc-cygwin32-debug + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +# OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +LDFLAGS = -Lhost-native diff --git a/config/Makefile.common.i486-linux-a.out b/config/Makefile.common.i486-linux-a.out new file mode 100644 index 0000000..4facf5c --- /dev/null +++ b/config/Makefile.common.i486-linux-a.out @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc -b i486-linuxaout +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i486-linux-a.out +LIBDIR = $(topdir)/lib/i486-linux-a.out +LIBS = +HOSTCPU = i486-linux-a.out + +RANLIB = /usr/bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i486-linux-a.out-debug b/config/Makefile.common.i486-linux-a.out-debug new file mode 100644 index 0000000..3283adf --- /dev/null +++ b/config/Makefile.common.i486-linux-a.out-debug @@ -0,0 +1,23 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc -b i486-linuxaout +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +SYN68K_CFLAGS = $(LIB_CFLAGS) -O + +OFILE_DIR = obj/i486-linux-debug +LIBDIR = $(topdir)/lib/i486-linux-debug +LIBS = +HOSTCPU = i486-linux-debug + +AR = ar +RANLIB = ranlib + +# don't optimize syn68k.s when compiling with checker +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl + +LDFLAGS = -Lhost-native diff --git a/config/Makefile.common.i486-linux-elf b/config/Makefile.common.i486-linux-elf new file mode 100644 index 0000000..5a03cfc --- /dev/null +++ b/config/Makefile.common.i486-linux-elf @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i486-linux-elf +LIBDIR = $(topdir)/lib/i486-linux-elf +LIBS = +HOSTCPU = i486-linux-elf + +RANLIB = /usr/bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i486-linux-elf-nonnative b/config/Makefile.common.i486-linux-elf-nonnative new file mode 100644 index 0000000..e6e3d3f --- /dev/null +++ b/config/Makefile.common.i486-linux-elf-nonnative @@ -0,0 +1,20 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i486-linux-elf-nonnative +LIBDIR = $(topdir)/lib/i486-linux-elf-nonnative +LIBS = +HOSTCPU = i486-linux-elf + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +# CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -O + +NO_NATIVE = TRUE + diff --git a/config/Makefile.common.i486-linux-elf.debug b/config/Makefile.common.i486-linux-elf.debug new file mode 100644 index 0000000..e236b56 --- /dev/null +++ b/config/Makefile.common.i486-linux-elf.debug @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i486-linux-elf-debug +LIBDIR = $(topdir)/lib/i486-linux-elf-debug +LIBS = +HOSTCPU = i486-linux-elf-debug + +RANLIB = /usr/bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) diff --git a/config/Makefile.common.i486-linux-glibc b/config/Makefile.common.i486-linux-glibc new file mode 100644 index 0000000..1f4fdf1 --- /dev/null +++ b/config/Makefile.common.i486-linux-glibc @@ -0,0 +1,18 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i486-linux-glibc +LIBDIR = $(topdir)/lib/i486-linux-glibc +LIBS = +HOSTCPU = i486-linux-glibc + +RANLIB = /usr/bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native + +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i486-linux-glibc-ccr8 b/config/Makefile.common.i486-linux-glibc-ccr8 new file mode 100644 index 0000000..02b363f --- /dev/null +++ b/config/Makefile.common.i486-linux-glibc-ccr8 @@ -0,0 +1,19 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNO_FAST_CC_FUNCS + +OFILE_DIR = obj/i486-linux-glibc-ccr8 +LIBDIR = $(topdir)/lib/i486-linux-glibc-ccr8 +LIBS = +HOSTCPU = i486-linux-glibc-ccr8 + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O diff --git a/config/Makefile.common.i486-linux-glibc-debug b/config/Makefile.common.i486-linux-glibc-debug new file mode 100644 index 0000000..7c92898 --- /dev/null +++ b/config/Makefile.common.i486-linux-glibc-debug @@ -0,0 +1,19 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i486-linux-glibc-debug +LIBDIR = $(topdir)/lib/i486-linux-glibc-debug +LIBS = +HOSTCPU = i486-linux-glibc-debug + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) diff --git a/config/Makefile.common.i486-linux-glibc-nonnative b/config/Makefile.common.i486-linux-glibc-nonnative new file mode 100644 index 0000000..af8af14 --- /dev/null +++ b/config/Makefile.common.i486-linux-glibc-nonnative @@ -0,0 +1,20 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNONNATIVE + +LIB_CC = gcc +LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNONNATIVE + +OFILE_DIR = obj/i486-linux-glibc-nonnative +LIBDIR = $(topdir)/lib/i486-linux-glibc-nonnative +LIBS = +HOSTCPU = i486-linux-glibc + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = -DNONNATIVE -g -D__CHECKER__ + +NO_NATIVE = TRUE + diff --git a/config/Makefile.common.i486-linux-glibc-slowccr b/config/Makefile.common.i486-linux-glibc-slowccr new file mode 100644 index 0000000..9a1d393 --- /dev/null +++ b/config/Makefile.common.i486-linux-glibc-slowccr @@ -0,0 +1,19 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ -DNO_CCR_SPEEDUPS + +OFILE_DIR = obj/i486-linux-glibc-slowccr +LIBDIR = $(topdir)/lib/i486-linux-glibc-slowccr +LIBS = +HOSTCPU = i486-linux-glibc-slowccr + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O diff --git a/config/Makefile.common.i486-linux-slam b/config/Makefile.common.i486-linux-slam new file mode 100644 index 0000000..e6df62b --- /dev/null +++ b/config/Makefile.common.i486-linux-slam @@ -0,0 +1,25 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = checkergcc +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) + +SYN68K_FLAGS = $(LIB_CFLAGS) + +OFILE_DIR = obj/i486-linux +LIBDIR = $(topdir)/lib/i486-linux +LIBS = +HOSTCPU = i486-linux + +AR = /usr/local/lib/checker/ar +RANLIB = /usr/local/lib/checker/ranlib + +# don't optimize syn68k.s when compiling with checker +# OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl + +LDFLAGS = -Lhost-native +SYN68K_CFLAGS = + + + diff --git a/config/Makefile.common.i486-new-cygwin32 b/config/Makefile.common.i486-new-cygwin32 new file mode 100644 index 0000000..3b6265e --- /dev/null +++ b/config/Makefile.common.i486-new-cygwin32 @@ -0,0 +1,18 @@ +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i486-pc-cygwin32-gcc -m486 -I/usr/local/i486-pc-cygwin32/include/mingw32 +LIB_CFLAGS = -O6 -finline-functions -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i486-pc-new-cygwin32 +LIBDIR = $(topdir)/lib/i486-pc-new-cygwin32 +LIBS = +HOSTCPU = i486-pc-new-cygwin32 + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i486-new-cygwin32.debug b/config/Makefile.common.i486-new-cygwin32.debug new file mode 100644 index 0000000..2ae760e --- /dev/null +++ b/config/Makefile.common.i486-new-cygwin32.debug @@ -0,0 +1,21 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i486-pc-cygwin32-gcc -m486 -I/usr/local/i486-pc-cygwin32/include/mingw32 +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i486-pc-new-cygwin32-debug +LIBDIR = $(topdir)/lib/i486-pc-new-cygwin32-debug +LIBS = +HOSTCPU = i486-pc-new-cygwin32-debug + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +# OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = $(LIB_CFLAGS) -O +LDFLAGS = -Lhost-native diff --git a/config/Makefile.common.i486-next-ns3 b/config/Makefile.common.i486-next-ns3 new file mode 100644 index 0000000..6e7b9f7 --- /dev/null +++ b/config/Makefile.common.i486-next-ns3 @@ -0,0 +1,17 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i486-next-ns3 +LIBDIR = $(topdir)/lib/i486-next-ns3 +LIBS = +HOSTCPU = i486-next-ns3 + +RANLIB = /bin/ranlib + +OPTIMIZE = ./i486-optimize.pl +CLEANUP = ./i486-cleanup.pl +LDFLAGS = +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i586-cygwin32 b/config/Makefile.common.i586-cygwin32 new file mode 100644 index 0000000..004e097 --- /dev/null +++ b/config/Makefile.common.i586-cygwin32 @@ -0,0 +1,18 @@ +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i586-cygwin32-gcc -m486 +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/i586-cygwin32 +LIBDIR = $(topdir)/lib/i586-cygwin32 +LIBS = +HOSTCPU = i586-cygwin32 + +AR = ar +AS = i586-cygwin32-gcc -x assembler +RANLIB = i586-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O2 -fomit-frame-pointer diff --git a/config/Makefile.common.i586-cygwin32.debug b/config/Makefile.common.i586-cygwin32.debug new file mode 100644 index 0000000..6a5eead --- /dev/null +++ b/config/Makefile.common.i586-cygwin32.debug @@ -0,0 +1,18 @@ +CC = gcc -m486 +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = i486-pc-cygwin32-gcc -m486 +LIB_CFLAGS = -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/i586-cygwin32-debug +LIBDIR = $(topdir)/lib/i586-cygwin32-debug +LIBS = +HOSTCPU = i586-cygwin32-debug + +AR = ar +AS = i486-pc-cygwin32-gcc -x assembler +RANLIB = i486-pc-cygwin32-ranlib + +CLEANUP = ./i486-cleanup.pl +OPTIMIZE = ./i486-optimize.pl +SYN68K_CFLAGS = -O diff --git a/config/Makefile.common.i860 b/config/Makefile.common.i860 new file mode 100644 index 0000000..433994f --- /dev/null +++ b/config/Makefile.common.i860 @@ -0,0 +1,5 @@ +CC = gcc +OFILE_DIR = obj/i860 +LIBDIR = ../lib/i860 +LIBS = -L/usr/ucblib -lucb +HOSTCPU = i860 diff --git a/config/Makefile.common.m68k-next-ns3 b/config/Makefile.common.m68k-next-ns3 new file mode 100644 index 0000000..e17fce9 --- /dev/null +++ b/config/Makefile.common.m68k-next-ns3 @@ -0,0 +1,13 @@ +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/m68k-next-ns3 +LIBDIR = $(topdir)/lib/m68k-next-ns3 +LIBS = + +RANLIB = /bin/ranlib -c + +HOSTCPU = m68k-next-ns3 diff --git a/config/Makefile.common.powerpc-linux-glibc b/config/Makefile.common.powerpc-linux-glibc new file mode 100644 index 0000000..6cd1956 --- /dev/null +++ b/config/Makefile.common.powerpc-linux-glibc @@ -0,0 +1,21 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +OFILE_DIR = obj/powerpc-linux-glibc +LIBDIR = $(topdir)/lib/powerpc-linux-glibc +LIBS = +HOSTCPU = powerpc-linux-glibc + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./powerpc-optimize.pl +# CLEANUP = ./powerpc-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O2 -fomit-frame-pointer + +NO_NATIVE = TRUE diff --git a/config/Makefile.common.powerpc-linux-glibc-debug b/config/Makefile.common.powerpc-linux-glibc-debug new file mode 100644 index 0000000..62a1be4 --- /dev/null +++ b/config/Makefile.common.powerpc-linux-glibc-debug @@ -0,0 +1,21 @@ +# NOTE: we define __CHECKER__ so that we get a frame pointer and other +# good stuff. We're not actually using checker. D'oh. +CC = gcc +CFLAGS = -O2 -g -Wall -I$(topdir)/include $(LOCAL_CFLAGS) + +LIB_CC = gcc +LIB_CFLAGS = -g -I$(topdir)/include $(LOCAL_CFLAGS) -D__CHECKER__ + +OFILE_DIR = obj/powerpc-linux-glibc-debug +LIBDIR = $(topdir)/lib/powerpc-linux-glibc-debug +LIBS = +HOSTCPU = powerpc-linux-elf-debug + +RANLIB = /usr/bin/ranlib + +# OPTIMIZE = ./powerpc-optimize.pl +# CLEANUP = ./powerpc-cleanup.pl +# LDFLAGS = -Lhost-native +SYN68K_CFLAGS = $(LIB_CFLAGS) -O + +NO_NATIVE = TRUE diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..6dda43a --- /dev/null +++ b/configure.ac @@ -0,0 +1,143 @@ +# $Id: configure.ac 72 2004-12-28 15:57:12Z ctm $ + +AC_INIT(syn68k, 1.0, ctm@ardi.com) +AM_INIT_AUTOMAKE + +AC_CONFIG_SRCDIR([syngen/main.c]) +AC_CONFIG_HEADER([config.h]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_RANLIB +AM_PROG_AS + +AC_CHECK_PROG([PERL], [perl], [perl]) +AC_ARG_VAR([PERL], [perl for preening assembly]) + +#SUBDIRS="syngen runtime test profile" +#configdirs="syngen runtime test profile" + +AC_CANONICAL_BUILD +AC_CANONICAL_HOST + +AC_MSG_CHECKING([(non-cross) C compiler for building tools]) +if test "$cross_compiling" = "yes"; then + CC_FOR_BUILD="${CC_FOR_BUILD-gcc}" +else + CC_FOR_BUILD="${CC_FOR_BUILD-$CC}" +fi +AC_MSG_RESULT([$CC_FOR_BUILD]) +AC_ARG_VAR(CC_FOR_BUILD,[C compiler for building tools]) + +CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-}" +AC_ARG_VAR(CFLAGS_FOR_BUILD,[C flags for building tools]) + +AC_MSG_CHECKING([Syn68k C flags (TODO: FIXME)]) +SYN68K_CFLAGS="${SYN68K_CFLAGS--O2 -fomit-frame-pointer}" +AC_MSG_RESULT([$SYN68K_CFLAGS]) +AC_ARG_VAR(SYN68K_CFLAGS,[Syn68k C flags (TODO: FIXME)]) + +AC_MSG_CHECKING([cleanup script]) +CLEANUP="${CLEANUP-./i486-cleanup.pl}" +AC_MSG_RESULT([$CLEANUP]) +AC_ARG_VAR(CLEANUP,[cleanup script]) + +AC_MSG_CHECKING([optimization script]) +OPTIMIZE="${OPTIMIZE-./i486-optimize.pl}" +AC_MSG_RESULT([$OPTIMIZE]) +AC_ARG_VAR(OPTIMIZE,[optimization script]) + +if test "$host_alias" = ""; then + host=i486-linux-glibc +fi + +case $host_cpu in + i?86) + host_cpu_class=i386;; + *) + host_cpu_class=$host_cpu;; +esac + +AC_SUBST(host_cpu_class) + +HOST_NATIVE="native/i386" +AC_SUBST(HOST_NATIVE) + +AC_ARG_ENABLE([native], + AC_HELP_STRING([--enable-native], + [native or nonnative (default is native)]), + [var_native=$enable_native], [var_native=no] ) +if test "$var_native" = "yes"; then + NO_NATIVE=TRUE +else + NO_NATIVE=FALSE +fi +AC_SUBST(NO_NATIVE) + +AC_ARG_ENABLE([debug], + AC_HELP_STRING([--enable-debug], + [use debug -g (default is yes)]), + [var_debug=$enable_debug] ,[var_debug=yes] ) +if test "$var_debug" = "no" ; then + DEBUGFLAG="" +else + DEBUGFLAG="-g" +fi +AC_SUBST(DEBUGFLAG) + +#AC_MSG_NOTICE([]) + +AC_ARG_WITH(ccrversion, +[ --with-ccrversion= + Specify ccr version], +[ccrversion=$withval], +[ccrversion]="") + +case "$ccrversion" in + ccr8) + CCRFLAG=ccr8 ;; + *) + CCRFLAG="" ;; +esac + +# Checks for libraries. +#AC_CHECK_LIB([], []) + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([stddef.h stdlib.h string.h sys/param.h unistd.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_INLINE +AC_TYPE_SIZE_T +AC_C_VOLATILE + +# Checks for library functions. +AC_FUNC_ALLOCA +AC_FUNC_ERROR_AT_LINE +AC_FUNC_MEMCMP +AC_FUNC_MMAP +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_FUNC_VPRINTF +AC_CHECK_FUNCS([getpagesize memmove memset strchr strdup strerror strstr]) + +#if test -n "$configdirs"; then +# AC_CONFIG_SUBDIRS($configdirs) +#fi + +#AC_SUBST(SUBDIRS) + +AM_CONDITIONAL([M68K_HOSTCPU], [test "$host_alias" = "m68k-next-ns3"]) + +AC_CONFIG_FILES([Makefile + syngen/Makefile + test/Makefile + profile/Makefile + runtime/Makefile + runtime/native/i386/Makefile + include/syn68k_private.h]) +dnl runtime/native/null/Makefile + +AC_OUTPUT diff --git a/include/safe_alloca.h b/include/safe_alloca.h new file mode 100644 index 0000000..4f452bb --- /dev/null +++ b/include/safe_alloca.h @@ -0,0 +1,55 @@ +#if !defined(__safe_alloca__) +#define __safe_alloca__ + +#include + +#if !defined(NDEBUG) + +#define FIREWALL_START 0x940504FE +#define FIREWALL_STOP_0 0xEE +#define FIREWALL_STOP_1 0x41 +#define FIREWALL_STOP_2 0x51 +#define FIREWALL_STOP_3 0x59 + +/* + * I don't like this implementation, but it works. + */ + +#define SAFE_DECL() \ + unsigned long ___newsize; \ + unsigned char *___tempptr + +#define SAFE_alloca(size) \ + ( \ + ___newsize = (size) + 3 * sizeof(long), \ + ___tempptr = alloca(___newsize), \ + ((long *)___tempptr)[0] = ___newsize, \ + ((long *)___tempptr)[1] = FIREWALL_START, \ + ___tempptr[___newsize-4] = FIREWALL_STOP_0, \ + ___tempptr[___newsize-3] = FIREWALL_STOP_1, \ + ___tempptr[___newsize-2] = FIREWALL_STOP_2, \ + ___tempptr[___newsize-1] = FIREWALL_STOP_3, \ + (void *) (___tempptr + 2 * sizeof(long)) \ + ) + +#define ASSERT_SAFE(var) \ + do { \ + ___tempptr = (unsigned char *) (var); \ + ___tempptr -= 2 * sizeof(long); \ + assert(((long *)___tempptr)[1] == FIREWALL_START); \ + ___newsize = ((long *)___tempptr)[0]; \ + assert(___tempptr[___newsize-4] == FIREWALL_STOP_0); \ + assert(___tempptr[___newsize-3] == FIREWALL_STOP_1); \ + assert(___tempptr[___newsize-2] == FIREWALL_STOP_2); \ + assert(___tempptr[___newsize-1] == FIREWALL_STOP_3); \ + } while (0) + +#else /* defined(NDEBUG) */ + +#define SAFE_DECL() unsigned long ___newsize +#define SAFE_alloca(size) alloca(size) +#define ASSERT_SAFE(var) do {} while (0) + +#endif /* defined(NDEBUG) */ + +#endif /* !defined(__safe_alloca__) */ diff --git a/include/syn68k_private.h.in b/include/syn68k_private.h.in new file mode 100644 index 0000000..ce9cee2 --- /dev/null +++ b/include/syn68k_private.h.in @@ -0,0 +1,290 @@ +/* This file contains information needed by both the compile time and runtime + * portions of the 68k emulator. + */ + +#ifndef _syn68k_private_h_ +#define _syn68k_private_h_ + +/* $Id: syn68k_private.h.in 72 2004-12-28 15:57:12Z ctm $ */ + +#include "syn68k_public.h" +#include + +#define ALL_CCS 0x1F + +/* Note: these are _not_ the order in which the bits appear in the ccr. + * For historical reasons, we keep track of them alphabetically. + */ +#define M68K_CC_NONE 0 +#define M68K_CCC 0x10 +#define M68K_CCN 0x8 +#define M68K_CCV 0x4 +#define M68K_CCX 0x2 +#define M68K_CCZ 0x1 +#define M68K_CC_ALL 0x1F + +/* Shorthand for some common combinations. */ +#define M68K_CC_CNVZ (M68K_CCC | M68K_CCN | M68K_CCV | M68K_CCZ) +#define M68K_CC_CNVXZ (M68K_CCC | M68K_CCN | M68K_CCV | M68K_CCX | M68K_CCZ) + + +/* For machines with few registers, it is worth our while to put the 68000 + * registers into an array and random access them. + * + * It's been a while since this was defined -- if it's not defined, we might + * not be able to build. + */ +# define M68K_REGS_IN_ARRAY + +/* If a machine rounds all divisions towards zero and the remainder always + * has the same sign as the dividend, #define this for better speed. It + * should work even if you leave it undefined though. If you have problems + * with divide, try undef'ing this to use the slower but safer version. + */ +#if @host_cpu_class@ == i386 /* ||defined(mc68000) || defined(i386) || defined(__alpha) || defined (powerpc) || defined (__ppc__) */ +# define M68K_DIVISION_BEHAVIOR +#endif + +#if defined(__alpha) +/* #define TEMPS_AT_TOP */ +#endif + + +/* Use faster threaded code if the needed gcc extensions are present.*/ +#if defined (__GNUC__ ) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 4)) && !defined (NONDIRECT) +# define USE_DIRECT_DISPATCH +#endif + + +/* #define this if support exists for generating native code in some + * situations. + */ +#if defined (USE_DIRECT_DISPATCH) && @host_cpu_class@ == i386 && !defined (NONNATIVE) +# define GENERATE_NATIVE_CODE +#endif + + +#if defined (SYNCHRONOUS_INTERRUPTS) && !defined (GENERATE_NATIVE_CODE) +/* This is easy to fix, but I have more pressing things to work on. + * The problem is that, without native code, there is no synthetic opcode + * at the beginning of each block that checks for an interrupt. + * The proper way to rectify this is to return to the good old days + * when all synthetic opcodes that could branch backwards would check + * for an interrupt. With native code, we check at the beginning of + * each block, not on branches (it's much easier that way), so you do + * NOT want to check for interrupts on backwards synthetic branches + * if GENERATE_NATIVE_CODE is defined. + * + * NOTE: I (ctm) fixed this, although I don't guarantee that my fix is + * as fast as Mat's would have been. + */ +#endif + + +#ifdef USE_DIRECT_DISPATCH +extern const void *direct_dispatch_table[]; +#endif + + +#ifdef SYNCHRONOUS_INTERRUPTS +# define BLOCK_INTERRUPTS(save) (save = 0) +# define RESTORE_INTERRUPTS(save) +#else /* !SYNCHRONOUS_INTERRUPTS */ +# ifdef MSDOS +extern int dos_block_interrupts (void); +extern void dos_restore_interrupts (int); +# define BLOCK_INTERRUPTS(save) (save = dos_block_interrupts ()) +# define RESTORE_INTERRUPTS(save) dos_restore_interrupts (save) +# else /* Not MSDOS */ +# define SIGNALS_TO_BLOCK (sigmask(SIGALRM) | sigmask(SIGURG) \ + | sigmask(SIGVTALRM) | sigmask(SIGIO)) +# define BLOCK_INTERRUPTS(save) (save = sigblock (SIGNALS_TO_BLOCK)); +# define RESTORE_INTERRUPTS(save) sigsetmask (save) +# endif /* Not MSDOS */ +#endif /* !SYNCHRONOUS_INTERRUPTS */ + +/* Data types. */ +#if !defined(FALSE) && !defined(TRUE) +typedef enum { FALSE, TRUE, NO = 0, YES = 1 } BOOL; +#else /* defined(FALSE) || defined(TRUE) */ +typedef enum { NO = 0, YES = 1 } BOOL; +#endif /* defined(FALSE) || defined(TRUE) */ + +#ifndef NULL +#define NULL ((void *)0) +#endif + +#define PTR_BYTES (sizeof (void *)) +#define PTR_WORDS (PTR_BYTES / sizeof (uint16)) +#define OPCODE_BYTES PTR_BYTES +#define OPCODE_WORDS PTR_WORDS + +/* Many 68k opcodes have useful operands which will not be implicit in the + * synthetic opcode. The translator will extract these operands, translate + * them to a useful form, and place them in the interpreted instruction + * stream (in order). This struct describes both the location of these + * operands in the 68k instruction stream and how to translate them to + * a form useful to the interpreter. Only 32 bit, word aligned bitfields + * are allowed to span multiple words. Note: foo.index == MAGIC_END_INDEX + * && foo.length == MAGIC_END_LENGTH implies the end of the bitfield list. + */ +#define MAGIC_END_INDEX 126 +#define MAGIC_END_LENGTH 30 +#define IS_TERMINATING_BITFIELD(p) ((p)->index == MAGIC_END_INDEX \ + && (p)->length == MAGIC_END_LENGTH) +typedef struct { + uint16 rev_amode :1; /* If 1, swap high 3 bits w/low 3 bits for 6 bit # */ + uint16 index :7; /* # of bits into instruction for this bitfield. */ + uint16 length :5; /* Length, in bits, of this bitfield, minus 1. */ + uint16 sign_extend :1; /* Boolean: sign extend the resulting number? */ + uint16 make_native_endian :1; /* Swap bytes if we're little endian? */ + uint16 words :1; /* # of words to expand this number into, minus 1. */ +} BitfieldInfo; + + +#define MAX_BITFIELDS 4 + +/* This struct contains information needed to map from 68k opcodes to + * synthetic cpu opcodes. Typically you would have one of these structs + * for each cc bit variant of each 68k opcode, although of course the + * point of the design of this structure is that sequences of these can + * be shared by many distinct 68k opcode bit patterns. + */ +typedef struct { + uint32 sequence_parity :1; /* Identifies contiguous blocks of these. */ + + /* CC bit information. */ + uint32 cc_may_set :5; /* CC bits not necessarily left alone. */ + uint32 cc_may_not_set :5; /* CC bits not necessarily changed. */ + uint32 cc_needed :5; /* CC bits which must be valid for this. */ + + /* 68k opcode information. */ + uint32 instruction_words :4; /* # of 16 bit words taken by 68k opcode. */ + uint32 ends_block :1; /* Boolean: does this end a basic block? */ + uint32 next_block_dynamic :1; /* Boolean: next block known runtime only. */ + + /* Are there addressing modes, and did we expand them? */ + uint32 amode_size :2; /* 0:none, 1:byte, 2:word, 3:long. */ + uint32 reversed_amode_size :2; /* 0:none, 1:byte, 2:word, 3:long. */ + uint32 amode_expanded :1; /* If has amode, was it expanded? */ + uint32 reversed_amode_expanded :1; /* If has reversed_amode, " " " ? */ + + /* Bit pattern mapping information. This lets us compute the synthetic + * opcode from the 68k opcode. + */ + uint32 opcode_shift_count :4; /* # of bits by which to >> 68k opcode. */ + uint16 opcode_and_bits; /* Mask with which to & 68k opcode. */ + uint16 opcode_add_bits; /* Bits to add to 68k opcode. */ + + /* Actual bitfield extraction/translation information. */ + BitfieldInfo bitfield[MAX_BITFIELDS]; /* Bitfields to parse & translate. */ + +#ifdef GENERATE_NATIVE_CODE +# ifdef SYNGEN + const char *guest_code_descriptor; /* We only know its name here. */ +# else /* !SYNGEN */ + const struct _guest_code_descriptor_t *guest_code_descriptor; +# endif /* !SYNGEN */ +#endif /* GENERATE_NATIVE_CODE */ +} OpcodeMappingInfo; + + +#ifndef QUADALIGN +# define READUL_UNSWAPPED(addr) (*(uint32 *) SYN68K_TO_US(addr)) +# define READUL_UNSWAPPED_US(addr) (*(uint32 *) (addr)) +#else +# ifdef BIGENDIAN +# define READUL_UNSWAPPED(addr) \ +({ const uint16 *_p = (const uint16 *)SYN68K_TO_US(addr); (uint32)(_p[0] << 16) | _p[1]; }) +# define READUL_UNSWAPPED_US(addr) \ +({ const uint16 *_p = (const uint16 *)(addr); (uint32)(_p[0] << 16) | _p[1]; }) +# else + +#if defined(__GNUC__) + +typedef struct { uint32 l __attribute__((packed)); } hidden_l; + +#define READUL_UNSWAPPED(addr) (((hidden_l *)(SYN68K_TO_US(addr)))->l) + +#define READUL_UNSWAPPED_US(addr) (((hidden_l *)(addr))->l) + +#else +static uint32 _readul_unswapped(const uint16 *p) +{ + return (uint32)(p[1] << 16) | p[0]; +} + +#define READUL_UNSWAPPED(addr) _readul_unswapped((const uint16 *) (SYN68K_TO_US(addr))) +#define READUL_UNSWAPPED_US(addr) _readul_unswapped((const uint16 *) (addr)) +#endif + +# endif +#endif +#define READSL_UNSWAPPED(addr) ((int32) READUL_UNSWAPPED (addr)) + +#ifndef QUADALIGN +# define WRITEUL_UNSWAPPED(p,v) (*(uint32 *)(p) = (v)) +#else +# ifdef BIGENDIAN +# define WRITEUL_UNSWAPPED(p, v) \ + ({ \ + uint32 _tmp = (v); \ + uint16 *_x = (uint16 *)(p); \ + _x[0] = _tmp >> 16; \ + _x[1] = _tmp; \ + _tmp; \ + }) +# else + +#if defined(__GNUC__) +#define WRITEUL_UNSWAPPED(addr, v) (((hidden_l *)(addr))->l = (v)) +#else +static uint32 _writeul_unswapped(uint16 *p, uint32 tmp) +{ + p[0] = tmp; + p[1] = tmp >> 16; + return tmp; +} +#define WRITEUL_UNSWAPPED(p, v) _writeul_unswapped((uint16 *) (p), (v)) +#endif + +# endif +#endif + +#define WRITESL_UNSWAPPED(p,v) ((int32) WRITEUL_UNSWAPPED (p, v)) + + +/* FIXME - could be more efficient going one byte at a time on + * LITTLEENDIAN QUADALIGN machines. + */ +#define WRITE_LONG(p,v) (WRITEUL_UNSWAPPED ((p), SWAPUL_IFLE (v))) +#define WRITE_WORD(p,v) ((void) (*(uint16 *)(p) = SWAPUW_IFLE (v))) + +#ifndef QUADALIGN +# define WRITE_PTR(p,v) (*(char **)(p) = (char *)(v)) +#else +# define WRITE_PTR(p,v) \ +{ void *ptr = (v); memcpy ((uint16 *)(p), &ptr, sizeof ptr); } +#endif + +#define COMPUTE_SR_FROM_CPU_STATE() \ + (cpu_state.sr | (cpu_state.ccc != 0) | ((cpu_state.ccv != 0) << 1) \ + | ((cpu_state.ccnz == 0) << 2) | ((cpu_state.ccn != 0) << 3) \ + | ((cpu_state.ccx != 0) << 4)) + + +#if !defined(__alpha) +#define DEREF(typ, addr) (*(typ *)addr) +#else + +typedef struct { int8 n __attribute__((packed)); } HIDDEN_int8; +typedef struct { uint8 n __attribute__((packed)); } HIDDEN_uint8; +typedef struct { int16 n __attribute__((packed)); } HIDDEN_int16; +typedef struct { uint16 n __attribute__((packed)); } HIDDEN_uint16; +typedef struct { int32 n __attribute__((packed)); } HIDDEN_int32; +typedef struct { uint32 n __attribute__((packed)); } HIDDEN_uint32; + +#define DEREF(typ, addr) (((HIDDEN_ ## typ *)addr)->n) +#endif + +#endif /* Not _syn68k_private_h_ */ diff --git a/include/syn68k_public.h b/include/syn68k_public.h new file mode 100644 index 0000000..8aaf02f --- /dev/null +++ b/include/syn68k_public.h @@ -0,0 +1,681 @@ +#if !defined (_syn68k_public_h_) +#define _syn68k_public_h_ + +/* $Id: syn68k_public.h 83 2005-05-12 02:33:41Z ctm $ */ + +#include + +/* Decide whether we are big or little endian here. Add more machines as + * they are supported. + */ +#if !defined(BIGENDIAN) && !defined(LITTLEENDIAN) +# if defined(__BIG_ENDIAN__) || defined(m68k) || defined(mc68000) \ + || defined(sparc) || defined(powerpc) || defined (__ppc__) +# define BIGENDIAN /* ARDI naming convention, why rock the boat? */ +# elif defined(__alpha) || defined(i860) || defined(vax) || defined(i386) +# define LITTLEENDIAN +# else +# error "Unknown CPU type" +# endif +#endif + + +/* Define this for CPUs that require n byte data be aligned + * on addresses congruent to zero modulo n. The name "QUADALIGN" + * is another ARDI convention, why rock the boat? + */ + +/* + * Alpha not quad aligned right now because that breaks Mat's code and the + * alpha can get by, for now. + */ + +#if !defined (QUADALIGN) +# if defined(sparc) || /* defined(__alpha) || */ defined (i860) || defined(mips) +# define QUADALIGN +# elif !defined(m68k) && !defined(mc68000) && !defined(i386) \ + && !defined(vax) && !defined(__alpha) && !defined(powerpc) \ + && !defined (__ppc__) +# error Unknown CPU type +# endif +#endif + + +/* Turn this on if you want to enable destroying only blocks with checksum + * mismatches. + */ +#define CHECKSUM_BLOCKS + + +/* Turn this on if you want syn68k to poll for interrupts, instead of + * being interrupted by the real OS. + */ +#define SYNCHRONOUS_INTERRUPTS + +/* Turn this on if you want to let the BIOS event wait manage the low + * memory interrupt flag. + */ +#if 0 && defined (MSDOS) && defined (SYNCHRONOUS_INTERRUPTS) +# define USE_BIOS_TIMER +#endif + +#if !defined (INT_TYPES_TYPEDEFED) +/* Portability typedefs for signed and unsigned n-bit numbers. */ +typedef signed char int8; +typedef unsigned char uint8; +typedef signed short int16; +typedef unsigned short uint16; + +#if !defined(__alpha) + +typedef signed long int32; +typedef unsigned long uint32; + +#else /* defined(__alpha) */ + +typedef signed int int32; +typedef unsigned int uint32; + +#endif /* defined(__alpha) */ + + +#if defined (__GNUC__) /* Hack to compile mapindex.c on hokibox. */ +typedef signed long long int64; +typedef unsigned long long uint64; +#endif + +#endif /* !INT_TYPES_TYPEDEFED */ + + +/* Typedef for address in 68k space. */ +typedef uint32 syn68k_addr_t; + +/* Integral type big enough to hold a pointer. Presumably we'll need to use + * unsigned long long on machines with 64 bit pointers. + */ +typedef unsigned long ptr_sized_uint; + +/* Because a 68k register can be referenced as a byte, word, or int32, + * we represent them as a union of these types. Although not guaranteed + * to be portable, operations on appropriate byte- and word- union elements + * should leave the other bytes unaffected (just as they do on the 68k). + * on the 68k). + */ +#if defined (LITTLEENDIAN) +typedef union { + struct { uint32 n; } ul; + struct { int32 n; } sl; + struct { uint16 n, hi; } uw; + struct { int16 n, hi; } sw; + struct { uint8 n, b1, b2, b3; } ub; + struct { int8 n, b1, b2, b3; } sb; +} M68kReg; +#else +typedef union { + struct { uint32 n; } ul; + struct { int32 n; } sl; + struct { uint16 hi, n; } uw; + struct { int16 hi, n; } sw; + struct { uint8 b3, b2, b1, n; } ub; + struct { int8 b3, b2, b1, n; } sb; +} M68kReg; +#endif + +/* Function type that handles callbacks (and therefore traps). */ +typedef syn68k_addr_t (*callback_handler_t)(syn68k_addr_t, void *); + +typedef struct { + syn68k_addr_t callback_address; + callback_handler_t func; + void *arg; +} TrapHandlerInfo; + + +#if (defined(i386) || defined(m68k)) && !defined (NO_CCR_SPEEDUPS) +#define CCR_ELEMENT_8_BITS +#endif + +#if defined (CCR_ELEMENT_8_BITS) +typedef uint8 CCRElement; /* So we can setb, etc. them directly. */ +#else /* !CCR_ELEMENT_8_BITS */ +typedef int32 CCRElement; +#endif /* !CCR_ELEMENT_8_BITS */ + +typedef struct { + syn68k_addr_t tag; + const uint16 *code; +} jsr_stack_elt_t; + +#define JSR_STACK_SIZE 8 + +typedef struct { + M68kReg regs[16]; /* d0...d7 followed by a0...a7 */ + CCRElement ccnz, ccn, ccc, ccv, ccx; /* 0 or non-0, NOT 0 or 1! */ +#if defined (MINIMAL_CPU_STATE) + uint8 filler[3]; /* So we can copy small cpu states w/out boundary cruft. */ +#else /* !MINIMAL_CPU_STATE */ + char *amode_p, *reversed_amode_p; /* Used in interpreter. */ +#if !defined (USE_BIOS_TIMER) && defined (SYNCHRONOUS_INTERRUPTS) + volatile int32 interrupt_status_changed; /* High bit set when interrupted. */ +#endif + jmp_buf *setjmp_buf; + jsr_stack_elt_t jsr_stack[JSR_STACK_SIZE]; + unsigned jsr_stack_byte_index; /* # of **BYTES** into jsr stack for top. */ + volatile uint16 sr; /* Status register, except cc bits (low 5 bits) == 0. */ + syn68k_addr_t vbr; /* Vector base register (in 68k address space). */ + uint32 cacr, caar; /* Cache Control Register/Cache Address Register. */ + uint32 usp, msp, isp; /* Various stack pointers. Whichever one is + * currently in use can only be found in a7; + * the value here will be outdated. */ + volatile uint8 interrupt_pending[8]; /* 1 if interrupt pending. */ + volatile TrapHandlerInfo trap_handler_info[64]; +#endif /* !MINIMAL_CPU_STATE */ +} CPUState; + + +/* This lets us put syn68k.c's global register variable before the + * inline functions in this file, since that is an error. + */ +#if defined (GLOBAL_REGISTER_DECLS) +GLOBAL_REGISTER_DECLS +#endif + + +#define EM_DREG(X) (cpu_state.regs[X].ul.n) +#define EM_AREG(X) (cpu_state.regs[8 + (X)].ul.n) +#define EM_D0 EM_DREG (0) +#define EM_D1 EM_DREG (1) +#define EM_D2 EM_DREG (2) +#define EM_D3 EM_DREG (3) +#define EM_D4 EM_DREG (4) +#define EM_D5 EM_DREG (5) +#define EM_D6 EM_DREG (6) +#define EM_D7 EM_DREG (7) +#define EM_A0 EM_AREG (0) +#define EM_A1 EM_AREG (1) +#define EM_A2 EM_AREG (2) +#define EM_A3 EM_AREG (3) +#define EM_A4 EM_AREG (4) +#define EM_A5 EM_AREG (5) +#define EM_A6 EM_AREG (6) +#define EM_A7 EM_AREG (7) +#define EM_FP EM_A6 +#define EM_SP EM_A7 + +/* We need a range of "magic" addresses where we know legitimate 68k + * code will be stored. When code at those addresses is "executed" by + * the 68k, we will instead take special actions. We want those + * addresses to be dereferenceable so we'll overlay them over a big + * block of legitimate memory that can never contain m68k code. + * We'll start a few bytes into the array in case anyone examines + * memory before the array. + */ +extern uint16 callback_dummy_address_space[]; +#define CALLBACK_SLOP 16 +#define MAGIC_ADDRESS_BASE \ +((syn68k_addr_t) US_TO_SYN68K((unsigned long) (&callback_dummy_address_space[CALLBACK_SLOP]))) +#define MAGIC_EXIT_EMULATOR_ADDRESS (MAGIC_ADDRESS_BASE + 0) +#define MAGIC_RTE_ADDRESS (MAGIC_ADDRESS_BASE + 2) + +/* Address bits that have meaning, for the CLEAN() macro, below. */ +#define LEGAL_ADDRESS_BITS 0xFFFFFFFFUL + +/* Here is a macro to "clean" an address; if you make it mask out the + * nasty bits, you risk a noticeable performance downgrade. + */ +#if 1 +# define CLEAN(addr) ((ptr_sized_uint)(addr)) +#else +# define CLEAN(addr) (((ptr_sized_uint)(addr)) & LEGAL_ADDRESS_BITS) +#endif + +#if !defined (__alpha) +extern uint32 ROMlib_offset; +#else +extern unsigned long ROMlib_offset; +#endif + +/* Handy macros to convert back and forth between address spaces. */ +#if !defined (__alpha) +#define SYN68K_TO_US(addr) ((uint16 *) ((unsigned long)addr + ROMlib_offset)) /* uint16 * only the default. */ +#else +#define SYN68K_TO_US(addr) ((uint16 *) ((unsigned long)(uint32)addr + ROMlib_offset)) /* uint16 * only the default. */ +#endif + +#if !defined (__alpha) +#define US_TO_SYN68K(addr) (/*(syn68k_addr_t)*/(int32) (addr) - ROMlib_offset) +#else +#define US_TO_SYN68K(addr) ((uint32) ((long) (addr) - ROMlib_offset)) +#endif + + /* These macros should not be used within Syn68k, but are needed in + ROMlib for translations of addresses where it's important to preserve + the address 0 as 0 */ + +#define SYN68K_TO_US_CHECK0(addr) ({ typeof(addr) t; t = addr; t ? SYN68K_TO_US(t) : (uint16 *) 0; }) +#define US_TO_SYN68K_CHECK0(addr) ({ typeof(addr) t; t = addr; t ? US_TO_SYN68K(t) : (int32) 0; }) + +/* Macros for byte swapping + specifying signedness. On a big endian + * machine, these macros are dummies and don't actually swap bytes. + * You may wish to replace these with the most efficient inline assembly + * you can get, as these macros are performance-critical. + * The "_IFLE" suffix stands for "if little endian". + */ + +/* Byte swapping macros. */ +#define SWAPUB(val) ((uint8) (val)) /* Here for symmetry. */ +#define SWAPSB(val) ((int8) (val)) + +#if defined (CWV) && defined (CLV) +#define ROMlib_SwapShort(n) CWV ((uint16) (n)) +#define ROMlib_SwapLong(n) CLV ((uint32) (n)) +#define SWAPUW(n) CWV ((uint16) (n)) +#define SWAPUL(n) CLV ((uint32) (n)) +#elif defined(i386) + +static inline uint16 +ROMlib_SwapShort (unsigned short us) __attribute__ ((const)); + +static inline uint16 +ROMlib_SwapShort (unsigned short us) +{ + uint16 retval; + asm ("rorw $8,%w0" : "=r" (retval) : "0" (us) : "cc"); + return retval; +} + +static inline uint32 +ROMlib_SwapLong (uint32 ul) __attribute__ ((const)); + +static inline uint32 +ROMlib_SwapLong (uint32 ul) +{ + uint32 retval; +#if defined (NeXT) || defined (USE_BSWAP) || defined (ALWAYS_ON_I486) + asm ("bswap %0" : "=r" (retval) : "0" (ul)); +#else + asm ("rorw $8,%w0\n\t" + "rorl $16,%k0\n\t" + "rorw $8,%w0" + : "=r" (retval) : "0" (ul) : "cc"); +#endif + return retval; +} + +# define SWAPUW(val) ROMlib_SwapShort(val) +# define SWAPUL(val) ROMlib_SwapLong(val) + +#elif 0 && defined(__alpha) + +static inline unsigned short const +ROMlib_SwapShort (unsigned short us) +{ + unsigned short retval; + + asm("extbl %1, 1, $2\n\t" /* r2 = 0x0A */ + "sll %1, 8, %0\n\t" /* %0 = 0xB0 */ + "or %0, $2, %0" /* %0 = 0xBA */ + + : "=r" (retval) : "r" (us) : "$2"); + + return retval; +} + +static inline uint32 const +ROMlib_SwapLong (uint32 ul) +{ + uint32 retval; + + asm("extbl %1, 3, $2\n\t" /* r2 = 0x000A */ + "sll %1, 24, $3\n\t" /* r3 = 0xD000 */ + + "srl %1, 8, $5\n\t" /* r5 = 0x0ABC */ + "and %1, 65280, %0\n\t" /* %0 = 0x00C0 */ + + "or $2, $3, $4\n\t" /* r4 = 0xD00A */ + "and $5, 65280, $6\n\t" /* r6 = 0x00B0 */ + + "sll %0, 8, %0\n\t" /* %0 = 0x0C00 */ + "or $4, $6, $7\n\t" /* r7 = 0xD0BA */ + + "or $7, %0, %0" /* %0 = 0xDCBA */ + + : "=r" (retval) : "r" (ul) : "$2", "$3", "$4", "$5", "$6", "$7"); + + return retval; +} + +# define SWAPUW(val) ROMlib_SwapShort(val) +# define SWAPUL(val) ROMlib_SwapLong(val) + +#elif defined(LITTLEENDIAN) + +#if defined(__GNUC__) +# define SWAPUW(val) ({ uint16 _v = (val); (uint16) ((_v >> 8) | (_v << 8)); }) +# define SWAPUL(val) \ +({ uint32 _v = (val); \ + (uint32) ((_v >> 24) | (_v << 24) | ((_v >> 8) & 0xFF00) \ + | ((_v & 0xFF00) << 8)); \ + }) +#else + +static uint16 _swapuw(uint16 v) +{ + return (v >> 8) | (v << 8); +} + +#define SWAPUW(val) _swapuw(val) + +static uint32 _swapul(uint32 v) +{ + return (v >> 24) | (v << 24) | ((v >> 8) & 0xFF00) | ((v & 0xFF00) << 8); +} + +#define SWAPUL(val) _swapul(val) + +#endif + +#define ROMlib_SwapShort(val) SWAPUW(val) +#define ROMlib_SwapLong(val) SWAPUL(val) + +#endif +#define SWAPSW(val) ((int16) SWAPUW (val)) +#define SWAPSL(val) ((int32) SWAPUL (val)) + +#define SWAPUB_IFLE(n) ((uint8) (n)) /* Here for symmetry. */ +#define SWAPSB_IFLE(n) ((int8) (n)) + +#if defined (BIGENDIAN) +# define SWAPUW_IFLE(n) ((uint16) (n)) +# define SWAPSW_IFLE(n) ((int16) (n)) +# define SWAPUL_IFLE(n) ((uint32) (n)) +# define SWAPSL_IFLE(n) ((int32) (n)) +#else /* LITTLEENDIAN */ +# define SWAPUW_IFLE(n) SWAPUW(n) +# define SWAPSW_IFLE(n) SWAPSW(n) +# define SWAPUL_IFLE(n) SWAPUL(n) +# define SWAPSL_IFLE(n) SWAPSL(n) +#endif + + +/* The "slow" variants are here to facilitate compile-time reduction of + * swapped constants. The non-slow versions may use inline assembly, which + * the C compiler won't be able to deal with, but the slow versions are + * guaranteed to use standard C operators. You would only want to use the + * slow versions for swapping constants. + */ +#define SLOW_SWAPUB(val) ((uint8) (val)) /* Here for symmetry. */ +#define SLOW_SWAPSB(val) ((int8) (val)) + +#if defined(__GNUC__) +#define SLOW_SWAPUW(val) \ +({ uint16 _v = (val); (uint16) ((_v >> 8) | (_v << 8)); }) +#else +#define SLOW_SWAPUW(v) ((uint16) (((v) >> 8) | ((v) << 8))) +#endif + +#define SLOW_SWAPSW(val) ((int16) SLOW_SWAPUW (val)) + +#if defined(__GNUC__) +#define SLOW_SWAPUL(val) \ +({ uint32 _v = (val); \ + (uint32) ((_v >> 24) | (_v << 24) | ((_v >> 8) & 0xFF00) \ + | ((_v & 0xFF00) << 8)); \ + }) +#else +#define SLOW_SWAPUL(v) ((uint32) (((v) >> 24) | \ + ((v) << 24) | \ + (((v) >> 8) & 0xFF00) | \ + (((v) & 0xFF00) << 8))) +#endif + +#define SLOW_SWAPSL(val) ((int32) SLOW_SWAPUL (val)) + +#define SLOW_SWAPUB_IFLE(n) ((uint8) (n)) /* Here for symmetry. */ +#define SLOW_SWAPSB_IFLE(n) ((int8) (n)) + +#if defined (BIGENDIAN) +# define SLOW_SWAPUW_IFLE(n) ((uint16) (n)) +# define SLOW_SWAPSW_IFLE(n) ((int16) (n)) +# define SLOW_SWAPUL_IFLE(n) ((uint32) (n)) +# define SLOW_SWAPSL_IFLE(n) ((int32) (n)) +#else /* LITTLEENDIAN */ +# define SLOW_SWAPUW_IFLE(n) SLOW_SWAPUW(n) +# define SLOW_SWAPSW_IFLE(n) SLOW_SWAPSW(n) +# define SLOW_SWAPUL_IFLE(n) SLOW_SWAPUL(n) +# define SLOW_SWAPSL_IFLE(n) SLOW_SWAPSL(n) +#endif + + +/* Handy memory access macros. These implicity refer to the 68k addr space + except for the _US variants that refer to the native address space.*/ + +/* Memory reads. */ +#define READUB(addr) (*(const uint8 *) SYN68K_TO_US (CLEAN (addr))) +#define READUW(addr) SWAPUW_IFLE (*(const uint16 *)SYN68K_TO_US (CLEAN (addr))) + +#if defined (BIGENDIAN) && defined (QUADALIGN) +# define READUL(addr) \ +({ const uint16 *_p = SYN68K_TO_US (CLEAN (addr)); \ + (uint32) ((_p[0] << 16) | _p[1]); \ + }) +# define READUL_US(addr) \ +({ const uint16 *_p = CLEAN (addr); \ + (uint32) ((_p[0] << 16) | _p[1]); \ + }) +#elif defined (BIGENDIAN) && !defined (QUADALIGN) +# define READUL(addr) (*(uint32 *) SYN68K_TO_US (CLEAN (addr))) +# define READUL_US(addr) (*(uint32 *) CLEAN (addr)) +#elif !defined (BIGENDIAN) && defined (QUADALIGN) + +#if defined(__GNUC__) +# define READUL(addr) \ +({ const uint8 *_p = (const uint8 *) SYN68K_TO_US (CLEAN (addr)); \ + (uint32) ((_p[0] << 24) | (_p[1] << 16) | (_p[2] << 8) | _p[3]); \ + }) +# define READUL_US(addr) \ +({ const uint8 *_p = (const uint8 *) CLEAN (addr); \ + (uint32) ((_p[0] << 24) | (_p[1] << 16) | (_p[2] << 8) | _p[3]); \ + }) +#else +static uint32 _readul(syn68k_addr_t addr) +{ + const uint8 *p; + + p = (const uint8 *) SYN68K_TO_US (CLEAN (addr)); + return (uint32) ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); +} + +#define READUL(addr) _readul(addr) +static uint32 _readul_us(syn68k_addr_t addr) +{ + const uint8 *p; + + p = (const uint8 *) CLEAN (addr); + return (uint32) ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); +} + +#define READUL_US(addr) _readul_us(addr) +#endif + + +#else /* !defined (BIGENDIAN) && !defined (QUADALIGN) */ +# define READUL(addr) SWAPUL (*(uint32 *) SYN68K_TO_US (CLEAN (addr))) +# define READUL_US(addr) SWAPUL (*(uint32 *) CLEAN (addr)) +#endif +#define READSB(addr) ((int8) READUB (addr)) +#define READSW(addr) ((int16) READUW (addr)) +#define READSL(addr) ((int32) READUL (addr)) + +/* Memory writes. */ +#define WRITEUB(addr, val) (*(uint8 *) SYN68K_TO_US (CLEAN (addr)) = (val)) + +#if defined (BIGENDIAN) +# define WRITEUW(addr, val) (*(uint16 *) SYN68K_TO_US (CLEAN (addr)) = (val)) +#else +# define WRITEUW(addr, val) \ + (*(uint16 *) SYN68K_TO_US (CLEAN (addr)) = SWAPUW (val)) +#endif + +#if defined (BIGENDIAN) && defined (QUADALIGN) +# define WRITEUL(addr, val) \ +do { uint32 _v = (val); \ + uint16 *_p = (uint16 *) SYN68K_TO_US (CLEAN (addr)); \ + _p[0] = _v >> 16; \ + _p[1] = _v; \ + } while (0) +#elif defined (BIGENDIAN) && !defined (QUADALIGN) +# define WRITEUL(addr, val) (*(uint32 *) (SYN68K_TO_US (CLEAN (addr))) = (val)) +#elif !defined (BIGENDIAN) && defined (QUADALIGN) +# define WRITEUL(addr, val) \ +do { uint32 _v = (val); \ + uint8 *_p = (uint8 *) SYN68K_TO_US (CLEAN (addr)); \ + _p[0] = _v >> 24; \ + _p[1] = _v >> 16; \ + _p[2] = _v >> 8; \ + _p[3] = _v; \ + } while (0) +#else /* !defined (BIGENDIAN) && !defined (QUADALIGN) */ +# define WRITEUL(addr, val) \ +(*(uint32 *) SYN68K_TO_US (CLEAN (addr)) = SWAPUL (val)) +#endif + +#define WRITESB(addr, val) WRITEUB ((addr), (uint8) (val)) +#define WRITESW(addr, val) WRITEUW ((addr), (uint16) (val)) +#define WRITESL(addr, val) WRITEUL ((addr), (uint32) (val)) + +/* Pop instructions. */ +#define POPUB() (EM_A7 += 2, READUB (EM_A7 - 2)) +#define POPUW() (EM_A7 += 2, READUW (EM_A7 - 2)) +#define POPUL() (EM_A7 += 4, READUL (EM_A7 - 4)) +#define POPSB() ((int8) POPUB ()) +#define POPSW() ((int16) POPUW ()) +#define POPSL() ((int32) POPUL ()) +#define POPADDR() POPUL() + +/* Push instructions */ +#define PUSHUB(val) WRITEUB (EM_A7 -= 2, (val)) +#define PUSHUW(val) WRITEUW (EM_A7 -= 2, (val)) +#define PUSHUL(val) WRITEUL (EM_A7 -= 4, (val)) +#define PUSHSB(val) PUSHUB ((uint8) (val)) +#define PUSHSW(val) PUSHUW ((uint16) (val)) +#define PUSHSL(val) PUSHUL ((uint32) (val)) +#define PUSHADDR(val) PUSHUL (val) + +#if !defined (CALL_EMULATOR) +#define CALL_EMULATOR(addr) \ + do {PUSHADDR (MAGIC_EXIT_EMULATOR_ADDRESS); \ + (interpret_code (hash_lookup_code_and_create_if_needed (addr)));} while (0) +#endif + +/* Global struct describing the CPU state. */ +extern CPUState cpu_state; + + +/* I hate to put this here, but we want our interrupt polling to + * be extremely fast so we can check for interrupts anywhere in + * executor that might be time consuming. + */ +#if defined (SYNCHRONOUS_INTERRUPTS) + +#define M68K_TIMER_PRIORITY 4 +#define M68K_TIMER_VECTOR (24 + M68K_TIMER_PRIORITY) + +#define INTERRUPT_STATUS_CHANGED (-1) +#define INTERRUPT_STATUS_UNCHANGED 0x7FFFFFFF + +#if defined (USE_BIOS_TIMER) + +extern uint16 dos_memory_selector; +extern uint32 dos_interrupt_flag_addr; + +# ifdef SYN68K_C + +/* If we're in syn68k.c, we know that %fs holds the dos mem selector value. */ +# define FETCH_INTERRUPT_STATUS() \ +({ \ + int32 n; \ + asm ("movl %%fs:(%1),%0" \ + : "=r" (n) \ + : "r" (dos_interrupt_flag_addr)); \ + n; \ +}) +# define SET_INTERRUPT_STATUS(n) \ + asm ("movl %0,%%fs:(%1)" \ + : : "g" (n), "r" (dos_interrupt_flag_addr)) +# else /* !SYN68K_C */ + +/* Temporarily use %fs to reference DOS memory. */ +# define FETCH_INTERRUPT_STATUS() \ +({ \ + int32 n; \ + asm ("pushl %%fs\n\t" \ + "movw %2,%%fs\n\t" \ + "movl %%fs:(%1),%0\n\t" \ + "popl %%fs" \ + : "=r" (n) \ + : "r" (dos_interrupt_flag_addr), "g" (dos_memory_selector)); \ + n; \ +}) +# define SET_INTERRUPT_STATUS(n) \ + asm ("pushl %%fs\n\t" \ + "movw %2,%%fs\n\t" \ + "movl %0,%%fs:(%1)\n\t" \ + "popl %%fs" \ + : : "g" (n), "r" (dos_interrupt_flag_addr), \ + "g" (dos_memory_selector)) +# endif /* !SYN68K_C */ + +#else /* !USE_BIOS_TIMER */ +#define FETCH_INTERRUPT_STATUS() cpu_state.interrupt_status_changed +#define SET_INTERRUPT_STATUS(n) \ +((void) (cpu_state.interrupt_status_changed = (n))) + +#endif /* !USE_BIOS_TIMER */ + +#define INTERRUPT_PENDING() (FETCH_INTERRUPT_STATUS () < 0) + +#endif /* SYNCHRONOUS_INTERRUPTS */ + + +/* Functions to be called from outside the emulator. */ +extern void initialize_68k_emulator (void (*while_busy)(int), int native_p, + uint32 trap_vector_storage[64], + uint32 dos_int_flag_addr); + +#if defined (SYNCHRONOUS_INTERRUPTS) +extern void interrupt_generate (unsigned priority); +extern void interrupt_note_if_present (void); +/* called from `host_interrupt_status_changed' assembly stub in + host-native.c */ +extern syn68k_addr_t interrupt_process_any_pending (syn68k_addr_t pc) + asm ("_interrupt_process_any_pending"); +#endif /* SYNCHRONOUS_INTERRUPTS */ + +extern void interpret_code (const uint16 *code); +/* called from asm; hence the need for the asm label, see + `host_interrupt_status_changed' stub asm in host-native.c */ +extern const uint16 *hash_lookup_code_and_create_if_needed (syn68k_addr_t adr) + asm ("_hash_lookup_code_and_create_if_needed"); + +extern unsigned long destroy_blocks (syn68k_addr_t low_m68k_address, + uint32 num_bytes); +extern syn68k_addr_t callback_install (callback_handler_t func, + void *arbitrary_argument); +extern void callback_remove (syn68k_addr_t m68k_address); +extern void trap_install_handler (unsigned trap_number, + callback_handler_t func, + void *arbitrary_argument); +extern void trap_remove_handler (unsigned trap_number); +extern void *callback_argument (syn68k_addr_t callback_address); +extern callback_handler_t callback_function (syn68k_addr_t callback_address); +extern void dump_profile (const char *file); + +#if defined (CHECKSUM_BLOCKS) +extern unsigned long destroy_blocks_with_checksum_mismatch +(syn68k_addr_t low_m68k_address, uint32 num_bytes); +#endif + +extern void m68kaddr (const uint16 *pc); + +#endif /* Not _syn68k_public_h_ */ diff --git a/profile/Makefile.am b/profile/Makefile.am new file mode 100644 index 0000000..3011950 --- /dev/null +++ b/profile/Makefile.am @@ -0,0 +1,15 @@ +CC=@CC_FOR_BUILD@ +noinst_PROGRAMS = makebucket profile +EXEEXT = + +profile_SOURCES = bucket.c main.c readprofile.c amode.c frequency.c + +makebucket_SOURCES = makebucket.c amode.c + +AM_CFLAGS = -g -Wall -I$(srcdir)/include -I$(srcdir)/../include + +all: + echo "Doing nothing, we don't use this any more" + +bucket.c: makebucket ../runtime/profileinfo.gz + ./makebucket ../runtime/profileinfo.gz > bucket.c diff --git a/profile/amode.c b/profile/amode.c new file mode 100644 index 0000000..0908ec1 --- /dev/null +++ b/profile/amode.c @@ -0,0 +1,37 @@ +#include "amode.h" +#include + +const char * +amode_to_string (int amode) +{ + static const char *amode_string[64] = { +#if 0 + "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", + "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", + "a0@", "a1@", "a2@", "a3@", "a4@", "a5@", "a6@", "a7@", + "a0@+", "a1@+", "a2@+", "a3@+", "a4@+", "a5@+", "a6@+", "a7@+", + "a0@-", "a1@-", "a2@-", "a3@-", "a4@-", "a5@-", "a6@-", "a7@-", + "a0@(d16)", "a1@(d16)", "a2@(d16)", "a3@(d16)", + "a4@(d16)", "a5@(d16)", "a6@(d16)", "a7@(d16)", + "[mode 6/a0]", "[mode 6/a1]", "[mode 6/a2]", "[mode 6/a3]", + "[mode 6/a4]", "[mode 6/a5]", "[mode 6/a6]", "[mode 6/a7]", + "abs.w", "abs.l", "pc@(d16)", "[amode 7/3]", + "#", "[undefined]", "[undefined]", "[undefined]", +#else /* We want more general categories. */ + "dn", "dn", "dn", "dn", "dn", "dn", "dn", "dn", + "an", "an", "an", "an", "an", "an", "an", "an", + "an@", "an@", "an@", "an@", "an@", "an@", "an@", "an@", + "an@+", "an@+", "an@+", "an@+", "an@+", "an@+", "an@+", "an@+", + "an@-", "an@-", "an@-", "an@-", "an@-", "an@-", "an@-", "an@-", + "an@(d16)", "an@(d16)", "an@(d16)", "an@(d16)", + "an@(d16)", "an@(d16)", "an@(d16)", "an@(d16)", + "[mode 6/an]", "[mode 6/an]", "[mode 6/an]", "[mode 6/an]", + "[mode 6/an]", "[mode 6/an]", "[mode 6/an]", "[mode 6/an]", + "abs.w", "abs.l", "pc@(d16)", "[amode 7/3]", + "#", "[undefined]", "[undefined]", "[undefined]", +#endif + }; + + assert (amode >= 0 && amode < 64); + return amode_string[amode]; +} diff --git a/profile/frequency.c b/profile/frequency.c new file mode 100644 index 0000000..c491e97 --- /dev/null +++ b/profile/frequency.c @@ -0,0 +1,43 @@ +#include "bucket.h" +#include "frequency.h" +#include "readprofile.h" +#include +#include +#include + + +static void +fill_buckets () +{ + int i; + for (i = 65535; i >= 0; i--) + bucket[bucket_map[i]].count += instruction_count[i]; +} + + +/* qsort helper function. Place larger counts first. */ +static int +compare_buckets (const void *b1, const void *b2) +{ + int diff = ((const Bucket *)b2)->count - ((const Bucket *)b1)->count; + if (diff != 0) + return diff; + + /* Sort alphabetically if the counts are the same. */ + return strcmp (((const Bucket *)b1)->name, ((const Bucket *)b2)->name); +} + + +void +generate_frequency_report () +{ + int i; + + fill_buckets (); + qsort (bucket, num_buckets, sizeof bucket[0], compare_buckets); + + puts ("count\topcode\n" + "-------\t-----------"); + for (i = 0; i < num_buckets && bucket[i].count != 0; i++) + printf ("%lu\t%s\n", bucket[i].count, bucket[i].name); +} diff --git a/profile/include/amode.h b/profile/include/amode.h new file mode 100644 index 0000000..01f0a07 --- /dev/null +++ b/profile/include/amode.h @@ -0,0 +1,6 @@ +#ifndef _amode_h_ +#define _amode_h_ + +extern const char *amode_to_string (int amode); + +#endif /* Not _amode_h_ */ diff --git a/profile/include/bucket.h b/profile/include/bucket.h new file mode 100644 index 0000000..4dbeae6 --- /dev/null +++ b/profile/include/bucket.h @@ -0,0 +1,16 @@ +#ifndef _bucket_h_ +#define _bucket_h_ + +#define NO_AMODE (-1) + +typedef struct { + const char *name; /* Descriptive name for instruction. */ + unsigned short litmask, litbits; /* Mask/values for fixed bits in 68k op. */ + unsigned long count; /* Frequency of execution. */ +} Bucket; + +extern Bucket bucket[]; +extern const unsigned short bucket_map[65536]; +extern const int num_buckets; + +#endif /* Not _bucket_h_ */ diff --git a/profile/include/frequency.h b/profile/include/frequency.h new file mode 100644 index 0000000..628afda --- /dev/null +++ b/profile/include/frequency.h @@ -0,0 +1,6 @@ +#ifndef _frequency_h_ +#define _frequency_h_ + +extern void generate_frequency_report (void); + +#endif /* Not _frequency_h_ */ diff --git a/profile/include/readprofile.h b/profile/include/readprofile.h new file mode 100644 index 0000000..570be73 --- /dev/null +++ b/profile/include/readprofile.h @@ -0,0 +1,9 @@ +#ifndef read_profile_h +#define read_profile_h + +typedef enum { BO_BIG_ENDIAN, BO_LITTLE_ENDIAN } ByteOrder; +extern unsigned long instruction_count[65536]; + +extern void read_profile (const char *filename); + +#endif /* Not read_profile_h */ diff --git a/profile/main.c b/profile/main.c new file mode 100644 index 0000000..db5f0ae --- /dev/null +++ b/profile/main.c @@ -0,0 +1,23 @@ +#include +#include +#include "readprofile.h" +#include "frequency.h" + +int +main (int argc, char *argv[]) +{ + /* Check arguments. */ + if (argc != 2) + { + fprintf (stderr, "Usage: %s \n", argv[0]); + exit (1); + } + + /* Read in the profile file. */ + read_profile (argv[1]); + + /* Process it. */ + generate_frequency_report (); + + return EXIT_SUCCESS; +} diff --git a/profile/makebucket.c b/profile/makebucket.c new file mode 100644 index 0000000..6737639 --- /dev/null +++ b/profile/makebucket.c @@ -0,0 +1,147 @@ +#include "bucket.h" +#include +#include +#include +#include +#include +#include "amode.h" + +#if 0 +#define IS_MOVE(n, x) (((n) & 0xC000) == 0 && (((n) & 0x3000) != 0) \ + && !strncmp ((x), "move", 4)) +#endif + + +int +main (int argc, char *argv[]) +{ + int num_buckets; + static unsigned short bucket_map[65536]; + static Bucket bucket[65536]; + static struct { + unsigned char has_amode, has_reversed_amode; + const char *name; + } amode_info[65536]; + int num_amode_infos = 0; + int pass; + int i; + + if (argc != 2) + { + fprintf (stderr, "Usage: %s ", argv[0]); + exit (-1); + } + + num_buckets = 1; + bucket[0].name = "unmapped_spew"; + + for (pass = 2; pass >= 0; pass--) + { + FILE *fp; + char cmd[1024]; + + sprintf (cmd, "zcat %s", argv[1]); + fp = popen (cmd, "r"); + assert (fp != NULL); + + while (!feof (fp)) + { + int opcode, has_amode, has_reversed_amode, litmask, litbits; + char name[1024]; /* Fixed length arrays usually bad, but not here. */ + + if (fscanf (fp, " %d %d %d %d %d %s", &opcode, &has_amode, + &has_reversed_amode, &litmask, &litbits, name) != 6) + break; + + /* Make sure we have the right # of amodes for this pass. */ + if (has_amode + has_reversed_amode != pass) + continue; + + /* See if anything else with the same root name exists, and if it + * does, assume we have at least as many addressing modes as that + * guy. Why? Well, the syngen process loses info about the + * existence of amodes/reverse amodes in favor of rewriting the + * 68k.scm code you give it to special case amodes like registers. + * This hack will try to determine if there were originally amodes + * in this opcode. + */ + for (i = num_amode_infos - 1; i >= 0; i--) + if (!strcmp (amode_info[i].name, name)) + { + has_amode |= amode_info[i].has_amode; + has_reversed_amode |= amode_info[i].has_reversed_amode; + break; + } + + /* If we didn't find a match, add a new entry to the table and + * remember what amodes it has. + */ + if (i < 0) + { + amode_info[num_amode_infos].has_amode = has_amode; + amode_info[num_amode_infos].has_reversed_amode + = has_reversed_amode; + amode_info[num_amode_infos].name + = strcpy (malloc (strlen (name) + 1), name); + num_amode_infos++; + } + + /* Generate the canonical name. */ + if (has_amode) + sprintf (name + strlen (name), " %s", + amode_to_string (opcode & 0x3F)); + if (has_reversed_amode) + sprintf (name + strlen (name), ", %s", + amode_to_string (((opcode >> 9) & 7) + | ((opcode >> 3) & 0x38))); + + /* Look for a bucket with the same canonical name. + * Isn't O(n^2) great? + */ + for (i = num_buckets - 1; i >= 0; i--) + if (!strcmp (bucket[i].name, name) + && bucket[i].litmask == litmask + && bucket[i].litbits == litbits) + { + bucket_map[opcode] = i; + break; + } + + /* Did we fail to find a matching bucket? If so, make a new one. */ + if (i < 0) + { + Bucket *b = &bucket[num_buckets++]; + b->name = strcpy (malloc (strlen (name) + 1), name); + b->litbits = litbits; + b->litmask = litmask; + b->count = 0; + bucket_map[opcode] = b - bucket; + } + } + pclose (fp); + } + + printf ("#include \"bucket.h\"\n" + "\n" + "Bucket bucket[%d] = {\n", + num_buckets); + for (i = 0; i < num_buckets; i++) + printf (" { \"%s\", 0 },\n", bucket[i].name); + puts ("};\n" + "\n" + "const unsigned short bucket_map[65536] = {"); + + for (i = 0; i < 65536; i++) + { + if (i % 8 == 0) + fputs ("\n ", stdout); + printf (" 0x%04X,", (unsigned) bucket_map[i]); + } + + printf ("\n" + "};\n" + "const int num_buckets = %d;\n", + num_buckets); + + return EXIT_SUCCESS; +} diff --git a/profile/readprofile.c b/profile/readprofile.c new file mode 100644 index 0000000..62fc505 --- /dev/null +++ b/profile/readprofile.c @@ -0,0 +1,39 @@ +#include "readprofile.h" +#include "syn68k_public.h" +#include +#include + +unsigned long instruction_count[65536]; + +void +read_profile (const char *filename) +{ + FILE *fp; + + fp = fopen (filename, "rb"); + if (fp == NULL) + { + perror ("Unable to open file"); + exit (-1); + } + + /* Read in the data. */ + if (fread (instruction_count, sizeof (unsigned long), 65536, fp) != 65536) + { + fprintf (stderr, "Premature end of file!\n"); + exit (-3); + } + + /* Byte swap if necessary. */ +#ifdef LITTLEENDIAN + { + unsigned long *p = instruction_count; + int i; + + for (i = 65535; i >= 0; p++, i--) + *p = SWAPUL (*p); + } +#endif + + fclose (fp); +} diff --git a/runtime/68k.defines.scm b/runtime/68k.defines.scm new file mode 100644 index 0000000..8e14e3c --- /dev/null +++ b/runtime/68k.defines.scm @@ -0,0 +1,412 @@ +; All = No restrictions +; Alt = No #, No PC +; Data = No An +; DataNoIMM = No An, No # +; DataAlt = No An, No #, No PC +; MemAlt = No Dn, No An, No #, No PC +; Ctrl = No Dn, No An, No (An)+, No -(An), No # +; Move = Source: All, Dest: DataAlt +; Moveb = Source: Data, Dest: DataAlt +; CtrlAltOrPreDec = No Dn, No An, No (An)+, No #, No PC +; CtrlOrPostInc = No Dn, No An, No -(An), No # +; DRegOrCtrl = No An, No (An)+, No -(An), No # +; DRegOrCtrlAlt = No An, No (An)+, No -(An), No #, No PC + + +; Each of these macros must evaluate to a number between 0 and 0xFF if +; the appropriate sign bit is set, else 0. +(define (SIGN_BYTE expr) (& expr 0x80)) +(define (SIGN_WORD expr) (>> (<< (cast "uint32" expr) 16) 31)) +(define (SIGN_LONG expr) (>> expr 31)) + +(define (SET_C_N_V_NZ c n v nz) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign (dereful (call "US_TO_SYN68K" "&cpu_state.ccnz")) (| (<< nz 24) + (| (<< n 16) + (| (<< c 8) + v)))) + "\n#else\n" + (assign ccnz nz) + (assign ccn n) + (assign ccc c) + (assign ccv v) + "\n#endif\n")) + +(define (SET_N_NZ n nz) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign (derefuw (call "US_TO_SYN68K" "&cpu_state.ccnz")) (| (<< nz 8) n)) + "\n#else\n" + (assign ccnz nz) + (assign ccn n) + "\n#endif\n")) + + +; These macros set the n and z bits based on whether the value of an +; expression of a certain size is negative or zero, respectively. +(define (ASSIGN_NNZ_BYTE expr) + (assign ccn (SIGN_BYTE (assign ccnz expr)))) +(define (ASSIGN_NNZ_WORD expr) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + "{ uint16 assign_tmp" + (assign "assign_tmp" expr) + (assign ccnz (<> "assign_tmp" 0)) + (assign ccn (>> "assign_tmp" 15)) + "}" + "\n#else\n" + (assign ccn (& 0x8000 (assign ccnz expr))) + "\n#endif\n")) +(define (ASSIGN_NNZ_LONG expr) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + "{ uint32 assign_tmp" + (assign "assign_tmp" expr) + (assign ccnz (<> "assign_tmp" 0)) + (assign ccn (>> "assign_tmp" 31)) + "}" + "\n#else\n" + (assign ccn (>> (assign ccnz expr) 31)) + "\n#endif\n")) + + +(define (ASSIGN_C_N_V_NZ_BYTE expr) + (list + "\n#ifdef FAST_CC_FUNCS\n" + (call "inline_compute_c_n_v_nz_byte" expr) + "\n#else\n" + (ASSIGN_NNZ_BYTE expr) + (assign ccc (assign ccv 0)) + "\n#endif\n")) +(define (ASSIGN_C_N_V_NZ_WORD expr) + (list + "\n#ifdef FAST_CC_FUNCS\n" + (call "inline_compute_c_n_v_nz_word" expr) + "\n#else\n" + (ASSIGN_NNZ_WORD expr) + (assign ccc (assign ccv 0)) + "\n#endif\n")) +(define (ASSIGN_C_N_V_NZ_LONG expr) + (list + "\n#ifdef FAST_CC_FUNCS\n" + (call "inline_compute_c_n_v_nz_long" expr) + "\n#else\n" + (ASSIGN_NNZ_LONG expr) + (assign ccc (assign ccv 0)) + "\n#endif\n")) + + +; Macros for common addressing modes. +(define amode_control + (union "xxxxxxxxxxx10xxx" "xxxxxxxxxx101xxx" "xxxxxxxxxx1110xx")) +(define amode_memory + (union amode_control "xxxxxxxxxx011xxx" "xxxxxxxxxx100xxx" + "xxxxxxxxxx111100")) +(define amode_reg "xxxxxxxxxx00xxxx") +(define amode_dreg "xxxxxxxxxx000xxx") +(define amode_data (union amode_memory amode_dreg)) +(define amode_alterable + (union "xxxxxxxxxx0xxxxx" "xxxxxxxxxxx0xxxx" + "xxxxxxxxxxxx0xxx" "xxxxxxxxxx11100x")) +(define amode_alterable_memory + (intersect amode_alterable amode_memory)) +(define amode_alterable_control + (intersect amode_alterable amode_control)) +(define amode_implicit "xxxxxxxxxxxxxxxx") +(define amode_immediate "xxxxxxxxxx111100") +(define amode_alterable_data + (intersect amode_alterable amode_data)) +(define amode_all_combinations (union amode_data "xxxxxxxxxx001xxx")) + +; Not strictly an addressing mode, but handy when you want the two reg +; fields to be the same register. +(define amode_same_reg + (union "xxxx000xxxxxx000" "xxxx001xxxxxx001" "xxxx010xxxxxx010" + "xxxx011xxxxxx011" "xxxx100xxxxxx100" "xxxx101xxxxxx101" + "xxxx110xxxxxx110" "xxxx111xxxxxx111")) + +;(define dont_expand "----------------") +;(define fully_expand "xxxxxxxxxxxxxxxx") +(define dont_expand (list)) +(define fully_expand (list "xxxxxxxxxxxxxxxx")) + + +(define BYTE 1) +(define WORD 2) +(define LONG 4) + +(define IMM 0) +(define ABSW 1) +(define ABSL 2) +(define REG 3) +(define GREG 4) +(define AREG 5) +(define IND 6) +(define PREDEC 7) +(define POSTINC 8) +(define INDOFF 9) +(define INDIX 10) + +(define (amode_name mode) + (switch mode + ((+ IMM 0) "imm") + ((+ ABSW 0) "abs") + ((+ ABSL 0) "abs") + ((+ REG 0) "reg") + ((+ GREG 0) "reg") + ((+ AREG 0) "areg") + ((+ IND 0) "ind") + ((+ PREDEC 0) "predec") + ((+ POSTINC 0) "postinc") + ((+ INDOFF 0) "indoff") + ((+ INDIX 0) "indix") + (default "?? unknown amode ??"))) + + +(define (no_reg_op_p mode) + (or (= mode IMM) (or (= mode ABSW) (= mode ABSL)))) + + +(define (src_val s_amode d_amode size force_unsigned_p) + (if (= size BYTE) + (switch s_amode + ((+ IMM 0) + (if (no_reg_op_p d_amode) + $1.ub + $2.ub)) + ((+ ABSW 0) + (if (no_reg_op_p d_amode) + (derefub $1.sw) + (derefub $2.sw))) + ((+ ABSL 0) + (if (no_reg_op_p d_amode) + (derefub $1.ul) + (derefub $2.ul))) + ((+ REG 0) + (if (no_reg_op_p d_amode) + $1.dub + $2.dub)) + ((+ GREG 0) + (if (no_reg_op_p d_amode) + $1.gub + $2.gub)) + ((+ IND 0) + (if (no_reg_op_p d_amode) + (derefub $1.aul) + (derefub $2.aul))) + ((+ PREDEC 0) + (if (no_reg_op_p d_amode) + (derefub $1.aul) + (derefub $2.aul))) + ((+ POSTINC 0) + (if (no_reg_op_p d_amode) + (derefub $1.aul) + (derefub $2.aul))) + ((+ INDOFF 0) + (if (no_reg_op_p d_amode) + (derefub (+ $1.asl $2.sw)) + (derefub (+ $2.asl $3.sw)))) + ((+ INDIX 0) + (if (no_reg_op_p d_amode) + $1.msb + $2.msb))) + (if (= size WORD) + (switch s_amode + ((+ IMM 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + $1.uw + $2.uw) + (if (no_reg_op_p d_amode) + $1.sw + $2.sw))) + ((+ ABSW 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw $1.sw) + (derefuw $2.sw)) + (if (no_reg_op_p d_amode) + (derefsw $1.sw) + (derefsw $2.sw)))) + ((+ ABSL 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw $1.ul) + (derefuw $2.ul)) + (if (no_reg_op_p d_amode) + (derefsw $1.ul) + (derefsw $2.ul)))) + ((+ AREG 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + $1.auw + $2.auw) + (if (no_reg_op_p d_amode) + $1.asw + $2.asw))) + ((+ REG 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + $1.duw + $2.duw) + (if (no_reg_op_p d_amode) + $1.dsw + $2.dsw))) + ((+ GREG 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + $1.guw + $2.guw) + (if (no_reg_op_p d_amode) + $1.gsw + $2.gsw))) + ((+ IND 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw $1.aul) + (derefuw $2.aul)) + (if (no_reg_op_p d_amode) + (derefsw $1.aul) + (derefsw $2.aul)))) + ((+ PREDEC 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw $1.aul) + (derefuw $2.aul)) + (if (no_reg_op_p d_amode) + (derefsw $1.aul) + (derefsw $2.aul)))) + ((+ POSTINC 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw $1.aul) + (derefuw $2.aul)) + (if (no_reg_op_p d_amode) + (derefsw $1.aul) + (derefsw $2.aul)))) + ((+ INDOFF 0) + (if force_unsigned_p + (if (no_reg_op_p d_amode) + (derefuw (+ $1.asl $2.sw)) + (derefuw (+ $2.asl $3.sw))) + (if (no_reg_op_p d_amode) + (derefsw (+ $1.asl $2.sw)) + (derefsw (+ $2.asl $3.sw))))) + ((+ INDIX 0) + (if (no_reg_op_p d_amode) + $1.msw + $2.msw))) + (switch s_amode ; LONG op + ((+ IMM 0) + (if (no_reg_op_p d_amode) + $1.ul + $2.ul)) + ((+ ABSW 0) + (if (no_reg_op_p d_amode) + (dereful $1.sw) + (dereful $2.sw))) + ((+ ABSL 0) + (if (no_reg_op_p d_amode) + (dereful $1.ul) + (dereful $2.ul))) + ((+ AREG 0) + (if (no_reg_op_p d_amode) + $1.asl + $2.asl)) + ((+ REG 0) + (if (no_reg_op_p d_amode) + $1.dul + $2.dul)) + ((+ GREG 0) + (if (no_reg_op_p d_amode) + $1.gul + $2.gul)) + ((+ IND 0) + (if (no_reg_op_p d_amode) + (dereful $1.aul) + (dereful $2.aul))) + ((+ PREDEC 0) + (if (no_reg_op_p d_amode) + (dereful $1.aul) + (dereful $2.aul))) + ((+ POSTINC 0) + (if (no_reg_op_p d_amode) + (dereful $1.aul) + (dereful $2.aul))) + ((+ INDOFF 0) + (if (no_reg_op_p d_amode) + (dereful (+ $1.asl $2.sw)) + (dereful (+ $2.asl $3.sw)))) + ((+ INDIX 0) + (if (no_reg_op_p d_amode) + $1.msl + $2.msl)))))) + + +(define (dst_val s_amode d_amode size) + (if (= size BYTE) + (switch d_amode + ((+ ABSW 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefub $3.sw) + (derefub $2.sw))) + ((+ ABSL 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefub $3.ul) + (derefub $2.ul))) + ((+ REG 0) $1.dub) + ((+ GREG 0) $1.gub) + ((+ IND 0) (derefub $1.aul)) + ((+ PREDEC 0) (derefub $1.aul)) + ((+ POSTINC 0) (derefub $1.aul)) + ((+ INDOFF 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefub (+ $1.asl $4.sw)) + (derefub (+ $1.asl $3.sw)))) + ((+ INDIX 0) $1.rub)) + (if (= size WORD) + (switch d_amode + ((+ ABSW 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefuw $3.sw) + (derefuw $2.sw))) + ((+ ABSL 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefuw $3.ul) + (derefuw $2.ul))) + ((+ REG 0) $1.duw) + ((+ GREG 0) $1.guw) + ((+ AREG 0) $1.asl) ; Yes, a long! Word moves are sexted. + ((+ IND 0) (derefuw $1.aul)) + ((+ PREDEC 0) (derefuw $1.aul)) + ((+ POSTINC 0) (derefuw $1.aul)) + ((+ INDOFF 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (derefuw (+ $1.asl $4.sw)) + (derefuw (+ $1.asl $3.sw)))) + ((+ INDIX 0) $1.ruw)) + (switch d_amode ; LONG op + ((+ ABSW 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (dereful $3.sw) + (dereful $2.sw))) + ((+ ABSL 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (dereful $3.ul) + (dereful $2.ul))) + ((+ REG 0) $1.dul) + ((+ AREG 0) $1.aul) + ((+ GREG 0) $1.gul) + ((+ IND 0) (dereful $1.aul)) + ((+ PREDEC 0) (dereful $1.aul)) + ((+ POSTINC 0) (dereful $1.aul)) + ((+ INDOFF 0) + (if (or (= s_amode INDOFF) (= s_amode INDIX)) + (dereful (+ $1.asl $4.sw)) + (dereful (+ $1.asl $3.sw)))) + ((+ INDIX 0) $1.rul))))) + +; For add/sub/cmp/and/or/eor...reuse the tricky code above. +(define (ea_val amode size force_unsigned_p) + (src_val amode REG size force_unsigned_p)) diff --git a/runtime/68k.scm b/runtime/68k.scm new file mode 100644 index 0000000..7a88d7d --- /dev/null +++ b/runtime/68k.scm @@ -0,0 +1,6525 @@ +; This file defines the semantics and bit patterns of the 68000 instruction +; set. Enjoy. + +; NOTE! This always runs in supervisor mode, although there is no fundamental +; problem with modifying it to support both supervisor and non-supervisor +; modes. + +(include "68k.defines.scm") + +; Modify this macro if you want to tweak behavior when modifying the SR +(define (LOAD_NEW_SR new_sr) + (list + "{ uint32 tmp_sr, old_sr" + (assign "tmp_sr" new_sr) + (assign "old_sr" "cpu_state.sr") + (assign "cpu_state.sr" (& "tmp_sr" (~ 31))) ; Force low 5 bits to zero + (assign ccc (& "tmp_sr" 0x1)) + (assign ccv (& "tmp_sr" 0x2)) + (assign ccnz (& (~ "tmp_sr") 0x4)) + (assign ccn (& "tmp_sr" 0x8)) + (assign ccx (& "tmp_sr" 0x10)) + + (call "SWITCH_A7" "old_sr" "tmp_sr") + + ; Note that we should check for another interrupt eventually. This + ; is technically wrong, since we should check for an interrupt NOW + ; since the next instruction might raise the mask level back up + ; again before we get around to checking. That's unlikely for the + ; programs we are executing, though. If it turns out to be a + ; problem, we can extend our code so that we know the current m68k + ; pc whenever the SR might be changed. Technically we should only + ; need to do this when the interrupt mask level decreases, but to + ; be safe we'll always check whenever the SR is mucked with (the + ; performance hit should be irrelevant, because very few people muck + ; with the SR, and it's fairly expensive to do so anyway). + (call "interrupt_note_if_present") + "}")) + +(define (TRAP trapno pc addr) + (list + "{ const uint16 *tmp_addr" + (call "SAVE_CPU_STATE") + (assign "tmp_addr" (call "code_lookup" + (call "trap_direct" trapno pc addr))) + (call "LOAD_CPU_STATE") + (assign code "tmp_addr") + "}")) + + +; Functions to determine truth value (0 or 1) for various cc combinations +(define CC_CC (not ccc)) +(define CC_CS (<> ccc 0)) +(define CC_EQ (not ccnz)) +(define CC_NE (<> ccnz 0)) +(define CC_GE (^ (<> ccn 0) (not ccv))) +(define CC_GT (and ccnz (^ (<> ccn 0) (not ccv)))) +(define CC_HI (and ccnz (not ccc))) +(define CC_LE (or (not ccnz) (^ (not ccn) (not ccv)))) +(define CC_LS (or ccc (not ccnz))) +(define CC_LT (^ (not ccn) (not ccv))) +(define CC_MI (<> ccn 0)) +(define CC_PL (not ccn)) +(define CC_VC (not ccv)) +(define CC_VS (<> ccv 0)) + + +(defopcode a_line_trap + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "1010xxxxxxxxxxxx")) + (list "%%%%%" "CNVXZ" dont_expand + (TRAP 10 (deref "uint32 *" code 0) 0))) + + +(define (ABCD name amode bit_pattern src dst preamble postamble) + (defopcode name + (list 68000 amode () (list bit_pattern)) + (list "C??X<" "---X-" dont_expand + (list + preamble + (assign tmp.uw (+ (>> src 4) (>> dst 4))) + (assign tmp2.uw (+ (& src 0xF) (& dst 0xF) (<> ccx 0))) + (if (>= tmp2.uw 10) + (assign tmp2.uw (+ tmp2.uw (<< tmp.uw 4) 6)) + (assign tmp2.uw (+ tmp2.uw (<< tmp.uw 4)))) + (if (>= tmp2.uw 0xA0) + (list + (assign tmp2.uw (- tmp2.uw 0xA0)) + (assign ccx (assign ccc 1))) + (assign ccx (assign ccc 0))) + (assign ccnz (| ccnz tmp2.ub)) + (assign ccv 0) ; For 68020; left alone on 68040 + (assign ccn (& tmp2.ub 0x80)) ; For 68020; left alone on 68040 + (assign dst tmp2.ub) + postamble)))) + +(ABCD abcd_dreg amode_implicit "1100xxx100000yyy" $2.dub $1.dub (list) (list)) + +; Handle the abcd an@-,an@- case (annoying) +(define (SAME_ABCD name reg bits size) + (ABCD name amode_same_reg bits + (derefub reg) + (derefub (- reg size)) + (assign reg (- reg size)) + (assign reg (- reg size)))) + +(SAME_ABCD abcd_a7@-,a7@- a7.ul "1100111100001111" 2) +(SAME_ABCD abcd_an@-,an@- $1.aul "1100aaa100001aaa" 1) + +(ABCD abcd_an@-,a7@- amode_implicit "1100111100001yyy" + (derefub $1.aul) + (derefub a7.ul) + (list + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1))) + (list)) + +(ABCD abcd_a7@-,an@- amode_implicit "1100xxx100001111" + (derefub a7.ul) + (derefub $1.aul) + (list + (assign $1.aul (- $1.aul 1)) + (assign a7.ul (- a7.ul 2))) + (list)) + +(ABCD abcd_mem amode_implicit "1100xxx100001yyy" + (derefub $2.aul) + (derefub $1.aul) + (list + (assign $1.aul (- $1.aul 1)) + (assign $2.aul (- $2.aul 1))) + (list)) + + +(define (ADDB name bit_pattern expand amode src dst native pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (+ dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + (call "INLINE_ADDB_NOSWAP" src dst) + post + "\n#else\n" + pre + (assign tmp2.ub dst) + (assign ccv (& (~ (^ tmp2.ub src)) 0x80)) + (ASSIGN_NNZ_BYTE (assign dst (assign tmp.uw (+ dst src)))) + post + (assign ccx (assign ccc (>> tmp.uw 8))) + (assign ccv (& ccv (^ tmp.ub tmp2.ub))) + "\n#endif\n")))) + +(define (ADDB name bit_pattern expand amode src dst native) + (ADDB name bit_pattern expand amode src dst native (list) (list))) + +; one byte adds are never swapped +(define (ADDB_NOSWAP name bit_pattern expand amode src dst native pre post) + (ADDB name bit_pattern expand amode src dst native pre post)) +(define (ADDB_NOSWAP name bit_pattern expand amode src dst native) + (ADDB_NOSWAP name bit_pattern expand amode src dst native (list) (list))) + + +(define (SUBB name bit_pattern expand amode src dst native pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (- dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + (call "INLINE_SUBB_NOSWAP" src dst) + post + "\n#else\n" + pre + (assign tmp2.ub dst) + (assign ccx (assign ccc (> (cast "uint8" src) tmp2.ub))) + (assign ccv (& (^ tmp2.ub src) 0x80)) + (ASSIGN_NNZ_BYTE (assign dst (- dst src))) + (assign ccv (& ccv (^ dst tmp2.ub))) + post + "\n#endif\n")))) +(define (SUBB name bit_pattern expand amode src dst native) + (SUBB name bit_pattern expand amode src dst native (list) (list))) + + +; one byte subs are never swapped +(define (SUBB_NOSWAP name bit_pattern expand amode src dst native pre post) + (SUBB name bit_pattern expand amode src dst native pre post)) +(define (SUBB_NOSWAP name bit_pattern expand amode src dst native) + (SUBB_NOSWAP name bit_pattern expand amode src dst native (list) (list))) + + +(define (REAL_ADDW name bit_pattern expand amode src dst inline native + pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (+ dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + inline + post + "\n#else\n" + pre + (assign tmp2.uw dst) + (assign tmp3.uw (& (~ (^ tmp2.uw src)) 0x8000)) + (ASSIGN_NNZ_WORD (assign dst (assign tmp.ul (+ tmp2.uw src)))) + post + (assign ccx (assign ccc (>> tmp.ul 16))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (>> (& tmp3.uw (^ tmp.uw tmp2.uw)) 15)) + "\n#else\n" + (assign ccv (& tmp3.uw (^ tmp.uw tmp2.uw))) + "\n#endif\n" + "\n#endif\n")))) + +(define (ADDW name bit_pattern expand amode src dst native pre post) + (REAL_ADDW name bit_pattern expand amode src dst + (assign dst (call "inline_addw" src dst)) native pre post)) +(define (ADDW name bit_pattern expand amode src dst native) + (REAL_ADDW name bit_pattern expand amode src dst + (assign dst (call "inline_addw" src dst)) native (list) (list))) + +(define (ADDW_NOSWAP name bit_pattern expand amode src dst native pre post) + (REAL_ADDW name bit_pattern expand amode src dst + (call "INLINE_ADDW_NOSWAP" src dst) native pre post)) +(define (ADDW_NOSWAP name bit_pattern expand amode src dst native) + (REAL_ADDW name bit_pattern expand amode src dst + (call "INLINE_ADDW_NOSWAP" src dst) native (list) (list))) + + + +(define (REAL_SUBW name bit_pattern expand amode src dst inline native + pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (- dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + inline + post + "\n#else\n" + pre + (assign tmp2.uw dst) + (assign ccx (assign ccc (> (cast "uint16" src) tmp2.uw))) + (assign tmp3.uw (& (^ tmp2.uw src) 0x8000)) + (ASSIGN_NNZ_WORD (assign dst (- dst src))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (>> (& tmp3.uw (^ dst tmp2.uw)) 15)) + "\n#else\n" + (assign ccv (& tmp3.uw (^ dst tmp2.uw))) + "\n#endif\n" + post + "\n#endif\n")))) + +(define (SUBW name bit_pattern expand amode src dst native pre post) + (REAL_SUBW name bit_pattern expand amode src dst + (assign dst (call "inline_subw" src dst)) native pre post)) +(define (SUBW name bit_pattern expand amode src dst native) + (REAL_SUBW name bit_pattern expand amode src dst + (assign dst (call "inline_subw" src dst)) native (list) (list))) + +(define (SUBW_NOSWAP name bit_pattern expand amode src dst native pre post) + (REAL_SUBW name bit_pattern expand amode src dst + (call "INLINE_SUBW_NOSWAP" src dst) native pre post)) +(define (SUBW_NOSWAP name bit_pattern expand amode src dst native) + (REAL_SUBW name bit_pattern expand amode src dst + (call "INLINE_SUBW_NOSWAP" src dst) native (list) (list))) + + + +; This C code computes the C bit for an add, where s, d, r are the msb's +; of src, dst, and result (respectively). +; if (s ^ d) +; return !r; +; return d; + +(define (REAL_ADDL name bit_pattern expand amode src dst inline native + pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (+ dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + inline + post + "\n#else\n" + pre + (assign tmp2.ul dst) + (assign ccv (>> (~ (^ tmp2.ul src)) 31)) + (ASSIGN_NNZ_LONG (assign dst (assign tmp.ul (+ tmp2.ul src)))) + post + (if ccv ; Are the high bits of src and dst the same? + (assign ccx (assign ccc (SIGN_LONG tmp2.ul))) + (assign ccx (assign ccc (SIGN_LONG (~ tmp.ul))))) + (assign ccv (& ccv (>> (^ tmp.ul tmp2.ul) 31))) + "\n#endif\n")))) + +(define (ADDL name bit_pattern expand amode src dst native pre post) + (REAL_ADDL name bit_pattern expand amode src dst + (assign dst (call "inline_addl" src dst)) native pre post)) +(define (ADDL name bit_pattern expand amode src dst native) + (REAL_ADDL name bit_pattern expand amode src dst + (assign dst (call "inline_addl" src dst)) native (list) (list))) + +(define (ADDL_NOSWAP name bit_pattern expand amode src dst native pre post) + (REAL_ADDL name bit_pattern expand amode src dst + (call "INLINE_ADDL_NOSWAP" src dst) native pre post)) +(define (ADDL_NOSWAP name bit_pattern expand amode src dst native) + (REAL_ADDL name bit_pattern expand amode src dst + (call "INLINE_ADDL_NOSWAP" src dst) native (list) (list))) + +(define (REAL_SUBL name bit_pattern expand amode src dst inline native + pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (- dst src)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + inline + post + "\n#else\n" + pre + (assign tmp2.ul dst) + (assign ccx (assign ccc (> (cast "uint32" src) tmp2.ul))) + (assign ccv (>> (^ tmp2.ul src) 31)) + (ASSIGN_NNZ_LONG (assign dst (- dst src))) + (assign ccv (& ccv (>> (^ dst tmp2.ul) 31))) + post + "\n#endif\n")))) + +(define (SUBL name bit_pattern expand amode src dst native pre post) + (REAL_SUBL name bit_pattern expand amode src dst + (assign dst (call "inline_subl" src dst)) native pre post)) +(define (SUBL name bit_pattern expand amode src dst native) + (REAL_SUBL name bit_pattern expand amode src dst + (assign dst (call "inline_subl" src dst)) native (list) (list))) + +(define (SUBL_NOSWAP name bit_pattern expand amode src dst native pre post) + (REAL_SUBL name bit_pattern expand amode src dst + (call "INLINE_SUBL_NOSWAP" src dst) native pre post)) +(define (SUBL_NOSWAP name bit_pattern expand amode src dst native) + (REAL_SUBL name bit_pattern expand amode src dst + (call "INLINE_SUBL_NOSWAP" src dst) native (list) (list))) + + + +(define (CMPB name bit_pattern expand amode src dst native pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "CNV-Z" "-----" expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + (call "inline_cmpb" src dst) + post + "\n#else\n" + pre + (assign tmp2.ub dst) + (assign tmp3.ub src) + (assign ccc (> tmp3.ub tmp2.ub)) + (assign ccv (& (^ tmp2.ub tmp3.ub) 0x80)) + (ASSIGN_NNZ_BYTE (assign tmp.ub (- tmp2.ub tmp3.ub))) + post + (assign ccv (& ccv (^ tmp.ub tmp2.ub))) + "\n#endif\n")))) + +(define (CMPW name bit_pattern expand amode src dst native pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "CNV-Z" "-----" expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + (call "inline_cmpw" src dst) + post + "\n#else\n" + pre + (assign tmp2.ul dst) + (assign tmp3.ul src) + (assign ccc (> tmp3.ul tmp2.ul)) + (assign tmp4.ul (& (^ tmp2.ul tmp3.ul) 0x8000)) + (ASSIGN_NNZ_WORD (assign tmp.uw (- tmp2.ul tmp3.ul))) + post + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (>> (& tmp4.ul (^ tmp.uw tmp2.ul)) 15)) + "\n#else\n" + (assign ccv (& tmp4.ul (^ tmp.uw tmp2.ul))) + "\n#endif\n" + "\n#endif\n")))) + + +(define (CMPL name bit_pattern expand amode src dst native pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "CNV-Z" "-----" expand + (native_code native) + (list + "\n#ifdef FAST_CC_FUNCS\n" + pre + (call "inline_cmpl" src dst) + post + "\n#else\n" + pre + (assign tmp2.ul dst) + (assign tmp3.ul src) + (assign ccc (> tmp3.ul tmp2.ul)) + (assign tmp4.ul (& (^ tmp2.ul tmp3.ul) 0x80000000)) + (ASSIGN_NNZ_LONG (assign tmp.ul (- tmp2.ul tmp3.ul))) + post + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (>> (& tmp4.ul (^ tmp.ul tmp2.ul)) 31)) + "\n#else\n" + (assign ccv (& tmp4.ul (^ tmp.ul tmp2.ul))) + "\n#endif\n" + "\n#endif\n")))) + + +; Handy macros if you don't care about pre and post. +(define (CMPB name bit_pattern expand amode src dst native) + (CMPB name bit_pattern expand amode src dst native (list) (list))) +(define (CMPW name bit_pattern expand amode src dst native) + (CMPW name bit_pattern expand amode src dst native (list) (list))) +(define (CMPL name bit_pattern expand amode src dst native) + (CMPL name bit_pattern expand amode src dst native (list) (list))) + + +(define (ADD_SUB_CMP name real_macro base_bits size amode ea_dest_p native + areg_cmp_p) + (real_macro name + (list base_bits "ddd" + (if (or ea_dest_p (and areg_cmp_p (= size LONG))) + "1" + "0") + (if areg_cmp_p + "11" + (if (= size BYTE) + "00" + (if (= size WORD) + "01" + "10"))) + (switch amode + ((+ IMM 0) + (if (= size BYTE) + "11110000000000cccccccc" + (if (= size WORD) + "111100cccccccccccccccc" + "111100cccccccccccccccccccccccccccccccc"))) + ((+ ABSW 0) "111000bbbbbbbbbbbbbbbb") + ((+ ABSL 0) + "111001bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ REG 0) "000ddd") + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sssaaaaaaaaaaaaaaaa"))) + dont_expand amode_implicit + (if ea_dest_p + (if (= size BYTE) + $1.dub + (if areg_cmp_p + $1.asl + (if (= size WORD) + $1.duw + $1.dul))) + (src_val amode (if areg_cmp_p AREG REG) size (not areg_cmp_p))) + (if ea_dest_p + (ea_val amode size (not areg_cmp_p)) + (if (= size BYTE) + $1.dub + (if areg_cmp_p + $1.asl + (if (= size WORD) + $1.duw + $1.dul)))) + native + (if (= amode PREDEC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $2.aul (- $2.aul size))) + (list)) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $2.aul (+ $2.aul size))) + (list)))) + + +(ADD_SUB_CMP addb_imm_reg ADDB_NOSWAP "1101" BYTE IMM false + "xlate_addb_imm_reg_1_0" false) +(ADD_SUB_CMP addw_imm_reg ADDW_NOSWAP "1101" WORD IMM false + "xlate_addw_imm_reg_1_0" false) +(ADD_SUB_CMP addl_imm_reg ADDL_NOSWAP "1101" LONG IMM false + "xlate_addl_imm_reg_1_0" false) + +(ADD_SUB_CMP addb_reg_reg ADDB_NOSWAP "1101" BYTE REG false + "xlate_addb_reg_reg_1_0" false) +(ADD_SUB_CMP addw_reg_reg ADDW_NOSWAP "1101" WORD REG false + "xlate_addw_reg_reg_1_0" false) +(ADD_SUB_CMP addl_reg_reg ADDL_NOSWAP "1101" LONG REG false + "xlate_addl_reg_reg_1_0" false) + +(ADD_SUB_CMP addw_areg_reg ADDW_NOSWAP "1101" WORD AREG false + "xlate_addw_areg_reg_1_0" false) +(ADD_SUB_CMP addl_areg_reg ADDL_NOSWAP "1101" LONG AREG false + "xlate_addl_areg_reg_1_0" false) + +(ADD_SUB_CMP addb_absw_reg ADDB "1101" BYTE ABSW false + "xlate_addb_abs_reg_1_0" false) +(ADD_SUB_CMP addw_absw_reg ADDW "1101" WORD ABSW false + "xlate_addw_abs_reg_1_0" false) +(ADD_SUB_CMP addl_absw_reg ADDL "1101" LONG ABSW false + "xlate_addl_abs_reg_1_0" false) + +(ADD_SUB_CMP addb_absl_reg ADDB "1101" BYTE ABSL false + "xlate_addb_abs_reg_1_0" false) +(ADD_SUB_CMP addw_absl_reg ADDW "1101" WORD ABSL false + "xlate_addw_abs_reg_1_0" false) +(ADD_SUB_CMP addl_absl_reg ADDL "1101" LONG ABSL false + "xlate_addl_abs_reg_1_0" false) + +(ADD_SUB_CMP addb_ind_reg ADDB "1101" BYTE IND false + "xlate_addb_ind_reg_1_0" false) +(ADD_SUB_CMP addw_ind_reg ADDW "1101" WORD IND false + "xlate_addw_ind_reg_1_0" false) +(ADD_SUB_CMP addl_ind_reg ADDL "1101" LONG IND false + "xlate_addl_ind_reg_1_0" false) + +(ADD_SUB_CMP addb_predec_reg ADDB "1101" BYTE PREDEC false + "xlate_addb_predec_reg_1_0" false) +(ADD_SUB_CMP addw_predec_reg ADDW "1101" WORD PREDEC false + "xlate_addw_predec_reg_1_0" false) +(ADD_SUB_CMP addl_predec_reg ADDL "1101" LONG PREDEC false + "xlate_addl_predec_reg_1_0" false) + +(ADD_SUB_CMP addb_postinc_reg ADDB "1101" BYTE POSTINC false + "xlate_addb_postinc_reg_1_0" false) +(ADD_SUB_CMP addw_postinc_reg ADDW "1101" WORD POSTINC false + "xlate_addw_postinc_reg_1_0" false) +(ADD_SUB_CMP addl_postinc_reg ADDL "1101" LONG POSTINC false + "xlate_addl_postinc_reg_1_0" false) + +(ADD_SUB_CMP addb_indoff_reg ADDB "1101" BYTE INDOFF false + "xlate_addb_indoff_reg_2_1_0" false) +(ADD_SUB_CMP addw_indoff_reg ADDW "1101" WORD INDOFF false + "xlate_addw_indoff_reg_2_1_0" false) +(ADD_SUB_CMP addl_indoff_reg ADDL "1101" LONG INDOFF false + "xlate_addl_indoff_reg_2_1_0" false) + +(ADD_SUB_CMP addb_reg_absw ADDB "1101" BYTE ABSW true + "xlate_addb_reg_abs_0_1" false) +(ADD_SUB_CMP addw_reg_absw ADDW "1101" WORD ABSW true + "xlate_addw_reg_abs_0_1" false) +(ADD_SUB_CMP addl_reg_absw ADDL "1101" LONG ABSW true + "xlate_addl_reg_abs_0_1" false) + +(ADD_SUB_CMP addb_reg_absl ADDB "1101" BYTE ABSL true + "xlate_addb_reg_abs_0_1" false) +(ADD_SUB_CMP addw_reg_absl ADDW "1101" WORD ABSL true + "xlate_addw_reg_abs_0_1" false) +(ADD_SUB_CMP addl_reg_absl ADDL "1101" LONG ABSL true + "xlate_addl_reg_abs_0_1" false) + +(ADD_SUB_CMP addb_reg_ind ADDB "1101" BYTE IND true + "xlate_addb_reg_ind_0_1" false) +(ADD_SUB_CMP addw_reg_ind ADDW "1101" WORD IND true + "xlate_addw_reg_ind_0_1" false) +(ADD_SUB_CMP addl_reg_ind ADDL "1101" LONG IND true + "xlate_addl_reg_ind_0_1" false) + +(ADD_SUB_CMP addb_reg_predec ADDB "1101" BYTE PREDEC true + "xlate_addb_reg_predec_0_1" false) +(ADD_SUB_CMP addw_reg_predec ADDW "1101" WORD PREDEC true + "xlate_addw_reg_predec_0_1" false) +(ADD_SUB_CMP addl_reg_predec ADDL "1101" LONG PREDEC true + "xlate_addl_reg_predec_0_1" false) + +(ADD_SUB_CMP addb_reg_postinc ADDB "1101" BYTE POSTINC true + "xlate_addb_reg_postinc_0_1" false) +(ADD_SUB_CMP addw_reg_postinc ADDW "1101" WORD POSTINC true + "xlate_addw_reg_postinc_0_1" false) +(ADD_SUB_CMP addl_reg_postinc ADDL "1101" LONG POSTINC true + "xlate_addl_reg_postinc_0_1" false) + +(ADD_SUB_CMP addb_reg_indoff ADDB "1101" BYTE INDOFF true + "xlate_addb_reg_indoff_0_2_1" false) +(ADD_SUB_CMP addw_reg_indoff ADDW "1101" WORD INDOFF true + "xlate_addw_reg_indoff_0_2_1" false) +(ADD_SUB_CMP addl_reg_indoff ADDL "1101" LONG INDOFF true + "xlate_addl_reg_indoff_0_2_1" false) + + + +(ADD_SUB_CMP subb_imm_reg SUBB_NOSWAP "1001" BYTE IMM false + "xlate_subb_imm_reg_1_0" false) +(ADD_SUB_CMP subw_imm_reg SUBW_NOSWAP "1001" WORD IMM false + "xlate_subw_imm_reg_1_0" false) +(ADD_SUB_CMP subl_imm_reg SUBL_NOSWAP "1001" LONG IMM false + "xlate_subl_imm_reg_1_0" false) + +(ADD_SUB_CMP subb_reg_reg SUBB_NOSWAP "1001" BYTE REG false + "xlate_subb_reg_reg_1_0" false) +(ADD_SUB_CMP subw_reg_reg SUBW_NOSWAP "1001" WORD REG false + "xlate_subw_reg_reg_1_0" false) +(ADD_SUB_CMP subl_reg_reg SUBL_NOSWAP "1001" LONG REG false + "xlate_subl_reg_reg_1_0" false) + +(ADD_SUB_CMP subw_areg_reg SUBW_NOSWAP "1001" WORD AREG false + "xlate_subw_areg_reg_1_0" false) +(ADD_SUB_CMP subl_areg_reg SUBL_NOSWAP "1001" LONG AREG false + "xlate_subl_areg_reg_1_0" false) + +(ADD_SUB_CMP subb_absw_reg SUBB "1001" BYTE ABSW false + "xlate_subb_abs_reg_1_0" false) +(ADD_SUB_CMP subw_absw_reg SUBW "1001" WORD ABSW false + "xlate_subw_abs_reg_1_0" false) +(ADD_SUB_CMP subl_absw_reg SUBL "1001" LONG ABSW false + "xlate_subl_abs_reg_1_0" false) + +(ADD_SUB_CMP subb_absl_reg SUBB "1001" BYTE ABSL false + "xlate_subb_abs_reg_1_0" false) +(ADD_SUB_CMP subw_absl_reg SUBW "1001" WORD ABSL false + "xlate_subw_abs_reg_1_0" false) +(ADD_SUB_CMP subl_absl_reg SUBL "1001" LONG ABSL false + "xlate_subl_abs_reg_1_0" false) + +(ADD_SUB_CMP subb_ind_reg SUBB "1001" BYTE IND false + "xlate_subb_ind_reg_1_0" false) +(ADD_SUB_CMP subw_ind_reg SUBW "1001" WORD IND false + "xlate_subw_ind_reg_1_0" false) +(ADD_SUB_CMP subl_ind_reg SUBL "1001" LONG IND false + "xlate_subl_ind_reg_1_0" false) + +(ADD_SUB_CMP subb_predec_reg SUBB "1001" BYTE PREDEC false + "xlate_subb_predec_reg_1_0" false) +(ADD_SUB_CMP subw_predec_reg SUBW "1001" WORD PREDEC false + "xlate_subw_predec_reg_1_0" false) +(ADD_SUB_CMP subl_predec_reg SUBL "1001" LONG PREDEC false + "xlate_subl_predec_reg_1_0" false) + +(ADD_SUB_CMP subb_postinc_reg SUBB "1001" BYTE POSTINC false + "xlate_subb_postinc_reg_1_0" false) +(ADD_SUB_CMP subw_postinc_reg SUBW "1001" WORD POSTINC false + "xlate_subw_postinc_reg_1_0" false) +(ADD_SUB_CMP subl_postinc_reg SUBL "1001" LONG POSTINC false + "xlate_subl_postinc_reg_1_0" false) + +(ADD_SUB_CMP subb_indoff_reg SUBB "1001" BYTE INDOFF false + "xlate_subb_indoff_reg_2_1_0" false) +(ADD_SUB_CMP subw_indoff_reg SUBW "1001" WORD INDOFF false + "xlate_subw_indoff_reg_2_1_0" false) +(ADD_SUB_CMP subl_indoff_reg SUBL "1001" LONG INDOFF false + "xlate_subl_indoff_reg_2_1_0" false) + +(ADD_SUB_CMP subb_reg_absw SUBB "1001" BYTE ABSW true + "xlate_subb_reg_abs_0_1" false) +(ADD_SUB_CMP subw_reg_absw SUBW "1001" WORD ABSW true + "xlate_subw_reg_abs_0_1" false) +(ADD_SUB_CMP subl_reg_absw SUBL "1001" LONG ABSW true + "xlate_subl_reg_abs_0_1" false) + +(ADD_SUB_CMP subb_reg_absl SUBB "1001" BYTE ABSL true + "xlate_subb_reg_abs_0_1" false) +(ADD_SUB_CMP subw_reg_absl SUBW "1001" WORD ABSL true + "xlate_subw_reg_abs_0_1" false) +(ADD_SUB_CMP subl_reg_absl SUBL "1001" LONG ABSL true + "xlate_subl_reg_abs_0_1" false) + +(ADD_SUB_CMP subb_reg_ind SUBB "1001" BYTE IND true + "xlate_subb_reg_ind_0_1" false) +(ADD_SUB_CMP subw_reg_ind SUBW "1001" WORD IND true + "xlate_subw_reg_ind_0_1" false) +(ADD_SUB_CMP subl_reg_ind SUBL "1001" LONG IND true + "xlate_subl_reg_ind_0_1" false) + +(ADD_SUB_CMP subb_reg_predec SUBB "1001" BYTE PREDEC true + "xlate_subb_reg_predec_0_1" false) +(ADD_SUB_CMP subw_reg_predec SUBW "1001" WORD PREDEC true + "xlate_subw_reg_predec_0_1" false) +(ADD_SUB_CMP subl_reg_predec SUBL "1001" LONG PREDEC true + "xlate_subl_reg_predec_0_1" false) + +(ADD_SUB_CMP subb_reg_postinc SUBB "1001" BYTE POSTINC true + "xlate_subb_reg_postinc_0_1" false) +(ADD_SUB_CMP subw_reg_postinc SUBW "1001" WORD POSTINC true + "xlate_subw_reg_postinc_0_1" false) +(ADD_SUB_CMP subl_reg_postinc SUBL "1001" LONG POSTINC true + "xlate_subl_reg_postinc_0_1" false) + +(ADD_SUB_CMP subb_reg_indoff SUBB "1001" BYTE INDOFF true + "xlate_subb_reg_indoff_0_2_1" false) +(ADD_SUB_CMP subw_reg_indoff SUBW "1001" WORD INDOFF true + "xlate_subw_reg_indoff_0_2_1" false) +(ADD_SUB_CMP subl_reg_indoff SUBL "1001" LONG INDOFF true + "xlate_subl_reg_indoff_0_2_1" false) + + + +(ADD_SUB_CMP cmpb_imm_reg CMPB "1011" BYTE IMM false + "xlate_cmpb_imm_reg_1_0" false) +(ADD_SUB_CMP cmpw_imm_reg CMPW "1011" WORD IMM false + "xlate_cmpw_imm_reg_1_0" false) +(ADD_SUB_CMP cmpl_imm_reg CMPL "1011" LONG IMM false + "xlate_cmpl_imm_reg_1_0" false) + +(ADD_SUB_CMP cmpb_reg_reg CMPB "1011" BYTE REG false + "xlate_cmpb_reg_reg_1_0" false) +(ADD_SUB_CMP cmpw_reg_reg CMPW "1011" WORD REG false + "xlate_cmpw_reg_reg_1_0" false) +(ADD_SUB_CMP cmpl_reg_reg CMPL "1011" LONG REG false + "xlate_cmpl_reg_reg_1_0" false) + +(ADD_SUB_CMP cmpw_areg_reg CMPW "1011" WORD AREG false + "xlate_cmpw_areg_reg_1_0" false) +(ADD_SUB_CMP cmpl_areg_reg CMPL "1011" LONG AREG false + "xlate_cmpl_areg_reg_1_0" false) + +(ADD_SUB_CMP cmpb_absw_reg CMPB "1011" BYTE ABSW false + "xlate_cmpb_abs_reg_1_0" false) +(ADD_SUB_CMP cmpw_absw_reg CMPW "1011" WORD ABSW false + "xlate_cmpw_abs_reg_1_0" false) +(ADD_SUB_CMP cmpl_absw_reg CMPL "1011" LONG ABSW false + "xlate_cmpl_abs_reg_1_0" false) + +(ADD_SUB_CMP cmpb_absl_reg CMPB "1011" BYTE ABSL false + "xlate_cmpb_abs_reg_1_0" false) +(ADD_SUB_CMP cmpw_absl_reg CMPW "1011" WORD ABSL false + "xlate_cmpw_abs_reg_1_0" false) +(ADD_SUB_CMP cmpl_absl_reg CMPL "1011" LONG ABSL false + "xlate_cmpl_abs_reg_1_0" false) + +(ADD_SUB_CMP cmpb_ind_reg CMPB "1011" BYTE IND false + "xlate_cmpb_ind_reg_1_0" false) +(ADD_SUB_CMP cmpw_ind_reg CMPW "1011" WORD IND false + "xlate_cmpw_ind_reg_1_0" false) +(ADD_SUB_CMP cmpl_ind_reg CMPL "1011" LONG IND false + "xlate_cmpl_ind_reg_1_0" false) + +(ADD_SUB_CMP cmpb_predec_reg CMPB "1011" BYTE PREDEC false + "xlate_cmpb_predec_reg_1_0" false) +(ADD_SUB_CMP cmpw_predec_reg CMPW "1011" WORD PREDEC false + "xlate_cmpw_predec_reg_1_0" false) +(ADD_SUB_CMP cmpl_predec_reg CMPL "1011" LONG PREDEC false + "xlate_cmpl_predec_reg_1_0" false) + +(ADD_SUB_CMP cmpb_postinc_reg CMPB "1011" BYTE POSTINC false + "xlate_cmpb_postinc_reg_1_0" false) +(ADD_SUB_CMP cmpw_postinc_reg CMPW "1011" WORD POSTINC false + "xlate_cmpw_postinc_reg_1_0" false) +(ADD_SUB_CMP cmpl_postinc_reg CMPL "1011" LONG POSTINC false + "xlate_cmpl_postinc_reg_1_0" false) + +(ADD_SUB_CMP cmpb_indoff_reg CMPB "1011" BYTE INDOFF false + "xlate_cmpb_indoff_reg_2_1_0" false) +(ADD_SUB_CMP cmpw_indoff_reg CMPW "1011" WORD INDOFF false + "xlate_cmpw_indoff_reg_2_1_0" false) +(ADD_SUB_CMP cmpl_indoff_reg CMPL "1011" LONG INDOFF false + "xlate_cmpl_indoff_reg_2_1_0" false) + + +(ADD_SUB_CMP cmpw_imm_areg CMPL "1011" WORD IMM false + "xlate_cmpl_imm_areg_1_0" true) ; use long version only +(ADD_SUB_CMP cmpl_imm_areg CMPL "1011" LONG IMM false + "xlate_cmpl_imm_areg_1_0" true) + +(ADD_SUB_CMP cmpw_reg_areg CMPL "1011" WORD REG false + "xlate_cmpw_reg_areg_1_0" true) +(ADD_SUB_CMP cmpl_reg_areg CMPL "1011" LONG REG false + "xlate_cmpl_reg_areg_1_0" true) + +(ADD_SUB_CMP cmpw_areg_areg CMPL "1011" WORD AREG false + "xlate_cmpw_areg_areg_1_0" true) +(ADD_SUB_CMP cmpl_areg_areg CMPL "1011" LONG AREG false + "xlate_cmpl_areg_areg_1_0" true) + +(ADD_SUB_CMP cmpw_absw_areg CMPL "1011" WORD ABSW false + "xlate_cmpw_abs_areg_1_0" true) +(ADD_SUB_CMP cmpl_absw_areg CMPL "1011" LONG ABSW false + "xlate_cmpl_abs_areg_1_0" true) + +(ADD_SUB_CMP cmpw_absl_areg CMPL "1011" WORD ABSL false + "xlate_cmpw_abs_areg_1_0" true) +(ADD_SUB_CMP cmpl_absl_areg CMPL "1011" LONG ABSL false + "xlate_cmpl_abs_areg_1_0" true) + +(ADD_SUB_CMP cmpw_ind_areg CMPL "1011" WORD IND false + "xlate_cmpw_ind_areg_1_0" true) +(ADD_SUB_CMP cmpl_ind_areg CMPL "1011" LONG IND false + "xlate_cmpl_ind_areg_1_0" true) + +(ADD_SUB_CMP cmpw_predec_areg CMPL "1011" WORD PREDEC false + "xlate_cmpw_predec_areg_1_0" true) +(ADD_SUB_CMP cmpl_predec_areg CMPL "1011" LONG PREDEC false + "xlate_cmpl_predec_areg_1_0" true) + +(ADD_SUB_CMP cmpw_postinc_areg CMPL "1011" WORD POSTINC false + "xlate_cmpw_postinc_areg_1_0" true) +(ADD_SUB_CMP cmpl_postinc_areg CMPL "1011" LONG POSTINC false + "xlate_cmpl_postinc_areg_1_0" true) + +(ADD_SUB_CMP cmpw_indoff_areg CMPL "1011" WORD INDOFF false + "xlate_cmpw_indoff_areg_2_1_0" true) +(ADD_SUB_CMP cmpl_indoff_areg CMPL "1011" LONG INDOFF false + "xlate_cmpl_indoff_areg_2_1_0" true) + + +; addb and subb +(ADDB addb_dest_reg (list "1101ddd000mmmmmm") dont_expand + (intersect amode_all_combinations (not "xxxxxxxxxx001xxx")) ; no an + $2.mub $1.dub "none") +(ADDB addb_dest_ea (list "1101ddd100mmmmmm") dont_expand + amode_alterable_memory $1.dub $2.mub "none") + +(SUBB subb_dest_reg (list "1001ddd000mmmmmm") dont_expand + (intersect amode_all_combinations (not "xxxxxxxxxx001xxx")) ; no an + $2.mub $1.dub "none") +(SUBB subb_dest_ea (list "1001ddd100mmmmmm") dont_expand + amode_alterable_memory $1.dub $2.mub "none") + +; addw and subw +(ADDW_NOSWAP addw_dest_reg (list "1101ddd001mmmmmm") dont_expand + amode_all_combinations $2.muw $1.duw "none") +(ADDW addw_dest_reg (list "1101ddd001mmmmmm") dont_expand + amode_all_combinations $2.muw $1.duw "none") +(ADDW addw_dest_ea (list "1101ddd101mmmmmm") dont_expand + amode_alterable_memory $1.duw $2.muw "none") +(SUBW_NOSWAP subw_dest_reg (list "1001ddd001mmmmmm") dont_expand + amode_all_combinations $2.muw $1.duw + "none") +(SUBW subw_dest_reg (list "1001ddd001mmmmmm") dont_expand + amode_all_combinations $2.muw $1.duw "none") +(SUBW subw_dest_ea (list "1001ddd101mmmmmm") dont_expand + amode_alterable_memory $1.duw $2.muw "none") + + + +; addl and subl +(ADDL_NOSWAP addl_dest_reg (list "1101ddd010mmmmmm") dont_expand + amode_all_combinations $2.mul $1.dul + "none") +(ADDL addl_dest_reg (list "1101ddd010mmmmmm") dont_expand + amode_all_combinations $2.mul $1.dul "none") +(ADDL addl_dest_ea (list "1101ddd110mmmmmm") dont_expand + amode_alterable_memory $1.dul $2.mul "none") +(SUBL_NOSWAP subl_reg_reg (list "1001ddd01000mmmm") dont_expand + amode_reg $2.gul $1.dul + "none") +(SUBL_NOSWAP subl_dest_reg (list "1001ddd010mmmmmm") dont_expand + amode_all_combinations $2.mul $1.dul + "none") +(SUBL subl_dest_reg (list "1001ddd010mmmmmm") dont_expand + amode_all_combinations $2.mul $1.dul "none") +(SUBL subl_dest_ea (list "1001ddd110mmmmmm") dont_expand + amode_alterable_memory $1.dul $2.mul "none") + + + +(define (ADDA_SUBA name op base_bits size amode native) + (defopcode name + (list 68000 amode_implicit () + (list base_bits "ddd" + (if (= size WORD) + "011" + "111") + (switch amode + ((+ IMM 0) + (if (= size BYTE) + "11110000000000cccccccc" + (if (= size WORD) + "111100cccccccccccccccc" + "111100cccccccccccccccccccccccccccccccc"))) + ((+ ABSW 0) "111000bbbbbbbbbbbbbbbb") + ((+ ABSL 0) + "111001bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ REG 0) "000ddd") + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sssaaaaaaaaaaaaaaaa")))) + (list "-----" "-----" dont_expand + (native_code native) + (list + (if (= amode PREDEC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $2.aul (- $2.aul size)))) + (assign $1.asl (op $1.asl (src_val amode AREG size false))) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $2.aul (+ $2.aul size)))))))) + +; addaw, addal, subaw, subal + +(ADDA_SUBA addaw_reg_areg + "1101" WORD REG "xlate_addw_reg_areg_1_0") +(ADDA_SUBA addal_reg_areg + "1101" LONG REG "xlate_addl_reg_areg_1_0") + +(ADDA_SUBA addaw_areg_areg + "1101" WORD AREG "xlate_addw_areg_areg_1_0") +(ADDA_SUBA addal_areg_areg + "1101" LONG AREG "xlate_addl_areg_areg_1_0") + +(ADDA_SUBA addaw_ind_areg + "1101" WORD IND "xlate_addw_ind_areg_1_0") +(ADDA_SUBA addal_ind_areg + "1101" LONG IND "xlate_addl_ind_areg_1_0") + +(ADDA_SUBA addaw_indoff_areg + "1101" WORD INDOFF + "xlate_addw_indoff_areg_2_1_0") +(ADDA_SUBA addal_indoff_areg + "1101" LONG INDOFF + "xlate_addl_indoff_areg_2_1_0") + +(ADDA_SUBA addaw_postinc_areg + "1101" WORD POSTINC + "xlate_addw_postinc_areg_1_0") +(ADDA_SUBA addal_postinc_areg + "1101" LONG POSTINC + "xlate_addl_postinc_areg_1_0") + +(ADDA_SUBA addaw_predec_areg + "1101" WORD PREDEC "xlate_addw_predec_areg_1_0") +(ADDA_SUBA addal_predec_areg + "1101" LONG PREDEC "xlate_addl_predec_areg_1_0") + + +(ADDA_SUBA subaw_reg_areg - "1001" WORD REG "xlate_subw_reg_areg_1_0") +(ADDA_SUBA subal_reg_areg - "1001" LONG REG "xlate_subl_reg_areg_1_0") + +(ADDA_SUBA subaw_areg_areg - "1001" WORD AREG "xlate_subw_areg_areg_1_0") +(ADDA_SUBA subal_areg_areg - "1001" LONG AREG "xlate_subl_areg_areg_1_0") + +(ADDA_SUBA subaw_ind_areg - "1001" WORD IND "xlate_subw_ind_areg_1_0") +(ADDA_SUBA subal_ind_areg - "1001" LONG IND "xlate_subl_ind_areg_1_0") + +(ADDA_SUBA subaw_indoff_areg - "1001" WORD INDOFF + "xlate_subw_indoff_areg_2_1_0") +(ADDA_SUBA subal_indoff_areg - "1001" LONG INDOFF + "xlate_subl_indoff_areg_2_1_0") + +(ADDA_SUBA subaw_postinc_areg - "1001" WORD POSTINC + "xlate_subw_postinc_areg_1_0") +(ADDA_SUBA subal_postinc_areg - "1001" LONG POSTINC + "xlate_subl_postinc_areg_1_0") + +(ADDA_SUBA subaw_predec_areg - "1001" WORD PREDEC "xlate_subw_predec_areg_1_0") +(ADDA_SUBA subal_predec_areg - "1001" LONG PREDEC "xlate_subl_predec_areg_1_0") + + +(defopcode addaw + (list 68000 amode_all_combinations () (list "1101aaa011mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.asl (+ $1.asl $2.msw)))) + +(defopcode addal + (list 68000 amode_all_combinations () (list "1101aaa111mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.aul (+ $1.aul $2.mul)))) + +(defopcode subaw + (list 68000 amode_all_combinations () (list "1001aaa011mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.asl (- $1.asl $2.msw)))) + +(defopcode subal + (list 68000 amode_all_combinations () (list "1001aaa111mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.aul (- $1.aul $2.mul)))) + + +(define (ADD_SUB_CMP_IMM_EA name main_op base_bits size amode native) + (main_op name + (list base_bits + (if (= size BYTE) + "00" + (if (= size WORD) + "01" + "10")) + (switch amode + ((+ ABSW 0) "111000") + ((+ ABSL 0) "111001") + ((+ REG 0) "000ddd") ; no areg + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sss")) + (if (= size BYTE) + "00000000cccccccc" + (if (= size WORD) + "cccccccccccccccc" + "cccccccccccccccccccccccccccccccc")) + (switch amode + ((+ ABSW 0) "bbbbbbbbbbbbbbbb") + ((+ ABSL 0) "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ INDOFF 0) "aaaaaaaaaaaaaaaa") + (default ""))) + dont_expand amode_implicit + (if (no_reg_op_p amode) + (if (= size BYTE) + $1.ub + (if (= size WORD) + $1.uw + $1.ul)) + (if (= size BYTE) + $2.ub + (if (= size WORD) + $2.uw + $2.ul))) + (dst_val IMM amode size) + native + (if (= amode PREDEC) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul size))) + (list)) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul size))) + (list)))) + +(ADD_SUB_CMP_IMM_EA addib_imm_reg ADDB "00000110" BYTE REG + "xlate_addb_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA addiw_imm_reg ADDW "00000110" WORD REG + "xlate_addw_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA addil_imm_reg ADDL "00000110" LONG REG + "xlate_addl_imm_reg_1_0") + +(ADD_SUB_CMP_IMM_EA addib_imm_absw ADDB "00000110" BYTE ABSW + "xlate_addb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA addiw_imm_absw ADDW "00000110" WORD ABSW + "xlate_addw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA addil_imm_absw ADDL "00000110" LONG ABSW + "xlate_addl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA addib_imm_absl ADDB "00000110" BYTE ABSL + "xlate_addb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA addiw_imm_absl ADDW "00000110" WORD ABSL + "xlate_addw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA addil_imm_absl ADDL "00000110" LONG ABSL + "xlate_addl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA addib_imm_ind ADDB "00000110" BYTE IND + "xlate_addb_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA addiw_imm_ind ADDW "00000110" WORD IND + "xlate_addw_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA addil_imm_ind ADDL "00000110" LONG IND + "xlate_addl_imm_ind_1_0") + +(ADD_SUB_CMP_IMM_EA addib_imm_indoff ADDB "00000110" BYTE INDOFF + "xlate_addb_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA addiw_imm_indoff ADDW "00000110" WORD INDOFF + "xlate_addw_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA addil_imm_indoff ADDL "00000110" LONG INDOFF + "xlate_addl_imm_indoff_1_2_0") + +(ADD_SUB_CMP_IMM_EA addib_imm_predec ADDB "00000110" BYTE PREDEC + "xlate_addb_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA addiw_imm_predec ADDW "00000110" WORD PREDEC + "xlate_addw_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA addil_imm_predec ADDL "00000110" LONG PREDEC + "xlate_addl_imm_predec_1_0") + +(ADD_SUB_CMP_IMM_EA addib_imm_postinc ADDB "00000110" BYTE POSTINC + "xlate_addb_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA addiw_imm_postinc ADDW "00000110" WORD POSTINC + "xlate_addw_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA addil_imm_postinc ADDL "00000110" LONG POSTINC + "xlate_addl_imm_postinc_1_0") + + + +(ADD_SUB_CMP_IMM_EA subib_imm_reg SUBB "00000100" BYTE REG + "xlate_subb_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA subiw_imm_reg SUBW "00000100" WORD REG + "xlate_subw_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA subil_imm_reg SUBL "00000100" LONG REG + "xlate_subl_imm_reg_1_0") + +(ADD_SUB_CMP_IMM_EA subib_imm_absw SUBB "00000100" BYTE ABSW + "xlate_subb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA subiw_imm_absw SUBW "00000100" WORD ABSW + "xlate_subw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA subil_imm_absw SUBL "00000100" LONG ABSW + "xlate_subl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA subib_imm_absl SUBB "00000100" BYTE ABSL + "xlate_subb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA subiw_imm_absl SUBW "00000100" WORD ABSL + "xlate_subw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA subil_imm_absl SUBL "00000100" LONG ABSL + "xlate_subl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA subib_imm_ind SUBB "00000100" BYTE IND + "xlate_subb_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA subiw_imm_ind SUBW "00000100" WORD IND + "xlate_subw_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA subil_imm_ind SUBL "00000100" LONG IND + "xlate_subl_imm_ind_1_0") + +(ADD_SUB_CMP_IMM_EA subib_imm_indoff SUBB "00000100" BYTE INDOFF + "xlate_subb_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA subiw_imm_indoff SUBW "00000100" WORD INDOFF + "xlate_subw_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA subil_imm_indoff SUBL "00000100" LONG INDOFF + "xlate_subl_imm_indoff_1_2_0") + +(ADD_SUB_CMP_IMM_EA subib_imm_predec SUBB "00000100" BYTE PREDEC + "xlate_subb_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA subiw_imm_predec SUBW "00000100" WORD PREDEC + "xlate_subw_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA subil_imm_predec SUBL "00000100" LONG PREDEC + "xlate_subl_imm_predec_1_0") + +(ADD_SUB_CMP_IMM_EA subib_imm_postinc SUBB "00000100" BYTE POSTINC + "xlate_subb_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA subiw_imm_postinc SUBW "00000100" WORD POSTINC + "xlate_subw_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA subil_imm_postinc SUBL "00000100" LONG POSTINC + "xlate_subl_imm_postinc_1_0") + + +(ADD_SUB_CMP_IMM_EA cmpib_imm_reg CMPB "00001100" BYTE REG + "xlate_cmpb_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_reg CMPW "00001100" WORD REG + "xlate_cmpw_imm_reg_1_0") +(ADD_SUB_CMP_IMM_EA cmpil_imm_reg CMPL "00001100" LONG REG + "xlate_cmpl_imm_reg_1_0") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_absw CMPB "00001100" BYTE ABSW + "xlate_cmpb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_absw CMPW "00001100" WORD ABSW + "xlate_cmpw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA cmpil_imm_absw CMPL "00001100" LONG ABSW + "xlate_cmpl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_absl CMPB "00001100" BYTE ABSL + "xlate_cmpb_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_absl CMPW "00001100" WORD ABSL + "xlate_cmpw_imm_abs_0_1") +(ADD_SUB_CMP_IMM_EA cmpil_imm_absl CMPL "00001100" LONG ABSL + "xlate_cmpl_imm_abs_0_1") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_ind CMPB "00001100" BYTE IND + "xlate_cmpb_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_ind CMPW "00001100" WORD IND + "xlate_cmpw_imm_ind_1_0") +(ADD_SUB_CMP_IMM_EA cmpil_imm_ind CMPL "00001100" LONG IND + "xlate_cmpl_imm_ind_1_0") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_indoff CMPB "00001100" BYTE INDOFF + "xlate_cmpb_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_indoff CMPW "00001100" WORD INDOFF + "xlate_cmpw_imm_indoff_1_2_0") +(ADD_SUB_CMP_IMM_EA cmpil_imm_indoff CMPL "00001100" LONG INDOFF + "xlate_cmpl_imm_indoff_1_2_0") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_predec CMPB "00001100" BYTE PREDEC + "xlate_cmpb_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_predec CMPW "00001100" WORD PREDEC + "xlate_cmpw_imm_predec_1_0") +(ADD_SUB_CMP_IMM_EA cmpil_imm_predec CMPL "00001100" LONG PREDEC + "xlate_cmpl_imm_predec_1_0") + +(ADD_SUB_CMP_IMM_EA cmpib_imm_postinc CMPB "00001100" BYTE POSTINC + "xlate_cmpb_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA cmpiw_imm_postinc CMPW "00001100" WORD POSTINC + "xlate_cmpw_imm_postinc_1_0") +(ADD_SUB_CMP_IMM_EA cmpil_imm_postinc CMPL "00001100" LONG POSTINC + "xlate_cmpl_imm_postinc_1_0") + + +; Special case indix,reg compares. +(CMPB cmpb_indix_reg (list "1011ddd000mmmmmm") dont_expand "xxxxxxxxxx110xxx" + $2.mub $1.dub "xlate_cmpb_indix_reg_1_0") +(CMPW cmpw_indix_reg (list "1011ddd001mmmmmm") dont_expand "xxxxxxxxxx110xxx" + $2.muw $1.duw "xlate_cmpw_indix_reg_1_0") +(CMPL cmpl_indix_reg (list "1011ddd010mmmmmm") dont_expand "xxxxxxxxxx110xxx" + $2.mul $1.dul "xlate_cmpl_indix_reg_1_0") + +(CMPL cmpl_indix_areg (list "101aaaa111mmmmmm") dont_expand "1011xxxxxx110xxx" + $2.mul $1.gul "xlate_cmpl_indix_reg_1_0") + + +; addib and subib +(ADDB_NOSWAP addib_reg (list "0000011000000mmm" "00000000bbbbbbbb") dont_expand + amode_dreg $2.ub $1.dub + "none") +(ADDB_NOSWAP addib (list "0000011000mmmmmm" "00000000bbbbbbbb") dont_expand + amode_alterable_data $2.ub $1.mub "none") +(SUBB_NOSWAP subib_reg (list "0000010000000mmm" "00000000bbbbbbbb") dont_expand + amode_dreg $2.ub $1.dub + "none") +(SUBB_NOSWAP subib (list "0000010000mmmmmm" "00000000bbbbbbbb") dont_expand + amode_alterable_data $2.ub $1.mub "none") + +; addiw and subiw +(ADDW_NOSWAP addiw_reg (list "0000011001000mmm" "wwwwwwwwwwwwwwww") dont_expand + amode_dreg $2.uw $1.duw + "none") +(ADDW addiw (list "0000011001mmmmmm" "wwwwwwwwwwwwwwww") dont_expand + amode_alterable_memory $2.uw $1.muw "none") +(SUBW_NOSWAP subiw_reg (list "0000010001000mmm" "wwwwwwwwwwwwwwww") dont_expand + amode_dreg $2.uw $1.duw + "none") +(SUBW subiw (list "0000010001mmmmmm" "wwwwwwwwwwwwwwww") dont_expand + amode_alterable_memory $2.uw $1.muw "none") + +; addil and subil +(ADDL_NOSWAP addil_reg + (list "0000011010000mmm" "llllllllllllllll" "llllllllllllllll") + dont_expand amode_dreg $2.ul $1.dul + "none") +(ADDL addil (list "0000011010mmmmmm" "llllllllllllllll" "llllllllllllllll") + dont_expand amode_alterable_memory $2.ul $1.mul "none") +(SUBL_NOSWAP subil + (list "0000010010000mmm" "llllllllllllllll" "llllllllllllllll") + dont_expand amode_dreg $2.ul $1.dul + "none") +(SUBL subil (list "0000010010mmmmmm" "llllllllllllllll" "llllllllllllllll") + dont_expand amode_alterable_memory $2.ul $1.mul "none") + + + +(define (ADDQ_SUBQ_IMM_EA name main_op base_bit size amode native eight_p) + (main_op name + (list + (if eight_p "01nnnnn" "0101nnn") + base_bit + (if (= size BYTE) + "00" + (if (= size WORD) + "01" + "10")) + (switch amode + ((+ ABSW 0) "111000") + ((+ ABSL 0) "111001") + ((+ REG 0) "000ddd") ; no areg + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sss")) + (switch amode + ((+ ABSW 0) "bbbbbbbbbbbbbbbb") + ((+ ABSL 0) "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ INDOFF 0) "aaaaaaaaaaaaaaaa") + (default ""))) + dont_expand + (if eight_p + "0101000xxxxxxxxx" + amode_implicit) + (if (= size BYTE) + $1.ub + (if (= size WORD) + $1.uw + $1.ul)) + (src_val amode REG size true) ; not really REG, but same effect + native + (if (= amode PREDEC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $2.aul (- $2.aul size))) + (list)) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $2.aul (+ $2.aul size))) + (list)))) + + + +(ADDQ_SUBQ_IMM_EA addqb8_imm_reg ADDB "0" BYTE REG + "xlate_addb_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_reg ADDB "0" BYTE REG + "xlate_addb_imm_reg_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_reg ADDW "0" WORD REG + "xlate_addw_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_reg ADDW "0" WORD REG + "xlate_addw_imm_reg_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_reg ADDL "0" LONG REG + "xlate_addl_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_reg ADDL "0" LONG REG + "xlate_addl_imm_reg_0_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_absw ADDB "0" BYTE ABSW + "xlate_addb_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_absw ADDB "0" BYTE ABSW + "xlate_addb_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_absw ADDW "0" WORD ABSW + "xlate_addw_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_absw ADDW "0" WORD ABSW + "xlate_addw_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_absw ADDL "0" LONG ABSW + "xlate_addl_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_absw ADDL "0" LONG ABSW + "xlate_addl_imm_abs_0_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_absl ADDB "0" BYTE ABSL + "xlate_addb_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_absl ADDB "0" BYTE ABSL + "xlate_addb_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_absl ADDW "0" WORD ABSL + "xlate_addw_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_absl ADDW "0" WORD ABSL + "xlate_addw_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_absl ADDL "0" LONG ABSL + "xlate_addl_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_absl ADDL "0" LONG ABSL + "xlate_addl_imm_abs_0_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_ind ADDB "0" BYTE IND + "xlate_addb_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_ind ADDB "0" BYTE IND + "xlate_addb_imm_ind_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_ind ADDW "0" WORD IND + "xlate_addw_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_ind ADDW "0" WORD IND + "xlate_addw_imm_ind_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_ind ADDL "0" LONG IND + "xlate_addl_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_ind ADDL "0" LONG IND + "xlate_addl_imm_ind_0_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_indoff ADDB "0" BYTE INDOFF + "xlate_addb_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_indoff ADDB "0" BYTE INDOFF + "xlate_addb_imm_indoff_0_2_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_indoff ADDW "0" WORD INDOFF + "xlate_addw_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_indoff ADDW "0" WORD INDOFF + "xlate_addw_imm_indoff_0_2_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_indoff ADDL "0" LONG INDOFF + "xlate_addl_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_indoff ADDL "0" LONG INDOFF + "xlate_addl_imm_indoff_0_2_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_predec ADDB "0" BYTE PREDEC + "xlate_addb_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_predec ADDB "0" BYTE PREDEC + "xlate_addb_imm_predec_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_predec ADDW "0" WORD PREDEC + "xlate_addw_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_predec ADDW "0" WORD PREDEC + "xlate_addw_imm_predec_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_predec ADDL "0" LONG PREDEC + "xlate_addl_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_predec ADDL "0" LONG PREDEC + "xlate_addl_imm_predec_0_1" false) + +(ADDQ_SUBQ_IMM_EA addqb8_imm_postinc ADDB "0" BYTE POSTINC + "xlate_addb_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA addqb_imm_postinc ADDB "0" BYTE POSTINC + "xlate_addb_imm_postinc_0_1" false) +(ADDQ_SUBQ_IMM_EA addqw8_imm_postinc ADDW "0" WORD POSTINC + "xlate_addw_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA addqw_imm_postinc ADDW "0" WORD POSTINC + "xlate_addw_imm_postinc_0_1" false) +(ADDQ_SUBQ_IMM_EA addql8_imm_postinc ADDL "0" LONG POSTINC + "xlate_addl_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA addql_imm_postinc ADDL "0" LONG POSTINC + "xlate_addl_imm_postinc_0_1" false) + + +(ADDQ_SUBQ_IMM_EA subqb8_imm_reg SUBB "1" BYTE REG + "xlate_subb_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_reg SUBB "1" BYTE REG + "xlate_subb_imm_reg_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_reg SUBW "1" WORD REG + "xlate_subw_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_reg SUBW "1" WORD REG + "xlate_subw_imm_reg_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_reg SUBL "1" LONG REG + "xlate_subl_imm_reg_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_reg SUBL "1" LONG REG + "xlate_subl_imm_reg_0_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_absw SUBB "1" BYTE ABSW + "xlate_subb_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_absw SUBB "1" BYTE ABSW + "xlate_subb_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_absw SUBW "1" WORD ABSW + "xlate_subw_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_absw SUBW "1" WORD ABSW + "xlate_subw_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_absw SUBL "1" LONG ABSW + "xlate_subl_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_absw SUBL "1" LONG ABSW + "xlate_subl_imm_abs_0_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_absl SUBB "1" BYTE ABSL + "xlate_subb_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_absl SUBB "1" BYTE ABSL + "xlate_subb_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_absl SUBW "1" WORD ABSL + "xlate_subw_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_absl SUBW "1" WORD ABSL + "xlate_subw_imm_abs_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_absl SUBL "1" LONG ABSL + "xlate_subl_imm_abs_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_absl SUBL "1" LONG ABSL + "xlate_subl_imm_abs_0_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_ind SUBB "1" BYTE IND + "xlate_subb_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_ind SUBB "1" BYTE IND + "xlate_subb_imm_ind_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_ind SUBW "1" WORD IND + "xlate_subw_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_ind SUBW "1" WORD IND + "xlate_subw_imm_ind_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_ind SUBL "1" LONG IND + "xlate_subl_imm_ind_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_ind SUBL "1" LONG IND + "xlate_subl_imm_ind_0_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_indoff SUBB "1" BYTE INDOFF + "xlate_subb_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_indoff SUBB "1" BYTE INDOFF + "xlate_subb_imm_indoff_0_2_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_indoff SUBW "1" WORD INDOFF + "xlate_subw_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_indoff SUBW "1" WORD INDOFF + "xlate_subw_imm_indoff_0_2_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_indoff SUBL "1" LONG INDOFF + "xlate_subl_imm_indoff_0_2_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_indoff SUBL "1" LONG INDOFF + "xlate_subl_imm_indoff_0_2_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_predec SUBB "1" BYTE PREDEC + "xlate_subb_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_predec SUBB "1" BYTE PREDEC + "xlate_subb_imm_predec_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_predec SUBW "1" WORD PREDEC + "xlate_subw_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_predec SUBW "1" WORD PREDEC + "xlate_subw_imm_predec_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_predec SUBL "1" LONG PREDEC + "xlate_subl_imm_predec_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_predec SUBL "1" LONG PREDEC + "xlate_subl_imm_predec_0_1" false) + +(ADDQ_SUBQ_IMM_EA subqb8_imm_postinc SUBB "1" BYTE POSTINC + "xlate_subb_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA subqb_imm_postinc SUBB "1" BYTE POSTINC + "xlate_subb_imm_postinc_0_1" false) +(ADDQ_SUBQ_IMM_EA subqw8_imm_postinc SUBW "1" WORD POSTINC + "xlate_subw_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA subqw_imm_postinc SUBW "1" WORD POSTINC + "xlate_subw_imm_postinc_0_1" false) +(ADDQ_SUBQ_IMM_EA subql8_imm_postinc SUBL "1" LONG POSTINC + "xlate_subl_imm_postinc_0_1" true) +(ADDQ_SUBQ_IMM_EA subql_imm_postinc SUBL "1" LONG POSTINC + "xlate_subl_imm_postinc_0_1" false) + + + +(ADDB addqb8_imm_indix (list "010aaaa000mmmmmm") + dont_expand "0101000000110xxx" $1.ul $2.mub + "xlate_addb_imm_indix_0_1") +(ADDB addqb_imm_indix (list "0101aaa000mmmmmm") + dont_expand "0101xxx000110xxx" $1.ul $2.mub + "xlate_addb_imm_indix_0_1") + +(ADDW addqw8_imm_indix (list "010aaaa001mmmmmm") + dont_expand "0101000001110xxx" $1.ul $2.muw + "xlate_addw_imm_indix_0_1") +(ADDW addqw_imm_indix (list "0101aaa001mmmmmm") + dont_expand "0101xxx001110xxx" $1.ul $2.muw + "xlate_addw_imm_indix_0_1") + +(ADDL addql8_imm_indix (list "010aaaa010mmmmmm") + dont_expand "0101000010110xxx" $1.ul $2.mul + "xlate_addl_imm_indix_0_1") +(ADDL addql_imm_indix (list "0101aaa010mmmmmm") + dont_expand "0101xxx010110xxx" $1.ul $2.mul + "xlate_addl_imm_indix_0_1") + + +(SUBB subqb8_imm_indix (list "010aaaa000mmmmmm") + dont_expand "0101000000110xxx" $1.ul $2.mub + "xlate_subb_imm_indix_0_1") +(SUBB subqb_imm_indix (list "0101aaa000mmmmmm") + dont_expand "0101xxx000110xxx" $1.ul $2.mub + "xlate_subb_imm_indix_0_1") + +(SUBW subqw8_imm_indix (list "010aaaa001mmmmmm") + dont_expand "0101000001110xxx" $1.ul $2.muw + "xlate_subw_imm_indix_0_1") +(SUBW subqw_imm_indix (list "0101aaa001mmmmmm") + dont_expand "0101xxx001110xxx" $1.ul $2.muw + "xlate_subw_imm_indix_0_1") + +(SUBL subql8_imm_indix (list "010aaaa010mmmmmm") + dont_expand "0101000010110xxx" $1.ul $2.mul + "xlate_subl_imm_indix_0_1") +(SUBL subql_imm_indix (list "0101aaa010mmmmmm") + dont_expand "0101xxx010110xxx" $1.ul $2.mul + "xlate_subl_imm_indix_0_1") + + +; addqb +(ADDB_NOSWAP addqb8 (list "0101000000mmmmmm") (list "----------00xxxx") + amode_alterable_data 8 $1.mub "none") +(ADDB_NOSWAP addqb (list "0101nnn000mmmmmm") (list "----------00xxxx") + amode_alterable_data $1.ub $2.mub "none") + +; subqb +(SUBB_NOSWAP subqb8 (list "0101000100mmmmmm") (list "----------00xxxx") + amode_alterable_data 8 $1.mub "none") +(SUBB_NOSWAP subqb (list "0101nnn100mmmmmm") (list "----------00xxxx") + amode_alterable_data $1.ub $2.mub "none") + +; When dealing with address registers, we can only use word/long sizes +; and the entire address register is affected by the operation regardless +; of size. We also don't affect cc bits. This means we merge the word +; and long cases into one. +(defopcode addaq8 + (list 68000 (union "xx01000x01xxxxxx" "xx01000x10xxxxxx") ; Word or long + () (list "01nnnnn0ss001aaa")) + (list "-----" "-----" dont_expand + (native_code "xlate_addl_imm_areg_0_1") + (assign $3.aul (+ $3.aul $1.ul)))) ; known to be 8... +(defopcode addaq + (list 68000 (union "xxxxxxxx01xxxxxx" "xxxxxxxx10xxxxxx") ; Word or long + () (list "0101nnn0ss001aaa")) + (list "-----" "-----" dont_expand + (native_code "xlate_addl_imm_areg_0_1") + (assign $3.aul (+ $3.aul $1.ul)))) + +(defopcode subaq8 + (list 68000 (union "xx01000x01xxxxxx" "xx01000x10xxxxxx") ; Word or long + () (list "01nnnnn1ss001aaa")) + (list "-----" "-----" dont_expand + (native_code "xlate_subl_imm_areg_0_1") + (assign $3.aul (- $3.aul $1.ul)))) ; known to be 8... +(defopcode subaq + (list 68000 (union "xxxxxxxx01xxxxxx" "xxxxxxxx10xxxxxx") ; Word or long + () (list "0101nnn1ss001aaa")) + (list "-----" "-----" dont_expand + (native_code "xlate_subl_imm_areg_0_1") + (assign $3.aul (- $3.aul $1.ul)))) + + +; addqw +(ADDW_NOSWAP addqw8 (list "010100000100mmmm") (list "----------00xxxx") + amode_reg 8 $1.guw "none") +(ADDW_NOSWAP addqw (list "0101nnn00100mmmm") + dont_expand amode_reg $1.ul $2.guw "none") +(ADDW addqw8 (list "0101000001mmmmmm") (list "----------00xxxx") + amode_alterable 8 $1.muw "none") +(ADDW addqw (list "0101nnn001mmmmmm") + dont_expand amode_alterable $1.ul $2.muw "none") + +; subqw +(SUBW_NOSWAP subqw8 (list "010100010100mmmm") (list "----------00xxxx") + amode_reg 8 $1.guw "none") +(SUBW_NOSWAP subqw (list "0101nnn10100mmmm") + dont_expand amode_reg $1.ul $2.guw "none") +(SUBW subqw8 (list "0101000101mmmmmm") (list "----------00xxxx") + amode_alterable 8 $1.muw "none") +(SUBW subqw (list "0101nnn101mmmmmm") + dont_expand amode_alterable $1.ul $2.muw "none") + +; addql +(ADDL_NOSWAP addql8 (list "0101000010mmmmmm") (list "----------00xxxx") + amode_reg 8 $1.mul "none") +(ADDL_NOSWAP addql (list "0101nnn010mmmmmm") + dont_expand amode_reg $1.ul $2.mul "none") +(ADDL addql8 (list "0101000010mmmmmm") (list "----------00xxxx") + amode_alterable 8 $1.mul "none") +(ADDL addql (list "0101nnn010mmmmmm") + dont_expand amode_alterable $1.ul $2.mul "none") + +; subql +(SUBL_NOSWAP subql8 (list "0101000110mmmmmm") (list "----------00xxxx") + amode_reg 8 $1.mul "none") +(SUBL_NOSWAP subql (list "0101nnn110mmmmmm") + dont_expand amode_reg $1.ul $2.mul "none") + +(SUBL subql8 (list "0101000110mmmmmm") (list "----------00xxxx") + amode_alterable 8 $1.mul "none") +(SUBL subql (list "0101nnn110mmmmmm") + dont_expand amode_alterable $1.ul $2.mul "none") + + +(CMPB cmpb (list "1011ddd000mmmmmm") dont_expand amode_all_combinations + $2.mub $1.dub "none") +(CMPW cmpw (list "1011ddd001mmmmmm") dont_expand amode_all_combinations + $2.muw $1.duw "none") +(CMPL cmpl (list "1011ddd010mmmmmm") dont_expand amode_all_combinations + $2.mul $1.dul "none") + +(CMPB cmpib (list "0000110000mmmmmm" "00000000bbbbbbbb") dont_expand + (intersect amode_data (not "xxxxxxxxxx111100")) $2.ub $1.mub "none") +(CMPW cmpiw (list "0000110001mmmmmm" "wwwwwwwwwwwwwwww") dont_expand + (intersect amode_data (not "xxxxxxxxxx111100")) $2.uw $1.muw "none") +(CMPL cmpil (list "0000110010mmmmmm" "llllllllllllllll" "llllllllllllllll") + dont_expand + (intersect amode_data (not "xxxxxxxxxx111100")) $2.ul $1.mul "none") + +(CMPL cmpaw (list "1011aaa011mmmmmm") dont_expand + amode_all_combinations $2.muw $1.asl "none") +(CMPL cmpal (list "1011aaa111mmmmmm") dont_expand + amode_all_combinations $2.msl $1.asl "none") + + +(define (ADDXBW name preamble postamble src dst bits t1 t2 t3 shift + sign_func native) + (defopcode name + (list 68000 amode_implicit () (list bits)) + (list "CNVX<" "---X-" dont_expand + (native_code native) + (list + preamble + (assign t3 dst) + (assign tmp3.ul (& (~ (^ t3 src)) (<< 1 (- shift 1)))) + (assign ccn + (sign_func (assign dst + (assign t1 + (+ t3 src (<> ccx 0)))))) + (assign ccx (assign ccc (>> t1 shift))) + (assign ccv (<> (& tmp3.ul (^ t2 t3)) 0)) + (assign ccnz (| ccnz (<> 0 t2))) + postamble)))) + +(ADDXBW addxb_reg (list) (list) $2.dub $1.dub "1101ddd100000ddd" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE "xlate_addxb_reg_reg_1_0") +(ADDXBW addxb_a7@-,a7@- + (assign a7.ul (- a7.ul 2)) + (assign a7.ul (- a7.ul 2)) + (derefub a7.ul) (derefub (- a7.ul 2)) + "1101111100001111" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE "none") +(ADDXBW addxb_a7@-,an@- + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1)) + (derefub a7.ul) (derefub (- $1.aul 1)) + "1101aaa100001111" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE "none") +(ADDXBW addxb_an@-,a7@- + (assign $1.aul (- $1.aul 1)) + (assign a7.ul (- a7.ul 2)) + (derefub $1.aul) (derefub (- a7.ul 2)) + "1101111100001aaa" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE "none") +(ADDXBW addxb_mem + (assign $2.aul (- $2.aul 1)) + (assign $1.aul (- $1.aul 1)) + (derefub $2.aul) (derefub (- $1.aul 1)) + "1101aaa100001aaa" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE "none") +(ADDXBW addxw_reg (list) (list) $2.duw $1.duw + "1101ddd101000ddd" tmp.ul tmp.uw tmp2.uw 16 SIGN_WORD + "xlate_addxw_reg_reg_1_0") +(ADDXBW addxw_mem + (assign $2.aul (- $2.aul 2)) + (assign $1.aul (- $1.aul 2)) + (derefuw $2.aul) (derefuw (- $1.aul 2)) + "1101aaa101001aaa" tmp.ul tmp.uw tmp2.uw 16 SIGN_WORD "none") + +(define (ADDXL name preamble postamble src dst bits native) + (defopcode name + (list 68000 amode_implicit () (list bits)) + (list "CNVX<" "---X-" dont_expand + (native_code native) + (list + preamble + (assign tmp2.ul dst) + (assign ccv (>> (~ (^ tmp2.ul src)) 31)) + (assign ccn (SIGN_LONG (assign tmp.ul + (assign dst + (+ dst src (<> ccx 0)))))) + (if ccv ; Are the high bits of src and dst the same? + (assign ccx (assign ccc (SIGN_LONG tmp2.ul))) + (assign ccx (assign ccc (SIGN_LONG (~ tmp.ul))))) + (assign ccnz (| ccnz (<> 0 tmp.ul))) + (assign ccv (& ccv (>> (^ tmp.ul tmp2.ul) 31))) + postamble)))) + +(ADDXL addxl_reg (list) (list) $2.dul $1.dul "1101ddd110000ddd" + "xlate_addxl_reg_reg_1_0") +(ADDXL addxl_mem + (assign $2.aul (- $2.aul 4)) + (assign $1.aul (- $1.aul 4)) + (dereful $2.aul) (dereful (- $1.aul 4)) "1101aaa110001aaa" "none") + + +(define (SUBXBW name preamble postamble src dst bits t1 t2 t3 shift + sign_func) + (defopcode name + (list 68000 amode_implicit () (list bits)) + (list "CNVX<" "---X-" dont_expand + (list + preamble + (assign t3 dst) + (assign ccx (<> ccx 0)) + (assign ccc (> src (- t3 ccx))) + (assign tmp3.ul (& (^ t3 src) (<< 1 (- shift 1)))) + (assign ccn (sign_func (assign dst (assign t1 (- t3 src ccx))))) + (assign ccx ccc) + (assign ccv (<> (& tmp3.ul (^ t2 t3)) 0)) + (assign ccnz (| ccnz (<> 0 t2))) + postamble)))) + + +(SUBXBW subxb_reg (list) (list) $2.dub $1.dub "1001ddd100000ddd" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE) +(SUBXBW subxb_a7@-,a7@- + (assign a7.ul (- a7.ul 4)) + (list) + (derefub (+ a7.ul 2)) (derefub a7.ul) "1001111100001111" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE) +(SUBXBW subxb_an@-,a7@- + (list + (assign $1.aul (- $1.aul 1)) + (assign a7.ul (- a7.ul 2))) + (list) + (derefub $1.aul) (derefub a7.ul) "1001111100001aaa" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE) +(SUBXBW subxb_a7@-,an@- + (list + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1))) + (list) + (derefub a7.ul) (derefub $1.aul) "1001aaa100001111" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE) +(SUBXBW subxb_mem + (assign $2.aul (- $2.aul 1)) + (assign $1.aul (- $1.aul 1)) + (derefub $2.aul) (derefub (- $1.aul 1)) "1001aaa100001aaa" + tmp.uw tmp.ub tmp2.ub 8 SIGN_BYTE) +(SUBXBW subxw_reg (list) (list) $2.duw $1.duw "1001ddd101000ddd" + tmp.ul tmp.uw tmp2.uw 16 SIGN_WORD) +(SUBXBW subxw_mem + (assign $2.aul (- $2.aul 2)) + (assign $1.aul (- $1.aul 2)) + (derefuw $2.aul) (derefuw (- $1.aul 2)) "1001aaa101001aaa" + tmp.ul tmp.uw tmp2.uw 16 SIGN_WORD) + +(define (SUBXL name preamble postamble src dst bits) + (defopcode name + (list 68000 amode_implicit () (list bits)) + (list "CNVX<" "---X-" dont_expand + (list + preamble + (assign tmp3.ul src) + (assign tmp2.ul dst) + (assign ccc (> tmp3.ul tmp2.ul)) + (assign ccv (>> (^ tmp2.ul tmp3.ul) 31)) + (assign ccn (SIGN_LONG (assign tmp.ul + (assign dst + (- tmp2.ul tmp3.ul + (<> ccx 0)))))) + (assign ccnz (| ccnz (<> 0 tmp.ul))) + (assign ccx (assign ccc (SIGN_LONG + (| (& tmp3.ul tmp.ul) + (& (~ tmp2.ul) (| tmp3.ul tmp.ul)))))) + (assign ccv (& ccv (>> (^ tmp.ul tmp2.ul) 31))) + postamble)))) + +(SUBXL subxl_reg (list) (list) $2.dul $1.dul "1001ddd110000ddd") +(SUBXL subxl_mem + (assign $2.aul (- $2.aul 4)) + (assign $1.aul (- $1.aul 4)) + (dereful $2.aul) (dereful (- $1.aul 4)) "1001aaa110001aaa") + +; and, or, eor +(define (AND_OR_EOR name op bit_pattern amode expand src dst cc_func native + pre post) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (native_code native) + (list + pre + (assign dst (op dst src)) + post)) + (list "CNV-Z" "-----" dont_expand + (native_code native) + (list + pre + (cc_func (assign dst (op dst src))) + post)))) + +(define (AND_OR_EOR name op bit_pattern amode expand src dst cc_func native) + (AND_OR_EOR name op bit_pattern amode expand src dst cc_func native + (list) (list))) + + +(define (BITOP name main_op base_bits size amode ea_dest_p native) + (AND_OR_EOR name main_op + (list base_bits "ddd" (if ea_dest_p "1" "0") + (if (= size BYTE) + "00" + (if (= size WORD) + "01" + "10")) + (switch amode + ((+ IMM 0) + (if (= size BYTE) + "11110000000000cccccccc" + (if (= size WORD) + "111100cccccccccccccccc" + "111100cccccccccccccccccccccccccccccccc"))) + ((+ ABSW 0) "111000bbbbbbbbbbbbbbbb") + ((+ ABSL 0) + "111001bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ REG 0) "000ddd") ; no areg + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sssaaaaaaaaaaaaaaaa"))) + amode_implicit dont_expand + (if ea_dest_p + (if (= size BYTE) + $1.dub + (if (= size WORD) + $1.duw + $1.dul)) + (ea_val amode size false)) + (if ea_dest_p + (ea_val amode size false) + (if (= size BYTE) + $1.dub + (if (= size WORD) + $1.duw + $1.dul))) + (if (= size BYTE) + ASSIGN_C_N_V_NZ_BYTE + (if (= size WORD) + ASSIGN_C_N_V_NZ_WORD + ASSIGN_C_N_V_NZ_LONG)) + native + (if (= amode PREDEC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $2.aul (- $2.aul size))) + (list)) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $2.aul (+ $2.aul size))) + (list)))) + +(BITOP andb_imm_reg & "1100" BYTE IMM false "xlate_andb_imm_reg_1_0") +(BITOP andw_imm_reg & "1100" WORD IMM false "xlate_andw_imm_reg_1_0") +(BITOP andl_imm_reg & "1100" LONG IMM false "xlate_andl_imm_reg_1_0") + +(BITOP andb_reg_reg & "1100" BYTE REG false "xlate_andb_reg_reg_1_0") +(BITOP andw_reg_reg & "1100" WORD REG false "xlate_andw_reg_reg_1_0") +(BITOP andl_reg_reg & "1100" LONG REG false "xlate_andl_reg_reg_1_0") + +(BITOP andb_absw_reg & "1100" BYTE ABSW false "xlate_andb_abs_reg_1_0") +(BITOP andw_absw_reg & "1100" WORD ABSW false "xlate_andw_abs_reg_1_0") +(BITOP andl_absw_reg & "1100" LONG ABSW false "xlate_andl_abs_reg_1_0") + +(BITOP andb_absl_reg & "1100" BYTE ABSL false "xlate_andb_abs_reg_1_0") +(BITOP andw_absl_reg & "1100" WORD ABSL false "xlate_andw_abs_reg_1_0") +(BITOP andl_absl_reg & "1100" LONG ABSL false "xlate_andl_abs_reg_1_0") + +(BITOP andb_ind_reg & "1100" BYTE IND false "xlate_andb_ind_reg_1_0") +(BITOP andw_ind_reg & "1100" WORD IND false "xlate_andw_ind_reg_1_0") +(BITOP andl_ind_reg & "1100" LONG IND false "xlate_andl_ind_reg_1_0") + +(BITOP andb_predec_reg & "1100" BYTE PREDEC false "xlate_andb_predec_reg_1_0") +(BITOP andw_predec_reg & "1100" WORD PREDEC false "xlate_andw_predec_reg_1_0") +(BITOP andl_predec_reg & "1100" LONG PREDEC false "xlate_andl_predec_reg_1_0") + +(BITOP andb_postinc_reg & "1100" BYTE POSTINC false + "xlate_andb_postinc_reg_1_0") +(BITOP andw_postinc_reg & "1100" WORD POSTINC false + "xlate_andw_postinc_reg_1_0") +(BITOP andl_postinc_reg & "1100" LONG POSTINC false + "xlate_andl_postinc_reg_1_0") + +(BITOP andb_indoff_reg & "1100" BYTE INDOFF false + "xlate_andb_indoff_reg_2_1_0") +(BITOP andw_indoff_reg & "1100" WORD INDOFF false + "xlate_andw_indoff_reg_2_1_0") +(BITOP andl_indoff_reg & "1100" LONG INDOFF false + "xlate_andl_indoff_reg_2_1_0") + +(BITOP andb_reg_absw & "1100" BYTE ABSW true "xlate_andb_reg_abs_0_1") +(BITOP andw_reg_absw & "1100" WORD ABSW true "xlate_andw_reg_abs_0_1") +(BITOP andl_reg_absw & "1100" LONG ABSW true "xlate_andl_reg_abs_0_1") + +(BITOP andb_reg_absl & "1100" BYTE ABSL true "xlate_andb_reg_abs_0_1") +(BITOP andw_reg_absl & "1100" WORD ABSL true "xlate_andw_reg_abs_0_1") +(BITOP andl_reg_absl & "1100" LONG ABSL true "xlate_andl_reg_abs_0_1") + +(BITOP andb_reg_ind & "1100" BYTE IND true "xlate_andb_reg_ind_0_1") +(BITOP andw_reg_ind & "1100" WORD IND true "xlate_andw_reg_ind_0_1") +(BITOP andl_reg_ind & "1100" LONG IND true "xlate_andl_reg_ind_0_1") + +(BITOP andb_reg_predec & "1100" BYTE PREDEC true "xlate_andb_reg_predec_0_1") +(BITOP andw_reg_predec & "1100" WORD PREDEC true "xlate_andw_reg_predec_0_1") +(BITOP andl_reg_predec & "1100" LONG PREDEC true "xlate_andl_reg_predec_0_1") + +(BITOP andb_reg_postinc & "1100" BYTE POSTINC true + "xlate_andb_reg_postinc_0_1") +(BITOP andw_reg_postinc & "1100" WORD POSTINC true + "xlate_andw_reg_postinc_0_1") +(BITOP andl_reg_postinc & "1100" LONG POSTINC true + "xlate_andl_reg_postinc_0_1") + +(BITOP andb_reg_indoff & "1100" BYTE INDOFF true + "xlate_andb_reg_indoff_0_2_1") +(BITOP andw_reg_indoff & "1100" WORD INDOFF true + "xlate_andw_reg_indoff_0_2_1") +(BITOP andl_reg_indoff & "1100" LONG INDOFF true + "xlate_andl_reg_indoff_0_2_1") + + +(BITOP orb_imm_reg | "1000" BYTE IMM false "xlate_orb_imm_reg_1_0") +(BITOP orw_imm_reg | "1000" WORD IMM false "xlate_orw_imm_reg_1_0") +(BITOP orl_imm_reg | "1000" LONG IMM false "xlate_orl_imm_reg_1_0") + +(BITOP orb_reg_reg | "1000" BYTE REG false "xlate_orb_reg_reg_1_0") +(BITOP orw_reg_reg | "1000" WORD REG false "xlate_orw_reg_reg_1_0") +(BITOP orl_reg_reg | "1000" LONG REG false "xlate_orl_reg_reg_1_0") + +(BITOP orb_absw_reg | "1000" BYTE ABSW false "xlate_orb_abs_reg_1_0") +(BITOP orw_absw_reg | "1000" WORD ABSW false "xlate_orw_abs_reg_1_0") +(BITOP orl_absw_reg | "1000" LONG ABSW false "xlate_orl_abs_reg_1_0") + +(BITOP orb_absl_reg | "1000" BYTE ABSL false "xlate_orb_abs_reg_1_0") +(BITOP orw_absl_reg | "1000" WORD ABSL false "xlate_orw_abs_reg_1_0") +(BITOP orl_absl_reg | "1000" LONG ABSL false "xlate_orl_abs_reg_1_0") + +(BITOP orb_ind_reg | "1000" BYTE IND false "xlate_orb_ind_reg_1_0") +(BITOP orw_ind_reg | "1000" WORD IND false "xlate_orw_ind_reg_1_0") +(BITOP orl_ind_reg | "1000" LONG IND false "xlate_orl_ind_reg_1_0") + +(BITOP orb_predec_reg | "1000" BYTE PREDEC false "xlate_orb_predec_reg_1_0") +(BITOP orw_predec_reg | "1000" WORD PREDEC false "xlate_orw_predec_reg_1_0") +(BITOP orl_predec_reg | "1000" LONG PREDEC false "xlate_orl_predec_reg_1_0") + +(BITOP orb_postinc_reg | "1000" BYTE POSTINC false + "xlate_orb_postinc_reg_1_0") +(BITOP orw_postinc_reg | "1000" WORD POSTINC false + "xlate_orw_postinc_reg_1_0") +(BITOP orl_postinc_reg | "1000" LONG POSTINC false + "xlate_orl_postinc_reg_1_0") + +(BITOP orb_indoff_reg | "1000" BYTE INDOFF false + "xlate_orb_indoff_reg_2_1_0") +(BITOP orw_indoff_reg | "1000" WORD INDOFF false + "xlate_orw_indoff_reg_2_1_0") +(BITOP orl_indoff_reg | "1000" LONG INDOFF false + "xlate_orl_indoff_reg_2_1_0") + +(BITOP orb_reg_absw | "1000" BYTE ABSW true "xlate_orb_reg_abs_0_1") +(BITOP orw_reg_absw | "1000" WORD ABSW true "xlate_orw_reg_abs_0_1") +(BITOP orl_reg_absw | "1000" LONG ABSW true "xlate_orl_reg_abs_0_1") + +(BITOP orb_reg_absl | "1000" BYTE ABSL true "xlate_orb_reg_abs_0_1") +(BITOP orw_reg_absl | "1000" WORD ABSL true "xlate_orw_reg_abs_0_1") +(BITOP orl_reg_absl | "1000" LONG ABSL true "xlate_orl_reg_abs_0_1") + +(BITOP orb_reg_ind | "1000" BYTE IND true "xlate_orb_reg_ind_0_1") +(BITOP orw_reg_ind | "1000" WORD IND true "xlate_orw_reg_ind_0_1") +(BITOP orl_reg_ind | "1000" LONG IND true "xlate_orl_reg_ind_0_1") + +(BITOP orb_reg_predec | "1000" BYTE PREDEC true "xlate_orb_reg_predec_0_1") +(BITOP orw_reg_predec | "1000" WORD PREDEC true "xlate_orw_reg_predec_0_1") +(BITOP orl_reg_predec | "1000" LONG PREDEC true "xlate_orl_reg_predec_0_1") + +(BITOP orb_reg_postinc | "1000" BYTE POSTINC true + "xlate_orb_reg_postinc_0_1") +(BITOP orw_reg_postinc | "1000" WORD POSTINC true + "xlate_orw_reg_postinc_0_1") +(BITOP orl_reg_postinc | "1000" LONG POSTINC true + "xlate_orl_reg_postinc_0_1") + +(BITOP orb_reg_indoff | "1000" BYTE INDOFF true + "xlate_orb_reg_indoff_0_2_1") +(BITOP orw_reg_indoff | "1000" WORD INDOFF true + "xlate_orw_reg_indoff_0_2_1") +(BITOP orl_reg_indoff | "1000" LONG INDOFF true + "xlate_orl_reg_indoff_0_2_1") + + +(BITOP xorb_reg_reg ^ "1011" BYTE REG true "xlate_xorb_reg_reg_0_1") +(BITOP xorw_reg_reg ^ "1011" WORD REG true "xlate_xorw_reg_reg_0_1") +(BITOP xorl_reg_reg ^ "1011" LONG REG true "xlate_xorl_reg_reg_0_1") + +(BITOP xorb_reg_absw ^ "1011" BYTE ABSW true "xlate_xorb_reg_abs_0_1") +(BITOP xorw_reg_absw ^ "1011" WORD ABSW true "xlate_xorw_reg_abs_0_1") +(BITOP xorl_reg_absw ^ "1011" LONG ABSW true "xlate_xorl_reg_abs_0_1") + +(BITOP xorb_reg_absl ^ "1011" BYTE ABSL true "xlate_xorb_reg_abs_0_1") +(BITOP xorw_reg_absl ^ "1011" WORD ABSL true "xlate_xorw_reg_abs_0_1") +(BITOP xorl_reg_absl ^ "1011" LONG ABSL true "xlate_xorl_reg_abs_0_1") + +(BITOP xorb_reg_ind ^ "1011" BYTE IND true "xlate_xorb_reg_ind_0_1") +(BITOP xorw_reg_ind ^ "1011" WORD IND true "xlate_xorw_reg_ind_0_1") +(BITOP xorl_reg_ind ^ "1011" LONG IND true "xlate_xorl_reg_ind_0_1") + +(BITOP xorb_reg_predec ^ "1011" BYTE PREDEC true "xlate_xorb_reg_predec_0_1") +(BITOP xorw_reg_predec ^ "1011" WORD PREDEC true "xlate_xorw_reg_predec_0_1") +(BITOP xorl_reg_predec ^ "1011" LONG PREDEC true "xlate_xorl_reg_predec_0_1") + +(BITOP xorb_reg_postinc ^ "1011" BYTE POSTINC true + "xlate_xorb_reg_postinc_0_1") +(BITOP xorw_reg_postinc ^ "1011" WORD POSTINC true + "xlate_xorw_reg_postinc_0_1") +(BITOP xorl_reg_postinc ^ "1011" LONG POSTINC true + "xlate_xorl_reg_postinc_0_1") + +(BITOP xorb_reg_indoff ^ "1011" BYTE INDOFF true + "xlate_xorb_reg_indoff_0_2_1") +(BITOP xorw_reg_indoff ^ "1011" WORD INDOFF true + "xlate_xorw_reg_indoff_0_2_1") +(BITOP xorl_reg_indoff ^ "1011" LONG INDOFF true + "xlate_xorl_reg_indoff_0_2_1") + + + + +; And, or, eor, effective address destination. +(AND_OR_EOR eorb_dest_ea ^ (list "1011ddd100mmmmmm") amode_alterable_data + dont_expand $1.dub $2.mub ASSIGN_C_N_V_NZ_BYTE "none") +(AND_OR_EOR andb_dest_ea & (list "1100ddd100mmmmmm") amode_alterable_memory + dont_expand $1.dub $2.mub ASSIGN_C_N_V_NZ_BYTE "none") +(AND_OR_EOR orb_dest_ea | (list "1000ddd100mmmmmm") amode_alterable_memory + dont_expand $1.dub $2.mub ASSIGN_C_N_V_NZ_BYTE "none") +(AND_OR_EOR eorw_dest_ea ^ (list "1011ddd101mmmmmm") amode_alterable_data + dont_expand $1.duw $2.muw ASSIGN_C_N_V_NZ_WORD "none") +(AND_OR_EOR andw_dest_ea & (list "1100ddd101mmmmmm") amode_alterable_memory + dont_expand $1.duw $2.muw ASSIGN_C_N_V_NZ_WORD "none") +(AND_OR_EOR orw_dest_ea | (list "1000ddd101mmmmmm") amode_alterable_memory + dont_expand $1.duw $2.muw ASSIGN_C_N_V_NZ_WORD "none") +(AND_OR_EOR eorl_dest_ea ^ (list "1011ddd110mmmmmm") amode_alterable_data + dont_expand $1.dul $2.mul ASSIGN_C_N_V_NZ_LONG "none") +(AND_OR_EOR andl_dest_ea & (list "1100ddd110mmmmmm") amode_alterable_memory + dont_expand $1.dul $2.mul ASSIGN_C_N_V_NZ_LONG "none") +(AND_OR_EOR orl_dest_ea | (list "1000ddd110mmmmmm") amode_alterable_memory + dont_expand $1.dul $2.mul ASSIGN_C_N_V_NZ_LONG "none") + +; And, or, data register destination (no such thing for eor) +(AND_OR_EOR andb_dest_reg & (list "1100ddd000mmmmmm") amode_data + dont_expand $2.mub $1.dub ASSIGN_C_N_V_NZ_BYTE "none") +(AND_OR_EOR orb_dest_reg | (list "1000ddd000mmmmmm") amode_data + dont_expand $2.mub $1.dub ASSIGN_C_N_V_NZ_BYTE "none") +(AND_OR_EOR andw_dest_reg & (list "1100ddd001mmmmmm") amode_data + dont_expand $2.muw $1.duw ASSIGN_C_N_V_NZ_WORD "none") +(AND_OR_EOR orw_dest_reg | (list "1000ddd001mmmmmm") amode_data + dont_expand $2.muw $1.duw ASSIGN_C_N_V_NZ_WORD "none") +(AND_OR_EOR andl_dest_reg & (list "1100ddd010mmmmmm") amode_data + dont_expand $2.mul $1.dul ASSIGN_C_N_V_NZ_LONG "none") +(AND_OR_EOR orl_dest_reg | (list "1000ddd010mmmmmm") amode_data + dont_expand $2.mul $1.dul ASSIGN_C_N_V_NZ_LONG "none") + + +(define (BITOP_IMM_EA name main_op base_bits size amode native) + (AND_OR_EOR name main_op + (list base_bits + (if (= size BYTE) + "00" + (if (= size WORD) + "01" + "10")) + (switch amode + ((+ ABSW 0) "111000") + ((+ ABSL 0) "111001") + ((+ REG 0) "000ddd") ; no areg + ((+ GREG 0) "00dddd") + ((+ AREG 0) "001ddd") + ((+ IND 0) "010ddd") + ((+ PREDEC 0) "100ddd") + ((+ POSTINC 0) "011ddd") + ((+ INDOFF 0) "101sss")) + (if (= size BYTE) + "00000000cccccccc" + (if (= size WORD) + "cccccccccccccccc" + "cccccccccccccccccccccccccccccccc")) + (switch amode + ((+ ABSW 0) "bbbbbbbbbbbbbbbb") + ((+ ABSL 0) "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ INDOFF 0) "aaaaaaaaaaaaaaaa") + (default ""))) + amode_implicit dont_expand + (if (no_reg_op_p amode) + (if (= size BYTE) + $1.ub + (if (= size WORD) + $1.uw + $1.ul)) + (if (= size BYTE) + $2.ub + (if (= size WORD) + $2.uw + $2.ul))) + (dst_val IMM amode size) + (if (= size BYTE) + ASSIGN_C_N_V_NZ_BYTE + (if (= size WORD) + ASSIGN_C_N_V_NZ_WORD + ASSIGN_C_N_V_NZ_LONG)) + native + (if (= amode PREDEC) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul size))) + (list)) + (if (= amode POSTINC) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul size))) + (list)))) + + +(BITOP_IMM_EA andib_imm_reg & "00000010" BYTE REG "xlate_andb_imm_reg_1_0") +(BITOP_IMM_EA andiw_imm_reg & "00000010" WORD REG "xlate_andw_imm_reg_1_0") +(BITOP_IMM_EA andil_imm_reg & "00000010" LONG REG "xlate_andl_imm_reg_1_0") + +(BITOP_IMM_EA andib_imm_ind & "00000010" BYTE IND "xlate_andb_imm_ind_1_0") +(BITOP_IMM_EA andiw_imm_ind & "00000010" WORD IND "xlate_andw_imm_ind_1_0") +(BITOP_IMM_EA andil_imm_ind & "00000010" LONG IND "xlate_andl_imm_ind_1_0") + +(BITOP_IMM_EA andib_imm_indoff & "00000010" BYTE INDOFF + "xlate_andb_imm_indoff_1_2_0") +(BITOP_IMM_EA andiw_imm_indoff & "00000010" WORD INDOFF + "xlate_andw_imm_indoff_1_2_0") +(BITOP_IMM_EA andil_imm_indoff & "00000010" LONG INDOFF + "xlate_andl_imm_indoff_1_2_0") + +(BITOP_IMM_EA andib_imm_predec & "00000010" BYTE PREDEC + "xlate_andb_imm_predec_1_0") +(BITOP_IMM_EA andiw_imm_predec & "00000010" WORD PREDEC + "xlate_andw_imm_predec_1_0") +(BITOP_IMM_EA andil_imm_predec & "00000010" LONG PREDEC + "xlate_andl_imm_predec_1_0") + +(BITOP_IMM_EA andib_imm_postinc & "00000010" BYTE POSTINC + "xlate_andb_imm_postinc_1_0") +(BITOP_IMM_EA andiw_imm_postinc & "00000010" WORD POSTINC + "xlate_andw_imm_postinc_1_0") +(BITOP_IMM_EA andil_imm_postinc & "00000010" LONG POSTINC + "xlate_andl_imm_postinc_1_0") + + + +(BITOP_IMM_EA orib_imm_reg | "00000000" BYTE REG "xlate_orb_imm_reg_1_0") +(BITOP_IMM_EA oriw_imm_reg | "00000000" WORD REG "xlate_orw_imm_reg_1_0") +(BITOP_IMM_EA oril_imm_reg | "00000000" LONG REG "xlate_orl_imm_reg_1_0") + +(BITOP_IMM_EA orib_imm_ind | "00000000" BYTE IND "xlate_orb_imm_ind_1_0") +(BITOP_IMM_EA oriw_imm_ind | "00000000" WORD IND "xlate_orw_imm_ind_1_0") +(BITOP_IMM_EA oril_imm_ind | "00000000" LONG IND "xlate_orl_imm_ind_1_0") + +(BITOP_IMM_EA orib_imm_indoff | "00000000" BYTE INDOFF + "xlate_orb_imm_indoff_1_2_0") +(BITOP_IMM_EA oriw_imm_indoff | "00000000" WORD INDOFF + "xlate_orw_imm_indoff_1_2_0") +(BITOP_IMM_EA oril_imm_indoff | "00000000" LONG INDOFF + "xlate_orl_imm_indoff_1_2_0") + +(BITOP_IMM_EA orib_imm_predec | "00000000" BYTE PREDEC + "xlate_orb_imm_predec_1_0") +(BITOP_IMM_EA oriw_imm_predec | "00000000" WORD PREDEC + "xlate_orw_imm_predec_1_0") +(BITOP_IMM_EA oril_imm_predec | "00000000" LONG PREDEC + "xlate_orl_imm_predec_1_0") + +(BITOP_IMM_EA orib_imm_postinc | "00000000" BYTE POSTINC + "xlate_orb_imm_postinc_1_0") +(BITOP_IMM_EA oriw_imm_postinc | "00000000" WORD POSTINC + "xlate_orw_imm_postinc_1_0") +(BITOP_IMM_EA oril_imm_postinc | "00000000" LONG POSTINC + "xlate_orl_imm_postinc_1_0") + + + +(BITOP_IMM_EA xorib_imm_reg ^ "00001010" BYTE REG "xlate_xorb_imm_reg_1_0") +(BITOP_IMM_EA xoriw_imm_reg ^ "00001010" WORD REG "xlate_xorw_imm_reg_1_0") +(BITOP_IMM_EA xoril_imm_reg ^ "00001010" LONG REG "xlate_xorl_imm_reg_1_0") + +(BITOP_IMM_EA xorib_imm_ind ^ "00001010" BYTE IND "xlate_xorb_imm_ind_1_0") +(BITOP_IMM_EA xoriw_imm_ind ^ "00001010" WORD IND "xlate_xorw_imm_ind_1_0") +(BITOP_IMM_EA xoril_imm_ind ^ "00001010" LONG IND "xlate_xorl_imm_ind_1_0") + +(BITOP_IMM_EA xorib_imm_indoff ^ "00001010" BYTE INDOFF + "xlate_xorb_imm_indoff_1_2_0") +(BITOP_IMM_EA xoriw_imm_indoff ^ "00001010" WORD INDOFF + "xlate_xorw_imm_indoff_1_2_0") +(BITOP_IMM_EA xoril_imm_indoff ^ "00001010" LONG INDOFF + "xlate_xorl_imm_indoff_1_2_0") + +(BITOP_IMM_EA xorib_imm_predec ^ "00001010" BYTE PREDEC + "xlate_xorb_imm_predec_1_0") +(BITOP_IMM_EA xoriw_imm_predec ^ "00001010" WORD PREDEC + "xlate_xorw_imm_predec_1_0") +(BITOP_IMM_EA xoril_imm_predec ^ "00001010" LONG PREDEC + "xlate_xorl_imm_predec_1_0") + +(BITOP_IMM_EA xorib_imm_postinc ^ "00001010" BYTE POSTINC + "xlate_xorb_imm_postinc_1_0") +(BITOP_IMM_EA xoriw_imm_postinc ^ "00001010" WORD POSTINC + "xlate_xorw_imm_postinc_1_0") +(BITOP_IMM_EA xoril_imm_postinc ^ "00001010" LONG POSTINC + "xlate_xorl_imm_postinc_1_0") + +; andi/ori/eori +(AND_OR_EOR eorib ^ (list "0000101000mmmmmm" "00000000bbbbbbbb") + amode_alterable_data dont_expand $2.ub $1.mub ASSIGN_C_N_V_NZ_BYTE + "none") +(AND_OR_EOR andib & (list "0000001000mmmmmm" "00000000bbbbbbbb") + amode_alterable_data dont_expand $2.ub $1.mub ASSIGN_C_N_V_NZ_BYTE + "none") +(AND_OR_EOR orib | (list "0000000000mmmmmm" "00000000bbbbbbbb") + amode_alterable_data dont_expand $2.ub $1.mub ASSIGN_C_N_V_NZ_BYTE + "none") +(AND_OR_EOR eoriw ^ (list "0000101001mmmmmm" "wwwwwwwwwwwwwwww") + amode_alterable_data dont_expand $2.uw $1.muw ASSIGN_C_N_V_NZ_WORD + "none") +(AND_OR_EOR andiw & (list "0000001001mmmmmm" "wwwwwwwwwwwwwwww") + amode_alterable_data dont_expand $2.uw $1.muw ASSIGN_C_N_V_NZ_WORD + "none") +(AND_OR_EOR oriw | (list "0000000001mmmmmm" "wwwwwwwwwwwwwwww") + amode_alterable_data dont_expand $2.uw $1.muw ASSIGN_C_N_V_NZ_WORD + "none") +(AND_OR_EOR eoril ^ + (list "0000101010mmmmmm" "llllllllllllllll" "llllllllllllllll") + amode_alterable_data dont_expand $2.ul $1.mul + ASSIGN_C_N_V_NZ_LONG "none") +(AND_OR_EOR andil & + (list "0000001010mmmmmm" "llllllllllllllll" "llllllllllllllll") + amode_alterable_data dont_expand $2.ul $1.mul + ASSIGN_C_N_V_NZ_LONG "none") +(AND_OR_EOR oril | + (list "0000000010mmmmmm" "llllllllllllllll" "llllllllllllllll") + amode_alterable_data dont_expand $2.ul $1.mul + ASSIGN_C_N_V_NZ_LONG "none") + + + + + + +(defopcode andi_to_ccr + (list 68000 amode_implicit () + (list "0000001000111100" "00000000000bbbbb")) + (list "<<<<<" "-----" dont_expand + (list + (if (not (& $1.ub 0x1)) (assign ccc 0)) + (if (not (& $1.ub 0x2)) (assign ccv 0)) + (if (not (& $1.ub 0x8)) (assign ccn 0)) + (if (not (& $1.ub 0x10)) (assign ccx 0)) + (assign ccnz (| ccnz (& (~ $1.ub) 0x4)))))) + +(defopcode eori_to_ccr + (list 68000 amode_implicit () + (list "0000101000111100" "00000000000bbbbb")) + (list ">>>>>" "-----" dont_expand + (list + (if (& $1.ub 0x1) (assign ccc (not ccc))) + (if (& $1.ub 0x2) (assign ccv (not ccv))) + (if (& $1.ub 0x4) (assign ccnz (not ccnz))) + (if (& $1.ub 0x8) (assign ccn (not ccn))) + (if (& $1.ub 0x10) (assign ccx (not ccx)))))) + +(defopcode ori_to_ccr + (list 68000 amode_implicit () + (list "0000000000111100" "00000000000bbbbb")) + (list "%%%%%" "-----" dont_expand + (list + (assign ccc (| ccc (& $1.ub 0x1))) + (assign ccv (| ccv (& $1.ub 0x2))) + (assign ccn (| ccn (& $1.ub 0x8))) + (assign ccx (| ccx (& $1.ub 0x10))) + (if (& $1.ub 0x4) + (assign ccnz 0))))) + + +(defopcode move_from_ccr + (list 68010 amode_alterable_data () (list "0100001011mmmmmm")) + (list "-----" "CNVXZ" dont_expand + (list + (assign tmp.uw ; Temp needed to compensate for byteorder.c + (| (<> ccc 0) ; confusion when assigning an expression + (<< (<> ccv 0) 1) ; of unknown size to memory. This + (<< (not ccnz) 2) ; is the easiest workaround, as it + (<< (<> ccn 0) 3) ; makes the expression sizes explicit. + (<< (<> ccx 0) 4))) + (assign $1.muw tmp.uw)))) + +(defopcode move_to_ccr + (list 68000 amode_data () (list "0100010011mmmmmm")) + (list "CNVXZ" "-----" dont_expand + (list + (assign tmp.ul $1.muw) + (assign ccc (& tmp.ul 0x1)) + (assign ccv (& tmp.ul 0x2)) + (assign ccn (& tmp.ul 0x8)) + (assign ccx (& tmp.ul 0x10)) + (assign ccnz (& (~ tmp.ul) 0x4))))) + + +(defopcode move_from_sr + (list 68000 amode_alterable_data () (list "0100000011mmmmmm")) + (list "-----" "CNVXZ" dont_expand + (list + (assign tmp.uw (| "cpu_state.sr" ; See note for move_from_ccr + (<> ccc 0) + (<< (<> ccv 0) 1) + (<< (not ccnz) 2) + (<< (<> ccn 0) 3) + (<< (<> ccx 0) 4))) + (assign $1.muw tmp.uw)))) + +(defopcode move_to_sr + (list 68000 amode_data () (list "0100011011mmmmmm")) + (list "CNVXZ" "-----" dont_expand + (LOAD_NEW_SR $1.muw))) + + +(defopcode andi_to_sr + (list 68000 amode_data () (list "0000001001111100" "wwwwwwwwwwwwwwww")) + (list "<<<<<" "-----" dont_expand + (list + (assign tmp.uw (| "cpu_state.sr" + (<> ccc 0) + (<< (<> ccv 0) 1) + (<< (not ccnz) 2) + (<< (<> ccn 0) 3) + (<< (<> ccx 0) 4))) + (LOAD_NEW_SR (& tmp.uw $1.uw))))) + +(defopcode ori_to_sr + (list 68000 amode_data () (list "0000000001111100" "wwwwwwwwwwwwwwww")) + (list ">>>>>" "-----" dont_expand + (list + (assign tmp.uw (| "cpu_state.sr" + (<> ccc 0) + (<< (<> ccv 0) 1) + (<< (not ccnz) 2) + (<< (<> ccn 0) 3) + (<< (<> ccx 0) 4))) + (LOAD_NEW_SR (| tmp.uw $1.uw))))) + +(defopcode eori_to_sr + (list 68000 amode_data () (list "0000101001111100" "wwwwwwwwwwwwwwww")) + (list "%%%%%" "-----" dont_expand + (list + (assign tmp.uw (| "cpu_state.sr" + (<> ccc 0) + (<< (<> ccv 0) 1) + (<< (not ccnz) 2) + (<< (<> ccn 0) 3) + (<< (<> ccx 0) 4))) + (LOAD_NEW_SR (^ tmp.uw $1.uw))))) + +(defopcode movec_to_reg + (list 68010 amode_implicit () (list "0100111001111010" "ggggcccccccccccc")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul 0) ; Default value + (switch $2.uw + (0x800 (assign tmp.ul (call "FETCH_USP"))) + (0x002 (assign tmp.ul (& "cpu_state.cacr" 0x7))) + (0x801 (assign tmp.ul "cpu_state.vbr")) + (0x802 (assign tmp.ul (& "cpu_state.caar" 0xFC))) + (0x803 (assign tmp.ul (call "FETCH_MSP"))) + (0x804 (assign tmp.ul (call "FETCH_ISP"))) + ) + (assign $1.gul tmp.ul)))) + + +(defopcode movec_from_reg + (list 68010 amode_implicit () (list "0100111001111010" "ggggcccccccccccc")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul $1.gul) + (switch $2.uw + (0x800 (call "SET_USP" tmp.ul)) + (0x002 (assign "cpu_state.cacr" tmp.ul)) ; CACR, FIXME + (0x801 (assign "cpu_state.vbr" tmp.ul)) + (0x802 (assign "cpu_state.caar" tmp.ul)) ; CAAR + (0x803 (call "SET_MSP" tmp.ul)) + (0x804 (call "SET_ISP" tmp.ul)) + )))) + + +(defopcode illegal + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100101011111100")) + (list "-----" "-----" dont_expand + (TRAP 4 (deref "uint32 *" code 0) 0))) + +(defopcode aslw_ea + (list 68000 amode_alterable_memory () (list "1110000111mmmmmm")) + (list "-----" "-----" dont_expand ; Why bother expanding this? + (assign $1.muw (<< $1.muw 1))) + (list "CNVXZ" "-----" dont_expand + (list + (assign tmp.uw $1.muw) + (assign ccx (assign ccc (SIGN_WORD tmp.uw))) + (ASSIGN_NNZ_WORD (assign $1.muw (<< tmp.uw 1))) + (assign ccv (>> (^ $1.muw tmp.uw) 15))))) + +(defopcode aslb_reg + (list 68000 amode_implicit () (list "1110ddd100100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (assign $2.dub 0) + (assign $2.dub (<< $2.dub tmp.ul))))) + (list "CNV%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (list + (if (= tmp.ul 8) + (assign ccc (& $2.dub 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (assign ccv $2.dub) + (SET_N_NZ 0 0) + (assign $2.dub 0)) + (list + (assign ccc (& $2.dub (>> 0x100 tmp.ul))) + (if (<> tmp.ul 0) + (assign ccx ccc)) + (assign ccv (& (^ $2.dsb (>> $2.dsb tmp.ul)) (>> -128 tmp.ul))) + (ASSIGN_NNZ_BYTE (assign $2.dub (<< $2.dub tmp.ul)))))))) + +(defopcode aslb_reg_by_8 + (list 68000 amode_implicit () (list "1110000100000ddd")) + (list "-----" "-----" dont_expand + (assign $1.dub 0)) + (list "C0VX1" "-----" dont_expand + (list + (assign ccx (assign ccc (& $1.dub 1))) + (assign ccv $1.dub) + (assign $1.dub 0)))) + +(defopcode aslb_reg_by_const + (list 68000 amode_implicit () (list "1110nnn100000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslb_imm_reg_0_1") + (assign $2.dub (<< $2.dub $1.ul))) + (list "CNVXZ" "-----" dont_expand + (native_code "xlate_lslb_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dub (>> 0x100 $1.ul)))) + (assign ccv (& (^ $2.dsb (>> $2.dsb $1.ul)) + (>> -128 $1.ul))) + (ASSIGN_NNZ_BYTE (assign $2.dub (<< $2.dub $1.ul)))))) + +(defopcode aslw_reg + (list 68000 amode_implicit () (list "1110ddd101100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (assign $2.duw 0) + (assign $2.duw (<< $2.duw tmp.ul))))) + (list "CNV%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (list + (if (= tmp.ul 16) + (assign ccc (& $2.duw 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign ccv (<> $2.duw 0)) + (assign $2.duw 0)) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccc (<> (& $2.duw (>> 0x10000 tmp.ul)) 0)) + "\n#else\n" + (assign ccc (& $2.duw (>> 0x10000 tmp.ul))) + "\n#endif\n" + (if (<> tmp.ul 0) + (assign ccx ccc)) + (assign ccv (<> 0 (& (^ $2.dsw (>> $2.dsw tmp.ul)) + (>> -32768 tmp.ul)))) + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw tmp.ul)))))))) + +(defopcode aslw_reg_by_8 + (list 68000 "1110000101000ddd" () (list "11nnnn0101000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + (assign $2.duw (<< $2.duw 8)) + $1.ul)) + (list "CNVXZ" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccx (assign ccc (& (>> $2.duw 8) 1))) + "\n#else\n" + (assign ccx (assign ccc (& $2.duw 0x100))) + "\n#endif\n" + (assign ccv (<> 0 (& (^ $2.dsw (>> $2.dsw 8)) (>> -32768 8)))) + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw 8))) + $1.ul))) + +(defopcode aslw_reg_by_const + (list 68000 amode_implicit () (list "1110nnn101000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (assign $2.duw (<< $2.duw $1.ul))) + (list "CNVXZ" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccx (assign ccc (<> (& $2.duw (>> 0x10000 $1.ul)) 0))) + "\n#else\n" + (assign ccx (assign ccc (& $2.duw (>> 0x10000 $1.ul)))) + "\n#endif\n" + (assign ccv (<> 0 (& (^ $2.dsw (>> $2.dsw $1.ul)) + (>> -32768 $1.ul)))) + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw $1.ul)))))) + +(defopcode asll_reg + (list 68000 amode_implicit () (list "1110ddd110100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) ; Only assume shift counts <= 31 are portable! + (assign $2.dul 0) + (assign $2.dul (<< $2.dul tmp.ul))))) + (list "CNV%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) + (list + (if (= tmp.ul 32) + (assign ccc (& $2.dul 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign ccv (<> 0 $2.dul)) + (assign $2.dul 0)) + (list + (if (= tmp.ul 0) + (list + (assign ccc 0) + (assign ccv 0) + (ASSIGN_NNZ_LONG $2.dul)) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccx (assign ccc (<> (& $2.dul (<< 1 (- 32 tmp.ul))) + 0))) + (assign ccv (<> 0 (& (^ $2.dsl (>> $2.dsl tmp.ul)) + (>> 0x80000000 tmp.ul)))) + "\n#else\n" + (assign ccx (assign ccc (& $2.dul (<< 1 (- 32 tmp.ul))))) + (assign ccv (& (^ $2.dsl (>> $2.dsl tmp.ul)) + (>> 0x80000000 tmp.ul))) + "\n#endif\n" + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul tmp.ul)))))))))) + +(defopcode asll_reg_by_8 + (list 68000 "1110000110000xxx" () (list "11nnnn0110000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign $2.dul (<< $2.dul 8)) + $1.ul)) + (list "CNVXZ" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul 24) 1))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (<> (& (^ $2.dsl (>> $2.dsl 8)) 0xFF800000) 0)) + "\n#else\n" + (assign ccv (& (^ $2.dsl (>> $2.dsl 8)) 0xFF800000)) + "\n#endif\n" + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul 8))) + $1.ul))) + +(defopcode asll_reg_by_const + (list 68000 amode_implicit () (list "1110nnn110000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (assign $2.dul (<< $2.dul $1.ul))) + (list "CNVXZ" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul (- 32 $1.ul)) 1))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (<> 0 (& (^ $2.dsl (>> $2.dsl $1.ul)) + (>> 0x80000000 $1.ul)))) + "\n#else\n" + (assign ccv (& (^ $2.dsl (>> $2.dsl $1.ul)) (>> 0x80000000 $1.ul))) + "\n#endif\n" + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul $1.ul)))))) + + +(defopcode lslw_ea + (list 68000 amode_alterable_memory () (list "1110001111mmmmmm")) + (list "-----" "-----" dont_expand ; Why bother expanding this? + (assign $1.muw (<< $1.muw 1))) + (list "CN0XZ" "-----" dont_expand + (list + (assign tmp.uw $1.muw) + (assign ccx (assign ccc (SIGN_WORD tmp.uw))) + (ASSIGN_NNZ_WORD (assign $1.muw (<< tmp.uw 1)))))) + +(defopcode lslb_reg + (list 68000 amode_implicit () (list "1110ddd100101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (assign $2.dub 0) + (assign $2.dub (<< $2.dub tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (list + (if (= tmp.ul 8) + (assign ccc (& $2.dub 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign $2.dub 0)) + (list + (assign ccc (& $2.dub (>> 0x100 tmp.ul))) + (if (<> tmp.ul 0) + (assign ccx ccc)) + (ASSIGN_NNZ_BYTE (assign $2.dub (<< $2.dub tmp.ul)))))))) + +(defopcode lslb_reg_by_8 + (list 68000 amode_implicit () (list "1110000100001ddd")) + (list "-----" "-----" dont_expand + (assign $1.dub 0)) + (list "C00X1" "-----" dont_expand + (list + (assign ccx (assign ccc (& $1.dub 1))) + (assign $1.dub 0)))) + +(defopcode lslb_reg_by_const + (list 68000 amode_implicit () (list "1110nnn100001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslb_imm_reg_0_1") + (assign $2.dub (<< $2.dub $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lslb_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dub (>> 0x100 $1.ul)))) + (ASSIGN_NNZ_BYTE (assign $2.dub (<< $2.dub $1.ul)))))) + +(defopcode lslw_reg + (list 68000 amode_implicit () (list "1110ddd101101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (assign $2.duw 0) + (assign $2.duw (<< $2.duw tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (list + (if (= tmp.ul 16) + (assign ccc (& $2.duw 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign $2.duw 0)) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccc (<> (& $2.duw (>> 0x10000 tmp.ul)) 0)) + "\n#else\n" + (assign ccc (& $2.duw (>> 0x10000 tmp.ul))) + "\n#endif\n" + (if (<> tmp.ul 0) + (assign ccx ccc)) + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw tmp.ul)))))))) + +(defopcode lslw_reg_by_8 + (list 68000 "1110000101001xxx" () (list "11nnnn0101001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + (assign $2.duw (<< $2.duw 8)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.duw 8) 1))) + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw 8))) + $1.ul))) + +(defopcode lslw_reg_by_const + (list 68000 amode_implicit () (list "1110nnn101001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (assign $2.duw (<< $2.duw $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lslw_imm_reg_0_1") + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccx (assign ccc (<> 0 (& $2.duw (>> 0x10000 $1.ul))))) + "\n#else\n" + (assign ccx (assign ccc (& $2.duw (>> 0x10000 $1.ul)))) + "\n#endif\n" + (ASSIGN_NNZ_WORD (assign $2.duw (<< $2.duw $1.ul)))))) + +(defopcode lsll_reg + (list 68000 amode_implicit () (list "1110ddd110101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) ; Only assume shift counts <= 31 are portable! + (assign $2.dul 0) + (assign $2.dul (<< $2.dul tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) + (list + (if (= tmp.ul 32) + (assign ccc (& $2.dul 1)) ; lsb last shifted out + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign $2.dul 0)) + (list + (if (= tmp.ul 0) + (list + (assign ccc 0) + (ASSIGN_NNZ_LONG $2.dul)) + (list + (assign ccx (assign ccc (& (>> $2.dul (- 32 tmp.ul)) 1))) + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul tmp.ul)))))))))) + +(defopcode lsll_reg_by_8 + (list 68000 "1110000110001xxx" () (list "11nnnn0110001ddd")) ; always 8 + (list "-----" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign $2.dul (<< $2.dul 8)) + $1.ul)) ; hack to give native code an "8" operand. + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul 24) 1))) + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul 8))) + $1.ul))) ; hack to give native code an "8" operand. + +(defopcode lsll_reg_by_const + (list 68000 amode_implicit () (list "1110nnn110001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (assign $2.dul (<< $2.dul $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsll_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul (- 32 $1.ul)) 1))) + (ASSIGN_NNZ_LONG (assign $2.dul (<< $2.dul $1.ul)))))) + + +; asr +(defopcode asrw_ea + (list 68000 amode_alterable_memory () (list "1110000011mmmmmm")) + (list "-----" "-----" dont_expand ; Why bother expanding this? + (assign $1.msw (>> $1.msw 1))) + (list "CN0XZ" "-----" dont_expand + (list + (assign ccx (assign ccc (& $1.msw 1))) + (ASSIGN_NNZ_WORD (assign $1.msw (>> $1.msw 1)))))) + +(defopcode asrb_reg + (list 68000 amode_implicit () (list "1110ddd000100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (assign $2.dsb (>> $2.dsb 7)) + (assign $2.dsb (>> $2.dsb tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) + (assign ccnz + (assign ccn + (assign ccx + (assign ccc + (assign $2.dsb (>> $2.dsb 7)))))) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc (& $2.dub (<< 1 (- tmp.ul 1)))))) + (ASSIGN_NNZ_BYTE (assign $2.dsb (>> $2.dsb tmp.ul)))))))) + +(defopcode asrb_reg_by_8 + (list 68000 "1110000000000xxx" () (list "11nnnn0000000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrb_imm_reg_0_1") + (list + (assign $2.dsb (>> $2.dsb 7)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrb_imm_reg_0_1") + (list + (assign ccnz + (assign ccn + (assign ccx + (assign ccc + (assign $2.dsb (>> $2.dsb 7)))))) + $1.ul))) + +(defopcode asrb_reg_by_const + (list 68000 amode_implicit () (list "1110nnn000000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrb_imm_reg_0_1") + (assign $2.dsb (>> $2.dsb $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrb_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dub (<< 1 (- $1.ul 1))))) + (ASSIGN_NNZ_BYTE (assign $2.dsb (>> $2.dsb $1.ul)))))) + +(defopcode asrw_reg + (list 68000 amode_implicit () (list "1110ddd001100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (assign $2.dsw (>> $2.dsw 15)) + (assign $2.dsw (>> $2.dsw tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (assign ccnz + (assign ccn + (assign ccx + (assign ccc + (<> 0 + (assign $2.dsw (>> $2.dsw 15))))))) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc + (& (>> $2.duw (- tmp.ul 1)) 1)))) + (ASSIGN_NNZ_WORD (assign $2.dsw (>> $2.dsw tmp.ul)))))))) + + +(defopcode asrw_reg_by_8 + (list 68000 "1110000001000ddd" () (list "11nnnn0001000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrw_imm_reg_0_1") + (list + (assign $2.dsw (>> $2.dsw 8)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrw_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dub 0x80))) + (ASSIGN_NNZ_WORD (assign $2.dsw (>> $2.dsw 8))) + $1.ul))) + +(defopcode asrw_reg_by_const + (list 68000 amode_implicit () (list "1110nnn001000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrw_imm_reg_0_1") + (assign $2.dsw (>> $2.dsw $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrw_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.duw (- $1.ul 1)) 1))) + (ASSIGN_NNZ_WORD (assign $2.dsw (>> $2.dsw $1.ul)))))) + +(defopcode asrl_reg + (list 68000 amode_implicit () (list "1110ddd010100ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) ; Only assume shift counts <= 31 are portable! + (assign $2.dsl (>> $2.dsl 31)) + (assign $2.dsl (>> $2.dsl tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) + (assign ccnz + (assign ccn + (assign ccx + (assign ccc + (<> 0 + (assign $2.dsl (>> $2.dsl 31))))))) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc (& (>> $2.dul (- tmp.ul 1)) 1)))) + (ASSIGN_NNZ_LONG (assign $2.dsl (>> $2.dsl tmp.ul)))))))) + +(defopcode asrl_reg_by_8 + (list 68000 "1110000010000xxx" () (list "11nnnn0010000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrl_imm_reg_0_1") + (list + (assign $2.dsl (>> $2.dsl 8)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrl_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dul 0x80))) + (ASSIGN_NNZ_LONG (assign $2.dsl (>> $2.dsl 8))) + $1.ul))) + +(defopcode asrl_reg_by_const + (list 68000 amode_implicit () (list "1110nnn010000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_asrl_imm_reg_0_1") + (assign $2.dsl (>> $2.dsl $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_asrl_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul (- $1.ul 1)) 1))) + (ASSIGN_NNZ_LONG (assign $2.dsl (>> $2.dsl $1.ul)))))) + + +; lsr +(defopcode lsrw_ea + (list 68000 amode_alterable_memory () (list "1110001011mmmmmm")) + (list "-----" "-----" dont_expand ; Why bother expanding this? + (assign $1.muw (>> $1.muw 1))) + (list "CN0XZ" "-----" dont_expand + (list + (assign ccx (assign ccc (& $1.muw 1))) + (ASSIGN_NNZ_WORD (assign $1.muw (>> $1.muw 1)))))) + +(defopcode lsrb_reg + (list 68000 amode_implicit () (list "1110ddd000101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 8) ; Can only assume shift counts 0-31 portable! + (assign $2.dub 0) + (assign $2.dub (>> $2.dub tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (> tmp.ul 8) + (list + (SET_C_N_V_NZ 0 0 0 0) + (assign ccx 0) + (assign $2.dub 0)) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc (& $2.dub (<< 1 (- tmp.ul 1)))))) + (ASSIGN_NNZ_BYTE (assign $2.dub (>> $2.dub tmp.ul)))))))) + +(defopcode lsrb_reg_by_8 + (list 68000 amode_implicit () (list "1110000000001ddd")) + (list "-----" "-----" dont_expand + (assign $1.dub 0)) + (list "CN0XZ" "-----" dont_expand + (list + (assign ccx (assign ccc (& $1.dub 0x80))) + (SET_N_NZ 0 0) + (assign $1.dub 0)))) + +(defopcode lsrb_reg_by_const + (list 68000 amode_implicit () (list "1110nnn000001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsrb_imm_reg_0_1") + (assign $2.dub (>> $2.dub $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsrb_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dub (<< 1 (- $1.ul 1))))) + (ASSIGN_NNZ_BYTE (assign $2.dub (>> $2.dub $1.ul)))))) + +(defopcode lsrw_reg + (list 68000 amode_implicit () (list "1110ddd001101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 16) + (assign $2.duw 0) + (assign $2.duw (>> $2.duw tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (> tmp.ul 16) + (list + (SET_C_N_V_NZ 0 0 0 0) + (assign ccx 0) + (assign $2.duw 0)) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc (& (>> $2.duw (- tmp.ul 1)) 1)))) + (ASSIGN_NNZ_WORD (assign $2.duw (>> $2.duw tmp.ul)))))))) + + +(defopcode lsrw_reg_by_8 + (list 68000 "1110000001001xxx" () (list "11nnnn0001001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsrw_imm_reg_0_1") + (list + (assign $2.duw (>> $2.duw 8)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsrw_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dul 0x80))) + (ASSIGN_NNZ_WORD (assign $2.duw (>> $2.duw 8))) + $1.ul))) + +(defopcode lsrw_reg_by_const + (list 68000 amode_implicit () (list "1110nnn001001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsrw_imm_reg_0_1") + (assign $2.duw (>> $2.duw $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsrw_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.duw (- $1.ul 1)) 1))) + (ASSIGN_NNZ_WORD (assign $2.duw (>> $2.duw $1.ul)))))) + +(defopcode lsrl_reg + (list 68000 amode_implicit () (list "1110ddd010101ddd")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) ; Only assume shift counts <= 31 are portable! + (assign $2.dul 0) + (assign $2.dul (>> $2.dul tmp.ul))))) + (list "CN0%Z" "-----" dont_expand + (list + (assign tmp.ul (& $1.dul 63)) + (if (>= tmp.ul 32) + (list + (if (= tmp.ul 32) + (assign ccc (>> $2.dul 31)) + (assign ccc 0)) + (assign ccx ccc) + (SET_N_NZ 0 0) + (assign $2.dul 0)) + (list + (if (= tmp.ul 0) + (assign ccc 0) + (assign ccx (assign ccc (& (>> $2.dul (- tmp.ul 1)) 1)))) + (ASSIGN_NNZ_LONG (assign $2.dul (>> $2.dul tmp.ul)))))))) + +(defopcode lsrl_reg_by_8 + (list 68000 "1110000010001xxx" () (list "11nnnn0010001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsrl_imm_reg_0_1") + (list + (assign $2.dul (>> $2.dul 8)) + $1.ul)) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsrl_imm_reg_0_1") + (list + (assign ccx (assign ccc (& $2.dul 0x80))) + (ASSIGN_NNZ_LONG (assign $2.dul (>> $2.dul 8))) + $1.ul))) + +(defopcode lsrl_reg_by_const + (list 68000 amode_implicit () (list "1110nnn010001ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_lsrl_imm_reg_0_1") + (assign $2.dul (>> $2.dul $1.ul))) + (list "CN0XZ" "-----" dont_expand + (native_code "xlate_lsrl_imm_reg_0_1") + (list + (assign ccx (assign ccc (& (>> $2.dul (- $1.ul 1)) 1))) + (ASSIGN_NNZ_LONG (assign $2.dul (>> $2.dul $1.ul)))))) + + +(define (CONDL_BRANCH name namestr bit_pattern cc_needed branch_expr) + (defopcode name + (list 68000 amode_implicit (ends_block) (list bit_pattern)) + (list "-----" cc_needed dont_expand + (native_code "xlate_" namestr) + (if (not branch_expr) ; cause gcc to put branch taken case first (?) + (assign code (deref "uint16 **" code 0)) + (assign code (deref "uint16 **" code 1)))))) + +; Conditional branches +(CONDL_BRANCH bhi "bhi" "01100010xxxxxxxx" "C---Z" CC_HI) +(CONDL_BRANCH bls "bls" "01100011xxxxxxxx" "C---Z" CC_LS) +(CONDL_BRANCH bcc "bcc" "01100100xxxxxxxx" "C----" CC_CC) +(CONDL_BRANCH bcs "bcs" "01100101xxxxxxxx" "C----" CC_CS) +(CONDL_BRANCH bne "bne" "01100110xxxxxxxx" "----Z" CC_NE) +(CONDL_BRANCH beq "beq" "01100111xxxxxxxx" "----Z" CC_EQ) +(CONDL_BRANCH bvc "bvc" "01101000xxxxxxxx" "--V--" CC_VC) +(CONDL_BRANCH bvs "bvs" "01101001xxxxxxxx" "--V--" CC_VS) +(CONDL_BRANCH bpl "bpl" "01101010xxxxxxxx" "-N---" CC_PL) +(CONDL_BRANCH bmi "bmi" "01101011xxxxxxxx" "-N---" CC_MI) +(CONDL_BRANCH bge "bge" "01101100xxxxxxxx" "-NV--" CC_GE) +(CONDL_BRANCH blt "blt" "01101101xxxxxxxx" "-NV--" CC_LT) +(CONDL_BRANCH bgt "bgt" "01101110xxxxxxxx" "-NV-Z" CC_GT) +(CONDL_BRANCH ble "ble" "01101111xxxxxxxx" "-NV-Z" CC_LE) + +(defopcode bra + (list 68000 amode_implicit (ends_block) + (list "01100000xxxxxxxx")) + (list "-----" "-----" dont_expand + (native_code "xlate_jmp") + (assign code (deref "uint16 **" code 0)))) + +; bchg +(defopcode bchg_dynamic_reg + (list 68000 amode_implicit () (list "0000ddd101000ddd")) + (list "-----" "-----" dont_expand + (assign $2.dul (^ $2.dul (<< 1 (& $1.dul 31))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 (& $1.dul 31))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $2.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $2.dul tmp.ul)) + "\n#endif\n" + (assign $2.dul (^ $2.dul tmp.ul))))) + +(defopcode bchg_dynamic_ea + (list 68000 amode_alterable_memory () (list "0000ddd101mmmmmm")) + (list "-----" "-----" dont_expand + (assign $2.mub (^ $2.mub (<< 1 (& $1.dul 7))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 (& $1.dul 7))) + (assign ccnz (& $2.mub tmp.ub)) + (assign $2.mub (^ $2.mub tmp.ub))))) + +(defopcode bchg_static_reg + (list 68000 amode_implicit () + (list "0000100001000ddd" "00000000000bbbbb")) + (list "-----" "-----" dont_expand + (native_code "xlate_bchg_imm_reg_1_0") + (assign $1.dul (^ $1.dul (<< 1 $2.uw)))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 $2.uw)) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $1.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $1.dul tmp.ul)) + "\n#endif\n" + (assign $1.dul (^ $1.dul tmp.ul))))) + +(defopcode bchg_static_ea + (list 68000 amode_alterable_memory () + (list "0000100001mmmmmm" "0000000000000bbb")) + (list "-----" "-----" dont_expand + (assign $1.mub (^ $1.mub (<< 1 $2.uw)))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 $2.uw)) + (assign ccnz (& $1.mub tmp.ub)) + (assign $1.mub (^ $1.mub tmp.ub))))) + + +; bset +(defopcode bset_dynamic_reg + (list 68000 amode_implicit () (list "0000ddd111000ddd")) + (list "-----" "-----" dont_expand + (assign $2.dul (| $2.dul (<< 1 (& $1.dul 31))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 (& $1.dul 31))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $2.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $2.dul tmp.ul)) + "\n#endif\n" + (assign $2.dul (| $2.dul tmp.ul))))) + +(defopcode bset_dynamic_ea + (list 68000 amode_alterable_memory () (list "0000ddd111mmmmmm")) + (list "-----" "-----" dont_expand + (assign $2.mub (| $2.mub (<< 1 (& $1.dul 7))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 (& $1.dul 7))) + (assign ccnz (& $2.mub tmp.ub)) + (assign $2.mub (| $2.mub tmp.ub))))) + +(defopcode bset_static_reg + (list 68000 amode_implicit () + (list "0000100011000ddd" "00000000000bbbbb")) + (list "-----" "-----" dont_expand + (native_code "xlate_bset_imm_reg_1_0") + (assign $1.dul (| $1.dul (<< 1 $2.ul)))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 $2.ul)) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $1.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $1.dul tmp.ul)) + "\n#endif\n" + (assign $1.dul (| $1.dul tmp.ul))))) + +(defopcode bset_static_ea + (list 68000 amode_alterable_memory () + (list "0000100011mmmmmm" "0000000000000bbb")) + (list "-----" "-----" dont_expand + (assign $1.mub (| $1.mub (<< 1 $2.ul)))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 $2.ul)) + (assign ccnz (& $1.mub tmp.ub)) + (assign $1.mub (| $1.mub tmp.ub))))) + + +; bclr +(defopcode bclr_dynamic_reg + (list 68000 amode_implicit () (list "0000ddd110000ddd")) + (list "-----" "-----" dont_expand + (assign $2.dul (& $2.dul (~ (<< 1 (& $1.dul 31)))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 (& $1.dul 31))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $2.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $2.dul tmp.ul)) + "\n#endif\n" + (assign $2.dul (& $2.dul (~ tmp.ul)))))) + +(defopcode bclr_dynamic_ea + (list 68000 amode_alterable_memory () (list "0000ddd110mmmmmm")) + (list "-----" "-----" dont_expand + (assign $2.mub (& $2.mub (~ (<< 1 (& $1.dul 7)))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 (& $1.dul 7))) + (assign ccnz (& $2.mub tmp.ub)) + (assign $2.mub (& $2.mub (~ tmp.ub)))))) + +(defopcode bclr_static_reg + (list 68000 amode_implicit () + (list "0000100010000ddd" "00000000000bbbbb")) + (list "-----" "-----" dont_expand; + (native_code "xlate_bclr_imm_reg_1_0") + (assign $1.dul (& $1.dul (~ (<< 1 $2.ul))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ul (<< 1 $2.ul)) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& $1.dul tmp.ul))) + "\n#else\n" + (assign ccnz (& $1.dul tmp.ul)) + "\n#endif\n" + (assign $1.dul (& $1.dul (~ tmp.ul)))))) + +(defopcode bclr_static_ea + (list 68000 amode_alterable_memory () + (list "0000100010mmmmmm" "0000000000000bbb")) + (list "-----" "-----" dont_expand + (assign $1.mub (& $1.mub (~ (<< 1 $2.uw))))) + (list "----Z" "-----" dont_expand + (list + (assign tmp.ub (<< 1 $2.uw)) + (assign ccnz (& $1.mub tmp.ub)) + (assign $1.mub (& $1.mub (~ tmp.ub)))))) + + +; btst +(defopcode btst_dynamic_reg + (list 68000 amode_implicit () (list "0000ddd100000ddd")) + (list "----Z" "-----" dont_expand + (assign ccnz (& (>> $2.dul (& $1.dul 31)) 1)))) + +(defopcode btst_dynamic_ea + (list 68000 (intersect amode_data (not amode_immediate)) + () (list "0000ddd100mmmmmm")) + (list "----Z" "-----" dont_expand + (assign ccnz (& $2.mub (<< 1 (& $1.dul 7)))))) + +(defopcode btst_static_reg + (list 68000 amode_implicit () + (list "0000100000000ddd" "00000000000bbbbb")) + (list "----Z" "-----" dont_expand + (native_code "xlate_btst_imm_reg_1_0") + (assign ccnz (& (>> $1.dul $2.ul) 1)))) + +(defopcode btst_static_ea + (list 68000 (intersect amode_data (not amode_immediate)) + () (list "0000100000mmmmmm" "0000000000000bbb")) + (list "----Z" "-----" dont_expand + (assign ccnz (& $1.mub (<< 1 $2.ul))))) + + +(define (compute_bf_width_and_offset off wid offdst widdst mask_offset) + + ; Place width in widdst + (if (& wid 0x20) + (assign widdst (call "DATA_REGISTER" (& wid 7) ".ul.n")) + (assign widdst wid)) + (assign widdst (+ (& (- widdst 1) 0x1F) 1)) ; Take low 5 bits & map 0 to 32 + + ; Place offset in offdst + (if (& off 0x20) + (list + (assign offdst (call "DATA_REGISTER" (& off 7) ".sl.n")) + (if mask_offset + (assign offdst (& offdst 0x1F)))) + (assign offdst off offmsk))) + +(define (compute_bf_mask_for_reg offset width dst) + (if (= width 32) + (assign dst (~ 0)) ; Avoid shifting by 32 because it's not portable + (list + (if (> (+ offset width) 32) + (assign dst (~ (<< (- (<< 1 (- 32 width)) 1) (- 32 offset)))) + (assign dst (<< (- (<< 1 width) 1) (- 32 offset width))))))) + + +(defopcode bfffo_reg + (list 68020 amode_implicit () (list "1110110111000ddd" "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 0) + (assign tmp3.sl "offset") + (assign "offset" (& "offset" 0x1F)) + (assign tmp.ul $1.dul) + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< tmp.ul (+ "offset" "width" -32)) + (>> tmp.ul (- 64 "offset" "width")))) + (assign tmp.ul (>> tmp.ul (- 32 "offset" "width")))) + (if (<> "width" 32) + (assign tmp.ul (& tmp.ul (- (<< 1 "width") 1)))) + (assign tmp2.ul (<< 1 (- "width" 1))) + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (<> 0 (& tmp.ul tmp2.ul))) + "for (; tmpul2 != 0; tmpul2 >>= 1) {" + (if (& tmp2.ul tmp.ul) + "break" + (assign tmp3.sl (+ tmp3.sl 1))) + "}" + (assign $2.dsl tmp3.sl) + "}"))) + +(defopcode bfffo_mem + (list 68020 amode_control () (list "1110110111mmmmmm" "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width, ptr; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 0) + (assign tmp3.sl "offset") + (assign "ptr" $1.pub) + + ; Adjust pointer/offset so we have 0 <= offset <= 7 + (assign "ptr" (+ "ptr" (>> "offset" 3))) + (assign "offset" (& "offset" 7)) + + ; Align pointer on a long + (assign "offset" (+ "offset" (<< (& "ptr" 3) 3))) + (assign "ptr" (& "ptr" (~ 3))) + + ; Grab bits into tmp.ul + (assign tmp.ul (dereful "ptr")) + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< tmp.ul (+ "offset" "width" -32)) + (>> (dereful (+ "ptr" 4)) + (- 64 "offset" "width")))) + (assign tmp.ul (>> tmp.ul (- 32 "offset" "width")))) + (if (<> "width" 32) + (assign tmp.ul (& tmp.ul (- (<< 1 "width") 1)))) + + ; Compute cc bits + (assign tmp2.ul (<< 1 (- "width" 1))) + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (<> 0 (& tmp.ul tmp2.ul))) + + ; Find first bit set + "for (; tmpul2 != 0; tmpul2 >>= 1) {" + (if (& tmp2.ul tmp.ul) + "break" + (assign tmp3.sl (+ tmp3.sl 1))) + "}" + + ; Write the result out to the dest register + (assign $2.dsl tmp3.sl) + "}"))) + +(define (BF_REG name bit_pattern tmpbits final) + (defopcode name + (list 68020 amode_implicit () (list bit_pattern "0000oooooowwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width; int32 offset" + (compute_bf_width_and_offset $2.uw $3.uw "offset" "width" 1) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccn (<> 0 (& $1.dul (>> (cast "uint32" 0x80000000) + "offset")))) + "\n#else\n" + (assign ccn (& $1.dul (>> (cast "uint32" 0x80000000) "offset"))) + "\n#endif\n" + (compute_bf_mask_for_reg "offset" "width" tmpbits) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 (& tmpbits $1.dul))) + "\n#else\n" + (assign ccnz (& tmpbits $1.dul)) + "\n#endif\n" + final + "}")))) + +(BF_REG bftst_reg "1110100011000ddd" tmp3.ul (list)) +(BF_REG bfchg_reg "1110101011000ddd" tmp3.ul + (assign $1.dul (^ $1.dul tmp3.ul))) +(BF_REG bfset_reg "1110111011000ddd" tmp3.ul + (assign $1.dul (| $1.dul tmp3.ul))) +(BF_REG bfclr_reg "1110110011000ddd" tmp3.ul + (assign $1.dul (& $1.dul (~ tmp3.ul)))) + +(define (BF_MEM name bit_pattern final1 final2) + (defopcode name + (list 68020 amode_control () (list bit_pattern "0000oooooowwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width, ptr; int32 offset" + (compute_bf_width_and_offset $2.uw $3.uw "offset" "width" 0) + (assign "ptr" $1.pub) + + ; Adjust pointer/offset so we have 0 <= offset <= 7 + (assign "ptr" (+ "ptr" (>> "offset" 3))) + (assign "offset" (& "offset" 7)) + + ; Align pointer on a long + (assign "offset" (+ "offset" (<< (& "ptr" 3) 3))) + (assign "ptr" (& "ptr" (~ 3))) + + (if (> (+ "offset" "width") 32) + (list + "{ uint32 mask1, mask2" + (assign "mask1" (- (<< 1 (- 32 "offset")) 1)) + (assign "mask2" (>> (~ 0x7FFFFFFF) (+ "offset" "width" -33))) + (assign tmp.ul (dereful "ptr")) + (assign tmp2.ul (dereful (+ "ptr" 4))) + (assign ccnz (<> 0 (| (& tmp.ul "mask1") (& tmp2.ul "mask2")))) + (assign ccn (<> 0 (& (>> (cast "uint32" 0x80000000) "offset") + tmp.ul))) + final1 + "}") + (list + "{ uint32 mask" + (if (= "width" 32) + (assign "mask" (~ 0)) + (assign "mask" (<< (- (<< 1 "width") 1) + (- 32 "offset" "width")))) + (assign tmp.ul (dereful "ptr")) + (assign ccnz (<> 0 (& "mask" tmp.ul))) + (assign ccn (<> 0 + (& tmp.ul + (>> (cast "uint32" 0x80000000) "offset")))) + final2 + "}")) + "}")))) + + +(BF_MEM bftst_mem "1110100011mmmmmm" (list) (list)) +(BF_MEM bfchg_mem "1110101011mmmmmm" + (list + (assign (dereful "ptr") (^ tmp.ul "mask1")) + (assign (dereful (+ "ptr" 4)) (^ tmp2.ul "mask2"))) + (assign (dereful "ptr") (^ "mask" tmp.ul))) +(BF_MEM bfset_mem "1110111011mmmmmm" + (list + (assign (dereful "ptr") (| tmp.ul "mask1")) + (assign (dereful (+ "ptr" 4)) (| tmp2.ul "mask2"))) + (assign (dereful "ptr") (| "mask" tmp.ul))) +(BF_MEM bfclr_mem "1110110011mmmmmm" + (list + (assign (dereful "ptr") (& tmp.ul (~ "mask1"))) + (assign (dereful (+ "ptr" 4)) (& tmp2.ul (~ "mask2")))) + (assign (dereful "ptr") (& tmp.ul (~ "mask")))) + +(define (BFEXT_REG name bit_pattern compute cc) + (defopcode name + (list 68020 amode_implicit () (list bit_pattern "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 1) + (assign tmp.ul $1.dul) + compute + cc + (assign $2.dsl tmp.sl) + "}")))) + +(BFEXT_REG bfexts_reg "1110101111000ddd" + (list + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< tmp.ul "offset") + (>> tmp.ul (- 32 "offset")))) + (assign tmp.ul (<< tmp.ul "offset"))) + (assign tmp.sl (>> tmp.sl (- 32 "width")))) + (ASSIGN_NNZ_LONG tmp.ul)) + + +(BFEXT_REG bfextu_reg "1110100111000ddd" + (list + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< tmp.ul (+ "offset" "width" -32)) + (>> tmp.ul (- 64 "offset" "width")))) + (assign tmp.ul (>> tmp.ul (- 32 "offset" "width")))) + (if (<> "width" 32) + (assign tmp.ul (& tmp.ul (- (<< 1 "width") 1))))) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (& (>> tmp.ul (- "width" 1)) 1)) + "\n#else\n" + (assign ccn (& (assign ccnz tmp.ul) (<< 1 (- "width" 1)))) + "\n#endif\n")) + + +(define (BFEXT_MEM name bit_pattern compute cc) + (defopcode name + (list 68020 amode_control () (list bit_pattern "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width, ptr; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 0) + (assign "ptr" $1.pub) + + ; Adjust pointer/offset so we have 0 <= offset <= 7 + (assign "ptr" (+ "ptr" (>> "offset" 3))) + (assign "offset" (& "offset" 7)) + + ; Align pointer on a long + (assign "offset" (+ "offset" (<< (& "ptr" 3) 3))) + (assign "ptr" (& "ptr" (~ 3))) + + compute + cc + + (assign $2.dsl tmp.sl) + "}")))) + +(BFEXT_MEM bfexts_mem "1110101111mmmmmm" + (list + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< (dereful "ptr") "offset") + (>> (dereful (+ "ptr" 4)) (- 32 "offset")))) + (assign tmp.ul (<< (dereful "ptr") "offset"))) + (assign tmp.sl (>> tmp.sl (- 32 "width")))) + (ASSIGN_NNZ_LONG tmp.ul)) + +(BFEXT_MEM bfextu_mem "1110100111mmmmmm" + (list + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (<< (dereful "ptr") (+ "offset" "width" -32)) + (>> (dereful (+ "ptr" 4)) + (- 64 "offset" "width")))) + (assign tmp.ul (>> (dereful "ptr") (- 32 "offset" "width")))) + (if (<> "width" 32) + (assign tmp.ul (& tmp.ul (- (<< 1 "width") 1))))) + (list + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (>> tmp.ul (- "width" 1))) + "\n#else\n" + (assign ccn (>> (assign ccnz tmp.ul) (- "width" 1))) + "\n#endif\n")) + + +(defopcode bfins_reg + (list 68020 amode_implicit () (list "1110111111000ddd" "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 1) + (assign tmp.ul $2.dul) + (if (> (+ "offset" "width") 32) + (assign tmp.ul (| (>> tmp.ul (+ "offset" "width" -32)) + (<< tmp.ul (- 64 "offset" "width")))) + (assign tmp.ul (<< tmp.ul (- 32 "offset" "width")))) + (compute_bf_mask_for_reg "offset" "width" tmp2.ul) + (assign tmp.ul (& tmp.ul tmp2.ul)) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (<> 0 + (& tmp.ul (>> (cast "uint32" 0x80000000) "offset")))) + "\n#else\n" + (assign ccn (& (assign ccnz tmp.ul) + (>> (cast "uint32" 0x80000000) "offset"))) + "\n#endif\n" + (assign $1.dul (| (& $1.dul (~ tmp2.ul)) tmp.ul)) + "}"))) + + +(defopcode bfins_mem + (list 68020 amode_control () (list "1110111111mmmmmm" "0dddzzzzzzwwwwww")) + (list "0N0-Z" "-----" dont_expand + (list + "{ uint32 width, ptr; int32 offset" + (compute_bf_width_and_offset $3.uw $4.uw "offset" "width" 0) + (assign "ptr" $1.pub) + + ; Adjust pointer/offset so we have 0 <= offset <= 7 + (assign "ptr" (+ "ptr" (>> "offset" 3))) + (assign "offset" (& "offset" 7)) + + ; Align pointer on a long + (assign "offset" (+ "offset" (<< (& "ptr" 3) 3))) + (assign "ptr" (& "ptr" (~ 3))) + + ; Fetch the value to insert and mask out other bits + (assign tmp.ul $2.dul) + (if (<> "width" 32) + (assign tmp.ul (& tmp.ul (- (<< 1 "width") 1)))) + + ; Set cc bits + (assign ccnz (<> 0 tmp.ul)) + (assign ccn (& (>> tmp.ul (- "width" 1)) 1)) + + (assign tmp2.ul (dereful "ptr")) + (if (>= (+ "offset" "width") 32) + (list + (assign tmp2.ul (& tmp2.ul + (~ (>> (cast "uint32" (~ 0)) "offset")))) + (assign tmp2.ul (| tmp2.ul (>> tmp.ul (+ "offset" "width" -32)))) + (assign (dereful "ptr") tmp2.ul) + (assign tmp2.ul (dereful (+ "ptr" 4))) + (assign tmp2.ul (& tmp2.ul (>> (cast "uint32" (~ 0)) + (+ "offset" "width" -32)))) + (if (<> 32 (+ "offset" "width")) + (assign tmp2.ul (| tmp2.ul + (<< tmp.ul (- 64 "offset" "width"))))) + (assign (dereful (+ "ptr" 4)) tmp2.ul)) + (list + (assign tmp2.ul (& tmp2.ul (~ (<< (- (<< 1 "width") 1) + (- 32 "offset" "width"))))) + (assign tmp2.ul (| tmp2.ul (<< tmp.ul (- 32 "offset" "width")))) + (assign (dereful "ptr") tmp2.ul))) + "}"))) + +(defopcode bkpt + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100100001001vvv")) + (list "-----" "-----" dont_expand + (TRAP 4 (deref "uint32 *" code 0) 0))) + +(define (CAS2 name bit_pattern deref_type mem1 mem2 tmp elt sgnmask c1 c2) + (defopcode name + (list 68020 amode_implicit () bit_pattern) + (list "CNV-Z" "-----" dont_expand + (list + "{ uint32 ureg1, ureg2, mreg1, mreg2" + + ; Extract out the register numbers from the operands + (assign "ureg1" (call "DATA_REGISTER" (& $1.ul 7) elt)) + (assign "mreg1" (call "GENERAL_REGISTER" (>> $1.ul 6) ".ul.n")) + (assign "ureg2" (call "DATA_REGISTER" (& $3.ul 7) elt)) + (assign "mreg2" (call "GENERAL_REGISTER" (>> $3.ul 6) ".ul.n")) + + ; Fetch memory operands + (assign mem1 (deref_type "mreg1")) + (assign mem2 (deref_type "mreg2")) + + (assign tmp c1) + (if (= mem1 tmp) + (list + (assign tmp c2) + (if (= mem2 tmp) + + ; Both comparisons equal + (list + + ; Set cc bits accordingly + (assign ccnz (assign ccn (assign ccv (assign ccc 0)))) + + ; Write update operands to memory operands + (assign (deref_type "mreg1") "ureg1") + (assign (deref_type "mreg2") "ureg2")) + + ; Second comparison failed + (list + ; Set cc bits accordingly + (assign ccnz 1) + (assign ccc (> tmp mem2)) + (assign tmp4.ul (& (^ mem2 tmp) sgnmask)) + (assign tmp (- mem2 tmp)) + (assign ccn (<> 0 (& sgnmask tmp))) + (assign ccv (<> 0 (& tmp4.ul (^ tmp mem2)))) + + ; Update compare operands with memory operands + (assign c1 mem1) + (assign c2 mem2)))) + + ; First comparison failed + (list + ; Set cc bits accordingly + (assign ccnz 1) + (assign ccc (> tmp mem1)) + (assign tmp4.ul (& (^ mem1 tmp) sgnmask)) + (assign tmp (- mem1 tmp)) + (assign ccn (<> 0 (& sgnmask tmp))) + (assign ccv (<> 0 (& tmp4.ul (^ tmp mem1)))) + + ; Update compare operands with memory operands + (assign c1 mem1) + (assign c2 mem2))) + + "}" + )))) + +(CAS2 cas2w (list "0000110011111100" "rrrrrrrrrr000ccc" "rrrrrrrrrr000ccc") + derefuw tmp.uw tmp2.uw tmp3.uw ".uw.n" 0x8000 $2.duw $4.duw) +(CAS2 cas2l (list "0000111011111100" "rrrrrrrrrr000ccc" "rrrrrrrrrr000ccc") + dereful tmp.ul tmp2.ul tmp3.ul ".ul.n" 0x80000000 $2.dul $4.dul) + +(define (CAS name bit_pattern cmp update ea tmp tmp2 mask) + (defopcode name + (list 68020 amode_alterable_memory () bit_pattern) + (list "CNV-Z" "-----" dont_expand + (list + (assign tmp ea) + (assign ccc (> cmp tmp)) + (assign tmp4.ul (& (^ tmp cmp) mask)) + (assign ccnz (<> 0 (assign tmp2 (- tmp cmp)))) + (assign ccn (<> 0 (& tmp2 mask))) + (assign ccv (<> 0 (& tmp4.ul (^ tmp tmp2)))) + (if ccnz + (assign cmp ea) + (assign ea update)))))) + +(CAS casb (list "0000101011mmmmmm" "0000000uuu000ccc") $3.dub $2.dub $1.mub + tmp.ub tmp2.ub 0x80) +(CAS casw (list "0000110011mmmmmm" "0000000uuu000ccc") $3.duw $2.duw $1.muw + tmp.uw tmp2.uw 0x8000) +(CAS casl (list "0000111011mmmmmm" "0000000uuu000ccc") $3.dul $2.dul $1.mul + tmp.ul tmp2.ul 0x80000000) + + + +(define (CHK name bit_pattern dreg mem) + (defopcode name + (list 68000 amode_data (ends_block next_block_dynamic + skip_four_operand_words) + (list bit_pattern)) + (list "?N?-?" "-----" dont_expand + (list + (assign ccn (< dreg 0)) + (if (or ccn (> dreg mem)) + (TRAP 6 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (assign code (call "code_lookup " + (deref "uint32 *" code 0)))))))) + +(CHK chkw "0100ddd110mmmmmm" $1.dsw $2.msw) +(CHK chkl "0100ddd100mmmmmm" $1.dsl $2.msl) + + + +(defopcode cmp2b/chk2b + (list 68020 amode_control + (ends_block next_block_dynamic skip_four_operand_words) + (list "0000000011mmmmmm" "arrrt00000000000")) + (list "C??-Z" "-----" dont_expand + (list + (if $2.uw ; Are we dealing with an address register? + (list + (assign tmp.sl (derefsb $1.psb)) + (assign tmp2.sl (derefsb (+ $1.psb 1))) + (assign tmp3.ul $3.aul) + (assign ccnz (and (<> tmp3.ul tmp.ul) (<> tmp3.ul tmp2.ul))) + (assign ccc (> (- tmp3.ul tmp.ul) (- tmp2.ul tmp.ul)))) + (list ; Nope, its a data register. + (assign tmp.ub (derefub $1.pub)) + (assign tmp2.ub (derefub (+ $1.pub 1))) + (assign tmp3.ub $3.dub) + (assign ccnz (and (<> tmp3.ub tmp.ub) (<> tmp3.ub tmp2.ub))) + (assign ccc (> (cast "uint8" (- tmp3.ub tmp.ub)) + (cast "uint8" (- tmp2.ub tmp.ub)))))) + (if (and $4.uw ccc) ; Trap if carry set? + (TRAP 6 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (assign code (call "code_lookup " + (deref "uint32 *" code 0))))))) + +(defopcode cmp2w/chk2w + (list 68020 amode_control + (ends_block next_block_dynamic skip_four_operand_words) + (list "0000001011mmmmmm" "arrrt00000000000")) + (list "C??-Z" "-----" dont_expand + (list + (if $2.uw ; Are we dealing with an address register? + (list + (assign tmp.sl (derefsw $1.psw)) + (assign tmp2.sl (derefsw (+ $1.psw 2))) + (assign tmp3.ul $3.aul) + (assign ccnz (and (<> tmp3.ul tmp.ul) (<> tmp3.ul tmp2.ul))) + (assign ccc (> (- tmp3.ul tmp.ul) (- tmp2.ul tmp.ul)))) + (list ; Nope, its a data register. + (assign tmp.uw (derefuw $1.puw)) + (assign tmp2.uw (derefuw (+ $1.puw 2))) + (assign tmp3.uw $3.duw) + (assign ccnz (and (<> tmp3.uw tmp.uw) (<> tmp3.uw tmp2.uw))) + (assign ccc (> (cast "uint16" (- tmp3.uw tmp.uw)) + (cast "uint16" (- tmp2.uw tmp.uw)))))) + (if (and $4.uw ccc) ; Trap if carry set? + (TRAP 6 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (assign code (call "code_lookup " + (deref "uint32 *" code 0))))))) + +(defopcode cmp2l/chk2l + (list 68020 amode_control + (ends_block next_block_dynamic skip_four_operand_words) + (list "0000010011mmmmmm" "rrrrt00000000000")) + (list "C??-Z" "-----" dont_expand + (list + (assign tmp.ul (dereful $1.pul)) + (assign tmp2.ul (dereful (+ $1.pul 4))) + (assign tmp3.ul $2.gul) + (assign ccnz (and (<> tmp3.ul tmp.ul) (<> tmp3.ul tmp2.ul))) + (assign ccc (> (- tmp3.ul tmp.ul) (- tmp2.ul tmp.ul))) + (if (and $3.uw ccc) ; Trap if carry set? + (TRAP 6 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (assign code (call "code_lookup " + (deref "uint32 *" code 0))))))) + + + +(define (CLR name native size_bits amode_bits dst pre post) + (defopcode name + (list 68000 "0xxxxxxxxxxxxxxx" () (list "z1000010" size_bits amode_bits)) + (list "CNV-Z" "-----" dont_expand + (native_code native) + (list + pre + (assign dst 0) + post + (SET_C_N_V_NZ 0 0 0 0) + $1.ul)))) ; for native code + +(define (CLR name native size_bits amode_bits dst) + (CLR name native size_bits amode_bits dst (list) (list))) + +(CLR clrb_reg "xlate_moveb_imm_reg_0_1" "00" "000ddd" $2.dub) +(CLR clrw_reg "xlate_movew_imm_reg_0_1" "01" "000ddd" $2.duw) +(CLR clrl_reg "xlate_movel_imm_reg_0_1" "10" "000ddd" $2.dul) + +(CLR clrb_absw "xlate_moveb_imm_abs_0_1" "00" "111000aaaaaaaaaaaaaaaa" + (derefub $2.sw)) +(CLR clrw_absw "xlate_movew_imm_abs_0_1" "01" "111000aaaaaaaaaaaaaaaa" + (derefuw $2.sw)) +(CLR clrl_absw "xlate_movel_imm_abs_0_1" "10" "111000aaaaaaaaaaaaaaaa" + (dereful $2.sw)) + +(CLR clrb_absl "xlate_moveb_imm_abs_0_1" "00" + "111000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" (derefub $2.ul)) +(CLR clrw_absl "xlate_movew_imm_abs_0_1" "01" + "111000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" (derefuw $2.ul)) +(CLR clrl_absl "xlate_movel_imm_abs_0_1" "10" + "111000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" (dereful $2.ul)) + +(CLR clrb_predec "xlate_moveb_imm_predec_0_1" "00" "100aaa" + (derefub $2.aul) + (if (= $2.ul 7) + (assign $2.aul (- $2.aul 2)) + (assign $2.aul (- $2.aul 1))) + (list)) +(CLR clrw_predec "xlate_movew_imm_predec_0_1" "01" "100aaa" + (derefuw $2.aul) (assign $2.aul (- $2.aul 2)) (list)) +(CLR clrl_predec "xlate_movel_imm_predec_0_1" "10" "100aaa" + (dereful $2.aul) (assign $2.aul (- $2.aul 4)) (list)) + +(CLR clrb_postinc "xlate_moveb_imm_postinc_0_1" "00" "011aaa" + (derefub $2.aul) + (list) + (if (= $2.ul 7) + (assign $2.aul (+ $2.aul 2)) + (assign $2.aul (+ $2.aul 1)))) +(CLR clrw_postinc "xlate_movew_imm_postinc_0_1" "01" "011aaa" + (derefuw $2.aul) (list) (assign $2.aul (+ $2.aul 2))) +(CLR clrl_postinc "xlate_movel_imm_postinc_0_1" "10" "011aaa" + (dereful $2.aul) (list) (assign $2.aul (+ $2.aul 4))) + +(CLR clrb_ind "xlate_moveb_imm_ind_0_1" "00" "010aaa" (derefub $2.aul)) +(CLR clrw_ind "xlate_movew_imm_ind_0_1" "01" "010aaa" (derefuw $2.aul)) +(CLR clrl_ind "xlate_movel_imm_ind_0_1" "10" "010aaa" (dereful $2.aul)) + +(CLR clrb_indoff "xlate_moveb_imm_indoff_0_2_1" "00" + "101aaabbbbbbbbbbbbbbbb" (derefub (+ $2.asl $3.sw))) +(CLR clrw_indoff "xlate_movew_imm_indoff_0_2_1" "01" + "101aaabbbbbbbbbbbbbbbb" (derefuw (+ $2.asl $3.sw))) +(CLR clrl_indoff "xlate_movel_imm_indoff_0_2_1" "10" + "101aaabbbbbbbbbbbbbbbb" (dereful (+ $2.asl $3.sw))) + +(defopcode clrb_indix + (list 68000 "xxxxxxxxxx110xxx" () (list "0100001000aaaaaa")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_moveb_zero_indix_0") + (list + (assign $1.mub 0) + (SET_C_N_V_NZ 0 0 0 0)))) +(defopcode clrw_indix + (list 68000 "xxxxxxxxxx110xxx" () (list "0100001001aaaaaa")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_movew_zero_indix_0") + (list + (assign $1.muw 0) + (SET_C_N_V_NZ 0 0 0 0)))) +(defopcode clrl_indix + (list 68000 "xxxxxxxxxx110xxx" () (list "0100001010aaaaaa")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_movel_zero_indix_0") + (list + (assign $1.mul 0) + (SET_C_N_V_NZ 0 0 0 0)))) + + +(defopcode clrb + (list 68000 amode_alterable_data () (list "0100001000mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.mub 0)) + (list "000-1" "-----" dont_expand + (assign $1.mub 0))) + +(defopcode clrw + (list 68000 amode_alterable_data () (list "0100001001mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.muw 0)) + (list "000-1" "-----" dont_expand + (assign $1.muw 0))) + +(defopcode clrl + (list 68000 amode_alterable_data () (list "0100001010mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.mul 0)) + (list "000-1" "-----" dont_expand + (assign $1.mul 0))) + +(CMPB cmpmb_a7@+,a7@+ (list "1011111100001111") dont_expand + amode_same_reg (derefub a7.ul) (derefub (+ a7.ul 2)) + "none" + (list) + (assign a7.ul (+ a7.ul 4))) +(CMPB cmpmb_an@+,a7@+ (list "1011111100001aaa") dont_expand + amode_implicit (derefub $1.aul) (derefub a7.ul) + "none" + (list) + (list + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul 1)))) +(CMPB cmpmb_a7@+,an@+ (list "1011aaa100001111") dont_expand + amode_implicit (derefub a7.ul) (derefub $1.aul) + "none" + (list) + (list + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul 1)))) + +(CMPB cmpmb_an@+,an@+ (list "1011xxx100001yyy") dont_expand + amode_same_reg (derefub $2.aul) (derefub (+ $1.aul 1)) + "xlate_cmpmb_postinc_postinc_1_0" + (list) + (assign $1.aul (+ $1.aul 2))) +(CMPW cmpmw_an@+,an@+ (list "1011xxx101001yyy") dont_expand + amode_same_reg (derefuw $2.aul) (derefuw (+ $1.aul 2)) + "xlate_cmpmw_postinc_postinc_1_0" + (list) + (assign $1.aul (+ $1.aul 4))) +(CMPL cmpml_an@+,an@+ (list "1011xxx110001yyy") dont_expand + amode_same_reg (dereful $2.aul) (dereful (+ $1.aul 4)) + "xlate_cmpml_postinc_postinc_1_0" + (list) + (assign $1.aul (+ $1.aul 8))) + +(CMPB cmpmb (list "1011xxx100001yyy") dont_expand + amode_implicit + (derefub $2.aul) (derefub $1.aul) + "xlate_cmpmb_postinc_postinc_1_0" + (list) + (list + (assign $1.aul (+ $1.aul 1)) + (assign $2.aul (+ $2.aul 1)))) + +(CMPW cmpmw (list "1011xxx101001yyy") dont_expand + amode_implicit + (derefuw $2.aul) (derefuw $1.aul) + "xlate_cmpmw_postinc_postinc_1_0" + (list) + (list + (assign $1.aul (+ $1.aul 2)) + (assign $2.aul (+ $2.aul 2)))) + +(CMPL cmpml (list "1011xxx110001yyy") dont_expand + amode_implicit + (dereful $2.aul) (dereful $1.aul) + "xlate_cmpml_postinc_postinc_1_0" + (list) + (list + (assign $1.aul (+ $1.aul 4)) + (assign $2.aul (+ $2.aul 4)))) + + +(define (DBCC name cc bit_pattern condn) + (defopcode name + (list 68000 amode_implicit (ends_block skip_two_pointers) + (list bit_pattern "wwwwwwwwwwwwwwww")) + (list "-----" cc dont_expand + (if (or condn (= (assign $1.duw (- $1.duw 1)) 0xFFFF)) + (assign code (deref "uint16 **" code 0)) + (assign code (deref "uint16 **" code 1)))))) + +(DBCC dbhi "C---Z" "0101001011001ddd" CC_HI) +(DBCC dbls "C---Z" "0101001111001ddd" CC_LS) +(DBCC dbcc "C----" "0101010011001ddd" CC_CC) +(DBCC dbcs "C----" "0101010111001ddd" CC_CS) +(DBCC dbne "----Z" "0101011011001ddd" CC_NE) +(DBCC dbeq "----Z" "0101011111001ddd" CC_EQ) +(DBCC dbvc "--V--" "0101100011001ddd" CC_VC) +(DBCC dbvs "--V--" "0101100111001ddd" CC_VS) +(DBCC dbpl "-N---" "0101101011001ddd" CC_PL) +(DBCC dbmi "-N---" "0101101111001ddd" CC_MI) +(DBCC dbge "-NV--" "0101110011001ddd" CC_GE) +(DBCC dblt "-NV--" "0101110111001ddd" CC_LT) +(DBCC dbgt "-NV-Z" "0101111011001ddd" CC_GT) +(DBCC dble "-NV-Z" "0101111111001ddd" CC_LE) + +(defopcode dbra + (list 68000 amode_implicit (ends_block skip_two_pointers) + (list "0101000111001ddd" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_dbra") + (if (>= (assign $1.dsw (- $1.dsw 1)) 0) + (assign code (deref "uint16 **" code 1)) + (if (= $1.duw 0xFFFF) + (assign code (deref "uint16 **" code 0)) + (assign code (deref "uint16 **" code 1)))))) + +(defopcode dbnever + (list 68000 amode_implicit (ends_block skip_one_pointer) + (list "0101000011001ddd" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (assign code (deref "uint16 **" code 0)))) + + +; FIXME - won't postincrement/predecrement if it traps! +(defopcode divl + (list 68020 amode_data (ends_block next_block_dynamic + skip_four_operand_words) + (list "0100110001mmmmmm" "0qqqss0000000rrr")) + (list "0NV-Z" "-----" dont_expand + (list + + ; Fetch divisor + (assign tmp.sl $1.msl) + + ; Check for division by zero + (if (= tmp.sl 0) + (TRAP 5 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (list + + ; Fetch dividend + (assign tmp2.sl $2.dsl) + + (switch $3.uw + (0 (list ; 32 bit unsigned divide + (if (<> $2.uw $4.uw) + (assign $4.dul (% tmp2.ul tmp.ul))) + (assign $2.dul (assign tmp2.ul (/ tmp2.ul tmp.ul))) + (ASSIGN_NNZ_LONG tmp2.ul) + (assign ccv 0))) + + (2 (list ; 32 bit signed divide + (if (and (= tmp.sl -1) (= tmp2.sl 0x80000000)) + (assign ccv 1) + (list + (assign ccv 0) + "\n#ifdef M68K_DIVISION_BEHAVIOR\n" + (if (<> $2.uw $4.uw) + (assign $4.dsl (% tmp2.sl tmp.sl))) + (ASSIGN_NNZ_LONG + (assign tmp2.sl (/ tmp2.sl tmp.sl))) + (assign $2.dsl tmp2.sl) + "\n#else\n" + "{ int32 sgn, regneg" + (if (< tmp2.sl 0) + (list + (assign tmp2.sl (- 0 tmp2.sl)) + (assign "sgn" -1) + (assign "regneg" 1)) + (list + (assign "sgn" 1) + (assign "regneg" 0))) + (if (< tmp.sl 0) + (list + (assign tmp.sl (- 0 tmp.sl)) + (assign "sgn" (- 0 "sgn")))) + (if (<> $2.uw $4.uw) + (list + (assign $4.dsl (% tmp2.ul tmp.ul)) + (if "regneg" + (assign $4.dsl (- $4.dsl tmp.ul))))) + + (assign tmp2.sl (/ tmp2.ul tmp.ul)) + (if (< "sgn" 0) + (assign tmp2.sl (- 0 tmp2.sl))) + (assign $2.dsl tmp2.sl) + (ASSIGN_NNZ_LONG tmp2.sl) + "}" + "\n#endif\n")))) + + (1 (list ; 64 bit unsigned divide + "{ uint64 dividend" + (assign "dividend" (| (<< (cast "uint64" $4.dul) 32) + (cast "uint64" tmp2.ul))) + (if (<> $2.uw $4.uw) + (assign tmp3.ul (% "dividend" tmp.ul))) + (assign "dividend" (/ "dividend" tmp.ul)) + (if (> "dividend" (cast "uint32" 0xFFFFFFFF)) + (assign ccv 1) + (list + (assign $4.dul tmp3.ul) + (assign $2.dul (assign tmp.ul "dividend")) + (ASSIGN_NNZ_LONG tmp.ul) + (assign ccv 0))) + "}")) + + (default + (list ; 64 bit signed divide + "{ int64 dividend" + "\n#ifdef M68K_DIVISION_BEHAVIOR\nint32 remainder=0" + "\n#endif\n" + (assign "dividend" (| (<< (cast "int64" $4.dul) 32) + (cast "int64" tmp2.ul))) + "\n#ifdef M68K_DIVISION_BEHAVIOR\n" + (if (<> $2.uw $4.uw) ; Only compute rem if we need to + (assign "remainder" (% "dividend" tmp.sl))) + (assign "dividend" (/ "dividend" tmp.sl)) + (if (> (cast "uint64" (+ "dividend" + (cast "uint32" 0x80000000))) + (cast "uint32" 0xFFFFFFFF)) + (assign ccv 1) + (list + (assign $4.dsl "remainder") + (assign $2.dsl "dividend") + (ASSIGN_NNZ_LONG "dividend") + (assign ccv 0))) + "\n#else\n" + "{ int32 sgn, regneg" + (if (< "dividend" 0) + (list + (assign "dividend" (- 0 "dividend")) + (assign "sgn" -1) + (assign "regneg" 1)) + (list + (assign "sgn" 1) + (assign "regneg" 0))) + (if (< tmp.sl 0) + (list + (assign tmp.sl (- 0 tmp.sl)) + (assign "sgn" (- 0 "sgn")))) + (if (<> $2.uw $4.uw) ; Only compute rem if we need to + (list + (assign tmp3.sl + (% (cast "uint64" "dividend") tmp.ul)) + (if "regneg" ; Make rem same sgn as dividend + (assign tmp3.sl (- 0 tmp3.sl))))) + + (assign "dividend" (/ (cast "uint64" "dividend") + tmp.ul)) + (if (< "sgn" 0) + (assign "dividend" (- 0 "dividend"))) + (if (> (cast "uint64" (+ "dividend" + (cast "uint32" 0x80000000))) + (cast "uint32" 0xFFFFFFFF)) + (assign ccv 1) + (list + (assign $4.dsl tmp3.sl) + (assign $2.dsl "dividend") + (ASSIGN_NNZ_LONG "dividend") + (assign ccv 0))) + "}" + "\n#endif\n" + "}"))) + (assign code (call "code_lookup" + (deref "uint32 *" code 0)))))))) + + + +(define (DIVS name amode bits divisor native post) + (defopcode divs + (list 68000 amode (skip_four_operand_words) + bits) + (list "0NV-Z" "-----" dont_expand + (native_code native) + (list + "{ int32 divisor, dividend, sgn" + (assign "dividend" $1.dsl) + (if (< "dividend" 0) + (list + (assign "dividend" (- 0 "dividend")) + (assign "sgn" -1)) + (assign "sgn" 1)) + (assign "divisor" divisor) + (if (< "divisor" 0) + (list + (assign "divisor" (- 0 "divisor")) + (assign "sgn" (- 0 "sgn")))) + post + ; Check for division by zero + (if (= "divisor" 0) + (TRAP 5 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (list + (assign tmp2.sl (/ (cast "uint32" "dividend") + (cast "uint32" "divisor"))) + (if (< "sgn" 0) + (assign tmp2.sl (- 0 tmp2.sl))) + (ASSIGN_NNZ_LONG tmp2.sl) + (if (>= (+ tmp2.ul 32768) 65536) ; check for overflow + (assign ccv 1) + (list + (assign tmp.sl (% (cast "uint32" "dividend") + (cast "uint32" "divisor"))); compute rem + (if (and (<> tmp.sl 0) ; make sure rem has same sign + (< $1.dsl 0)) ; as dividend + (assign tmp.sl (- 0 tmp.sl))) + (assign $1.dsl (| tmp2.uw (<< tmp.sl 16))) + (assign ccv 0))))) + "}")))) + + +(DIVS divsw_imm_reg amode_implicit (list "1000ddd111111100wwwwwwwwwwwwwwww") + $2.sl "xlate_divsw_imm_reg_1_0" (list)) +(DIVS divsw_reg_reg amode_implicit (list "1000ddd111000ddd") + $2.dsw "xlate_divsw_reg_reg_1_0" (list)) +(DIVS divsw_ind_reg amode_implicit (list "1000ddd111010aaa") + (derefsw $2.aul) "xlate_divsw_ind_reg_1_0" (list)) +(DIVS divsw_predec_reg amode_implicit (list "1000ddd111100aaa") + (derefsw (assign $2.aul (- $2.aul 2))) "xlate_divsw_predec_reg_1_0" + (list)) +(DIVS divsw_postinc_reg amode_implicit (list "1000ddd111011aaa") + (derefsw $2.aul) "xlate_divsw_postinc_reg_1_0" + (assign $2.aul (+ $2.aul 2))) +(DIVS divsw_indoff_reg amode_implicit (list "1000ddd111101aaawwwwwwwwwwwwwwww") + (derefsw (+ $2.asl $3.sl)) "xlate_divsw_indoff_reg_2_1_0" (list)) + +(DIVS divs amode_data (list "1000ddd111mmmmmm") $2.msw "none" (list)) + +(defopcode divu + (list 68000 amode_data (ends_block next_block_dynamic + skip_four_operand_words) + (list "1000ddd011mmmmmm")) + (list "0NV-Z" "-----" dont_expand + (list + (assign tmp.uw $2.muw) + ; Check for division by zero + (if (= tmp.uw 0) + (TRAP 5 (deref "uint32 *" code 0) (deref "uint32 *" code 1)) + (list + (assign tmp2.ul (/ $1.dul tmp.uw)) + (assign ccnz (<> 0 tmp2.ul)) + (assign ccn (& (>> tmp2.ul 15) 1)) + (if (>= tmp2.ul 65536) + (assign ccv 1) + (list + (assign $1.dul (| tmp2.ul (<< (% $1.dul tmp.uw) 16))) + (assign ccv 0))) + (assign code (call "code_lookup" + (deref "uint32 *" code 0)))))))) + +(define (EXG name bit_pattern r1 r2) + (defopcode name + (list 68000 amode_implicit () bit_pattern) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul r1) + (assign r1 r2) + (assign r2 tmp.ul) + ; (assign r1 (^ r1 r2)) ; use xor hack if you prefer it + ; (assign r2 (^ r2 r1)) + ; (assign r1 (^ r1 r2)) + )))) + +(EXG exgdd (list "1100ddd101000ddd") $1.dul $2.dul) +(EXG exgaa (list "1100aaa101001aaa") $1.aul $2.aul) +(EXG exgda (list "1100ddd110001aaa") $1.dul $2.aul) + + +(define (EXT name cpu bit_pattern from to cc_func native) + (defopcode name + (list cpu amode_implicit () (list bit_pattern)) + (list "-----" "-----" dont_expand + (native_code native) + (assign to from)) + (list "0N0-Z" "-----" dont_expand + (native_code native) + (cc_func (assign to from))))) + +; You have some latitude choosing cc_func; I chose the ones I thought +; would be most efficient. +(EXT extbw 68000 "0100100010000ddd" $1.dsb $1.dsw ASSIGN_NNZ_BYTE + "xlate_extbw") +(EXT extbl 68020 "0100100111000ddd" $1.dsb $1.dsl ASSIGN_NNZ_LONG + "xlate_extbl") +(EXT extwl 68000 "0100100011000ddd" $1.dsw $1.dsl ASSIGN_NNZ_LONG + "xlate_extwl") + +(defopcode jmp_abs_w + (list 68000 amode_implicit (ends_block) + (list "0100111011111000" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_jmp") + (assign code (deref "uint16 **" code 0)))) + +(defopcode jmp_abs_l + (list 68000 amode_implicit (ends_block) + (list "0100111011111001" "llllllllllllllll" "llllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_jmp") + (assign code (deref "uint16 **" code 0)))) + +(defopcode jmp_a + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100111011010ddd")) + (list "-----" "-----" dont_expand + (assign code (call "code_lookup" $1.aul)))) + +(defopcode jmp + (list 68000 amode_control (ends_block next_block_dynamic) + (list "0100111011mmmmmm")) + (list "-----" "-----" dont_expand + (assign code (call "code_lookup " + (call "CLEAN" $1.puw))))) + + +(define (jsr_common targ_addr) + (list + "syn68k_addr_t target_addr, rts_addr" + + ; Grab the m68k addresses to which we are branching and returning. + ; Note that the target_addr is in native byte order, while the rts + ; addr is in big endian byte order. + (assign "rts_addr" (call "CLEAN" + (call "READUL_UNSWAPPED_US" code))) + (assign "target_addr" (call "CLEAN" targ_addr)); + + (assign a7.ul (- a7.ul 4)) +; Can't do this, because a7 holds the address in mac-memory space, but if +; we want to dereference it, we need to convert it to local space. +; (assign (call "DEREF" "uint32" a7.ul) "rts_addr") + (assign (call "READUL_UNSWAPPED" a7.ul) "rts_addr") + (assign code (call "code_lookup " "target_addr")))) + + +(defopcode bsr + (list 68000 "01100001xxxxxxxx" + (ends_block next_block_dynamic skip_four_operand_words) + (list "0aa00001xxxxxxxx")) + (list "-----" "-----" dont_expand + (native_code "xlate_bsr") + (list + (jsr_common (call "US_TO_SYN68K" (call "READUL_UNSWAPPED_US" + (+ code 2)))) + $1.sl))) ; hack to give native code an a7 + +(defopcode jsr_absw + (list 68000 "0100111010111000" + (ends_block next_block_dynamic skip_two_operand_words) + (list "0100111010aaa000" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_jsr_abs_0") + (list + (jsr_common (call "CLEAN" $2.sl)) + $1.ul))) + +(defopcode jsr_absl + (list 68000 "0100111010111001" + (ends_block next_block_dynamic skip_two_operand_words) + (list "0100111010aaa001" "llllllllllllllllllllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_jsr_abs_0") + (list + (jsr_common (call "CLEAN" $2.sl)) + $1.ul))) + +(defopcode jsr_pcd16 + (list 68000 "0100111010111010" + (ends_block next_block_dynamic skip_two_operand_words) + (list "0100aaa010mmmmmm")) + (list "-----" "-----" dont_expand + (native_code "xlate_jsr_pcd16_0") + (list + (jsr_common (call "CLEAN" $2.puw)) + $1.ul))) + +; All jsr's to known addresses will self-modify to become a "fast" jsr +; that uses the jsr stack and ties all the blocks together directly. +; We do this for jsr abs.w, jsr abs.l, and jsr pc@d16. +(defopcode jsr_fixed + (list 68000 + (union "xxxxxxxxxx11100x" "xxxxxxxxxx111010") + (ends_block next_block_dynamic skip_two_operand_words) + (list "0100111010mmmmmm")) + (list "-----" "-----" dont_expand + (jsr_common (call "CLEAN" $1.puw)))) + +(defopcode jsr_d16 + (list 68000 "0100111010101xxx" (ends_block skip_two_operand_words + next_block_dynamic) + (list "0100aaa010101bbbwwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_jsr_d16_0_1") + (list + (assign a7.ul (- a7.ul 4)) + (assign (dereful a7.ul) (call "READUL_US" code)) + (assign code (call "code_lookup " + (call "CLEAN" (+ $2.asl $3.sl)))) + $1.ul))) + +; jsr's to dynamic addresses are a lost cause. FIXME - we could still +; use the jsr stack here since at least the return address is fixed. +(defopcode jsr_dynamic + (list 68000 amode_control (ends_block skip_two_operand_words + next_block_dynamic) + (list "0100111010mmmmmm")) + (list "-----" "-----" dont_expand + (list + (assign a7.ul (- a7.ul 4)) + (assign (dereful a7.ul) (call "READUL_US" code)) + (assign code (call "code_lookup " + (call "CLEAN" $1.puw)))))) + + +(defopcode lea_w + (list 68000 amode_implicit () + (list "0100aaa111111000" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_imm_areg_1_0") + (assign $1.asl $2.sl))) + +(defopcode lea_l + (list 68000 amode_implicit () + (list "0100aaa111111001" "llllllllllllllll" "llllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_imm_areg_1_0") + (assign $1.asl $2.sl))) + +(defopcode lea_d16 + (list 68000 amode_implicit () + (list "0100aaa111101sss" "llllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_leal_indoff_areg_2_1_0") + (assign $1.asl (+ $2.asl $3.sl)))) + +(defopcode lea_ind + (list 68000 amode_implicit () + (list "0100aaa111010sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_areg_areg_1_0") + (assign $1.asl $2.asl))) + +(defopcode lea_indix + (list 68000 "xxxxxxxxxx110xxx" () + (list "0100aaa111ssssss")) + (list "-----" "-----" dont_expand + (native_code "xlate_leal_indix_areg_1_0") + (list + (assign $1.asl $2.psl) + $2.ul))) + +(defopcode lea + (list 68000 amode_control () (list "0100aaa111mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.aul $2.pul))) + +(define (LINK name cpu amode_hack bit_pattern) + (defopcode name + (list cpu amode_hack () bit_pattern) + (list "-----" "-----" dont_expand + (native_code "xlate_link") + (list + (assign a7.ul (- a7.ul 4)) + (assign (dereful a7.ul) $2.aul) + (assign $2.aul a7.ul) + (assign a7.ul (+ a7.ul $3.sl)) + $1.sl)))) ; hack for native code to get an a7 operand + +(LINK linkw 68000 "xxxx111xxxxxx" (list "0100zzz001010aaa" "wwwwwwwwwwwwwwww")) +(LINK linkl 68020 "x1xxxxxxxxxxxxxx" + (list "0z00100000001aaa" "llllllllllllllll" "llllllllllllllll")) + + +; move16 has to come before f-line trap, because move16's high nibble is 0xF! + +; We copy the bytes in a different order than the 68040 does, but they can't +; tell (as long as the transfer is atomic) +(define (MOVE16 name bits src dst preamble postamble) + (defopcode name + (list 68040 amode_implicit () bits) + (list "-----" "-----" dont_expand + (list + preamble + + ; Assume that gcc inlines memcpy of constant size + (call "memcpy" + (cast "long *" (call "SYN68K_TO_US" (& dst (~ 15)))) + (cast "long *" (call "SYN68K_TO_US" (& src (~ 15)))) + 16) + + postamble)))) + +; The use of tmp.ul is necessary here because we must handle the case where +; $1 == $2; in that case, the address register is only incremented by 16 +; bytes, and NOT 32 bytes as a naive implementation that added 16 to each +; register would do. +(MOVE16 move16_ax@+,ay@+ (list "1111011000100xxx" "1yyy000000000000") + $1.aul tmp.ul + (assign tmp.ul $2.aul) + (list + (assign $1.aul (+ $1.aul 16)) + (assign $2.aul (+ tmp.ul 16)))) + +(MOVE16 move16_ay@+,absl + (list "1111011000000yyy" "llllllllllllllll" "llllllllllllllll") + $1.aul $2.ul (list) (assign $1.aul (+ $1.aul 16))) + +(MOVE16 move16_absl_ay@+ + (list "1111011000001yyy" "llllllllllllllll" "llllllllllllllll") + $2.ul $1.aul (list) (assign $1.aul (+ $1.aul 16))) + +(MOVE16 move16_ay@,absl + (list "1111011000010yyy" "llllllllllllllll" "llllllllllllllll") + $1.aul $2.ul (list) (list)) + +(MOVE16 move16_absl,ay@ + (list "1111011000011yyy" "llllllllllllllll" "llllllllllllllll") + $2.ul $1.aul (list) (list)) + + + +(define (predec_src s_amode d_amode size) + (if (= s_amode PREDEC) + (if (no_reg_op_p d_amode) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul size))) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (- a7.ul 2)) + (assign $2.aul (- $2.aul size)))))) + +(define (postinc_src s_amode d_amode size) + (if (= s_amode POSTINC) + (if (no_reg_op_p d_amode) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul size))) + (if (and (= size BYTE) (= $2.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $2.aul (+ $2.aul size)))))) + +(define (amode_string s_amode d_amode) + (if (= s_amode INDIX) + (if (= d_amode INDIX) + "xxxxxxx110110xxx" + "xxxxxxxxxx110xxx") + (if (= d_amode INDIX) + "xxxxxxx110xxxxxx" + "xxxxxxxxxxxxxxxx"))) + +(define (MOVE name size src_amode dst_amode order) + (defopcode name + (list 68000 (amode_string src_amode dst_amode) () + (list "00" (if (= size BYTE) "01" + (if (= size WORD) "11" "10")) + (switch dst_amode + ((+ ABSW 0) "000111") + ((+ ABSL 0) "001111") + ((+ REG 0) "ddd000") ; no areg + ((+ AREG 0) "ddd001") + ((+ IND 0) "ddd010") + ((+ PREDEC 0) "ddd100") + ((+ POSTINC 0) "ddd011") + ((+ INDOFF 0) "ddd101") + ((+ INDIX 0) "dddddd")) + (switch src_amode + ((+ IMM 0) + "111100" + (if (= size BYTE) "00000000aaaaaaaa" + (if (= size WORD) + "aaaaaaaaaaaaaaaa" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))) + ((+ ABSW 0) "111000aaaaaaaaaaaaaaaa") + ((+ ABSL 0) "111001aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + ((+ REG 0) "000sss") + ((+ GREG 0) "00ssss") + ((+ AREG 0) "001sss") + ((+ IND 0) "010sss") + ((+ PREDEC 0) "100sss") + ((+ POSTINC 0) "011sss") + ((+ INDOFF 0) "101sssaaaaaaaaaaaaaaaa") + ((+ INDIX 0) "ssssss")) + (switch dst_amode + ((+ ABSW 0) "bbbbbbbbbbbbbbbb") + ((+ ABSL 0) "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + ((+ INDOFF 0) "bbbbbbbbbbbbbbbb") + (default "")))) + (list (if (= dst_amode AREG) "-----" "CNV-Z") "-----" dont_expand + (native_code "xlate_move" + (if (= size BYTE) "b" + (if (= size WORD) "w" "l")) + "_" (amode_name src_amode) "_" (amode_name dst_amode) + "_" order) + (list + (if (= size BYTE) + (list + (predec_src src_amode dst_amode size) + (assign tmp.sb (src_val src_amode dst_amode size false)) + (postinc_src src_amode dst_amode size) + (if (= dst_amode PREDEC) + (if (= $1.ul 7) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1)))) + (if (<> dst_amode AREG) + (ASSIGN_C_N_V_NZ_BYTE tmp.sb)) + (assign (dst_val src_amode dst_amode size) tmp.sb)) + (if (= size WORD) + (list + (predec_src src_amode dst_amode size) + (assign tmp2.sw (src_val src_amode dst_amode size false)) + (postinc_src src_amode dst_amode size) + (if (= dst_amode PREDEC) + (assign $1.aul (- $1.aul 2))) + (if (<> dst_amode AREG) + (ASSIGN_C_N_V_NZ_WORD tmp2.sw)) + (assign (dst_val src_amode dst_amode size) tmp2.sw)) + (list + (predec_src src_amode dst_amode size) + (assign tmp3.sl (src_val src_amode dst_amode size false)) + (postinc_src src_amode dst_amode size) + (if (= dst_amode PREDEC) + (assign $1.aul (- $1.aul 4))) + (if (<> dst_amode AREG) + (ASSIGN_C_N_V_NZ_LONG tmp3.sl)) + (assign (dst_val src_amode dst_amode size) tmp3.sl)))) + (if (= dst_amode POSTINC) + (if (and (= size BYTE) (= $1.ul 7)) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul size)))))))) + + +(MOVE moveb_imm_reg BYTE IMM REG "1_0") +(MOVE movew_imm_reg WORD IMM REG "1_0") +(MOVE movel_imm_reg LONG IMM REG "1_0") + +(MOVE moveb_imm_absw BYTE IMM ABSW "0_1") +(MOVE movew_imm_absw WORD IMM ABSW "0_1") +(MOVE movel_imm_absw LONG IMM ABSW "0_1") + +(MOVE moveb_imm_absl BYTE IMM ABSL "0_1") +(MOVE movew_imm_absl WORD IMM ABSL "0_1") +(MOVE movel_imm_absl LONG IMM ABSL "0_1") + +(MOVE moveb_imm_predec BYTE IMM PREDEC "1_0") +(MOVE movew_imm_predec WORD IMM PREDEC "1_0") +(MOVE movel_imm_predec LONG IMM PREDEC "1_0") + +(MOVE moveb_imm_postinc BYTE IMM POSTINC "1_0") +(MOVE movew_imm_postinc WORD IMM POSTINC "1_0") +(MOVE movel_imm_postinc LONG IMM POSTINC "1_0") + +(MOVE moveb_imm_ind BYTE IMM IND "1_0") +(MOVE movew_imm_ind WORD IMM IND "1_0") +(MOVE movel_imm_ind LONG IMM IND "1_0") + +(MOVE moveb_imm_indoff BYTE IMM INDOFF "1_2_0") +(MOVE movew_imm_indoff WORD IMM INDOFF "1_2_0") +(MOVE movel_imm_indoff LONG IMM INDOFF "1_2_0") + +(MOVE moveb_imm_indix BYTE IMM INDIX "1_0") +(MOVE movew_imm_indix WORD IMM INDIX "1_0") +(MOVE movel_imm_indix LONG IMM INDIX "1_0") + + +(MOVE moveb_reg_reg BYTE REG REG "1_0") +(MOVE movew_reg_reg WORD GREG REG "1_0") +(MOVE movel_reg_reg LONG GREG REG "1_0") + +(MOVE moveb_reg_absw BYTE REG ABSW "0_1") +(MOVE movew_reg_absw WORD GREG ABSW "0_1") +(MOVE movel_reg_absw LONG GREG ABSW "0_1") + +(MOVE moveb_reg_absl BYTE REG ABSL "0_1") +(MOVE movew_reg_absl WORD GREG ABSL "0_1") +(MOVE movel_reg_absl LONG GREG ABSL "0_1") + +(MOVE moveb_reg_predec BYTE REG PREDEC "1_0") +(MOVE movew_reg_predec WORD GREG PREDEC "1_0") +(MOVE movel_reg_predec LONG GREG PREDEC "1_0") + +(MOVE moveb_reg_postinc BYTE REG POSTINC "1_0") +(MOVE movew_reg_postinc WORD GREG POSTINC "1_0") +(MOVE movel_reg_postinc LONG GREG POSTINC "1_0") + +(MOVE moveb_reg_ind BYTE REG IND "1_0") +(MOVE movew_reg_ind WORD GREG IND "1_0") +(MOVE movel_reg_ind LONG GREG IND "1_0") + +(MOVE moveb_reg_indoff BYTE REG INDOFF "1_2_0") +(MOVE movew_reg_indoff WORD GREG INDOFF "1_2_0") +(MOVE movel_reg_indoff LONG GREG INDOFF "1_2_0") + +(MOVE moveb_reg_indix BYTE REG INDIX "1_0") +(MOVE movew_reg_indix WORD GREG INDIX "1_0") +(MOVE movel_reg_indix LONG GREG INDIX "1_0") + + +(MOVE moveb_absw_reg BYTE ABSW REG "1_0") +(MOVE movew_absw_reg WORD ABSW REG "1_0") +(MOVE movel_absw_reg LONG ABSW REG "1_0") + +(MOVE moveb_absw_absw BYTE ABSW ABSW "0_1") +(MOVE movew_absw_absw WORD ABSW ABSW "0_1") +(MOVE movel_absw_absw LONG ABSW ABSW "0_1") + +(MOVE moveb_absw_absl BYTE ABSW ABSL "0_1") +(MOVE movew_absw_absl WORD ABSW ABSL "0_1") +(MOVE movel_absw_absl LONG ABSW ABSL "0_1") + +(MOVE moveb_absw_predec BYTE ABSW PREDEC "1_0") +(MOVE movew_absw_predec WORD ABSW PREDEC "1_0") +(MOVE movel_absw_predec LONG ABSW PREDEC "1_0") + +(MOVE moveb_absw_postinc BYTE ABSW PREDEC "1_0") +(MOVE movew_absw_postinc WORD ABSW PREDEC "1_0") +(MOVE movel_absw_postinc LONG ABSW PREDEC "1_0") + +(MOVE moveb_absw_ind BYTE ABSW IND "1_0") +(MOVE movew_absw_ind WORD ABSW IND "1_0") +(MOVE movel_absw_ind LONG ABSW IND "1_0") + +(MOVE moveb_absw_indoff BYTE ABSW INDOFF "1_2_0") +(MOVE movew_absw_indoff WORD ABSW INDOFF "1_2_0") +(MOVE movel_absw_indoff LONG ABSW INDOFF "1_2_0") + + +(MOVE moveb_absl_reg BYTE ABSL REG "1_0") +(MOVE movew_absl_reg WORD ABSL REG "1_0") +(MOVE movel_absl_reg LONG ABSL REG "1_0") + +(MOVE moveb_absl_absw BYTE ABSL ABSW "0_1") +(MOVE movew_absl_absw WORD ABSL ABSW "0_1") +(MOVE movel_absl_absw LONG ABSL ABSW "0_1") + +(MOVE moveb_absl_absl BYTE ABSL ABSL "0_1") +(MOVE movew_absl_absl WORD ABSL ABSL "0_1") +(MOVE movel_absl_absl LONG ABSL ABSL "0_1") + +(MOVE moveb_absl_predec BYTE ABSL PREDEC "1_0") +(MOVE movew_absl_predec WORD ABSL PREDEC "1_0") +(MOVE movel_absl_predec LONG ABSL PREDEC "1_0") + +(MOVE moveb_absl_postinc BYTE ABSL PREDEC "1_0") +(MOVE movew_absl_postinc WORD ABSL PREDEC "1_0") +(MOVE movel_absl_postinc LONG ABSL PREDEC "1_0") + +(MOVE moveb_absl_ind BYTE ABSL IND "1_0") +(MOVE movew_absl_ind WORD ABSL IND "1_0") +(MOVE movel_absl_ind LONG ABSL IND "1_0") + +(MOVE moveb_absl_indoff BYTE ABSL INDOFF "1_2_0") +(MOVE movew_absl_indoff WORD ABSL INDOFF "1_2_0") +(MOVE movel_absl_indoff LONG ABSL INDOFF "1_2_0") + + +(MOVE moveb_predec_reg BYTE PREDEC REG "1_0") +(MOVE movew_predec_reg WORD PREDEC REG "1_0") +(MOVE movel_predec_reg LONG PREDEC REG "1_0") + +(MOVE moveb_predec_absw BYTE PREDEC ABSW "0_1") +(MOVE movew_predec_absw WORD PREDEC ABSW "0_1") +(MOVE movel_predec_absw LONG PREDEC ABSW "0_1") + +(MOVE moveb_predec_absl BYTE PREDEC ABSL "0_1") +(MOVE movew_predec_absl WORD PREDEC ABSL "0_1") +(MOVE movel_predec_absl LONG PREDEC ABSL "0_1") + +(MOVE moveb_predec_predec BYTE PREDEC PREDEC "1_0") +(MOVE movew_predec_predec WORD PREDEC PREDEC "1_0") +(MOVE movel_predec_predec LONG PREDEC PREDEC "1_0") + +(MOVE moveb_predec_postinc BYTE PREDEC POSTINC "1_0") +(MOVE movew_predec_postinc WORD PREDEC POSTINC "1_0") +(MOVE movel_predec_postinc LONG PREDEC POSTINC "1_0") + +(MOVE moveb_predec_ind BYTE PREDEC IND "1_0") +(MOVE movew_predec_ind WORD PREDEC IND "1_0") +(MOVE movel_predec_ind LONG PREDEC IND "1_0") + +(MOVE moveb_predec_indoff BYTE PREDEC INDOFF "1_2_0") +(MOVE movew_predec_indoff WORD PREDEC INDOFF "1_2_0") +(MOVE movel_predec_indoff LONG PREDEC INDOFF "1_2_0") + +(MOVE moveb_predec_indix BYTE PREDEC INDIX "1_0") +(MOVE movew_predec_indix WORD PREDEC INDIX "1_0") +(MOVE movel_predec_indix LONG PREDEC INDIX "1_0") + + +(MOVE moveb_postinc_reg BYTE POSTINC REG "1_0") +(MOVE movew_postinc_reg WORD POSTINC REG "1_0") +(MOVE movel_postinc_reg LONG POSTINC REG "1_0") + +(MOVE moveb_postinc_absw BYTE POSTINC ABSW "0_1") +(MOVE movew_postinc_absw WORD POSTINC ABSW "0_1") +(MOVE movel_postinc_absw LONG POSTINC ABSW "0_1") + +(MOVE moveb_postinc_absl BYTE POSTINC ABSL "0_1") +(MOVE movew_postinc_absl WORD POSTINC ABSL "0_1") +(MOVE movel_postinc_absl LONG POSTINC ABSL "0_1") + +(MOVE moveb_postinc_predec BYTE POSTINC PREDEC "1_0") +(MOVE movew_postinc_predec WORD POSTINC PREDEC "1_0") +(MOVE movel_postinc_predec LONG POSTINC PREDEC "1_0") + +(MOVE moveb_postinc_postinc BYTE POSTINC POSTINC "1_0") +(MOVE movew_postinc_postinc WORD POSTINC POSTINC "1_0") +(MOVE movel_postinc_postinc LONG POSTINC POSTINC "1_0") + +(MOVE moveb_postinc_ind BYTE POSTINC IND "1_0") +(MOVE movew_postinc_ind WORD POSTINC IND "1_0") +(MOVE movel_postinc_ind LONG POSTINC IND "1_0") + +(MOVE moveb_postinc_indoff BYTE POSTINC INDOFF "1_2_0") +(MOVE movew_postinc_indoff WORD POSTINC INDOFF "1_2_0") +(MOVE movel_postinc_indoff LONG POSTINC INDOFF "1_2_0") + +(MOVE moveb_postinc_indix BYTE POSTINC INDIX "1_0") +(MOVE movew_postinc_indix WORD POSTINC INDIX "1_0") +(MOVE movel_postinc_indix LONG POSTINC INDIX "1_0") + + +(MOVE moveb_ind_reg BYTE IND REG "1_0") +(MOVE movew_ind_reg WORD IND REG "1_0") +(MOVE movel_ind_reg LONG IND REG "1_0") + +(MOVE moveb_ind_absw BYTE IND ABSW "0_1") +(MOVE movew_ind_absw WORD IND ABSW "0_1") +(MOVE movel_ind_absw LONG IND ABSW "0_1") + +(MOVE moveb_ind_absl BYTE IND ABSL "0_1") +(MOVE movew_ind_absl WORD IND ABSL "0_1") +(MOVE movel_ind_absl LONG IND ABSL "0_1") + +(MOVE moveb_ind_predec BYTE IND PREDEC "1_0") +(MOVE movew_ind_predec WORD IND PREDEC "1_0") +(MOVE movel_ind_predec LONG IND PREDEC "1_0") + +(MOVE moveb_ind_postinc BYTE IND POSTINC "1_0") +(MOVE movew_ind_postinc WORD IND POSTINC "1_0") +(MOVE movel_ind_postinc LONG IND POSTINC "1_0") + +(MOVE moveb_ind_ind BYTE IND IND "1_0") +(MOVE movew_ind_ind WORD IND IND "1_0") +(MOVE movel_ind_ind LONG IND IND "1_0") + +(MOVE moveb_ind_indoff BYTE IND INDOFF "1_2_0") +(MOVE movew_ind_indoff WORD IND INDOFF "1_2_0") +(MOVE movel_ind_indoff LONG IND INDOFF "1_2_0") + +(MOVE moveb_ind_indix BYTE IND INDIX "1_0") +(MOVE movew_ind_indix WORD IND INDIX "1_0") +(MOVE movel_ind_indix LONG IND INDIX "1_0") + + +(MOVE moveb_indoff_reg BYTE INDOFF REG "2_1_0") +(MOVE movew_indoff_reg WORD INDOFF REG "2_1_0") +(MOVE movel_indoff_reg LONG INDOFF REG "2_1_0") + +(MOVE moveb_indoff_absw BYTE INDOFF ABSW "1_0_2") +(MOVE movew_indoff_absw WORD INDOFF ABSW "1_0_2") +(MOVE movel_indoff_absw LONG INDOFF ABSW "1_0_2") + +(MOVE moveb_indoff_absl BYTE INDOFF ABSL "1_0_2") +(MOVE movew_indoff_absl WORD INDOFF ABSL "1_0_2") +(MOVE movel_indoff_absl LONG INDOFF ABSL "1_0_2") + +(MOVE moveb_indoff_predec BYTE INDOFF PREDEC "2_1_0") +(MOVE movew_indoff_predec WORD INDOFF PREDEC "2_1_0") +(MOVE movel_indoff_predec LONG INDOFF PREDEC "2_1_0") + +(MOVE moveb_indoff_postinc BYTE INDOFF POSTINC "2_1_0") +(MOVE movew_indoff_postinc WORD INDOFF POSTINC "2_1_0") +(MOVE movel_indoff_postinc LONG INDOFF POSTINC "2_1_0") + +(MOVE moveb_indoff_ind BYTE INDOFF IND "2_1_0") +(MOVE movew_indoff_ind WORD INDOFF IND "2_1_0") +(MOVE movel_indoff_ind LONG INDOFF IND "2_1_0") + +(MOVE moveb_indoff_indoff BYTE INDOFF INDOFF "2_1_3_0") +(MOVE movew_indoff_indoff WORD INDOFF INDOFF "2_1_3_0") +(MOVE movel_indoff_indoff LONG INDOFF INDOFF "2_1_3_0") + +(MOVE moveb_indoff_indix BYTE INDOFF INDIX "2_1_0") +(MOVE movew_indoff_indix WORD INDOFF INDIX "2_1_0") +(MOVE movel_indoff_indix LONG INDOFF INDIX "2_1_0") + + +(MOVE moveb_indix_reg BYTE INDIX REG "1_0") +(MOVE movew_indix_reg WORD INDIX REG "1_0") +(MOVE movel_indix_reg LONG INDIX REG "1_0") + +(MOVE moveb_indix_ind BYTE INDIX IND "1_0") +(MOVE movew_indix_ind WORD INDIX IND "1_0") +(MOVE movel_indix_ind LONG INDIX IND "1_0") + +(MOVE moveb_indix_predec BYTE INDIX PREDEC "1_0") +(MOVE movew_indix_predec WORD INDIX PREDEC "1_0") +(MOVE movel_indix_predec LONG INDIX PREDEC "1_0") + +(MOVE moveb_indix_postinc BYTE INDIX POSTINC "1_0") +(MOVE movew_indix_postinc WORD INDIX POSTINC "1_0") +(MOVE movel_indix_postinc LONG INDIX POSTINC "1_0") + + + +; Here is the addressing mode for the move instructions. We can't use +; any of the "stock" addressing modes, because move instructions have two +; amode fields. +(define move_amode + (intersect amode_all_combinations ; src field + (union "xxxxxxx0x0xxxxxx" ; dst field + "xxxxxxx011xxxxxx" + "xxxxxxx10xxxxxxx" + "xxxxxxx110xxxxxx" + "xxxx00x111xxxxxx"))) + + + +(defopcode moveb + (list 68000 (intersect move_amode (not "xxxxxxxxxx001xxx")) ; can't moveb + () (list "0001rrrrrrmmmmmm")) ; from addr reg + (list "-----" "-----" dont_expand + (assign $1.rub $2.mub)) + (list "CNV-Z" "-----" dont_expand + (ASSIGN_C_N_V_NZ_BYTE (assign $1.rub $2.mub)))) + +(defopcode movew + (list 68000 move_amode () (list "0011rrrrrrmmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.ruw $2.muw)) + (list "CNV-Z" "-----" dont_expand + (ASSIGN_C_N_V_NZ_WORD (assign $1.ruw $2.muw)))) + +(defopcode movel + (list 68000 move_amode () (list "0010rrrrrrmmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.rul $2.mul)) + (list "CNV-Z" "-----" dont_expand + (ASSIGN_C_N_V_NZ_LONG (assign $1.rul $2.mul)))) + +(MOVE moveaw_imm_areg WORD IMM AREG "1_0") +(MOVE moveaw_reg_areg WORD GREG AREG "1_0") +(MOVE moveaw_absw_areg WORD ABSW AREG "1_0") +(MOVE moveaw_absl_areg WORD ABSL AREG "1_0") +(MOVE moveaw_predec_areg WORD PREDEC AREG "1_0") +(MOVE moveaw_postinc_areg WORD POSTINC AREG "1_0") +(MOVE moveaw_ind_areg WORD IND AREG "1_0") +(MOVE moveaw_indoff_areg WORD INDOFF AREG "2_1_0") + +(MOVE moveal_imm_areg LONG IMM AREG "1_0") +(MOVE moveal_reg_areg LONG GREG AREG "1_0") +(MOVE moveal_absw_areg LONG ABSW AREG "1_0") +(MOVE moveal_absl_areg LONG ABSL AREG "1_0") +(MOVE moveal_predec_areg LONG PREDEC AREG "1_0") +(MOVE moveal_postinc_areg LONG POSTINC AREG "1_0") +(MOVE moveal_ind_areg LONG IND AREG "1_0") +(MOVE moveal_indoff_areg LONG INDOFF AREG "2_1_0") + + +(defopcode moveal_indix_areg + (list 68000 "xxxxxxxxxx110xxx" () (list "0010aaa001mmmmmm")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_indix_areg_1_0") + (assign $1.aul $2.mul))) + + +(defopcode moveaw + (list 68000 amode_all_combinations () (list "0011aaa001mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.asl $2.msw))) + +(defopcode moveal + (list 68000 amode_all_combinations () (list "0010aaa001mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.aul $2.mul))) + +(define (nextreg_ptm_w reg) + (list + (if (& tmp.ul $2.ul) + (list + (assign tmp2.ul (- tmp2.ul 2)) + (assign (derefuw tmp2.ul) reg))) + (assign tmp.ul (<< tmp.ul 1)))) + +(defopcode movemw_predec_to_memory + (list 68000 amode_implicit () + (list "0100100010100ddd" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul 1) + (assign tmp2.ul $1.aul) + (assign $1.aul (- $1.aul 2)) + (assign tmp3.ul $2.ul) + (nextreg_ptm_w a7.uw) + (nextreg_ptm_w a6.uw) + (nextreg_ptm_w a5.uw) + (nextreg_ptm_w a4.uw) + (nextreg_ptm_w a3.uw) + (nextreg_ptm_w a2.uw) + (nextreg_ptm_w a1.uw) + (nextreg_ptm_w a0.uw) + (nextreg_ptm_w d7.uw) + (nextreg_ptm_w d6.uw) + (nextreg_ptm_w d5.uw) + (nextreg_ptm_w d4.uw) + (nextreg_ptm_w d3.uw) + (nextreg_ptm_w d2.uw) + (nextreg_ptm_w d1.uw) + (nextreg_ptm_w d0.uw) + (assign $1.aul tmp2.ul)))) + +(define (nextreg_ptm_l reg) + (list + (if (& tmp.ul 1) + (list + (assign tmp2.ul (- tmp2.ul 4)) + (assign (dereful tmp2.ul) reg))) + (assign tmp.ul (>> tmp.ul 1)))) + +(defopcode moveml_predec_to_memory + (list 68000 amode_implicit () + (list "0100100011100ddd" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_moveml_reg_predec_0_1") + (list + (assign tmp.ul $2.ul) + (assign tmp2.ul $1.aul) + (assign $1.aul (- $1.aul 4)) + (nextreg_ptm_l a7.ul) + (nextreg_ptm_l a6.ul) + (nextreg_ptm_l a5.ul) + (nextreg_ptm_l a4.ul) + (nextreg_ptm_l a3.ul) + (nextreg_ptm_l a2.ul) + (nextreg_ptm_l a1.ul) + (nextreg_ptm_l a0.ul) + (nextreg_ptm_l d7.ul) + (nextreg_ptm_l d6.ul) + (nextreg_ptm_l d5.ul) + (nextreg_ptm_l d4.ul) + (nextreg_ptm_l d3.ul) + (nextreg_ptm_l d2.ul) + (nextreg_ptm_l d1.ul) + (nextreg_ptm_l d0.ul) + (assign $1.aul tmp2.ul)))) + +(define (nextreg_mtr_w reg) + (list + (if (& tmp.ul 1) + (list + (assign reg (derefsw tmp2.ul)) + (assign tmp2.ul (+ tmp2.ul 2)))) + (assign tmp.ul (>> tmp.ul 1)))) + +(define (nextreg_mtr_l reg) + (list + (if (& tmp.ul 1) + (list + (assign reg (dereful tmp2.ul)) + (assign tmp2.ul (+ tmp2.ul 4)))) + (assign tmp.ul (>> tmp.ul 1)))) + +(define (nextreg_rtm_w reg) + (list + (if (& tmp.ul 1) + (list + (assign (derefuw tmp2.ul) reg) + (assign tmp2.ul (+ tmp2.ul 2)))) + (assign tmp.ul (>> tmp.ul 1)))) + +(define (nextreg_rtm_l reg) + (list + (if (& tmp.ul 1) + (list + (assign (dereful tmp2.ul) reg) + (assign tmp2.ul (+ tmp2.ul 4)))) + (assign tmp.ul (>> tmp.ul 1)))) + +(define (MOVEMW name bit_pattern next amode base) + (defopcode name + (list 68000 amode (dont_postincdec_unexpanded) + (list bit_pattern "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp2.ul base) + (assign tmp.ul $2.ul) + (next d0.sl) + (next d1.sl) + (next d2.sl) + (next d3.sl) + (next d4.sl) + (next d5.sl) + (next d6.sl) + (next d7.sl) + (next a0.sl) + (next a1.sl) + (next a2.sl) + (next a3.sl) + (next a4.sl) + (next a5.sl) + (next a6.sl) + (next a7.sl) + (switch $1.ul + (0x18 (assign a0.ul tmp2.ul)) ; Switch is here so we don't + (0x19 (assign a1.ul tmp2.ul)) ; expand this opcode because + (0x1A (assign a2.ul tmp2.ul)) ; of a dollar reg lvalue + (0x1B (assign a3.ul tmp2.ul)) + (0x1C (assign a4.ul tmp2.ul)) + (0x1D (assign a5.ul tmp2.ul)) + (0x1E (assign a6.ul tmp2.ul)) + (0x1F (assign a7.ul tmp2.ul))))))) + +(defopcode moveml_postinc_reg + (list 68000 amode_implicit () + (list "0100110011011aaawwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_moveml_postinc_reg_0_1") + (list + (assign tmp2.ul $1.aul) + (assign tmp.ul $2.ul) + (nextreg_mtr_l d0.ul) + (nextreg_mtr_l d1.ul) + (nextreg_mtr_l d2.ul) + (nextreg_mtr_l d3.ul) + (nextreg_mtr_l d4.ul) + (nextreg_mtr_l d5.ul) + (nextreg_mtr_l d6.ul) + (nextreg_mtr_l d7.ul) + (nextreg_mtr_l a0.ul) + (nextreg_mtr_l a1.ul) + (nextreg_mtr_l a2.ul) + (nextreg_mtr_l a3.ul) + (nextreg_mtr_l a4.ul) + (nextreg_mtr_l a5.ul) + (nextreg_mtr_l a6.ul) + (nextreg_mtr_l a7.ul) + (assign $1.aul tmp2.ul)))) + +(define (MOVEML name bit_pattern next amode base) + (defopcode name + (list 68000 amode (dont_postincdec_unexpanded) + (list bit_pattern "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp2.ul base) + (assign tmp.ul $2.ul) + (next d0.ul) + (next d1.ul) + (next d2.ul) + (next d3.ul) + (next d4.ul) + (next d5.ul) + (next d6.ul) + (next d7.ul) + (next a0.ul) + (next a1.ul) + (next a2.ul) + (next a3.ul) + (next a4.ul) + (next a5.ul) + (next a6.ul) + (next a7.ul) + (switch $1.ul + (0x18 (assign a0.ul tmp2.ul)) ; Switch is here so we don't + (0x19 (assign a1.ul tmp2.ul)) ; expand this opcode because + (0x1A (assign a2.ul tmp2.ul)) ; of a dollar reg lvalue + (0x1B (assign a3.ul tmp2.ul)) + (0x1C (assign a4.ul tmp2.ul)) + (0x1D (assign a5.ul tmp2.ul)) + (0x1E (assign a6.ul tmp2.ul)) + (0x1F (assign a7.ul tmp2.ul))))))) + +; Do moves from memory to registers. +(MOVEMW movemw_to_reg "0100110010mmmmmm" nextreg_mtr_w + (union amode_control "xxxxxxxxxx011xxx") ; ctl + postinc + $1.puw) +(MOVEML moveml_to_reg "0100110011mmmmmm" nextreg_mtr_l + (union amode_control "xxxxxxxxxx011xxx") ; ctl + postinc + $1.pul) + +; Do moves from registers to memory. +(MOVEMW movemw_to_mem "0100100010mmmmmm" nextreg_rtm_w + (union amode_alterable_control "xxxxxxxxxx100xxx") ; altctl + predec + $1.puw) +(MOVEML moveml_to_mem "0100100011mmmmmm" nextreg_rtm_l + (union amode_alterable_control "xxxxxxxxxx100xxx") ; altctl + predec + $1.pul) + + +(defopcode movepw_to_mem + (list 68000 amode_implicit () (list "0000ddd110001aaa" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (+ $2.aul $3.sw)) + (assign tmp2.uw $1.duw) + (assign (derefub tmp.ul) (>> tmp2.uw 8)) + (assign (derefub (+ tmp.ul 2)) tmp2.ub)))) + +(defopcode movepl_to_mem + (list 68000 amode_implicit () (list "0000ddd111001aaa" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (+ $2.aul $3.sw)) + (assign tmp2.ul $1.dul) + (assign (derefub tmp.ul) (>> tmp2.ul 24)) + (assign (derefub (+ tmp.ul 2)) (>> tmp2.ul 16)) + (assign (derefub (+ tmp.ul 4)) (>> tmp2.ul 8)) + (assign (derefub (+ tmp.ul 6)) tmp2.ul)))) + +(defopcode movepw_to_reg + (list 68000 amode_implicit () (list "0000ddd100001aaa" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (+ $2.aul $3.sw)) + (assign $1.duw (| (<< (derefub tmp.ul) 8) (derefub (+ tmp.ul 2))))))) + +(defopcode movepl_to_reg + (list 68000 amode_implicit () (list "0000ddd101001aaa" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (+ $2.aul $3.sw)) + (assign $1.dul (| (<< (derefub tmp.ul) 24) + (<< (derefub (+ tmp.ul 2)) 16) + (<< (derefub (+ tmp.ul 4)) 8) + (derefub (+ tmp.ul 6))))))) + +(defopcode moveq + (list 68000 amode_implicit () (list "0111ddd0bbbbbbbb")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_imm_reg_1_0") + (assign $1.dul $2.sl)) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_movel_imm_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul $2.sl)))) + + +(defopcode mulsw_imm_reg + (list 68000 amode_data () (list "1100ddd111111100wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_imm_reg_1_0") + (assign $1.dsl (* $1.dsw $2.sl))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_imm_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw $2.sl))))) + +(defopcode mulsw_reg_reg + (list 68000 amode_data () (list "1100ddd111000sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_reg_reg_1_0") + (assign $1.dsl (* $1.dsw $2.dsw))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_reg_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw $2.dsw))))) + +(defopcode mulsw_absw_reg + (list 68000 amode_data () (list "1100ddd111111000wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_abs_reg_1_0") + (assign $1.dsl (* $1.dsw (derefsw $2.sl)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_abs_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw (derefsw $2.sl)))))) + +(defopcode mulsw_absl_reg + (list 68000 amode_data () + (list "1100ddd111111001llllllllllllllllllllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_abs_reg_1_0") + (assign $1.dsl (* $1.dsw (derefsw $2.sl)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_abs_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw (derefsw $2.sl)))))) + +(defopcode mulsw_ind_reg + (list 68000 amode_data () + (list "1100ddd111010sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_ind_reg_1_0") + (assign $1.dsl (* $1.dsw (derefsw $2.aul)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_ind_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw (derefsw $2.aul)))))) + +(defopcode mulsw_predec_reg + (list 68000 amode_data () + (list "1100ddd111100sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_predec_reg_1_0") + (list + (assign $2.aul (- $2.aul 2)) + (assign $1.dsl (* $1.dsw (derefsw $2.aul))))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_predec_reg_1_0") + (list + (assign $2.aul (- $2.aul 2)) + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw (derefsw $2.aul))))))) + +(defopcode mulsw_postinc_reg + (list 68000 amode_data () + (list "1100ddd111011sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_postinc_reg_1_0") + (list + (assign $1.dsl (* $1.dsw (derefsw $2.aul))) + (assign $2.aul (+ $2.aul 2)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_postinc_reg_1_0") + (list + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw (derefsw $2.aul)))) + (assign $2.aul (+ $2.aul 2))))) + +(defopcode mulsw_indoff_reg + (list 68000 amode_data () + (list "1100ddd111101ssswwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_mulsw_indoff_reg_2_1_0") + (assign $1.dsl (* $1.dsw (derefsw (+ $2.asl $3.sl))))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_mulsw_indoff_reg_2_1_0") + (ASSIGN_C_N_V_NZ_LONG + (assign $1.dsl (* $1.dsw (derefsw (+ $2.asl $3.sl))))))) + +(defopcode mulsw + (list 68000 amode_data () (list "1100ddd111mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.dsl (* $1.dsw $2.msw))) + (list "CNV-Z" "-----" dont_expand + (ASSIGN_C_N_V_NZ_LONG (assign $1.dsl (* $1.dsw $2.msw))))) + +(defopcode muluw_imm_reg + (list 68000 amode_data () (list "1100ddd011111100wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_imm_reg_1_0") + (assign $1.dul (* $1.duw $2.ul))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_imm_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw $2.ul))))) + +(defopcode muluw_reg_reg + (list 68000 amode_data () (list "1100ddd011000sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_reg_reg_1_0") + (assign $1.dul (* $1.duw $2.duw))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_reg_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw $2.duw))))) + +(defopcode muluw_absw_reg + (list 68000 amode_data () (list "1100ddd011111000wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_abs_reg_1_0") + (assign $1.dul (* $1.duw (derefuw $2.sl)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_abs_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw (derefuw $2.sl)))))) + +(defopcode muluw_absl_reg + (list 68000 amode_data () + (list "1100ddd011111001llllllllllllllllllllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_abs_reg_1_0") + (assign $1.dul (* $1.duw (derefuw $2.sl)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_abs_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw (derefuw $2.sl)))))) + +(defopcode muluw_ind_reg + (list 68000 amode_data () + (list "1100ddd011010sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_ind_reg_1_0") + (assign $1.dul (* $1.duw (derefuw $2.aul)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_ind_reg_1_0") + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw (derefuw $2.aul)))))) + +(defopcode muluw_predec_reg + (list 68000 amode_data () + (list "1100ddd011100sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_predec_reg_1_0") + (list + (assign $2.aul (- $2.aul 2)) + (assign $1.dul (* $1.duw (derefuw $2.aul))))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_predec_reg_1_0") + (list + (assign $2.aul (- $2.aul 2)) + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw (derefuw $2.aul))))))) + +(defopcode muluw_postinc_reg + (list 68000 amode_data () + (list "1100ddd011011sss")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_postinc_reg_1_0") + (list + (assign $1.dul (* $1.duw (derefuw $2.aul))) + (assign $2.aul (+ $2.aul 2)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_postinc_reg_1_0") + (list + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw (derefuw $2.aul)))) + (assign $2.aul (+ $2.aul 2))))) + +(defopcode muluw_indoff_reg + (list 68000 amode_data () + (list "1100ddd011101ssswwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_muluw_indoff_reg_2_1_0") + (assign $1.dul (* $1.duw (derefuw (+ $2.asl $3.sl))))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_muluw_indoff_reg_2_1_0") + (ASSIGN_C_N_V_NZ_LONG + (assign $1.dul (* $1.duw (derefuw (+ $2.asl $3.sl))))))) + +(defopcode muluw + (list 68000 amode_data () (list "1100ddd011mmmmmm")) + (list "-----" "-----" dont_expand + (assign $1.dul (* $1.duw $2.muw))) + (list "CNV-Z" "-----" dont_expand + (ASSIGN_C_N_V_NZ_LONG (assign $1.dul (* $1.duw $2.muw))))) + +(define (mulsl_32_case reg) + (list + "{ int64 tmp64" + (assign "tmp64" $1.msl) + (ASSIGN_NNZ_LONG (assign reg (assign "tmp64" (* "tmp64" reg)))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (<> 0 (+ (>> "tmp64" 32) (>> (cast "uint32" reg) 31)))) ;hack + "\n#else\n" + (assign ccv (+ (>> "tmp64" 32) (>> (cast "uint32" ccnz) 31))) ;hack + "\n#endif\n" + "}")) + +(define (mulul_32_case reg) + (list + "{ uint64 tmp64" + (assign "tmp64" $1.mul) + (ASSIGN_NNZ_LONG (assign reg (assign "tmp64" (* "tmp64" reg)))) + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (assign ccv (<> 0 (>> "tmp64" 32))) + "\n#else\n" + (assign ccv (>> "tmp64" 32)) + "\n#endif\n" + "}")) + +(define (mull_64_case reg mem decl64) + (list + decl64 + (assign "tmp64" mem) + (assign reg (assign "tmp64" (* "tmp64" reg))) + (assign ccnz (<> "tmp64" 0)) + (assign ccn (SIGN_LONG (assign tmp.ul (>> "tmp64" 32)))) + (assign $3.dul tmp.ul) + (assign ccv 0) + "}")) + +(defopcode mull + (list 68020 amode_data () (list "0100110000mmmmmm" "0iiiii0000000hhh")) + (list "0NV-Z" "-----" dont_expand + (switch $2.uw + ; mulul 32x32->32 + (0x00 (mulul_32_case d0.ul)) + (0x04 (mulul_32_case d1.ul)) + (0x08 (mulul_32_case d2.ul)) + (0x0C (mulul_32_case d3.ul)) + (0x10 (mulul_32_case d4.ul)) + (0x14 (mulul_32_case d5.ul)) + (0x18 (mulul_32_case d6.ul)) + (0x1C (mulul_32_case d7.ul)) + + ; mulsl 32x32->32 + (0x02 (mulsl_32_case d0.sl)) + (0x06 (mulsl_32_case d1.sl)) + (0x0A (mulsl_32_case d2.sl)) + (0x0E (mulsl_32_case d3.sl)) + (0x12 (mulsl_32_case d4.sl)) + (0x16 (mulsl_32_case d5.sl)) + (0x1A (mulsl_32_case d6.sl)) + (0x1E (mulsl_32_case d7.sl)) + + ; mulul 32x32->64 + (0x01 (mull_64_case d0.ul $1.mul "{ uint64 tmp64")) + (0x05 (mull_64_case d1.ul $1.mul "{ uint64 tmp64")) + (0x09 (mull_64_case d2.ul $1.mul "{ uint64 tmp64")) + (0x0D (mull_64_case d3.ul $1.mul "{ uint64 tmp64")) + (0x11 (mull_64_case d4.ul $1.mul "{ uint64 tmp64")) + (0x15 (mull_64_case d5.ul $1.mul "{ uint64 tmp64")) + (0x19 (mull_64_case d6.ul $1.mul "{ uint64 tmp64")) + (0x1D (mull_64_case d7.ul $1.mul "{ uint64 tmp64")) + + ; mulsl 32x32->64 + (0x03 (mull_64_case d0.sl $1.msl "{ int64 tmp64")) + (0x07 (mull_64_case d1.sl $1.msl "{ int64 tmp64")) + (0x0B (mull_64_case d2.sl $1.msl "{ int64 tmp64")) + (0x0F (mull_64_case d3.sl $1.msl "{ int64 tmp64")) + (0x13 (mull_64_case d4.sl $1.msl "{ int64 tmp64")) + (0x17 (mull_64_case d5.sl $1.msl "{ int64 tmp64")) + (0x1B (mull_64_case d6.sl $1.msl "{ int64 tmp64")) + (0x1F (mull_64_case d7.sl $1.msl "{ int64 tmp64"))))) + + +(defopcode nbcd + (list 68000 amode_alterable_data () (list "0100100000mmmmmm")) + (list "C??X<" "---X-" dont_expand + (list + (assign tmp.ul $1.mub) + (if ccx + (list + (assign tmp.ul (+ tmp.ul 1)) + (assign tmp2.ub (- 0x9A tmp.ul))) + (list + (assign tmp2.ub (- 0x9A tmp.ul)) + (if (not (& tmp.ul 0xF)) + (assign tmp2.ub (- tmp2.ub (call "NEGBCD_TABLE" + (>> tmp.ul 4))))))) + (assign $1.mub tmp2.ub) + (assign ccx (assign ccc (<> tmp.ul 0))) + (assign ccnz (| ccnz tmp2.ub))))) + + +(define (NEG name dst bit_pattern sign_func overflow native pre post) + (defopcode name + (list 68000 amode_alterable_data () (list bit_pattern)) + (list "-----" "-----" dont_expand + (native_code native) + (list + pre + (assign dst (- 0 dst)) + post)) + (list "CNVXZ" "-----" dont_expand + (native_code native) + (list + pre + (assign ccv (= dst overflow)) + + "\n#ifdef CCR_ELEMENT_8_BITS\n" + (if (<> overflow 0x80) ; reduces at compile time + (assign ccnz (assign ccx (assign ccc + (<> (assign dst (- 0 dst)) + 0)))) + (assign ccnz (assign ccx (assign ccc + (assign dst (- 0 dst)))))) + (assign ccn (sign_func dst)) + "\n#else\n" + (assign ccn + (& overflow + (assign ccnz + (assign ccx + (assign ccc + (assign dst (- 0 dst))))))) + "\n#endif\n" + post)))) +(define (NEG name dst bit_pattern sign_func overflow native) + (NEG name dst bit_pattern sign_func overflow native (list) (list))) + +(NEG negb_reg $1.dub "0100010000000mmm" SIGN_BYTE 0x80 "xlate_negb_reg_0") +(NEG negb_ind (derefub $1.aul) "0100010000010mmm" SIGN_BYTE 0x80 + "xlate_negb_ind_0") +(NEG negb_predec (derefub $1.aul) "0100010000100mmm" SIGN_BYTE 0x80 + "xlate_negb_predec_0" + (if (= $1.ul 7) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1))) + (list)) +(NEG negb_postinc (derefub $1.aul) "0100010000011mmm" SIGN_BYTE 0x80 + "xlate_negb_postinc_0" + (list) + (if (= $1.ul 7) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul 1)))) +(NEG negb_indoff (derefub (+ $1.asl $2.sl)) "0100010000101mmmwwwwwwwwwwwwwwww" + SIGN_BYTE 0x80 "xlate_negb_indoff_1_0") + +(NEG negw_reg $1.duw "0100010001000mmm" SIGN_WORD 0x8000 "xlate_negw_reg_0") +(NEG negw_ind (derefuw $1.aul) "0100010001010mmm" SIGN_WORD 0x8000 + "xlate_negw_ind_0") +(NEG negw_predec (derefuw $1.aul) "0100010001100mmm" SIGN_WORD 0x8000 + "xlate_negw_predec_0" + (assign $1.aul (- $1.aul 2)) + (list)) +(NEG negw_postinc (derefuw $1.aul) "0100010001011mmm" SIGN_WORD 0x8000 + "xlate_negw_postinc_0" + (list) + (assign $1.aul (+ $1.aul 2))) +(NEG negw_indoff (derefuw (+ $1.asl $2.sl)) "0100010001101mmmwwwwwwwwwwwwwwww" + SIGN_WORD 0x8000 "xlate_negw_indoff_1_0") + +(NEG negl_reg $1.dul "0100010010000mmm" SIGN_LONG 0x80000000 + "xlate_negl_reg_0") +(NEG negl_ind (dereful $1.aul) "0100010010010mmm" SIGN_LONG 0x80000000 + "xlate_negl_ind_0") +(NEG negl_predec (dereful $1.aul) "0100010010100mmm" SIGN_LONG 0x80000000 + "xlate_negl_predec_0" + (assign $1.aul (- $1.aul 4)) + (list)) +(NEG negl_postinc (dereful $1.aul) "0100010010011mmm" SIGN_LONG 0x80000000 + "xlate_negl_postinc_0" + (list) + (assign $1.aul (+ $1.aul 4))) +(NEG negl_indoff (dereful (+ $1.asl $2.sl)) "0100010010101mmmwwwwwwwwwwwwwwww" + SIGN_LONG 0x80000000 "xlate_negl_indoff_1_0") + +(NEG negb $1.mub "0100010000mmmmmm" SIGN_BYTE 0x80 "none") +(NEG negw $1.muw "0100010001mmmmmm" SIGN_WORD 0x8000 "none") +(NEG negl $1.mul "0100010010mmmmmm" SIGN_LONG 0x80000000 "none") + +(define (NEGX name dst temp temp2 bit_pattern overflow) + (defopcode name + (list 68000 amode_alterable_data () (list bit_pattern)) + (list "-----" "---X-" dont_expand + (assign dst (- 0 dst (<> ccx 0)))) + (list "CNVXZ" "---X-" dont_expand + (list + (assign temp dst) + (assign temp2 (assign dst (- 0 temp (<> ccx 0)))) + (assign ccn (<> 0 (& overflow temp2))) + (assign ccv (<> 0 (& temp temp2 overflow))) + (assign ccx (assign ccc (<> (& (| temp temp2) overflow) 0))) + (assign ccnz (| ccnz (<> 0 temp2))))))) + +(NEGX negxb $1.mub tmp.ub tmp2.ub "0100000000mmmmmm" 0x80) +(NEGX negxw $1.muw tmp.uw tmp2.uw "0100000001mmmmmm" 0x8000) +(NEGX negxl $1.mul tmp.ul tmp2.ul "0100000010mmmmmm" 0x80000000) + + +(defopcode nop + (list 68000 amode_implicit () (list "0100111001110001")) + (list "-----" "-----" dont_expand + (list))) + +(define (NOT name dst bit_pattern cc_func) + (defopcode name + (list 68000 amode_alterable_data () (list bit_pattern)) + (list "-----" "-----" dont_expand + (assign dst (^ dst (~ 0)))) + (list "CNV-Z" "-----" dont_expand + (cc_func (assign dst (^ dst (~ 0))))))) + +(NOT notb $1.mub "0100011000mmmmmm" ASSIGN_C_N_V_NZ_BYTE) +(NOT notw $1.muw "0100011001mmmmmm" ASSIGN_C_N_V_NZ_WORD) +(NOT notl $1.mul "0100011010mmmmmm" ASSIGN_C_N_V_NZ_LONG) + +(defopcode pack_reg + (list 68000 amode_implicit () (list "1000xxx101000yyy" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.uw (+ $2.duw $3.uw)) + (assign $1.dub (| (& tmp.uw 0xF) (& (>> tmp.uw 4) 0xF0)))))) + +; special case a7 so we predec it by two +(defopcode pack_mem_to_a7 + (list 68000 amode_implicit () (list "1000111101001yyy" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + + (assign $1.aul (- $1.aul 2)) + "\n#ifdef QUADALIGN\n" + (assign tmp.uw (+ (| (<< (derefub $1.aul) 8) (derefub (+ $1.aul 1))) + $2.uw)) + "\n#else\n" + (assign tmp.uw (+ (derefuw $1.aul) $2.uw)) + "\n#endif\n" + (assign a7.ul (- a7.ul 2)) + (assign (derefub a7.ul) (| (& tmp.uw 0xF) (& (>> tmp.uw 4) 0xF0)))))) + +(defopcode pack_mem + (list 68000 amode_implicit () (list "1000xxx101001yyy" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign $2.aul (- $2.aul 2)) + "\n#ifdef QUADALIGN\n" + (assign tmp.uw (+ (| (<< (derefub $2.aul) 8) (derefub (+ $2.aul 1))) + $3.uw)) + "\n#else\n" + (assign tmp.uw (+ (derefuw $2.aul) $3.uw)) + "\n#endif\n" + (assign $1.aul (- $1.aul 1)) + (assign (derefub $1.aul) (| (& tmp.uw 0xF) (& (>> tmp.uw 4) 0xF0)))))) + + +(defopcode unpk_reg + (list 68000 amode_implicit () (list "1000yyy110000xxx" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (assign $1.duw (+ (| (<< (& $2.dub 0xF0) 4) (& $2.dub 0x0F)) $3.uw)))) + +(defopcode unpk_mem_from_a7 + (list 68000 amode_implicit () (list "1000yyy110001111" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign a7.ul (- a7.ul 2)) + (assign tmp.ub (derefub a7.ul)) + (assign $1.aul (- $1.aul 2)) + (assign tmp2.uw (+ (| (<< (& tmp.ub 0xF0) 4) (& tmp.ub 0x0F)) $2.uw)) + "\n#ifdef QUADALIGN\n" + (assign (derefub $1.aul) (>> tmp2.uw 8)) + (assign (derefub (+ $1.aul 1)) tmp2.ub) + "\n#else\n" + (assign (derefuw $1.aul) tmp2.uw) + "\n#endif\n"))) + +(defopcode unpk_mem + (list 68000 amode_implicit () (list "1000yyy110001xxx" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign $2.aul (- $2.aul 1)) + (assign tmp.ub (derefub $2.aul)) + (assign $1.aul (- $1.aul 2)) + (assign tmp2.uw (+ (| (<< (& tmp.ub 0xF0) 4) (& tmp.ub 0x0F)) $3.uw)) + "\n#ifdef QUADALIGN\n" + (assign (derefub $1.aul) (>> tmp2.uw 8)) + (assign (derefub (+ $1.aul 1)) tmp2.ub) + "\n#else\n" + (assign (derefuw $1.aul) tmp2.uw) + "\n#endif\n"))) + +(defopcode pea_w + (list 68000 "0100100001111000" () + (list "0100100001aaa000" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_imm_predec_1_0") + (list + (assign a7.aul (- a7.aul 4)) + (assign (derefsl $1.aul) $2.sl)))) + +(defopcode pea_l + (list 68000 "0100100001111001" () + (list "0100100001aaa001" "llllllllllllllll" "llllllllllllllll")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_imm_predec_1_0") + (list + (assign a7.ul (- a7.ul 4)) + (assign (derefsl $1.aul) $2.sl)))) + +(defopcode pea_ind + (list 68000 "0100100001010xxx" () + (list "010010000z010aaa")) + (list "-----" "-----" dont_expand + (native_code "xlate_movel_areg_predec_1_0") + (list + (assign (dereful (- a7.ul 4)) $2.aul) + (assign a7.ul (- a7.ul 4)) + $1.sl))) ; hack to give native code an a7 operand + +(defopcode pea_d16 + (list 68000 "0100100001101xxx" () + (list "010010000110zaaawwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (native_code "xlate_pea_indoff") + (list + (assign (dereful (- a7.ul 4)) (+ $2.asl $3.sl)) + (assign a7.ul (- a7.ul 4)) + $1.sl))) ; hack to give native code an a7 operand + +(defopcode pea + (list 68000 amode_control () (list "0100100001mmmmmm")) + (list "-----" "-----" dont_expand + (list + (assign a7.ul (- a7.ul 4)) + (assign (dereful a7.ul) $1.pul)))) + + +(define (ROT_REG name bit_pattern sh1 sh2 cmsk size count shft val tmp nonzero) + (defopcode name + (list 68000 amode_implicit () (list bit_pattern)) + (list "-----" "-----" dont_expand + (if (or nonzero (& count 63)) + (list + (assign tmp val) + (assign val (| (sh1 tmp shft) (sh2 tmp (- size shft))))))) + (list "CN0-Z" "-----" dont_expand + (list + (assign tmp val) + (if (or nonzero (& count 63)) + (list + (assign val (assign tmp (| (sh1 tmp shft) + (sh2 tmp (- size shft))))) + (assign ccc (<> (& tmp cmsk) 0))) + (assign ccc 0)) + (assign ccnz (<> 0 tmp)) + (assign ccn (& (>> tmp (- size 1)) 1)))))) + +(ROT_REG rolb_reg "1110sss100111vvv" << >> 1 8 $1.dul (& $1.dul 7) + $2.dub tmp.ub 0) +(ROT_REG rolb_reg_by_8 "1110000100011vvv" << >> 1 8 8 8 $1.dub tmp.ub 1) +(ROT_REG rolb_reg_by_const "1110sss100011vvv" << >> 1 8 $1.uw $1.uw + $2.dub tmp.ub 1) +(ROT_REG rolw_reg "1110sss101111vvv" << >> 1 16 $1.dul (& $1.dul 15) + $2.duw tmp.uw 0) +(ROT_REG rolw_reg_by_8 "1110000101011vvv" << >> 1 16 8 8 $1.duw tmp.uw 1) +(ROT_REG rolw_reg_by_const "1110sss101011vvv" << >> 1 16 $1.uw $1.uw + $2.duw tmp.uw 1) +(ROT_REG roll_reg "1110sss110111vvv" << >> 1 32 $1.dul (& $1.dul 31) + $2.dul tmp.ul 0) +(ROT_REG roll_reg_by_8 "1110000110011vvv" << >> 1 32 8 8 $1.dul tmp.ul 1) +(ROT_REG roll_reg_by_const "1110sss110011vvv" << >> 1 32 $1.uw $1.uw + $2.dul tmp.ul 1) + +(ROT_REG rorb_reg "1110sss000111vvv" >> << 0x80 8 $1.dul (& $1.dul 7) + $2.dub tmp.ub 0) +(ROT_REG rorb_reg_by_8 "1110000000011vvv" >> << 0x80 8 8 8 $1.dub tmp.ub 1) +(ROT_REG rorb_reg_by_const "1110sss000011vvv" >> << 0x80 8 $1.uw $1.uw + $2.dub tmp.ub 1) +(ROT_REG rorw_reg "1110sss001111vvv" >> << 0x8000 16 $1.dul (& $1.dul 15) + $2.duw tmp.uw 0) +(ROT_REG rorw_reg_by_8 "1110000001011vvv" >> << 0x8000 16 8 8 $1.duw tmp.uw 1) +(ROT_REG rorw_reg_by_const "1110sss001011vvv" >> << 0x8000 16 $1.uw $1.uw + $2.duw tmp.uw 1) +(ROT_REG rorl_reg "1110sss010111vvv" >> << 0x80000000 32 $1.dul (& $1.dul 31) + $2.dul tmp.ul 0) +(ROT_REG rorl_reg_by_8 "1110000010011vvv" >> << 0x80000000 32 8 8 + $1.dul tmp.ul 1) +(ROT_REG rorl_reg_by_const "1110sss010011vvv" >> << 0x80000000 32 $1.uw $1.uw + $2.dul tmp.ul 1) + +(defopcode rolw_ea + (list 68000 amode_alterable_data () (list "1110011111mmmmmm")) + (list "CN0-Z" "-----" dont_expand + (list + (assign tmp.uw $1.muw) + (ASSIGN_NNZ_WORD (assign tmp.uw (| (<< tmp.uw 1) (>> tmp.uw 15)))) + (assign ccc (& tmp.uw 1)) + (assign $1.muw tmp.uw)))) + +(defopcode rorw_ea + (list 68000 amode_alterable_data () (list "1110011011mmmmmm")) + (list "CN0-Z" "-----" dont_expand + (list + (assign tmp.uw $1.muw) + (ASSIGN_NNZ_WORD (assign tmp.uw (| (>> tmp.uw 1) (<< tmp.uw 15)))) + (assign ccc (SIGN_WORD tmp.uw)) + (assign $1.muw tmp.uw)))) + + +(define (ROXRBW_REG name bit_pattern count val size is_const) + (defopcode name + (list 68000 amode_implicit () (list bit_pattern)) + (list "CN0%Z" "---X-" dont_expand + (list + (assign tmp.ul (| val (<< (<> ccx 0) size))) + (assign tmp2.ul count) + (if (not is_const) + (assign tmp2.ul (% tmp2.ul (+ size 1)))) + (if (or is_const (<> tmp2.ul 0)) + (list + (assign ccx (& (>> tmp.ul (- tmp2.ul 1)) 1)) + (assign val (| (>> tmp.ul tmp2.ul) + (<< tmp.ul (- (+ size 1) tmp2.ul)))))) + (assign ccc ccx) + (assign ccnz (<> 0 val)) + (assign ccn (& 1 (>> val (- size 1)))))))) + +(ROXRBW_REG roxrb_reg "1110sss000110vvv" (& $1.dul 63) $2.dub 8 0) +(ROXRBW_REG roxrb_reg_by_8 "1110000000010vvv" 8 $1.dub 8 1) +(ROXRBW_REG roxrb_reg_by_const "1110sss000010vvv" $1.uw $2.dub 8 1) +(ROXRBW_REG roxrw_reg "1110sss001110vvv" (& $1.dul 63) $2.duw 16 0) +(ROXRBW_REG roxrw_reg_by_8 "1110000001010vvv" 8 $1.duw 16 1) +(ROXRBW_REG roxrw_reg_by_const "1110sss001010vvv" $1.uw $2.duw 16 1) + +(define (ROX_L_REG name bit_pattern count val sh1 sh2 shft is_const) + (defopcode name + (list 68000 amode_implicit () (list bit_pattern)) + (list "CN0%Z" "---X-" dont_expand + (list + (assign tmp.ul (<< (<> ccx 0) shft)) + (assign tmp2.ul count) + (if (or is_const (and (<> tmp2.ul 0) (<> tmp2.ul 33))) + (list + (if (and (not is_const) (>= tmp2.ul 33)) + (assign tmp2.ul (- tmp2.ul 33))) + (if (= tmp2.ul 1) + (list + (assign ccx (& (>> val (- 31 shft)) 1)) + (assign val (| (sh1 val 1) tmp.ul))) + (list + (assign ccx (<> 0 (& val (sh2 (cast "uint32" + (<< 1 (- 31 shft))) + (- tmp2.ul 1))))) + (if (= tmp2.ul 32) ; Avoid shifting by 32, not portable + (assign val (| (sh1 tmp.ul 31) (sh2 val 1))) + (assign val (| (sh1 val tmp2.ul) + (sh1 tmp.ul (- tmp2.ul 1)) + (sh2 val (- 33 tmp2.ul))))))))) + (assign ccc ccx) + (ASSIGN_NNZ_LONG val))))) + +(ROX_L_REG roxrl_reg "1110sss010110vvv" (& $1.dul 63) $2.dul >> << 31 0) +(ROX_L_REG roxrl_reg_by_8 "1110000010010vvv" 8 $1.dul >> << 31 1) +(ROX_L_REG roxrl_reg_by_const "1110sss010010vvv" $1.uw $2.dul >> << 31 1) + +(ROX_L_REG roxll_reg "1110sss110110vvv" (& $1.dul 63) $2.dul << >> 0 0) +(ROX_L_REG roxll_reg_by_8 "1110000110010vvv" 8 $1.dul << >> 0 1) +(ROX_L_REG roxll_reg_by_const "1110sss110010vvv" $1.uw $2.dul << >> 0 1) + +(defopcode roxrw_ea + (list 68000 amode_alterable_data () (list "1110010011mmmmmm")) + (list "CN0XZ" "---X-" dont_expand + (list + (assign ccc (& (assign tmp.uw $1.muw) 1)) + (ASSIGN_NNZ_WORD + (assign $1.muw + (assign tmp.uw (| (<< (<> ccx 0) 15) (>> tmp.uw 1))))) + (assign $1.muw tmp.uw) + (assign ccx ccc)))) + +(define (ROXLBW_REG name bit_pattern count val size is_const) + (defopcode name + (list 68000 amode_implicit () (list bit_pattern)) + (list "CN0%Z" "---X-" dont_expand + (list + (assign tmp2.ul count) + (if (not is_const) + (assign tmp2.ul (% tmp2.ul (+ size 1)))) + (if (or is_const (<> tmp2.ul 0)) + (list + (assign tmp.ul (<> ccx 0)) + (assign ccx (<> 0 + (& val (>> (<< 1 (- size 1)) (- tmp2.ul 1))))) + (assign val (| (<< val tmp2.ul) + (>> val (- (+ size 1) tmp2.ul)) + (<< tmp.ul (- tmp2.ul 1)))))) + (assign ccc ccx) + (assign ccnz (<> 0 val)) + (assign ccn (& (>> val (- size 1)) 1)))))) + + +(ROXLBW_REG roxlb_reg "1110sss100110vvv" (& $1.dul 63) $2.dub 8 0) +(ROXLBW_REG roxlb_reg_by_8 "1110000100010vvv" 8 $1.dub 8 1) +(ROXLBW_REG roxlb_reg_by_const "1110sss100010vvv" $1.uw $2.dub 8 1) +(ROXLBW_REG roxlw_reg "1110sss101110vvv" (& $1.dul 63) $2.duw 16 0) +(ROXLBW_REG roxlw_reg_by_8 "1110000101010vvv" 8 $1.duw 16 1) +(ROXLBW_REG roxlw_reg_by_const "1110sss101010vvv" $1.uw $2.duw 16 1) + + + +(defopcode roxlw_ea + (list 68000 amode_alterable_data () (list "1110010111mmmmmm")) + (list "CN0XZ" "---X-" dont_expand + (list + (assign ccc (>> (assign tmp.uw $1.muw) 15)) + (ASSIGN_NNZ_WORD + (assign $1.muw + (assign tmp.uw (| (<> ccx 0) (<< tmp.uw 1))))) + (assign $1.muw tmp.uw) + (assign ccx ccc)))) + + +(defopcode rtd + (list 68010 amode_implicit (ends_block next_block_dynamic) + (list "0100111001110100" "wwwwwwwwwwwwwwww")) + (list "-----" "-----" dont_expand + (list + (assign tmp.ul (dereful a7.ul)) + (assign a7.ul (+ a7.ul 4 $1.sl)) + (assign code (call "code_lookup" tmp.ul))))) + +(defopcode rtr + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100111001110111")) + (list "CNVXZ" "-----" dont_expand + (list + "unsigned ix" + "const jsr_stack_elt_t *j" + (assign tmp.uw (derefuw a7.ul)) + (assign a7.ul (+ a7.ul 2)) + (assign ccc (& tmp.uw 0x1)) + (assign ccv (& tmp.uw 0x2)) + (assign ccn (& tmp.uw 0x8)) + (assign ccx (& tmp.uw 0x10)) + (assign ccnz (& (~ tmp.uw) 0x4)) + (assign tmp2.ul (call "READUL_UNSWAPPED" a7.ul)) + (assign a7.ul (+ a7.ul 4)) + (assign "ix" "cpu_state.jsr_stack_byte_index") + (assign "j" "(jsr_stack_elt_t *)((char *)&cpu_state.jsr_stack + ix)") + (if (= "j->tag" tmp2.ul) + (list + (assign code "j->code") + (assign "cpu_state.jsr_stack_byte_index" + (% (+ "ix" "sizeof (jsr_stack_elt_t)") + "sizeof (cpu_state.jsr_stack)"))) + (assign code (call "code_lookup" + (call "SWAPUL_IFLE" tmp2.ul))))))) + +(defopcode rts + (list 68000 "0100111001110101" (ends_block next_block_dynamic) + (list "0100aaa001110101")) + (list "-----" "-----" dont_expand + (native_code "xlate_rts") + (list + "unsigned ix" + "const jsr_stack_elt_t *j" + (assign tmp.ul (call "READUL_UNSWAPPED" a7.ul)) + (assign a7.ul (+ a7.ul 4)) + (assign "ix" "cpu_state.jsr_stack_byte_index") + (assign "j" "(jsr_stack_elt_t *)((char *)&cpu_state.jsr_stack + ix)") + (if (= "j->tag" tmp.ul) + (list + (assign code "j->code") + (assign "cpu_state.jsr_stack_byte_index" + (% (+ "ix" "sizeof (jsr_stack_elt_t)") + "sizeof cpu_state.jsr_stack"))) + (assign code (call "code_lookup" + (call "SWAPUL_IFLE" tmp.ul)))) + $1.ul))) ; hack to give native code an a7 + + +(defopcode rte + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100111001110011")) + (list "CNVXZ" "-----" dont_expand + (list + "{ int done = 0" + "while (!done) {" ; Loop in case we hit exception frame 1 + (switch (>> (derefuw (+ a7.ul 6)) 12) + + ; Normal 4 word frame + (0 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 8)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + ; Throwaway 4 word frame + (1 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign a7.ul (+ a7.ul 8)) + (LOAD_NEW_SR tmp2.uw) + "continue")) + + ; Normal 6 word frame + (2 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 12)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + (7 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 60)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + (8 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 58)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + (9 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 20)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + (10 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 32)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + (11 (list + (assign tmp2.uw (derefuw a7.ul)) + (assign tmp.ul (dereful (+ a7.ul 2))) + (assign a7.ul (+ a7.ul 92)) + (LOAD_NEW_SR tmp2.uw) + (assign code (call "code_lookup" tmp.ul)) + (assign "done" 1) + "break")) + + ; Unknown type - generate a format exception + (default + (list + (TRAP 14 (deref "uint32 *" code 0) 0) + (assign "done" 1) + "break"))) + "} }"))) + + +(define (SBCD name amode bit_pattern src dst preamble postamble) + (defopcode name + (list 68000 amode () (list bit_pattern)) + (list "C??X<" "---X-" dont_expand + (list + preamble + "{ int32 src, dst" + (assign ccx (<> ccx 0)) + (assign "src" src) + (assign "dst" dst) + + ; This only covers some of the cases + (assign ccc (> (+ ccx (- (& "src" 0xF) (& "dst" 0xF)) + (* 10 (- (>> "src" 4) + (>> "dst" 4)))) + 0)) + + ; Compute rough guess at the value + (assign tmp.sb (- "dst" "src" ccx)) + + ; Correct it + (if (> (& "src" 0xF) (- (& "dst" 0xF) ccx)) + (list + (assign tmp.sb (- tmp.sb 6)) + (if (>= (& "src" 0xF0) (- (& "dst" 0xF0) ccx)) + (assign tmp.sb (- tmp.sb 0x60)))) + (list + (if (> (& "src" 0xF0) (& "dst" 0xF0)) + (list + (assign tmp.sb (- tmp.sb 0x60)) + (assign ccx (assign ccc 1)))))) + + (assign ccnz (| ccnz tmp.sb)) + (assign ccx ccc) + (assign ccv 0) ; For 68020; left alone on 68040 + (assign ccn (& tmp.sb 0x80)) ; For 68020; left alone on 68040 + (assign dst tmp.sb) + postamble + "}")))) + +(SBCD sbcd_dreg amode_implicit "1000xxx100000yyy" $2.dub $1.dub (list) (list)) + +; Handle the sbcd an@-,an@- case (annoying) +(define (SAME_SBCD name reg bits size) + (SBCD name amode_same_reg bits + (derefub reg) + (derefub (- reg size)) + (assign reg (- reg size)) + (assign reg (- reg size)))) + +(SAME_SBCD sbcd_a7@-,a7@- a7.ul "1000111100001111" 2) +(SAME_SBCD sbcd_an@-,an@- $1.aul "1000aaa100001aaa" 1) + +(SBCD sbcd_an@-,a7@- amode_implicit "1000111100001yyy" + (derefub $1.aul) + (derefub a7.ul) + (list + (assign $1.aul (- $1.aul 1)) + (assign a7.ul (- a7.ul 2))) + (list)) + +(SBCD sbcd_a7@-,an@- amode_implicit "1000aaa100001111" + (derefub a7.ul) + (derefub $1.aul) + (list + (assign $1.aul (- $1.aul 1)) + (assign a7.ul (- a7.ul 2))) + (list)) + +(SBCD sbcd_mem amode_implicit "1000xxx100001yyy" + (derefub $2.aul) + (derefub $1.aul) + (list + (assign $1.aul (- $1.aul 1)) + (assign $2.aul (- $2.aul 1))) + (list)) + + +(define (SCC_REG name strname cc_req bit_pattern condn) + (defopcode name + (list 68000 amode_implicit () (list bit_pattern)) + (list "-----" cc_req dont_expand + (native_code "xlate_" strname "_reg_0") + (assign $1.dub (- 0 condn))))) + +(define (SCC name cc_req bit_pattern condn) + (defopcode name + (list 68000 amode_alterable_data () (list bit_pattern)) + (list "-----" cc_req dont_expand + (assign $1.mub (- 0 condn))))) + +(SCC_REG st "st" "-----" "0101000011000mmm" 1) +(SCC_REG sf "sf" "-----" "0101000111000mmm" 0) +(SCC_REG shi "shi" "C---Z" "0101001011000mmm" CC_HI) +(SCC_REG sls "sls" "C---Z" "0101001111000mmm" CC_LS) +(SCC_REG scc "scc" "C----" "0101010011000mmm" CC_CC) +(SCC_REG scs "scs" "C----" "0101010111000mmm" CC_CS) +(SCC_REG sne "sne" "----Z" "0101011011000mmm" CC_NE) +(SCC_REG seq "seq" "----Z" "0101011111000mmm" CC_EQ) +(SCC_REG svc "svc" "--V--" "0101100011000mmm" CC_VC) +(SCC_REG svs "svs" "--V--" "0101100111000mmm" CC_VS) +(SCC_REG spl "spl" "-N---" "0101101011000mmm" CC_PL) +(SCC_REG smi "smi" "-N---" "0101101111000mmm" CC_MI) +(SCC_REG sge "sge" "-NV--" "0101110011000mmm" CC_GE) +(SCC_REG slt "slt" "-NV--" "0101110111000mmm" CC_LT) +(SCC_REG sgt "sgt" "-NV-Z" "0101111011000mmm" CC_GT) +(SCC_REG sle "sle" "-NV-Z" "0101111111000mmm" CC_LE) + +(SCC st "-----" "0101000011mmmmmm" 1) +(SCC sf "-----" "0101000111mmmmmm" 0) +(SCC shi "C---Z" "0101001011mmmmmm" CC_HI) +(SCC sls "C---Z" "0101001111mmmmmm" CC_LS) +(SCC scc "C----" "0101010011mmmmmm" CC_CC) +(SCC scs "C----" "0101010111mmmmmm" CC_CS) +(SCC sne "----Z" "0101011011mmmmmm" CC_NE) +(SCC seq "----Z" "0101011111mmmmmm" CC_EQ) +(SCC svc "--V--" "0101100011mmmmmm" CC_VC) +(SCC svs "--V--" "0101100111mmmmmm" CC_VS) +(SCC spl "-N---" "0101101011mmmmmm" CC_PL) +(SCC smi "-N---" "0101101111mmmmmm" CC_MI) +(SCC sge "-NV--" "0101110011mmmmmm" CC_GE) +(SCC slt "-NV--" "0101110111mmmmmm" CC_LT) +(SCC sgt "-NV-Z" "0101111011mmmmmm" CC_GT) +(SCC sle "-NV-Z" "0101111111mmmmmm" CC_LE) + +(defopcode swap + (list 68000 amode_implicit () (list "0100100001000ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_swap") + (list + (assign tmp.ul (<< $1.dul 16)) + (assign $1.dul (| (>> $1.dul 16) tmp.ul)))) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_swap") + (list + (assign tmp.ul (| (<< $1.dul 16) (>> $1.dul 16))) + (assign $1.dul tmp.ul) + (ASSIGN_C_N_V_NZ_LONG tmp.ul)))) + +(defopcode tas + (list 68000 amode_alterable_data () (list "0100101011mmmmmm")) + (list "CNV-Z" "-----" dont_expand + (list + (ASSIGN_C_N_V_NZ_BYTE $1.mub) + (assign $1.mub (| $1.mub 0x80))))) + +(defopcode trap + (list 68000 amode_implicit + (ends_block next_block_dynamic skip_two_operand_words) + (list "010011100100vvvv")) + (list "-----" "-----" dont_expand + (TRAP (+ $1.uw 32) (deref "uint32 *" code 0) 0))) + +(defopcode trapv + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "0100111001110110")) + (list "-----" "---V-" dont_expand + (list + (assign tmp.ul (deref "uint32 *" code 0)) + (if ccv + (TRAP 7 tmp.ul (- tmp.ul 2)) + (assign code + (call "code_lookup" tmp.ul)))))) + +(define (TRAPCC name cc bit_pattern expr size) + (defopcode name + (list 68020 amode_implicit (ends_block next_block_dynamic) bit_pattern) + (list "-----" cc dont_expand + (list + (assign tmp.ul (deref "uint32 *" code 0)) + (if expr + (TRAP 7 tmp.ul (- tmp.ul size)) + (assign code (call "code_lookup" tmp.ul))))))) + +; No optional arguments +(TRAPCC trapt "-----" (list "0101000011111100") 1 2) +(TRAPCC trapf "-----" (list "0101000111111100") 0 2) +(TRAPCC traphi "C---Z" (list "0101001011111100") CC_HI 2) +(TRAPCC trapls "C---Z" (list "0101001111111100") CC_LS 2) +(TRAPCC trapcc "C----" (list "0101010011111100") CC_CC 2) +(TRAPCC trapcs "C----" (list "0101010111111100") CC_CS 2) +(TRAPCC trapne "----Z" (list "0101011011111100") CC_NE 2) +(TRAPCC trapeq "----Z" (list "0101011111111100") CC_EQ 2) +(TRAPCC trapvc "--V--" (list "0101100011111100") CC_VC 2) +(TRAPCC trapvs "--V--" (list "0101100111111100") CC_VS 2) +(TRAPCC trappl "-N---" (list "0101101011111100") CC_PL 2) +(TRAPCC trapmi "-N---" (list "0101101111111100") CC_MI 2) +(TRAPCC trapge "-NV--" (list "0101110011111100") CC_GE 2) +(TRAPCC traplt "-NV--" (list "0101110111111100") CC_LT 2) +(TRAPCC trapgt "-NV-Z" (list "0101111011111100") CC_GT 2) +(TRAPCC traple "-NV-Z" (list "0101111111111100") CC_LE 2) + +; With optional word +(TRAPCC trapwt "-----" (list "0101000011111010" "wwwwwwwwwwwwwwww") 1 4) +(TRAPCC trapwf "-----" (list "0101000111111010" "wwwwwwwwwwwwwwww") 0 4) +(TRAPCC trapwhi "C---Z" (list "0101001011111010" "wwwwwwwwwwwwwwww") CC_HI 4) +(TRAPCC trapwls "C---Z" (list "0101001111111010" "wwwwwwwwwwwwwwww") CC_LS 4) +(TRAPCC trapwcc "C----" (list "0101010011111010" "wwwwwwwwwwwwwwww") CC_CC 4) +(TRAPCC trapwcs "C----" (list "0101010111111010" "wwwwwwwwwwwwwwww") CC_CS 4) +(TRAPCC trapwne "----Z" (list "0101011011111010" "wwwwwwwwwwwwwwww") CC_NE 4) +(TRAPCC trapweq "----Z" (list "0101011111111010" "wwwwwwwwwwwwwwww") CC_EQ 4) +(TRAPCC trapwvc "--V--" (list "0101100011111010" "wwwwwwwwwwwwwwww") CC_VC 4) +(TRAPCC trapwvs "--V--" (list "0101100111111010" "wwwwwwwwwwwwwwww") CC_VS 4) +(TRAPCC trapwpl "-N---" (list "0101101011111010" "wwwwwwwwwwwwwwww") CC_PL 4) +(TRAPCC trapwmi "-N---" (list "0101101111111010" "wwwwwwwwwwwwwwww") CC_MI 4) +(TRAPCC trapwge "-NV--" (list "0101110011111010" "wwwwwwwwwwwwwwww") CC_GE 4) +(TRAPCC trapwlt "-NV--" (list "0101110111111010" "wwwwwwwwwwwwwwww") CC_LT 4) +(TRAPCC trapwgt "-NV-Z" (list "0101111011111010" "wwwwwwwwwwwwwwww") CC_GT 4) +(TRAPCC trapwle "-NV-Z" (list "0101111111111010" "wwwwwwwwwwwwwwww") CC_LE 4) + +; With optional long +(TRAPCC traplt "-----" (list "0101000011111011" "llllllllllllllll" + "llllllllllllllll") 1 6) +(TRAPCC traplf "-----" (list "0101000111111011" "llllllllllllllll" + "llllllllllllllll") 0 6) +(TRAPCC traplhi "C---Z" (list "0101001011111011" "llllllllllllllll" + "llllllllllllllll") CC_HI 6) +(TRAPCC traplls "C---Z" (list "0101001111111011" "llllllllllllllll" + "llllllllllllllll") CC_LS 6) +(TRAPCC traplcc "C----" (list "0101010011111011" "llllllllllllllll" + "llllllllllllllll") CC_CC 6) +(TRAPCC traplcs "C----" (list "0101010111111011" "llllllllllllllll" + "llllllllllllllll") CC_CS 6) +(TRAPCC traplne "----Z" (list "0101011011111011" "llllllllllllllll" + "llllllllllllllll") CC_NE 6) +(TRAPCC trapleq "----Z" (list "0101011111111011" "llllllllllllllll" + "llllllllllllllll") CC_EQ 6) +(TRAPCC traplvc "--V--" (list "0101100011111011" "llllllllllllllll" + "llllllllllllllll") CC_VC 6) +(TRAPCC traplvs "--V--" (list "0101100111111011" "llllllllllllllll" + "llllllllllllllll") CC_VS 6) +(TRAPCC traplpl "-N---" (list "0101101011111011" "llllllllllllllll" + "llllllllllllllll") CC_PL 6) +(TRAPCC traplmi "-N---" (list "0101101111111011" "llllllllllllllll" + "llllllllllllllll") CC_MI 6) +(TRAPCC traplge "-NV--" (list "0101110011111011" "llllllllllllllll" + "llllllllllllllll") CC_GE 6) +(TRAPCC trapllt "-NV--" (list "0101110111111011" "llllllllllllllll" + "llllllllllllllll") CC_LT 6) +(TRAPCC traplgt "-NV-Z" (list "0101111011111011" "llllllllllllllll" + "llllllllllllllll") CC_GT 6) +(TRAPCC traplle "-NV-Z" (list "0101111111111011" "llllllllllllllll" + "llllllllllllllll") CC_LE 6) + +(define (TST name bit_pattern mode dst cc_func native pre post) + (defopcode name + (list 68000 mode () (list bit_pattern)) + (list "CNV-Z" "-----" dont_expand + (native_code native) + (list + pre + (cc_func dst) + post)))) +(define (TST name bit_pattern mode dst cc_func native) + (TST name bit_pattern mode dst cc_func native (list) (list))) + + +(TST tstb_reg "0100101000000mmm" amode_implicit + $1.dub ASSIGN_C_N_V_NZ_BYTE "xlate_tstb_reg_0") +(TST tstb_ind "0100101000010mmm" amode_implicit + (derefub $1.aul) ASSIGN_C_N_V_NZ_BYTE "xlate_tstb_ind_0") +(TST tstb_predec "0100101000100mmm" amode_implicit + (derefub $1.aul) ASSIGN_C_N_V_NZ_BYTE "xlate_tstb_predec_0" + (if (= $1.ul 7) + (assign a7.ul (- a7.ul 2)) + (assign $1.aul (- $1.aul 1))) + (list)) +(TST tstb_postinc "0100101000011mmm" amode_implicit + (derefub $1.aul) ASSIGN_C_N_V_NZ_BYTE "xlate_tstb_postinc_0" + (list) + (if (= $1.ul 7) + (assign a7.ul (+ a7.ul 2)) + (assign $1.aul (+ $1.aul 1)))) +(TST tstb_indoff "0100101000101mmmwwwwwwwwwwwwwwww" amode_implicit + (derefub (+ $1.asl $2.sl)) ASSIGN_C_N_V_NZ_BYTE "xlate_tstb_indoff_1_0") + +(TST tstw_reg "0100101001000mmm" amode_implicit + $1.duw ASSIGN_C_N_V_NZ_WORD "xlate_tstw_reg_0") +(TST tstw_areg "0100101001001mmm" amode_implicit + $1.auw ASSIGN_C_N_V_NZ_WORD "xlate_tstw_areg_0") +(TST tstw_ind "0100101001010mmm" amode_implicit + (derefuw $1.aul) ASSIGN_C_N_V_NZ_WORD "xlate_tstw_ind_0") +(TST tstw_predec "0100101001100mmm" amode_implicit + (derefuw $1.aul) ASSIGN_C_N_V_NZ_WORD "xlate_tstw_predec_0" + (assign $1.aul (- $1.aul 2)) + (list)) +(TST tstw_postinc "0100101001011mmm" amode_implicit + (derefuw $1.aul) ASSIGN_C_N_V_NZ_WORD "xlate_tstw_postinc_0" + (list) + (assign $1.aul (+ $1.aul 2))) +(TST tstw_indoff "0100101001101mmmwwwwwwwwwwwwwwww" amode_implicit + (derefuw (+ $1.asl $2.sl)) ASSIGN_C_N_V_NZ_WORD "xlate_tstw_indoff_1_0") + +(TST tstl_reg "0100101010000mmm" amode_implicit + $1.dul ASSIGN_C_N_V_NZ_LONG "xlate_tstl_reg_0") +(TST tstl_areg "0100101010001mmm" amode_implicit + $1.aul ASSIGN_C_N_V_NZ_LONG "xlate_tstl_areg_0") +(TST tstl_ind "0100101010010mmm" amode_implicit + (dereful $1.aul) ASSIGN_C_N_V_NZ_LONG "xlate_tstl_ind_0") +(TST tstl_predec "0100101010100mmm" amode_implicit + (dereful $1.aul) ASSIGN_C_N_V_NZ_LONG "xlate_tstl_predec_0" + (assign $1.aul (- $1.aul 4)) + (list)) +(TST tstl_postinc "0100101010011mmm" amode_implicit + (dereful $1.aul) ASSIGN_C_N_V_NZ_LONG "xlate_tstl_postinc_0" + (list) + (assign $1.aul (+ $1.aul 4))) +(TST tstl_indoff "0100101010101mmmwwwwwwwwwwwwwwww" amode_implicit + (dereful (+ $1.asl $2.sl)) ASSIGN_C_N_V_NZ_LONG "xlate_tstl_indoff_1_0") + +(defopcode tstb_indix + (list 68000 "xxxxxxxxxx110xxx" () + (list "0100101000mmmmmm")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_cmpb_zero_indix_0") + (ASSIGN_C_N_V_NZ_BYTE $1.mub))) +(defopcode tstw_indix + (list 68000 "xxxxxxxxxx110xxx" () + (list "0100101001mmmmmm")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_cmpw_zero_indix_0") + (ASSIGN_C_N_V_NZ_WORD $1.muw))) +(defopcode tstl_indix + (list 68000 "xxxxxxxxxx110xxx" () + (list "0100101010mmmmmm")) + (list "CNV-Z" "-----" dont_expand + (native_code "xlate_cmpl_zero_indix_0") + (ASSIGN_C_N_V_NZ_LONG $1.mul))) + +(TST tstb "0100101000mmmmmm" (intersect amode_data (not amode_immediate)) + $1.mub ASSIGN_C_N_V_NZ_BYTE "none") +(TST tstw "0100101001mmmmmm" (intersect amode_all_combinations + (not amode_immediate)) + $1.muw ASSIGN_C_N_V_NZ_WORD "none") +(TST tstl "0100101010mmmmmm" (intersect amode_all_combinations + (not amode_immediate)) + $1.mul ASSIGN_C_N_V_NZ_LONG "none") + +(defopcode unlk + (list 68000 "0100111001011xxx" () (list "0100aaa001011ddd")) + (list "-----" "-----" dont_expand + (native_code "xlate_unlk") + (list + (assign a7.ul $2.aul) + (assign $2.aul (dereful a7.ul)) + (assign a7.ul (+ a7.ul 4)) + $1.ul))) ; hack to get a7 operand for native code + +(defopcode cpush + (list 68040 (union "11110100xx101xxx" "11110100xx110xxx" "11110100xx111xxx") + () (list "11110100--1-----")) + (list "-----" "-----" dont_expand + (list + "{ syn68k_addr_t next_addr" + (assign "next_addr" (call "CLEAN" + (call "READUL_UNSWAPPED_US" code))) + (call "destroy_blocks" 0 -1) + (assign code (call "code_lookup " (+ "next_addr" 2))) + "}"))) + +(defopcode f_line_trap + (list 68000 amode_implicit (ends_block next_block_dynamic) + (list "1111xxxxxxxxxxxx")) + (list "%%%%%" "CNVXZ" dont_expand + (TRAP 11 (deref "uint32 *" code 0) 0))) + diff --git a/runtime/Makefile.am b/runtime/Makefile.am new file mode 100644 index 0000000..9e4aa26 --- /dev/null +++ b/runtime/Makefile.am @@ -0,0 +1,78 @@ +host_native=@HOST_NATIVE@ + +SYN68K_CFLAGS=@SYN68K_CFLAGS@ +CLEANUP=@CLEANUP@ +OPTIMIZE=@OPTIMIZE@ + +CFLAGS += -DRUNTIME + +LOCAL_INCLUDES = + +LOCAL_INCLUDES += -I$(srcdir)/include \ + -I$(srcdir)/../include -I$(srcdir) -I../include + +LOCAL_CFLAGS = -DRUNTIME -Iinclude + +all: libsyn68k.a + +%.o:%.c + $(CC) $(CFLAGS) -c $(LOCAL_INCLUDES) $< -o $@ + +OBJS = block.o diagnostics.o hash.o rangetree.o translate.o alloc.o \ + blockinfo.o trap.o destroyblock.o callback.o init.o interrupt.o \ + profile.o dosinterrupts.o deathqueue.o checksum.o native.o \ + backpatch.o recompile.o \ + mapindex.o mapinfo.o syn68k.o + +mapinfo.o: $(host_native)/host-xlate.h + +$(host_native)/host-xlate.h: + $(MAKE) -C $(host_native) host-xlate.h + +.PHONY: $(host_native)/subdir-stmp + +$(host_native)/subdir-stmp: + $(MAKE) -C $(host_native) subdir-stmp + +libsyn68k.a: $(OBJS) $(host_native)/subdir-stmp + $(RM) libsyn68k.a + $(AR) cq $@ $(OBJS) \ + $(addprefix $(host_native)/, \ + $(shell cat $(host_native)/subdir-stmp)) + $(RANLIB) $@ + +# Syn68k uses inline assembly that confuses various gcc stack optimizations. +# Under gcc 2.x -fno-defer-pop is sufficient to get gcc to do the right thing +# with our code. Under gcc 3.x we need to also add -maccumulate-outgoing-args. +# Since we don't know what gcc we have until we try to execute CC, we +# do a test right here to figure out if the c-compiler understands +# -maccumulate-outgoing-args. If it does, we use it. +# +# A better solution would be to put something into our asm to form a +# barrier that gcc won't try to do stack optimizations across. I haven't yet +# scoured the gcc 3 documentation or source code to see if there's something +# obvious that can be used. + +syn68k.o: syn68k.c + outgoing=;\ + $(CC) -maccumulate-outgoing-args -c -x c /dev/null 2> /dev/null \ + && outgoing=-maccumulate-outgoing-args; \ + $(CC) -S $(SYN68K_CFLAGS) -Wall -static -fno-defer-pop -Wno-unused\ + $(LOCAL_INCLUDES) $$outgoing syn68k.c -o ./syn68k.s + if [ x"$(CLEANUP)" != x ] ; then \ + $(PERL) $(srcdir)/$(CLEANUP) < syn68k.s > syn68k.s.new && \ + mv syn68k.s.new syn68k.s ; fi + if [ x"$(OPTIMIZE)" != x ] ; then \ + $(PERL) $(srcdir)/$(OPTIMIZE) < syn68k.s > syn68k.s.new && \ + mv syn68k.s.new syn68k.s ; fi + $(CC) -xassembler-with-cpp -c ./syn68k.s -o syn68k.o + $(RM) ./syn68k.s + +syn68k.c mapindex.c mapinfo.c profileinfo.gz: ../syngen/syngen syn68k_header.c 68k.scm 68k.defines.scm\ + ../include/syn68k_private.h \ + ../runtime/include/hash.h \ + ../runtime/include/interrupt.h \ + ../runtime/include/trap.h + cp -p $(srcdir)/68k.scm $(srcdir)/syn68k_header.c $(srcdir)/68k.defines.scm . + ../syngen/syngen -v 68k.scm + gzip -1f profileinfo diff --git a/runtime/TODO b/runtime/TODO new file mode 100644 index 0000000..98dacc0 --- /dev/null +++ b/runtime/TODO @@ -0,0 +1,6 @@ +2) Make generate_amode_fetch() in translate.c have the parameter m68k_operand + be a syn68k_addr_t instead of a uint16 *, and then ditch all of the + US_TO_SYN68K's that become superfluous. + + +PERFORMANCE TWEAKS: diff --git a/runtime/alloc.c b/runtime/alloc.c new file mode 100644 index 0000000..5f7c2f5 --- /dev/null +++ b/runtime/alloc.c @@ -0,0 +1,60 @@ +#include "alloc.h" +#include "destroyblock.h" +#include +#include + +void * +xmalloc (size_t size) +{ + void *p; + + while ((p = malloc (size)) == NULL) + { + if (!destroy_any_block ()) + { + fprintf (stderr, "Out of memory. Tried to alloc 0x%lX bytes.\n", + (unsigned long) size); + exit (-1); + } + } + + return p; +} + + +void * +xrealloc (void *old, size_t new_size) +{ + void *p; + + while ((p = realloc (old, new_size)) == NULL && new_size) + { + if (!destroy_any_block ()) + { + fprintf (stderr, "Out of memory. Tried to realloc 0x%lX bytes.\n", + (unsigned long) new_size); + exit (-1); + } + } + + return p; +} + + +void * +xcalloc (size_t num_elems, size_t byte_size) +{ + void *p; + + while ((p = calloc (num_elems, byte_size)) == NULL) + { + if (!destroy_any_block ()) + { + fprintf (stderr, "Out of memory. Tried to calloc 0x%lX bytes.\n", + (unsigned long) (num_elems * byte_size)); + exit (-1); + } + } + + return p; +} diff --git a/runtime/backpatch.c b/runtime/backpatch.c new file mode 100644 index 0000000..8a5e01b --- /dev/null +++ b/runtime/backpatch.c @@ -0,0 +1,119 @@ +#include "syn68k_private.h" +#include "backpatch.h" +#include "alloc.h" +#include +#include +#include + + +void +backpatch_apply_and_free (Block *b, backpatch_t *p) +{ + ptr_sized_uint value; + uint32 first_byte; + int length; + BOOL found_p; + backpatch_t **bp; + char *base; + + /* Find the backpatch in the block's list and remove it. */ + for (bp = &b->backpatch, found_p = FALSE; *bp != NULL; bp = &(*bp)->next) + if (*bp == p) + { + *bp = p->next; + found_p = TRUE; + break; + } + +#ifdef DEBUG + /* Make sure we actually found it in the list. */ + if (!found_p) + abort (); +#endif + + if (p->target == NULL) + base = (char *)0; + else + base = (char *)p->target->compiled_code; + + /* First, compute the value to write out to memory. */ + first_byte = p->offset_location / 8; + length = p->num_bits; + if (p->relative_p) + { + value = ((base + p->const_offset) + - ((char *)b->compiled_code + first_byte)); + } + else + { + value = ((ptr_sized_uint)(base + p->const_offset)); + } +#ifndef QUADALIGN + if ((p->offset_location & 7) == 0) + { + if (length == 32) + *(uint32 *)((char *)b->compiled_code + first_byte) = value; + else if (length == 16) + *(uint16 *)((char *)b->compiled_code + first_byte) = value; + else if (length == 8) + *(uint8 *)((char *)b->compiled_code + first_byte) = value; +#if defined (__alpha) + else if (length == 64) + *(uint64 *)((char *)b->compiled_code + first_byte) = value; +#endif + else + abort (); + } + else + { + abort (); + } +#else /* QUADALIGN */ + /* The whole guy had better fit in one long! */ + if ((p->offset_location & ~31) + == ((p->offset_location + length - 1) & ~31)) + { + uint32 *ptr = (uint32 *)((char *)b->compiled_code + first_byte); + if (length == 32) + *ptr = value; + else + { + int offset = p->offset_location & 31; +#error "Write this case" +#ifdef LITTLEENDIAN + *ptr = (*ptr & ) | ; +#else /* !LITTLEENDIAN */ + *ptr = (*ptr & ) | ; +#endif /* !LITTLEENDIAN */ + } + } + else + abort (); +#endif /* QUADALIGN */ + + free (p); +} + + +void +backpatch_add (Block *b, int offset_location, int num_bits, BOOL relative_p, + int const_offset, Block *target) +{ + backpatch_t *p; + +#ifdef DEBUG + if (num_bits == 0) + abort (); +#endif + + p = (backpatch_t *) xmalloc (sizeof *p); + p->next = b->backpatch; + p->offset_location = offset_location; + p->num_bits = num_bits; + p->relative_p = relative_p; + p->const_offset = const_offset; + p->target = target; + + /* Prepend this guy to the block's list. */ + b->backpatch = p; +} diff --git a/runtime/block.c b/runtime/block.c new file mode 100644 index 0000000..480e0a6 --- /dev/null +++ b/runtime/block.c @@ -0,0 +1,312 @@ +#include +#include +#include +#include +#include "block.h" +#include "alloc.h" +#include "diagnostics.h" +#include "deathqueue.h" +#include "checksum.h" + + +static Block *free_blocks = NULL; + + +/* Returns a new, empty Block. All fields of the block are initialized to + * zero. If DEBUG is #define'd, the magic field will be set to + * BLOCK_MAGIC_VALUE. + */ +Block * +block_new () +{ + Block *b; + + if (free_blocks != NULL) + { + b = free_blocks; + free_blocks = b->child[0]; + } + else + { +#define BLOCK_CHUNK_SIZE (16384 / sizeof (Block)) + static Block *block_chunk; + static int block_chunk_index = BLOCK_CHUNK_SIZE; + + if (block_chunk_index >= BLOCK_CHUNK_SIZE) + { + block_chunk = xmalloc (BLOCK_CHUNK_SIZE * sizeof (Block)); + block_chunk_index = 0; + } + + b = &block_chunk[block_chunk_index++]; + } + + memset (b, 0, sizeof *b); + +#ifdef DEBUG + b->magic = BLOCK_MAGIC_VALUE; +#endif + + return b; +} + + +/* Free the block and all storage associated with it. */ +void +block_free (Block *b) +{ + free (b->parent); + if (b->compiled_code != NULL) /* Avoid freeing -2 or anything. */ + free ((void *) (b->compiled_code - b->malloc_code_offset)); + + /* Prepend this block to the linked list of free ones. */ + b->child[0] = free_blocks; + free_blocks = b; +} + + +/* Adds PARENT to B's parent list. If PARENT is already a member of B's + * parent list, no action is taken. + */ +void +block_add_parent (Block *b, Block *parent) +{ + int i; + BOOL immortal; + + for (i = b->num_parents - 1; i >= 0; i--) + if (b->parent[i] == parent) + return; + + ++b->num_parents; + + /* Protect this block from getting nuked if the realloc runs out of memory.*/ + immortal = b->immortal; + b->immortal = TRUE; + + b->parent = (Block **)xrealloc (b->parent,b->num_parents * sizeof (Block *)); + b->parent[b->num_parents - 1] = parent; + + /* Restore immortality state. */ + b->immortal = immortal; +} + + +/* Removes PARENT from B's parent list. If PARENT is not already a member + * of B's parent list, no action is taken. If RECLAIM_MEMORY is true, then + * the parents list will be realloc'd to take as little memory as possible. + */ +void +block_remove_parent (Block *b, Block *parent, BOOL reclaim_memory) +{ + int i; + + for (i = b->num_parents - 1; i >= 0; i--) + if (b->parent[i] == parent) + { + --b->num_parents; + b->parent[i] = b->parent[b->num_parents]; + if (reclaim_memory) + { + /* Protect this block from getting nuked by xrealloc. */ + BOOL immortal = b->immortal; + b->immortal = TRUE; + b->parent = (Block **) xrealloc (b->parent, (b->num_parents + * sizeof (Block *))); + b->immortal = immortal; + } + break; + } +} + +/* Adds CHILD to B's child list. If CHILD is already a member of B's + * child list, no action will be taken. Note that it is illegal to ever + * have more than two children at a time. + */ +void +block_add_child (Block *b, Block *child) +{ +#ifdef DEBUG + /* Make sure they aren't trying to add a third child. */ + assert (b->num_children <= 1); +#endif + + b->child[b->num_children] = child; + ++b->num_children; +} + + +/* Removes CHILD from B's child list. If CHILD is not a member of B's + * child list, no action will be taken. + */ +void +block_remove_child (Block *b, Block *child) +{ + if (b->num_children != 0 && b->child[0] == child) + b->child[0] = b->child[1]; + else if (b->num_children != 2 || b->child[1] != child) + return; + --b->num_children; + b->child[b->num_children] = NULL; /* Not strictly necessary. */ +} + + +/* Applies a function F to each of B's parents. This function will receive + * a pointer to the parent block and AUX, which you can specify. + */ +void +block_do_for_each_parent (Block *b, void (*f)(Block *, void *), void *aux) +{ + int i; + + for (i = 0; i < b->num_parents; i++) + f (b->parent[i], aux); +} + + +#ifdef DEBUG +/* Debugging function, prints out all blocks whose checksums have changed + * and their addresses. + */ +unsigned long +block_changed_checksum () +{ + Block *b; + unsigned long num_diff; + + num_diff = 0; + for (b = death_queue_head; b != NULL; b = b->death_queue_next) + if (compute_block_checksum (b) != b->checksum) + { + ++num_diff; + printf ("m68k code checksum differs for block [0x%lX, 0x%lX]\n", + (unsigned long) b->m68k_start_address, + (unsigned long) (b->m68k_start_address + + b->m68k_code_length - 1)); + } + + return num_diff; +} + + +/* Checks a block for internal consistency. If it appears to be OK, + * returns YES. Else it prints out appropriate error messages to stderr + * and returns NO. + */ +BOOL +block_verify (Block *b) +{ + BOOL ok = YES; + +#ifdef DEBUG + if (b->magic != BLOCK_MAGIC_VALUE) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX magic value " + "incorrect: 0x%lX, should be 0x%lX.\n", + b->m68k_start_address, b->magic, BLOCK_MAGIC_VALUE); + ok = NO; + } +#endif + +#ifdef BLOCK_CHECKSUM + if (b->checksum != compute_block_checksum (b)) + { + fprintf (stderr, "m68k checksum for block 0x%lX failed; " + "self-modifying code?\n", + b->m68k_start_address); + } +#endif + + /* Check to see if child pointers are OK. */ + switch (b->num_children) { + case 0: + break; + case 1: + if (b->child[0] == NULL) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX has 1 child, " + "child ptr 0 is NULL!\n", b->m68k_start_address); + ok = NO; + } + break; + case 2: + if (b->child[0] == NULL || b->child[1] == NULL) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX has two " + "children (%p, %p) yet both are not non-NULL!\n", + b->m68k_start_address, (void *) b->child[0], + (void *) b->child[1]); + ok = NO; + } + break; + default: + fprintf (stderr, "Internal inconsistency: Block 0x%lX has an illegal " + "# of children (%d)!\n", b->m68k_start_address, b->num_children); + ok = NO; + break; + } + + { + int i, j; + for (i = 0; i < b->num_parents; i++) + { + Block *parent = b->parent[i]; + + if (parent == NULL) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX has " + "parent[%d] == NULL!\n", + b->m68k_start_address, i); + ok = NO; + } + else + { + for (j = i + 1; j < b->num_parents; j++) + if (parent == b->parent[j]) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX " + "has parent[%d] == parent[%d] == %p!\n", + b->m68k_start_address, i, j, + (void *) b->parent[i]); + ok = NO; + } + + /* Make sure our parent claims us as a child. */ + for (j = parent->num_children - 1; j >= 0; j--) + if (parent->child[j] == b) + break; + + if (j < 0) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX " + "has a parent that doesn't claims it as a child!\n", + b->m68k_start_address); + ok = NO; + } + } + } + + for (i = 0; i < b->num_children; i++) + { + Block *child = b->child[i]; + + for (j = child->num_parents - 1; j >= 0; j--) + if (child->parent[j] == b) + break; + + if (j < 0) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX has a child " + "that doesn't claim it as a parent!\n", + b->m68k_start_address); + ok = NO; + } + } + } + + if (!ok) + abort (); + + return ok; +} +#endif diff --git a/runtime/blockinfo.c b/runtime/blockinfo.c new file mode 100644 index 0000000..b03c274 --- /dev/null +++ b/runtime/blockinfo.c @@ -0,0 +1,283 @@ +#include "syn68k_private.h" +#include "block.h" +#include "mapping.h" +#include "rangetree.h" +#include "blockinfo.h" +#include "alloc.h" +#include +#include +#include + +static void determine_next_block_addresses (const uint16 *code, + TempBlockInfo *temp, + const OpcodeMappingInfo *map); + + +/* This function takes a block and a pointer to some m68k code and computes + * the length of the block and various cc bit information about the block. + * The info is stored in the block struct. + */ +void +compute_block_info (Block *b, const uint16 *code, TempBlockInfo *temp) +{ + const uint16 *start_code = code, *old_code; + int clobbered = 0, may_set = 0, may_not_set = ALL_CCS, needed = 0; + int next_array_size; + const OpcodeMappingInfo *map = NULL; + + /* Initialize the next offset array. This lets us step through this + * code forwards when we actually get around to compiling it. + */ + temp->num_68k_instrs = 0; + next_array_size = 16; + temp->next_instr_offset = (int8 *) xmalloc (next_array_size * sizeof (int8)); + + /* Loop over all instructions in the block and determine information + * about how this block deals with CC bits. + */ + old_code = code; + do + { + int insn_size; + unsigned m68k_op; + + m68k_op = READUW (US_TO_SYN68K (code)); + map = &opcode_map_info[opcode_map_index[m68k_op]]; + +#if 0 + if (opcode_map_index[m68k_op] == 0) + { + fprintf (stderr, "m68kop 0x%04X unimplemented!\n", m68k_op); + abort (); + } +#endif + + insn_size = instruction_size (code, map); + if (insn_size <= 0) + { + map = &opcode_map_info[opcode_map_index[0x4AFC]]; /* illegal */ + insn_size = 1; + } + + /* Update cc bit info for this block. */ + clobbered |= (map->cc_may_set + & ~(map->cc_may_not_set | map->cc_needed | needed)); + needed |= map->cc_needed & may_not_set; + may_set |= map->cc_may_set; + may_not_set &= map->cc_may_not_set; + + /* Grow next instruction offset array iff necessary. We'll + * leave one extra element for after this loop ends. + */ + if (temp->num_68k_instrs >= next_array_size - 1) + { + next_array_size *= 2; + temp->next_instr_offset = (int8 *) xrealloc (temp->next_instr_offset, + next_array_size + * sizeof (int8)); + } + + /* Remember offset to next instruction. */ + temp->next_instr_offset[temp->num_68k_instrs++] = insn_size; + + /* Move on to the next instruction. */ + old_code = code; + code += insn_size; + } + while (!map->ends_block); + + /* Terminate the array with a 0 offset. */ + temp->next_instr_offset[temp->num_68k_instrs] = 0; + + /* Figure out where this block goes (if possible). */ + determine_next_block_addresses (old_code, temp, map); + + /* Record the block information we've computed. */ + b->cc_clobbered = clobbered; + b->cc_may_not_set = may_not_set; + b->cc_needed = needed; + b->m68k_start_address = US_TO_SYN68K (start_code); + b->m68k_code_length = (code - start_code) * sizeof (uint16); +} + + +static void +determine_next_block_addresses (const uint16 *code, TempBlockInfo *temp, + const OpcodeMappingInfo *map) +{ + uint16 m68kop = READUW (US_TO_SYN68K (code)); + BOOL is_bsr = ((m68kop >> 8) == 0x61); + BOOL is_fixed_jsr = ((m68kop & 0xFFFE) == 0x4EB8 /* jsr abs{w,l}? */ + || m68kop == 0x4EBA); /* jsr pc@d16? */ + +#ifdef DEBUG + temp->child[0] = temp->child[1] = US_TO_SYN68K (NULL); +#endif + + /* First see if we can even tell where the child block is. */ + if (map->next_block_dynamic && !is_bsr && !is_fixed_jsr) + { + temp->num_child_blocks = 0; + return; + } + + /* Is it a Bcc? */ + if ((m68kop >> 12) == 6) + { + uint32 t1, t2; + + t1 = (uint32) (code + 1); + /* Compute branch target. */ + if ((m68kop & 0xFF) == 0) + { + t1 += READSW (US_TO_SYN68K (code + 1)); + t2 = (uint32) (code + 2); + } + else if ((m68kop & 0xFF) == 0xFF) + { + t1 += READSL (US_TO_SYN68K (code + 1)); + t2 = (uint32) (code + 3); + } + else + { + t1 += ((int8 *)code)[1]; + t2 = (uint32) (code + 1); + } + + /* Is it a bsr or bra? If so, only one destination address. In the + * case of bsr, we compute the target address but officially pretend + * we don't know where it's going. + */ + if ((m68kop & 0xFE00) == 0x6000) + { + temp->child[0] = t1; + temp->num_child_blocks = !is_bsr; + return; + } + + temp->child[0] = t2; + temp->child[1] = t1; + temp->num_child_blocks = 2; + return; + } + + /* Is it a dbcc? */ + if ((m68kop >> 12) == 5) + { + temp->child[0] = (uint32) (code + 2); + + if ((m68kop >> 8) == 0x50) /* dbt? */ + { + temp->num_child_blocks = 1; + return; + } + + temp->child[1] = ((int32 ) (code + 1) + + READSW (US_TO_SYN68K (code + 1))); + temp->num_child_blocks = 2; + return; + } + + switch (m68kop) + { + case 0x4EF8: /* Is it a jmp _abs.w? */ + temp->child[0] = + (uint32) SYN68K_TO_US (READSW (US_TO_SYN68K (code + 1))); + temp->num_child_blocks = 1; + return; + case 0x4EB8: /* Is it a jsr _abs.w? */ + temp->child[0] = + (uint32) SYN68K_TO_US (READSW (US_TO_SYN68K (code + 1))); + temp->num_child_blocks = 0; /* Pretend we don't know the dest. */ + return; + case 0x4EF9: /* Is it a jmp _abs.l? */ + temp->child[0] = + (uint32) SYN68K_TO_US (READUL (US_TO_SYN68K (code + 1))); + temp->num_child_blocks = 1; + return; + case 0x4EB9: /* Is it a jsr _abs.l? */ + temp->child[0] = + (uint32) SYN68K_TO_US (READUL (US_TO_SYN68K (code + 1))); + temp->num_child_blocks = 0; + return; + case 0x4EBA: /* Is it a pc-relative jsr? */ + temp->child[0] = (uint32) ((READSW (US_TO_SYN68K (code + 1)) + + code + 1)); + temp->num_child_blocks = 0; + return; + } + + /* Strange, unknown block ender. Probably something capable of trapping. + * Assume that the subsequent instruction is the target. + */ + temp->child[0] = (uint32) (code + map->instruction_words); + temp->num_child_blocks = 1; +} + + +int +amode_size (int amode, const uint16 *code, int ref_size) +{ + uint16 c = READUW (US_TO_SYN68K (code)); + + switch (amode) { + case 0x28: case 0x29: case 0x2A: case 0x2B: /* Addressing mode 5 */ + case 0x2C: case 0x2D: case 0x2E: case 0x2F: + return 1; + case 0x38: /* 111/000 (xxx).W */ + return 1; + case 0x39: /* 111/001 (xxx).L */ + return 2; + case 0x3C: /* 111/100 # */ + return ref_size == 4 ? 2 : 1; /* Bytes still take 1 full word. */ + case 0x30: case 0x31: case 0x32: case 0x33: /* Addressing mode 6. */ + case 0x34: case 0x35: case 0x36: case 0x37: + case 0x3B: /* Addressing mode 111/011 */ + if (!(c & 0x100)) /* 8 bit displacement. */ + return 1; + else if ((c & 0xF) == 0x0) + return ((c >> 4) & 3); + return ((c >> 4) & 3) + (c & 3) - 1; + case 0x3A: /* 111/010 (d16,PC) */ + return 1; + default: + return 0; + } +} + + +/* Given a pointer to an m68k opcode, returns the total number of words + * that instruction occupies, including operands and memory taken by + * complex addressing modes. + */ +int +instruction_size (const uint16 *code, const OpcodeMappingInfo *map) +{ + int size; + int m68kop = READUW (US_TO_SYN68K (code)); + + /* See if we have a conditional branch format operand instruction. */ + if ((m68kop >> 12) == 6) + { + if ((m68kop & 0xFF) == 0) + size = 2; + else if ((m68kop & 0xFF) == 0xFF) + size = 3; + else + size = 1; + } + else + { + size = map->instruction_words; + /* If we have an addressing mode, compute how many words it takes. */ + if (map->amode_size != 0) + size += amode_size (m68kop & 0x3F, code + size, map->amode_size); + + /* If we have a rev. addressing mode, compute how many words it takes. */ + if (map->reversed_amode_size != 0) /* Is there a rev. addressing mode? */ + size += amode_size (((m68kop >> 9) & 0x7) | ((m68kop >> 3) & 0x38), + code + size, map->reversed_amode_size); + } + + return size; +} diff --git a/runtime/callback.c b/runtime/callback.c new file mode 100644 index 0000000..dddddcd --- /dev/null +++ b/runtime/callback.c @@ -0,0 +1,186 @@ +#include "callback.h" +#include "rangetree.h" +#include "block.h" +#include "alloc.h" +#include "hash.h" +#include "destroyblock.h" +#include "deathqueue.h" +#include "checksum.h" +#include "translate.h" +#include +#include +#include + +typedef struct { + callback_handler_t func; + void *arg; +} CallBackInfo; + +CallBackInfo *callback; +int num_callback_slots; +int lowest_free_callback_slot; + +/* We just use this array to reserve some dereferenceable address + * space to hold the callbacks, because we need memory locations we + * know can never contain 68k code. We don't actually store anything + * there. + */ +uint16 callback_dummy_address_space[MAX_CALLBACKS + CALLBACK_SLOP]; + +void +callback_init (void) +{ + callback = NULL; + num_callback_slots = 0; + lowest_free_callback_slot = 0; +} + + +/* Installs a given callback function at a given 68k address. If the 68k + * ever executes code at that address, the callback function will be called + * and provided with the 68k address of the callback and an arbitrary + * 32 bit argument. If some block is already present at the specified + * address, does nothing and returns 0. Otherwise, returns 1. + */ +int +callback_compile (Block *parent, syn68k_addr_t m68k_address, Block **new) +{ + Block *b; + uint16 *code; + uint32 ix = (m68k_address - CALLBACK_STUB_BASE) / sizeof (uint16); + const CallBackInfo *callback_info = &callback[ix]; + + /* Make sure a callback is actually installed. */ + if (ix >= num_callback_slots || callback_info->func == NULL) + { + *new = NULL; + return 0; + } + + b = *new = make_artificial_block (parent, m68k_address, + OPCODE_WORDS + PTR_WORDS + PTR_WORDS + 2, + &code); + + /* Create the synthetic code for the callback. */ +#ifdef USE_DIRECT_DISPATCH + *(const void **)code = direct_dispatch_table[0xB3]; /* callback opcode. */ +#else + *(void **)code = (void *)0xB3; /* Magical callback synthetic opcode. */ +#endif + *((callback_handler_t *) (code + OPCODE_WORDS)) = callback_info->func; + *(void **)(code + OPCODE_WORDS + PTR_WORDS) = callback_info->arg; + *(syn68k_addr_t *)(code + OPCODE_WORDS + PTR_WORDS + PTR_WORDS) + = m68k_address; + + /* Insert block into the universe of blocks. */ + hash_insert (b); + range_tree_insert (b); + + /* Add this block to the end of the death queue. */ + death_queue_enqueue (b); + + b->immortal = FALSE; + + return ALL_CCS; +} + + +/* Installs a callback stub in the 68k space and returns the 68k address + * it chose for this stub. Any 68k code that hits this stub will call + * the specified callback function. func must never be NULL. + */ +syn68k_addr_t +callback_install (callback_handler_t func, void *arbitrary_argument) +{ + uint32 slot; + int old_sigmask; + + BLOCK_INTERRUPTS (old_sigmask); + slot = lowest_free_callback_slot; + + if (lowest_free_callback_slot >= num_callback_slots) + { + if (num_callback_slots >= MAX_CALLBACKS) + { + fprintf (stderr, "Internal error: syn68k out of callback slots!\n"); + abort (); + } + + ++num_callback_slots; + callback = (CallBackInfo *) xrealloc (callback, (num_callback_slots + * sizeof callback[0])); + } + + /* Remember the callback they are specifying. */ + callback[slot].func = func; + callback[slot].arg = arbitrary_argument; + + /* Move lowest free callback slot to next lowest slot. */ + for (lowest_free_callback_slot++; ; lowest_free_callback_slot++) + if (lowest_free_callback_slot >= num_callback_slots + || callback[lowest_free_callback_slot].func == NULL) + break; + + /* Reenable interrupts. */ + RESTORE_INTERRUPTS (old_sigmask); + + return CALLBACK_STUB_BASE + (slot * sizeof (uint16)); +} + + +void * +callback_argument (syn68k_addr_t callback_address) +{ + uint32 ix = (callback_address - CALLBACK_STUB_BASE) / sizeof (uint16); + + if (ix >= num_callback_slots) + return NULL; + return callback[ix].arg; +} + + +callback_handler_t +callback_function (syn68k_addr_t callback_address) +{ + uint32 ix = (callback_address - CALLBACK_STUB_BASE) / sizeof (uint16); + + if (ix >= num_callback_slots) + return NULL; + return callback[ix].func; +} + + +void +callback_remove (syn68k_addr_t m68k_address) +{ + uint32 ix; + Block *b; + int old_sigmask; + + BLOCK_INTERRUPTS (old_sigmask); + + /* Fetch the block at that address. */ + b = hash_lookup (m68k_address); + if (b != NULL) + destroy_block (b); + + ix = (m68k_address - CALLBACK_STUB_BASE) / sizeof (uint16); + if (ix < num_callback_slots) + { + if (ix == num_callback_slots - 1) + { + --num_callback_slots; + callback = (CallBackInfo *) xrealloc (callback, + (num_callback_slots + * sizeof callback[0])); + } + else + { + callback[ix].func = NULL; + if (ix < lowest_free_callback_slot) + lowest_free_callback_slot = ix; + } + } + + RESTORE_INTERRUPTS (old_sigmask); +} diff --git a/runtime/checksum.c b/runtime/checksum.c new file mode 100644 index 0000000..7730497 --- /dev/null +++ b/runtime/checksum.c @@ -0,0 +1,11 @@ +#define INLINE_CHECKSUM +#include "checksum.h" + + +#ifdef CHECKSUM_BLOCKS +uint32 +compute_block_checksum (const Block *b) +{ + return inline_compute_block_checksum (b); +} +#endif /* CHECKSUM_BLOCKS */ diff --git a/runtime/deathqueue.c b/runtime/deathqueue.c new file mode 100644 index 0000000..ef6e466 --- /dev/null +++ b/runtime/deathqueue.c @@ -0,0 +1,49 @@ +#include "deathqueue.h" + + +Block *death_queue_head = NULL, *death_queue_tail = NULL; + + +/* Appends a block to the end of the doubly-linked death queue. */ +void +death_queue_enqueue (Block *b) +{ + b->death_queue_prev = death_queue_tail; + b->death_queue_next = NULL; + + if (death_queue_tail == NULL) + death_queue_head = b; + else + death_queue_tail->death_queue_next = b; + + death_queue_tail = b; +} + + +/* Removes a block from the end of the doubly-linked death queue. */ +void +death_queue_dequeue (Block *b) +{ + Block *p, *n; + + p = b->death_queue_prev; + n = b->death_queue_next; + + if (p == NULL) + { + if (death_queue_head == b) /* Verify this just to be safe. */ + death_queue_head = n; + } + else + p->death_queue_next = n; + + if (n == NULL) + { + if (death_queue_tail == b) /* Verify this just to be safe. */ + death_queue_tail = p; + } + else + n->death_queue_prev = p; + + b->death_queue_prev = b->death_queue_next = NULL; +} diff --git a/runtime/destroyblock.c b/runtime/destroyblock.c new file mode 100644 index 0000000..d2b7522 --- /dev/null +++ b/runtime/destroyblock.c @@ -0,0 +1,268 @@ +#include "destroyblock.h" +#include "deathqueue.h" +#include "alloc.h" +#include "hash.h" +#include "rangetree.h" +#include "translate.h" +#define INLINE_CHECKSUM /* Get the fast, inline version. */ +#include "checksum.h" +#include +#include +#include + + +/* Temp hack */ +#include + + +static Block *current_block_in_death_queue; + + +/* This routine destroys a block and any known parents of this block (and + * so on recursively). Returns the total number of blocks actually destroyed. + */ +unsigned long +destroy_block (Block *b) +{ + unsigned long num_destroyed; + int i; + + /* If the block is immortal, refuse to destroy it. FIXME? */ + if (b->immortal) + return 0; + + /* Be paranoid, to avoid freeing this block multiple times. */ + b->immortal = TRUE; + + /* Call the user-defined function to let them know we're busy. */ + if (call_while_busy_func != NULL) + call_while_busy_func (1); + + /* Make sure no children claim us as a parent to prevent bad things + * happening on recursion. + */ + for (i = b->num_children - 1; i >= 0; i--) + if (b->child[i] != NULL) + block_remove_parent (b->child[i], b, FALSE); + + /* Destroy all of our parents. This should not be able to recurse + * around to us again since none of our children now claim us as a parent. + */ + num_destroyed = 0; + while (b->num_parents != 0) + { + --b->num_parents; + num_destroyed += destroy_block (b->parent[b->num_parents]); + } + + range_tree_remove (b); + hash_remove (b); + + /* Maintain current_block_in_death_queue so we can safely traverse the + * death queue destroying everyone. Otherwise, we'd lose our place in the + * queue when we destroyed a bunch of blocks. + */ + if (b == current_block_in_death_queue) + current_block_in_death_queue = b->death_queue_next; + + /* Remove this block from the death queue. */ + assert (death_queue_head != NULL); + death_queue_dequeue (b); + + block_free (b); + return num_destroyed + 1; /* Account for the one we just freed. */ +} + + +/* This routine calls destroy_block() for all blocks which came from m68k + * code intersecting the specified range of addresses. Returns the total + * number of blocks destroyed. + */ +#ifdef CHECKSUM_BLOCKS +static unsigned long +destroy_blocks_maybe_checksum (syn68k_addr_t low_m68k_address, + uint32 num_bytes, BOOL checksum_blocks) +#else +static unsigned long +destroy_blocks (syn68k_addr_t low_m68k_address, uint32 num_bytes) +#endif +{ + Block *b; + int old_sigmask; + unsigned long total_destroyed; + + BLOCK_INTERRUPTS (old_sigmask); + + total_destroyed = 0; + + /* Special case destroying all blocks. This happens often in HyperCard. */ + if (low_m68k_address == 0 && num_bytes == (uint32)~0) + { + if (!checksum_blocks) + { + for (b = death_queue_head; b != NULL; ) + { + unsigned long ndest; + current_block_in_death_queue = b; + ndest = destroy_block (b); + if (ndest != 0) + { + total_destroyed += ndest; + b = current_block_in_death_queue; /* Has advanced. */ + } + else + b = b->death_queue_next; + } + } + else + { + for (b = death_queue_head; b != NULL; ) + { + if (b->checksum != inline_compute_block_checksum (b)) + { + unsigned long ndest; + current_block_in_death_queue = b; + ndest = destroy_block (b); + if (ndest != 0) + { + total_destroyed += ndest; + b = current_block_in_death_queue; /* Has advanced. */ + } + else + b = b->death_queue_next; + } + else + b = b->death_queue_next; + } + } + } + else /* Destroy only selected range. */ + { + syn68k_addr_t end = low_m68k_address + num_bytes - 1; + syn68k_addr_t next_addr; + + /* Loop over blocks in the specified range and destroy them. */ + for (b = range_tree_first_to_intersect (low_m68k_address, end); + b != NULL && b->m68k_start_address <= end; + b = range_tree_find_first_at_or_after (next_addr)) + { + next_addr = b->m68k_start_address + 1; + +#ifdef CHECKSUM_BLOCKS + if (!checksum_blocks + || b->checksum != inline_compute_block_checksum (b)) +#endif /* CHECKSUM_BLOCKS */ + { + total_destroyed += destroy_block (b); + } + } + } + + /* Smash the jsr stack if we destroyed any blocks. */ + if (total_destroyed > 0) + memset (&cpu_state.jsr_stack, -1, sizeof cpu_state.jsr_stack); + + RESTORE_INTERRUPTS (old_sigmask); + + /* Call the user-defined function to let them know we're not busy. */ + if (call_while_busy_func != NULL) + call_while_busy_func (0); + + return total_destroyed; +} + + +#ifdef CHECKSUM_BLOCKS +/* Always destroys blocks in the specified range. */ +unsigned long +destroy_blocks (syn68k_addr_t low_m68k_address, uint32 num_bytes) +{ + return destroy_blocks_maybe_checksum (low_m68k_address, num_bytes, FALSE); +} + +/* Only destroys blocks in the specified range if their m68k checksums fail. */ +unsigned long +destroy_blocks_with_checksum_mismatch (syn68k_addr_t low_m68k_address, + uint32 num_bytes) +{ + return destroy_blocks_maybe_checksum (low_m68k_address, num_bytes, TRUE); +} +#endif /* CHECKSUM_BLOCKS */ + + +static BOOL +immortal_self_or_ancestor_aux (Block *b) +{ + int i; + + if (!b->recursive_mark) + { + if (b->immortal) + return TRUE; + b->recursive_mark = TRUE; + for (i = b->num_parents - 1; i >= 0; i--) + if (immortal_self_or_ancestor_aux (b->parent[i])) + return TRUE; + } + + return FALSE; +} + + +static void +clear_recursive_marks (Block *b) +{ + int i; + + if (!b->recursive_mark) + return; + b->recursive_mark = FALSE; + for (i = b->num_parents - 1; i >= 0; i--) + clear_recursive_marks (b->parent[i]); +} + + +static BOOL +immortal_self_or_ancestor (Block *b) +{ + BOOL val = immortal_self_or_ancestor_aux (b); + clear_recursive_marks (b); + return val; +} + + +/* Call this only when you are out of memory. This routine selects + * one or more blocks to destroy and destroys them, freeing up their + * memory. Returns the number of blocks actually freed. Can only + * destroy blocks that are not immortal and have no immortal + * ancestors, and will destroy the oldest such block (and all of its + * ancestors) that it finds. + */ +unsigned long +destroy_any_block () +{ + Block *kill; + + /* Find a block to slaughter. Prefer someone with no parents*/ + for (kill = death_queue_head; kill != NULL; kill = kill->death_queue_next) + if (!immortal_self_or_ancestor (kill)) + break; + + if (kill != NULL) + { + unsigned long num_destroyed; + + num_destroyed = destroy_block (kill); + assert (num_destroyed != 0); + + memset (&cpu_state.jsr_stack, -1, sizeof cpu_state.jsr_stack); + + /* Call the user-defined function to let them know we're not busy. */ + if (call_while_busy_func != NULL) + call_while_busy_func (0); + + return num_destroyed; + } + + return 0; +} diff --git a/runtime/diagnostics.c b/runtime/diagnostics.c new file mode 100644 index 0000000..0721023 --- /dev/null +++ b/runtime/diagnostics.c @@ -0,0 +1,83 @@ +#include "diagnostics.h" +#include "deathqueue.h" + +void +print_cc_bits (FILE *stream, int bits) +{ + int i; + + for (i = 4; i >= 0; i--) + if (bits & (1 << i)) + putc ("ZXVNC"[i], stream); + else putc ('-', stream); +} + + +void +hexdump (const uint16 *addr, int num_words) +{ + while (num_words--) + printf ("\t0x%04X\n", (unsigned) *addr++); +} + + +void +dump_cpu_state (void) +{ + int i; + + for (i = 0; i < 16; i++) + { + +#if !defined(__alpha) + printf ("%c%d = 0x%08lX ", "da"[i >> 3], i % 8, cpu_state.regs[i].ul.n); +#else + printf ("%c%d = 0x%08X ", "da"[i >> 3], i % 8, cpu_state.regs[i].ul.n); +#endif + + if ((i & 3) == 3) + fputs ("\n\t", stdout); + } + printf ("c:%d n:%d v:%d x:%d z:%d\n", + !!cpu_state.ccc, !!cpu_state.ccn, !!cpu_state.ccv, !!cpu_state.ccx, + !cpu_state.ccnz); + putchar ('\n'); +} + + +/* Given a PC (either synthetic or native), tries to find the m68k + * block corresponding to that PC and prints it out. For debugging. + */ +void +m68kaddr (const uint16 *pc) +{ + const Block *b, *best_block; + unsigned long best_error; + + best_error = 0xFFFFFFFF; + best_block = NULL; + for (b = death_queue_head; b != NULL; b = b->death_queue_next) + { + if (b->compiled_code <= pc) + { + unsigned long error = pc - b->compiled_code; + if (error < best_error) + { + best_error = error; + best_block = b; + } + } + } + + if (best_block == NULL) + { + puts ("No matching m68k block found."); + } + else + { + printf ("Best guess m68k block start address 0x%lx, offset %lu bytes, " + "block (Block *)%p\n", + (unsigned long) best_block->m68k_start_address, + best_error, (void *) best_block); + } +} diff --git a/runtime/dosinterrupts.c b/runtime/dosinterrupts.c new file mode 100644 index 0000000..be82047 --- /dev/null +++ b/runtime/dosinterrupts.c @@ -0,0 +1,48 @@ +#ifdef MSDOS + +#include "syn68k_private.h" + +#ifndef SYNCHRONOUS_INTERRUPTS + +int +dos_block_interrupts () +{ + unsigned long iflag; + asm ("pushfl\n\t" /* We save the old eflags, which has interrupt mask bit. */ + "popl %0\n\t" + "shrl $9,%0\n\t" + "andl $1,%0\n\t" + "jz 1f\n\t" /* Avoid CLI overhead under DPMI. */ + "cli\n" + "1:" + : "=r" (iflag) + : : "cc"); + return iflag; +} + + +void +dos_restore_interrupts (int onoff) +{ + unsigned long current_iflag; + + asm ("pushfl\n\t" /* We save the old eflags, which has interrupt mask bit. */ + "popl %0\n\t" + "shrl $9,%0\n\t" + "andl $1,%0" + : "=r" (current_iflag) + : : "cc"); + + if (onoff != current_iflag) + { + /* Only execute these when necessary, to avoid DPMI overhead. */ + if (onoff) + asm ("sti"); + else + asm ("cli"); + } +} + +#endif /* !SYNCHRONOUS_INTERRUPTS */ + +#endif /* MSDOS */ diff --git a/runtime/fold.pl b/runtime/fold.pl new file mode 100755 index 0000000..ee991e4 --- /dev/null +++ b/runtime/fold.pl @@ -0,0 +1,177 @@ +#!/usr/bin/perl +$* = 1; # Enable multi-line patterns + +print STDERR "Parsing file..."; + + +# Read the entire file into core, splitting it up into pseudo-basic blocks +while (<>){ + next if /^\s*$/; # Skip blank lines + + if (/\s*\.align/ || !$started) + { + if ($current_block) + { + push (@blocks, $current_block); + push (@block_names, $current_block_name); + } + + $current_block = $_; + $current_block_name = ""; + $started = 1; + } + elsif ($current_block && !$current_block_name && /^\w.*:$/) + { + $current_block .= "xx#BLOCK_NAME_HERE\n"; + $current_block_name = $_; + chop $current_block_name; + $current_block_name =~ s/://g; + } + elsif ($current_block) + { + # Note: we don't add the name of the block to the block itself. + $current_block .= $_; + } +} + +# Clean up any stuff left around at end of file +if ($current_block) +{ + push (@blocks, $current_block); + push (@block_names, $current_block_name); +} + + +print STDERR "done.\n"; + + +sub eliminate_duplicates +{ + local (%blocks_found, $old, $new, $old_name, $new_name, $b, $bname, $n, + $x, $clobbered_blocks, $clobbered_lines, @clobbered_old, + @clobbered_new, @clobbered_old_s68k, @clobbered_new_s68k, + @clobbered_old_non_s68k, @clobbered_new_non_s68k); + + print STDERR "Pass $pass:\t"; + + # Loop over all the blocks, looking for duplicates. + $new = 0; + $clobbered_blocks = 0; + $clobbered_lines = 0; + foreach $old (0 .. $#blocks) + { + $b = $blocks[$old]; + $bname = $block_names[$old]; + + # If this block is redundant, add it to the clobbered list. + if ($bname && $blocks_found{$b}) + { + # Create regexps for the old/new to replace + $old_name = $bname; $old_name =~ s/(\W)/\\$1/g; + $new_name = $blocks_found{$b}; $new_name =~ s/(\W)/\\$1/g; + push (@clobbered_old, $old_name); + push (@clobbered_new, $new_name); + $clobbered_blocks++; + $clobbered_lines += split (' ', $b); + } + else # Save this block + { + $blocks[$new] = $b; + $block_names[$new] = $bname; + $blocks_found{$b} = $bname; + $new++; + } + } + + # Print out a status report. + print STDERR "eliminating $clobbered_blocks/", $#blocks + 1, " blocks ", + "($clobbered_lines lines)..."; + + # If we found something to clobber, clean everything up. + if ($clobbered_blocks) + { + # Truncate the blocks array to the new number of blocks. + $#blocks = $new - 1; + $#block_names = $new - 1; + + # Divide up the replace strings into two classes, for speed. + foreach $n (0 .. $#clobbered_old) + { + if (@clobbered_old[$n] =~ /_S68K_/) + { + push (@clobbered_old_s68k, @clobbered_old[$n]); + push (@clobbered_new_s68k, @clobbered_new[$n]); + } + else + { + push (@clobbered_old_non_s68k, @clobbered_old[$n]); + push (@clobbered_new_non_s68k, @clobbered_new[$n]); + } + } + + foreach $n (0 .. $#blocks) + { + # Dump out this block if it's unique or special. + if (!$block_names[$n] + || $blocks_found{@blocks[$n]} eq $block_names[$n]) + { + $b = $blocks[$n]; + $b =~ s/xx#BLOCK_NAME_HERE/$block_names[$n]:/g; + + # Replace any _S68K_ labels (if there are any here). + if ($b =~ /_S68K_/) + { + foreach $x (0 .. $#clobbered_old_s68k) + { + $old_name = $clobbered_old_s68k[x]; + $new_name = $clobbered_new_s68k[x]; + if ($b =~ /$old_name/) + { + $b =~ s/$old_name,/$new_name,/g; + $b =~ s/$old_name$/$new_name$/g; + + # If we didn't eliminate the old label, fail! + die "I'm afraid to replace \"$old_name\" in this ", + "block:\n", $b if ($b =~ /$old_name/); + } + } + } + + # Replace any non-_S68K_ labels. + foreach $x (0 .. $#clobbered_old_non_s68k) + { + $old_name = $clobbered_old_non_s68k[x]; + $new_name = $clobbered_new_non_s68k[x]; + if ($b =~ /$old_name/) + { + $b =~ s/$old_name,/$new_name,/g; + $b =~ s/$old_name$/$new_name$/g; + + # If we didn't eliminate the old label, fail! + die "I'm afraid to replace \"$old_name\" in this ", + "block:\n", $b if ($b =~ /$old_name/); + } + } + $blocks[$n] = $b; + } + } + } + + print STDERR "done.\n"; + return $clobbered_blocks; +} + + +# Keep eliminating duplicates until nothing changes. +$pass = 1; +while (&eliminate_duplicates ()) +{ + $pass++; +} + + +# Print out all of the blocks. +foreach $n (0 .. $#blocks) +{ + print $blocks[$n]; +} diff --git a/runtime/hash.c b/runtime/hash.c new file mode 100644 index 0000000..ef4b257 --- /dev/null +++ b/runtime/hash.c @@ -0,0 +1,227 @@ +/* + * hash.c - Routines for manipulating a hash table that maps 68k addresses + * to the basic block that begins at that address. This exists + * in addition to the range tree because runtime lookups are much + * faster. + */ + +#include +#include +#include +#include +#include "hash.h" +#include "alloc.h" +#include "translate.h" + + +/* Fixed size hash table, indexed by BLOCK_HASH (block->m68k_start_address). */ +Block *block_hash_table[NUM_HASH_BUCKETS]; + + +/* Initializes the hash table. Call this before calling any other hash + * functions, and call it exactly once. + */ +void +hash_init () +{ + memset (block_hash_table, 0, sizeof block_hash_table); +} + + +/* Removes all blocks from the hash table and deallocates all space used by + * the hash table. + */ +void +hash_destroy () +{ + Block *b, *next; + int i; + + /* Remove all Blocks from the hash table. */ + for (i = 0; i < NUM_HASH_BUCKETS; i++) + for (b = block_hash_table[i]; b != NULL; b = next) + { + next = b->next_in_hash_bucket; + b->next_in_hash_bucket = NULL; + } + + memset (block_hash_table, 0, sizeof block_hash_table); +} + + +/* Finds the block associated with a given 68k address and returns a pointer + * to that block. Returns NULL iff no block starting at that address exists. + * Note that it is possible the address specified may fall inside a block of + * compiled code but not at the beginning; this routine will not detect that + * situation. If you want to know what block contains a given address when + * that address may not refer to the first byte of a block, call the slower + * range_tree_lookup (addr) function found in rangetree.c + */ +Block * +hash_lookup (syn68k_addr_t addr) +{ + Block *bucket = block_hash_table[BLOCK_HASH (addr)]; + + for (; bucket != NULL; bucket = bucket->next_in_hash_bucket) + if (bucket->m68k_start_address == addr) + return bucket; + + return NULL; +} + + +/* Similar to hash_lookup(), but this returns a pointer to the compiled + * code associated with a given 68k address instead of to the block associated + * with that code. If no compiled code exists for that block, code is + * compiled for that block and a pointer to the new code is returned. This + * function is guaranteed to return a non-NULL pointer to valid code. + */ +const uint16 * +hash_lookup_code_and_create_if_needed (syn68k_addr_t addr) +{ + Block *b, *bucket, **bucket_ptr; + int old_sigmask; + + bucket_ptr = &block_hash_table[BLOCK_HASH (addr)]; + bucket = *bucket_ptr; + + /* If there's anything in this bucket, check for a match. */ + if (bucket != NULL) + { + Block *prev, *next; + + /* See if we get a match in the first element. */ + if (bucket->m68k_start_address == addr) + return bucket->compiled_code; + + /* See if we get a match in a later element. If we do, move it + * to the head of the list, since it is likely to be referenced + * again. + */ + for (prev = bucket; (next = prev->next_in_hash_bucket) != NULL; + prev = next) + { + if (next->m68k_start_address == addr) + { + BLOCK_INTERRUPTS (old_sigmask); + prev->next_in_hash_bucket = next->next_in_hash_bucket; + next->next_in_hash_bucket = bucket; + *bucket_ptr = next; + RESTORE_INTERRUPTS (old_sigmask); + return next->compiled_code; + } + } + } + + BLOCK_INTERRUPTS (old_sigmask); + generate_block (NULL, addr, &b, FALSE); + RESTORE_INTERRUPTS (old_sigmask); + + /* Call the user-defined function to let them know we're done. */ + if (call_while_busy_func != NULL) + call_while_busy_func (0); + + return b->compiled_code; +} + + +/* Inserts a given block into the hash table based on it's m68k_start_address. + * Inserting a block twice is illegal but is not checked for. + */ +void +hash_insert (Block *b) +{ + uint32 addr = b->m68k_start_address; + Block **bucket = &block_hash_table[BLOCK_HASH (addr)]; + + /* Prepend this block to the beginning of the list. */ + b->next_in_hash_bucket = *bucket; + *bucket = b; +} + + +/* Removes a given block from the hash table. If it's not in the hash + * table, no action is taken. + */ +void +hash_remove (Block *b) +{ + Block **bucket = &block_hash_table[BLOCK_HASH (b->m68k_start_address)]; + + for (; *bucket != NULL; bucket = &(*bucket)->next_in_hash_bucket) + if (*bucket == b) + { + *bucket = b->next_in_hash_bucket; + break; + } +} + + + +#ifdef DEBUG +/* Runs through and checks the hash table for consistency. Returns YES + * if everything is OK, NO if something is bad (in which case it prints + * out appropriate errors to stderr.) + */ +BOOL +hash_verify () +{ + BOOL ok = YES; + int i; + Block *b, *b2; + + for (i = 0; i < NUM_HASH_BUCKETS; i++) + for (b = block_hash_table[i]; b != NULL; b = b->next_in_hash_bucket) + { + if (!block_verify (b)) + ok = NO; + if (BLOCK_HASH (b->m68k_start_address) != i) + { + fprintf (stderr, "Internal inconsistency: Block 0x%lX seems to " + "have ended up in hash bucket %d instead of hash " + "bucket %d where it belongs.\n", + b->m68k_start_address, i, + BLOCK_HASH (b->m68k_start_address)); + ok = NO; + } + + for (b2 = b->next_in_hash_bucket; b2; b2 = b2->next_in_hash_bucket) + if (b->m68k_start_address == b2->m68k_start_address) + { + fprintf (stderr, "Internal inconsistency: More than one block " + "in the hash table has the same m68k_start_address " + "(0x%lX).\n", b->m68k_start_address); + ok = NO; + break; + } + } + + return ok; +} +#endif + + +#ifdef DEBUG +void +hash_stats () +{ + int i, max = 0, sum = 0; + + for (i = 0; i < NUM_HASH_BUCKETS; i++) + { + int n; + Block *b; + + for (n = 0, b = block_hash_table[i]; b != NULL; n++, + b = b->next_in_hash_bucket); + if (n > max) + max = n; + sum += n; + } + + printf ("Hash stats: %d entries, %.2f average per bucket, %d in deepest " + "bucket.\n", + sum, (double) sum / NUM_HASH_BUCKETS, max); +} + +#endif diff --git a/runtime/i486-cleanup.pl b/runtime/i486-cleanup.pl new file mode 100755 index 0000000..b695f8b --- /dev/null +++ b/runtime/i486-cleanup.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl -ni + +# This perl script strips out the extra cruft created as a side effect of +# splitting syn68k.c into many functions. This will make the resulting +# syn68k.o file smaller and also force the real branch targets to be +# aligned optimally. + +# Delete the header for each function +if (/^\.globl _s68k_handle_opcode_0x/ .. /^[#\/]APP$/) +{ + print if (/^[#\/]APP/ || /^L/); +} + +# Delete the trailer for each function +elsif (/^_S68K_DONE_WITH/ .. /^\s*ret$/) +{ + print if (!/\s*movl %ebp,%esp$/ + && !/\s*leal\s*(-?\d+)?\(%ebp\),%esp$/ + && !/\s*movl\s*(-?\d+)?\(%ebp\),%edi$/ + && !/\s*popl/ + && !/\s*ret$/ + && !/^_S68K_DONE_WITH/ + && !/s68k_handle_opcode/); +} +elsif (/^\s*lods/) +{ + die "lods not allowed; we're punting cld's these days."; +} +# elsif (/^\s*call/ && !/s68k_handle_opcode/) +# { # no longer necessary since we punted lodsl +# print "$_\tcld\n"; +# } +elsif (!/s68k_handle_opcode/) +{ + print; +} diff --git a/runtime/i486-optimize.pl b/runtime/i486-optimize.pl new file mode 100755 index 0000000..bf009cf --- /dev/null +++ b/runtime/i486-optimize.pl @@ -0,0 +1,69 @@ +#!/usr/bin/perl -ni + +chop; +next if (/^[\#\/](NO_)?APP/ || /^\s*$/); +$cur = $_; +$first_changed = 0; + + +# First we handle mapping cases like: +# _S68K_HANDLE_0x00B5: +# movw _cpu_state+4,%ax +# movw (%esi),%bx +# +# to: +# +# _S68K_HANDLE_0x00B5: +# movl _cpu_state+4,%eax +# movl (%esi),%ebx +# +# Because we know cpu_state and %esi-relative pointers will be long-aligned, +# and long ops are faster and more pairable than word ops. + +if ($prev_first_changed + && ((($mem, $reg) = /^\s*movw (_cpu_state\+?\d*),%(ax|bx|cx|dx|di)$/) + || (($mem, $reg) = /^\s*movw (\d*\(%esi\)),%(ax|bx|cx|dx|di)$/)) + && ($prev !~ /$reg/)) { + $cur = "\tmovl " . $mem . ",%e" . $reg; +} +if ($prev =~ /^_S68K_HANDLE_/) { + if ((($mem, $reg) = /^\s*mov[wl] (_cpu_state\+?\d*),%e?(ax|bx|cx|dx|di)$/) + || (($mem, $reg) = /^\s*mov[wl] (\d*\(%esi\)),%e?(ax|bx|cx|dx|di)$/)) { + $cur = "\tmovl " . $mem . ",%e" . $reg; + $first_changed = 1; + } +} + +# Next we'll handle brain damage like: +# movl %eax,_cpu_state+80 +# movl _cpu_state+80,%eax +# +# by deleting the second line. Yes, this really happens. +# We have to be conservative here so we don't botch cases like: +# movb _cpu_state(%eax),%al +# movb %al,_cpu_state(%eax) + + +if (((($size1, $src1, $dst1) + = ($prev =~ /^\s+mov([bwl])\s+(_cpu_state\+?\d*),\s*(%[a-z]+)$/)) + || (($size1, $src1, $dst1) + = ($prev =~ /^\s+mov([bwl])\s+(%[a-z]+),\s*(_cpu_state\+?\d*)$/)) + || (($size1, $src1, $dst1) + = ($prev =~ /^\s+mov([bwl])\s+(-?\d*\(%ebp\)),\s*(%[a-z]+)$/)) + || (($size1, $src1, $dst1) + = ($prev =~ /^\s+mov([bwl])\s+(%[a-z]+),\s*(-?\d*\(%ebp\))$/))) + && (($size2, $src2, $dst2) + = /^\s+mov([bwl])\s+([^,]+),\s*([^,]+)$/) + && ($size1 eq $size2) + && ($src1 eq $dst2) + && ($src2 eq $dst1)) { +# This second line is completely useless, so delete it. + $cur = ""; +} + + +if (!($cur eq "")) { + print $cur . "\n"; +} +$prev = $cur; +$prev_first_changed = $first_changed; diff --git a/runtime/include/alloc.h b/runtime/include/alloc.h new file mode 100644 index 0000000..58da885 --- /dev/null +++ b/runtime/include/alloc.h @@ -0,0 +1,10 @@ +#ifndef _alloc_h_ +#define _alloc_h_ + +#include /* typedef size_t */ + +extern void *xmalloc (size_t size); +extern void *xrealloc (void *old, size_t new_size); +extern void *xcalloc (size_t num_elems, size_t byte_size); + +#endif /* Not _alloc_h_ */ diff --git a/runtime/include/backpatch.h b/runtime/include/backpatch.h new file mode 100644 index 0000000..d631390 --- /dev/null +++ b/runtime/include/backpatch.h @@ -0,0 +1,21 @@ +#ifndef _backpatch_h_ +#define _backpatch_h_ + +typedef struct _backpatch_t +{ + struct _backpatch_t *next; /* Next in linked list. */ + int32 offset_location; /* Bit index from block to index start. */ + int32 const_offset; /* Add this to src addr. */ + int8 num_bits; /* Number of bits to be patched. */ + int8 relative_p; /* Boolean: relative offset? */ + struct _Block *target; /* Target block; we jmp to its code ptr. */ +} backpatch_t; + +extern void backpatch_apply_and_free (struct _Block *b, backpatch_t *p); +extern void backpatch_add (struct _Block *b, int offset_location, int num_bits, + BOOL relative_p, int const_offset, + struct _Block *target); + +#include "block.h" + +#endif /* !_backpatch_h_ */ diff --git a/runtime/include/block.h b/runtime/include/block.h new file mode 100644 index 0000000..9473d98 --- /dev/null +++ b/runtime/include/block.h @@ -0,0 +1,62 @@ +#ifndef _block_h_ +#define _block_h_ + +#define BLOCK_MAGIC_VALUE 0xDEADBABEUL + +#include "syn68k_private.h" /* To typedef uint16 and uint32. */ +#include "backpatch.h" + +struct _Block { + struct _Block *next_in_hash_bucket; /* Next Block in this hash bucket. */ + const uint16 *compiled_code; /* Memory containing compiled code. */ +#ifdef GENERATE_NATIVE_CODE + uint32 num_times_called; /* # of times nonnative code called. */ +#endif + struct _Block *death_queue_prev; /* Prev block to be nuked if mem needed. */ + struct _Block *death_queue_next; /* Next block to be nuked if mem needed. */ + struct _Block *range_tree_left; /* Left child in range tree. */ + struct _Block *range_tree_right; /* Right " " " " (see rangetree.c) */ + struct _Block *range_tree_parent; /* Parent in r-tree (see rangetree.c) */ + struct _Block **parent; /* Array of ptrs to parent blocks. */ + struct _Block *child[2]; /* Array of ptrs to child blocks. */ + syn68k_addr_t m68k_start_address; /* Starting address of 68k code. */ +#ifdef CHECKSUM_BLOCKS + uint32 checksum; /* Checksum of m68k code for this block. */ +#endif + uint32 m68k_code_length; /* Length of 68k code, in _bytes_. */ + uint32 range_tree_color :1; /* Either RED or BLACK. */ + uint32 cc_clobbered :5; /* CC bits modified before use. */ + uint32 cc_may_not_set :5; /* CC bits that may be changed. */ + uint32 cc_needed :5; /* CC bits whose values we need. */ + uint32 num_children :2; /* # of blocks that this feeds to. */ + uint32 immortal :1; /* Can't be freed to save space. */ + uint32 recursive_mark :1; /* 1 means hit during this recursion. */ +#ifdef GENERATE_NATIVE_CODE + uint32 recompile_me :1; /* Recompile me as native (temp. flag). */ +#endif /* GENERATE_NATIVE_CODE */ + uint16 malloc_code_offset:3; /* Pass compiled_code - this to free(). */ + uint16 num_parents :13; /* # of blocks that feed into this one. */ + backpatch_t *backpatch; /* Linked list of backpatches to apply. */ +#ifdef DEBUG /* to ptr to the specified child block. */ + uint32 magic; +#endif +}; + +typedef struct _Block Block; + + +/* Function prototypes. */ +extern Block *block_new (void); +extern void block_free (Block *b); +extern void block_add_parent (Block *b, Block *parent); +extern void block_remove_parent (Block *b, Block *parent, BOOL reclaim_memory); +extern void block_add_child (Block *b, Block *child); +extern void block_remove_child (Block *b, Block *child); +extern void block_do_for_each_parent (Block *b, void (*f)(Block *, void *), + void *aux); +#ifdef DEBUG +extern BOOL block_verify (Block *b); +extern void dump_block (const Block *b); +#endif + +#endif /* Not _block_h_ */ diff --git a/runtime/include/blockinfo.h b/runtime/include/blockinfo.h new file mode 100644 index 0000000..88c71d1 --- /dev/null +++ b/runtime/include/blockinfo.h @@ -0,0 +1,18 @@ +#ifndef _blockinfo_h_ +#define _blockinfo_h_ + +#include "block.h" + +typedef struct { + uint32 child[2]; /* m68k addresses of m68k code following this blk. */ + int16 num_child_blocks; /* # of child addrs we can know at translate time. */ + uint16 num_68k_instrs; + int8 *next_instr_offset; /* word offset to next instr; 0 iff last instr. */ +} TempBlockInfo; + +extern void compute_block_info (Block *b, const uint16 *code, + TempBlockInfo *temp); +extern int amode_size (int amode, const uint16 *code, int ref_size); +extern int instruction_size (const uint16 *code, const OpcodeMappingInfo *map); + +#endif /* Not _blockinfo_h_ */ diff --git a/runtime/include/callback.h b/runtime/include/callback.h new file mode 100644 index 0000000..b1dd949 --- /dev/null +++ b/runtime/include/callback.h @@ -0,0 +1,23 @@ +#ifndef _callback_h_ +#define _callback_h_ + +#include "syn68k_private.h" +#include "block.h" + +#define MAX_CALLBACKS 4352 /* Arbitrary...4096 plus some slop. */ + +#define CALLBACK_STUB_BASE (MAGIC_ADDRESS_BASE + 128) +#define CALLBACK_STUB_LENGTH (MAX_CALLBACKS * sizeof (uint16)) + +#define IS_CALLBACK(n) (((syn68k_addr_t) (n)) - CALLBACK_STUB_BASE \ + < CALLBACK_STUB_LENGTH) + +extern void callback_init (void); +extern syn68k_addr_t callback_install (callback_handler_t func, + void *arbitrary_argument); +extern void callback_remove (syn68k_addr_t m68k_address); +extern int callback_compile (Block *parent, uint32 m68k_address, Block **new); +extern void *callback_argument (syn68k_addr_t callback_address); +extern callback_handler_t callback_function (syn68k_addr_t callback_address); + +#endif /* Not callback_h_ */ diff --git a/runtime/include/ccfuncs.h b/runtime/include/ccfuncs.h new file mode 100644 index 0000000..992b446 --- /dev/null +++ b/runtime/include/ccfuncs.h @@ -0,0 +1,252 @@ +#ifndef _ccfuncs_h_ +#define _ccfuncs_h_ + +/* This file contains fast versions of addb, addw, addl, subb, subw, + * subl, cmpb, cmpw, and cmpl that compute cc bits using native + * hardware. If the current host has these functions, FAST_CC_FUNCS + * will be defined. The add and subtract functions return the sum or + * difference, respectively. + */ + + +#if defined (i386) && !defined (NO_FAST_CC_FUNCS) + +#if !defined (CCR_ELEMENT_8_BITS) +# warning "The fast i386 cc funcs assume CCR_ELEMENT_8_BITS is defined; punting them." +#else /* defined (CCR_ELEMENT_8_BITS) */ + +/* Indicate that we have the fast inline functions. */ +#define FAST_CC_FUNCS + + +static inline void +inline_cmpb (uint8 n1, uint8 n2) +{ + asm ("cmpb %b4,%b5\n\t" + "setne %3\n\t" + "sets %1\n\t" + "setb %0\n\t" /* setc */ + "seto %2" + : "=m" (cpu_state.ccc), "=m" (cpu_state.ccn), + "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) + : "g" (n1), "ri" (n2) + : "cc"); +} + + +static inline void +inline_cmpw (uint16 n1, uint16 n2) +{ + asm ("cmpw %w4,%w5\n\t" + "setne %3\n\t" + "sets %1\n\t" + "setb %0\n\t" /* setc */ + "seto %2" + : "=m" (cpu_state.ccc), "=m" (cpu_state.ccn), + "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) + : "g" (n1), "ri" (n2) + : "cc"); +} + + +/* This seems to be a popular instruction. */ +static inline void +inline_cmpw_cz (uint16 n1, uint16 n2) +{ + asm ("cmpw %w2,%w3\n\t" + "setne %1\n\t" + "setb %0" /* setc */ + : "=m" (cpu_state.ccc), "=m" (cpu_state.ccnz) + : "g" (n1), "ri" (n2) + : "cc"); +} + +static inline void +inline_cmpl (uint32 n1, uint32 n2) +{ + asm ("cmpl %4,%5\n\t" + "setne %3\n\t" + "sets %1\n\t" + "setb %0\n\t" /* setc */ + "seto %2" + : "=m" (cpu_state.ccc), "=m" (cpu_state.ccn), + "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) + : "g" (n1), "ri" (n2) + : "cc"); +} + + +#define INLINE_ADDB_NOSWAP(n1, n2) \ + asm ("addb %b7,%b0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "bi" (n1) \ + : "cc") + +static inline uint8 +inline_addb (uint8 n1, uint8 n2) +{ + INLINE_ADDB_NOSWAP (n1, n2); + return n2; +} + + + +#define INLINE_ADDW_NOSWAP(n1, n2) \ + asm ("addw %w7,%w0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "ri" (n1) \ + : "cc") + +static inline uint16 +inline_addw (uint16 n1, uint16 n2) +{ + INLINE_ADDW_NOSWAP (n1, n2); + return n2; +} + + + +#define INLINE_ADDL_NOSWAP(n1, n2) \ + asm ("addl %k7,%k0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "ri" (n1) \ + : "cc") + +static inline uint32 +inline_addl (uint32 n1, uint32 n2) +{ + INLINE_ADDL_NOSWAP (n1, n2); + return n2; +} + + + +#define INLINE_SUBB_NOSWAP(n1, n2) \ + asm ("subb %b7,%b0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "bi" (n1) \ + : "cc") + +static inline uint8 +inline_subb (uint8 n1, uint8 n2) +{ + INLINE_SUBB_NOSWAP (n1, n2); + return n2; +} + + +#define INLINE_SUBW_NOSWAP(n1, n2) \ + asm ("subw %w7,%w0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "ri" (n1) \ + : "cc") + +static inline uint16 +inline_subw (uint16 n1, uint16 n2) +{ + INLINE_SUBW_NOSWAP (n1, n2); + return n2; +} + + + +#define INLINE_SUBL_NOSWAP(n1, n2) \ + asm ("subl %k7,%k0\n\t" \ + "setne %5\n\t" \ + "sets %3\n\t" \ + "setb %1\n\t" /* setc */ \ + "seto %4\n\t" \ + "setb %2" /* setc */ \ + : "=g" (n2), "=m" (cpu_state.ccc), "=m" (cpu_state.ccx), \ + "=m" (cpu_state.ccn), "=m" (cpu_state.ccv), "=m" (cpu_state.ccnz) \ + : "0" (n2), "ri" (n1) \ + : "cc") + +static inline uint32 +inline_subl (uint32 n1, uint32 n2) +{ + INLINE_SUBL_NOSWAP (n1, n2); + return n2; +} + + +/* This function computes the c, n, v, and nz bits based on a byte. + * c and v are always cleared, nz is set iff the byte is nonzero, + * n is set iff the high bit of the byte is set. + */ +static inline void inline_compute_c_n_v_nz_byte (uint8 n) \ +{ \ + asm ("movb %b0,%h0\n\t" \ + "andl $0x000080FF,%k0\n\t" \ + "movl %k0,%1" \ + : "=abcd" (n), "=m" (cpu_state.ccnz), "=m" (cpu_state.ccn), \ + "=m" (cpu_state.ccc), "=m" (cpu_state.ccv) \ + : "0" (n) \ + : "cc"); \ +} + +/* This function computes the c, n, v, and nz bits based on a word. + * c and v are always cleared, nz is set iff the word is nonzero, + * n is set iff the high bit of the word is set. + */ +static inline void inline_compute_c_n_v_nz_word(uint16 n) \ +{ \ + asm ("orb %h0,%b0\n\t" \ + "andl $0x000080FF,%k0\n\t" \ + "movl %k0,%1" \ + : "=abcd" (n), "=m" (cpu_state.ccnz), "=m" (cpu_state.ccn), \ + "=m" (cpu_state.ccc), "=m" (cpu_state.ccv) \ + : "0" (n) \ + : "cc"); \ +} + + +/* This function computes the c, n, v, and nz bits based on a long. + * c and v are always cleared, nz is set iff the long is nonzero, + * n is set iff the high bit of the long is set. + */ +#define inline_compute_c_n_v_nz_long(n) \ + asm ("movl $0,%0\n\t" /* movl is faster than movw. */ \ + "testl %k4,%k4\n\t" \ + "setne %0\n\t" \ + "sets %1" \ + : "=m" (cpu_state.ccnz), "=m" (cpu_state.ccn), \ + "=m" (cpu_state.ccc), "=m" (cpu_state.ccv) \ + : "r" ((uint32)(n)) \ + : "cc") + +#endif /* defined (CCR_ELEMENT_8_BITS) */ + +#endif /* i386 */ + +#endif /* !_ccfuncs_h_ */ diff --git a/runtime/include/checksum.h b/runtime/include/checksum.h new file mode 100644 index 0000000..0ce6b98 --- /dev/null +++ b/runtime/include/checksum.h @@ -0,0 +1,68 @@ +#ifndef _checksum_h_ +#define _checksum_h_ + +#include "syn68k_private.h" + +#ifdef CHECKSUM_BLOCKS + +#include "block.h" + +extern uint32 compute_block_checksum (const Block *b); + +#ifdef INLINE_CHECKSUM +#include "callback.h" + +static __inline__ uint32 +inline_compute_block_checksum (const Block *b) +{ + const uint16 *code; + uint32 sum; + long n; + syn68k_addr_t start; + + /* Don't actually checksum the bytes at a callback! */ + start = b->m68k_start_address; + if (IS_CALLBACK (start)) + return (start + + (unsigned long) callback_argument (start) + + (unsigned long) callback_function (start)); + else if (start >= MAGIC_ADDRESS_BASE + && start < CALLBACK_STUB_BASE) + return 0; + + code = SYN68K_TO_US (start); + for (sum = 0, n = b->m68k_code_length / sizeof (uint16); --n >= 0; ) + { + /* Bizarre but fast checksum. A good checksum like CRC is + * probably too slow. + */ +#if defined (__GNUC__) && defined(i386) + uint32 tmp1, tmp2; + + /* This is taking lots of CPU time for HyperCard, and gcc was generating + * lousy code, so I've hand-coded and hand-scheduled this for the + * Pentium. This should do the same thing as the C code below. + */ + asm ("movl %0,%2\n\t" + "movl %0,%1\n\t" + "sall $5,%2\n\t" + "shrl $14,%1\n\t" + "addl %0,%2\n\t" + "xorl %2,%1\n\t" + "xorw (%4,%5,2),%w0\n\t" + "xorl %1,%0" + : "=r" (sum), "=&r" (tmp1), "=&r" (tmp2) + : "0" (sum), "r" (code), "r" (n) + : "cc"); +#else /* !__GNUC__ || !i386 */ + sum = (sum >> 14) ^ (sum * 33) ^ code[n]; +#endif /* !__GNUC__ || !i386 */ + } + + return sum; +} +#endif /* INLINE_CHECKSUM */ + +#endif /* CHECKSUM_BLOCKS */ + +#endif /* Not _checksum_h_ */ diff --git a/runtime/include/deathqueue.h b/runtime/include/deathqueue.h new file mode 100644 index 0000000..edcd8d0 --- /dev/null +++ b/runtime/include/deathqueue.h @@ -0,0 +1,10 @@ +#ifndef _deathqueue_h_ +#define _deathqueue_h_ + +#include "block.h" + +extern Block *death_queue_head, *death_queue_tail; +extern void death_queue_enqueue (Block *b); +extern void death_queue_dequeue (Block *b); + +#endif /* Not _deathqueue_h_ */ diff --git a/runtime/include/destroyblock.h b/runtime/include/destroyblock.h new file mode 100644 index 0000000..8be5430 --- /dev/null +++ b/runtime/include/destroyblock.h @@ -0,0 +1,10 @@ +#ifndef _destroyblock_h_ +#define _destroyblock_h_ + +#include "block.h" + +extern unsigned long destroy_block (Block *b); +extern unsigned long destroy_blocks (syn68k_addr_t low_m68k_address, uint32 num_bytes); +extern unsigned long destroy_any_block (void); + +#endif /* Not _destroyblock_h_ */ diff --git a/runtime/include/diagnostics.h b/runtime/include/diagnostics.h new file mode 100644 index 0000000..84a7dfc --- /dev/null +++ b/runtime/include/diagnostics.h @@ -0,0 +1,13 @@ +#ifndef _diagnostics_h_ +#define _diagnostics_h_ + +#include +#include "syn68k_private.h" +#include "block.h" + +extern void print_cc_bits (FILE *stream, int bits); +extern void hexdump (const uint16 *addr, int num_words); +extern void dump_cpu_state (void); +extern Block *which_block (uint16 *code); + +#endif /* Not _diagnostics_h_ */ diff --git a/runtime/include/hash.h b/runtime/include/hash.h new file mode 100644 index 0000000..1821186 --- /dev/null +++ b/runtime/include/hash.h @@ -0,0 +1,28 @@ +#ifndef _hash_h_ +#define _hash_h_ + +#include "block.h" + +#define LOG_NUM_BUCKETS 12 +#define NUM_HASH_BUCKETS (1UL << LOG_NUM_BUCKETS) + +/* This hash function assumes the low bit conveys no information (== 0). */ +#define BLOCK_HASH(x) ((unsigned)((((x) ^ ((x) >> LOG_NUM_BUCKETS)) >> 1) \ + % NUM_HASH_BUCKETS)) + +extern Block *block_hash_table[NUM_HASH_BUCKETS]; + +extern void hash_init (void); +extern void hash_destroy (void); +extern Block *hash_lookup (uint32 addr); +/* defined in `syn68k_public.h' + extern const uint16 *hash_lookup_code_and_create_if_needed (uint32 addr); */ +extern const uint16 *hash_lookup_code_and_create_if_needed (uint32 addr); +extern void hash_insert (Block *b); +extern void hash_remove (Block *b); +#ifdef DEBUG +extern BOOL hash_verify (void); +extern void hash_stats (void); +#endif + +#endif /* Not _hash_h_ */ diff --git a/runtime/include/interrupt.h b/runtime/include/interrupt.h new file mode 100644 index 0000000..0a7a343 --- /dev/null +++ b/runtime/include/interrupt.h @@ -0,0 +1,8 @@ +#ifndef _interrupt_h_ +#define _interrupt_h_ + +#include "syn68k_private.h" + +/* Everything that would normally be here is in syn68k_public.h */ + +#endif /* Not _interrupt_h_ */ diff --git a/runtime/include/mapping.h b/runtime/include/mapping.h new file mode 100644 index 0000000..bc5c202 --- /dev/null +++ b/runtime/include/mapping.h @@ -0,0 +1,9 @@ +#ifndef _mapping_h_ +#define _mapping_h_ + +#include "syn68k_private.h" + +extern const uint16 opcode_map_index[]; +extern const OpcodeMappingInfo opcode_map_info[]; + +#endif /* Not _mapping_h_ */ diff --git a/runtime/include/native.h b/runtime/include/native.h new file mode 100644 index 0000000..c849146 --- /dev/null +++ b/runtime/include/native.h @@ -0,0 +1,300 @@ +#ifndef _native_h_ +#define _native_h_ + +#ifdef GENERATE_NATIVE_CODE + +#include "syn68k_private.h" +#include "../native/i386/host-native.h" +#include "block.h" + +/* Define a type for a bit mask for host registers. Each host register + * will get one bit in this mask. + */ +#if NUM_HOST_REGS <= 8 +typedef uint8 host_reg_mask_t; +#elif NUM_HOST_REGS <= 16 +typedef uint16 host_reg_mask_t; +#else /* NUM_HOST_REGS > 16 */ +typedef uint32 host_reg_mask_t; +#endif /* NUM_HOST_REGS > 16 */ + + +#define NUM_GUEST_REGS 16 +typedef uint16 guest_reg_mask_t; + +/* This enum describes the different types of register caching requests. */ +typedef enum +{ + REQUEST_REG, /* Needs host reg, cache if necessary. */ + REQUEST_SPARE_REG, /* Give me any spare reg, value unimportant. */ +} request_type_t; + +/* Host registers may not always be left in canonical "native" byte order. + * For efficiency, we lazily perform certain transformations like + * byte swapping and offsetting. Registers in memory slots are _always_ + * in MAP_NATIVE byte order. + */ +typedef enum +{ + MAP_NATIVE, /* Host byte order. */ + MAP_OFFSET, /* Host byte order, but offset by a constant. */ +#ifdef LITTLEENDIAN + MAP_SWAP16, /* Host byte order but with low two bytes swapped. */ + MAP_SWAP32, /* All four bytes are swapped. */ +#endif /* LITTLEENDIAN */ +} value_mapping_t; + +#define MAP_NATIVE_MASK (1L << MAP_NATIVE) +#define MAP_OFFSET_MASK (1L << MAP_OFFSET) +#ifdef LITTLEENDIAN +# define MAP_SWAP16_MASK (1L << MAP_SWAP16) +# define MAP_SWAP32_MASK (1L << MAP_SWAP32) +#endif /* LITTLEENDIAN */ + +#ifdef LITTLEENDIAN +# define MAP_ALL_MASK \ +(MAP_NATIVE_MASK | MAP_OFFSET_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK) +#else +# define MAP_ALL_MASK (MAP_NATIVE_MASK | MAP_OFFSET_MASK) +#endif + +#ifdef LITTLEENDIAN +#define ROS_DIRTY_BIT 4 +#else /* !LITTLEENDIAN */ +#define ROS_DIRTY_BIT 2 +#endif /* !LITTLEENDIAN */ + +typedef enum +{ + ROS_NATIVE = MAP_NATIVE, + ROS_OFFSET = MAP_OFFSET, +#ifdef LITTLEENDIAN + ROS_SWAP16 = MAP_SWAP16, + ROS_SWAP32 = MAP_SWAP32, +#endif /* LITTLEENDIAN */ + ROS_NATIVE_DIRTY = MAP_NATIVE | ROS_DIRTY_BIT, + ROS_OFFSET_DIRTY = MAP_OFFSET | ROS_DIRTY_BIT, +#ifdef LITTLEENDIAN + ROS_SWAP16_DIRTY = MAP_SWAP16 | ROS_DIRTY_BIT, + ROS_SWAP32_DIRTY = MAP_SWAP32 | ROS_DIRTY_BIT, +#endif /* LITTLEENDIAN */ + ROS_UNTOUCHED, + ROS_UNTOUCHED_DIRTY, /* Same mapping as before, but now it's dirty. */ + ROS_INVALID, +} reg_output_state_t; + +/* This describes constraints for how to transform an input + * register operand to either a host register or a pointer to the memory + * slot for that register. If you can't match the constraints, you can't + * generate native code from this descriptor. + */ +typedef struct +{ +#ifdef __GNUC__ + BOOL legitimate_p :1; /* 0 ==> dummy entry that just terminates array. */ +#else /* !__GNUC__ */ + uint8 legitimate_p :1; +#endif /* !__GNUC__ */ + uint8 add8_p :1; /* Add 8 to this operand? (address register)*/ + uint8 operand_num :2; /* Which operand contains the guest reg #. */ + uint8 acceptable_mapping :4; /* Bit mask of acceptable value_mapping_t's.*/ + + /* Information about the register on input. */ +#ifdef __GNUC__ + request_type_t request_type :8; /* See above enum for what this means. */ + reg_output_state_t output_state :8; +#else /* !__GNUC__ */ + uint8 request_type; + uint8 output_state; +#endif /* !__GNUC__ */ + + host_reg_mask_t regset; /* Specifies set of allowable host regs. */ +} reg_operand_info_t; + +#define MAX_REG_OPERANDS 2 +#define MAX_COMPILE_FUNCS 5 + + +#define USE_SCRATCH_REG (-1) +#define USE_BLOCK (-2) +#define USE_ZERO (-3) +#define USE_MINUS_ONE (-4) +#define USE_M68K_PC (-5) +#define USE_M68K_PC_PLUS_TWO (-6) +#define USE_M68K_PC_PLUS_FOUR (-7) +#define USE_0xFFFF (-8) + +#define MAX_M68K_OPERANDS 4 + +typedef struct +{ + int8 operand_num[MAX_M68K_OPERANDS]; +} oporder_t; + + +typedef struct +{ +#ifdef RUNTIME + int (*func)(); /* Returns nonzero->abort. */ +#else /* !RUNTIME */ + char *func; +#endif /* !RUNTIME */ + oporder_t order; +} compile_func_t; + + +typedef struct _guest_code_descriptor_t +{ +#ifndef RUNTIME + const char *name; /* Used while programmatically generating these. */ + BOOL static_p; +#endif + reg_operand_info_t reg_op_info[MAX_REG_OPERANDS + 1]; + uint8 cc_in; /* Bit mask: must be cached on input. */ + uint8 cc_out; /* Bit mask: valid & cached on output. */ + host_reg_mask_t scratch_reg; /* If nonzero, allocate a scratch reg. */ + compile_func_t compile_func[MAX_COMPILE_FUNCS]; +#ifdef RUNTIME + const +#endif + struct _guest_code_descriptor_t *next; /* Next in linked list. */ +} guest_code_descriptor_t; + + +#define NO_REG (-1) + +typedef struct +{ + int8 host_reg; /* Which host register cached in, or NO_REG. */ +#ifdef __GNUC__ + value_mapping_t mapping :8; /* If cached, how to map value to canon value. */ + BOOL dirty_without_offset_p :8; /* Must be spilled even if nonzero offset? */ +#else /* !__GNUC__ */ + uint8 mapping; + uint8 dirty_without_offset_p; +#endif /* !__GNUC__ */ + int32 offset; /* Add to reg to get canon value if ST_OFFSET. */ +} guest_reg_status_t; + + +typedef struct +{ + guest_reg_status_t guest_reg_status[NUM_GUEST_REGS]; + int8 host_reg_to_guest_reg[NUM_HOST_REGS]; /* Might be NO_REG. */ + uint8 cached_cc; /* CC bits that are cached. */ + uint8 dirty_cc; /* CC bits that are dirty. */ +} cache_info_t; + + + + +#define COMMON_ARGS \ +cache_info_t *c, host_code_t **codep, unsigned cc_spill_if_changed, \ +unsigned cc_to_compute, int scratch_reg + +#define COMMON_TYPES \ +cache_info_t *, host_code_t **, unsigned, unsigned, int + +#define COMMON_ARG_NAMES \ +c, codep, cc_spill_if_changed, cc_to_compute, scratch_reg + + + +extern void native_code_init (void); +extern void host_native_code_init (void); +extern void host_backpatch_native_to_synth_stub (Block *b, + host_code_t *stub, + uint32 *synth_opcode); +#ifdef SYNCHRONOUS_INTERRUPTS +extern void host_backpatch_check_interrupt_stub (Block *b, host_code_t *stub); +#endif +extern BOOL generate_native_code (const guest_code_descriptor_t *first_desc, + cache_info_t *cache_info, + const int32 *orig_operands, + host_code_t **code, + uint8 cc_input, uint8 cc_live, + uint8 cc_to_set, + BOOL ends_block_p, Block *block, + const uint16 *m68k_code); +extern int host_setup_cached_reg (COMMON_ARGS, int guest_reg, + unsigned acceptable_mappings, + host_reg_mask_t acceptable_regs); +extern int host_movel_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg); + +#ifndef host_alloc_reg +extern int host_alloc_reg (cache_info_t *c, host_code_t **code, + unsigned cc_spill_if_changed, + host_reg_mask_t legal); +#endif + +#ifndef host_cache_reg +extern void host_cache_reg (cache_info_t *c, host_code_t **code, + unsigned cc_spill_if_changed, + int guest_reg, int host_reg); +#endif + +#ifndef host_unoffset_reg +extern void host_unoffset_reg (cache_info_t *c, host_code_t **code, + unsigned cc_spill_if_changed, + int guest_reg); +#endif + +#ifndef host_unoffset_regs +extern void host_unoffset_regs (cache_info_t *c, host_code_t **code, + unsigned cc_spill_if_changed); +#endif + +#ifndef host_spill_reg +extern inline void host_spill_reg (cache_info_t *c, host_code_t **code, + unsigned cc_dont_touch, int guest_reg); +#endif + +#ifndef host_spill_regs +extern void host_spill_regs (cache_info_t *c, host_code_t **code, + unsigned cc_spill_if_changed); +#endif + +#ifndef host_spill_cc_bits +extern void host_spill_cc_bits (cache_info_t *c, host_code_t **code, + unsigned cc); +#endif + +extern void make_dirty_regs_native (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed); + +#define SPILL_CC_BITS(c, code, cc) \ + do { if (cc) host_spill_cc_bits (c, code, cc); } while (0) + +#ifdef LITTLEENDIAN +extern int host_swap16 (COMMON_ARGS, int32 host_reg); +extern int host_swap16_to_32 (COMMON_ARGS, int32 host_reg); +extern int host_swap32 (COMMON_ARGS, int32 host_reg); +extern int host_swap32_to_16 (COMMON_ARGS, int32 host_reg); +#else /* !LITTLEENDIAN */ +#define host_swap16(COMMON_ARG_NAMES) 0 +#define host_swap16_to_32(COMMON_ARG_NAMES) 0 +#define host_swap32(COMMON_ARG_NAMES) 0 +#define host_swap32_to_16(COMMON_ARG_NAMES) 0 +#endif /* !LITTLEENDIAN */ + +#define HOST_CODE_T_BITS (sizeof (host_code_t) * 8) + +extern cache_info_t empty_cache_info; + +#define NATIVE_START_BYTE_OFFSET (sizeof (void *) + sizeof (Block *)) +#define NATIVE_CODE_TRIED(b) \ + (*(Block **)((b)->compiled_code + PTR_WORDS) == NULL) + +extern host_code_t native_to_synth_stub[]; + +#ifdef SYNCHRONOUS_INTERRUPTS +extern host_code_t check_interrupt_stub[]; +#endif + +#define NATIVE_PREAMBLE_WORDS \ +((((CHECK_INTERRUPT_STUB_BYTES + NATIVE_TO_SYNTH_STUB_BYTES + 1) / 2) + 1) \ + & ~1) + +#endif /* GENERATE_NATIVE_CODE */ + +#endif /* !native_h_ */ diff --git a/runtime/include/profile.h b/runtime/include/profile.h new file mode 100644 index 0000000..0f74988 --- /dev/null +++ b/runtime/include/profile.h @@ -0,0 +1,13 @@ +#ifndef _profile_h_ +#define _profile_h_ + +#ifdef PROFILE + +#include "block.h" + +extern void profile_block (Block *b); +extern void dump_profile (const char *file); + +#endif + +#endif /* Not _profile_h_ */ diff --git a/runtime/include/rangetree.h b/runtime/include/rangetree.h new file mode 100644 index 0000000..66fcc26 --- /dev/null +++ b/runtime/include/rangetree.h @@ -0,0 +1,20 @@ +#ifndef _rangetree_h +#define _rangetree_h + +#include "syn68k_private.h" +#include "block.h" + +extern void range_tree_init (void); +extern void range_tree_destroy (void); +extern void range_tree_insert (Block *b); +extern void range_tree_remove (Block *b); +extern Block *range_tree_lookup (syn68k_addr_t h); +extern Block *range_tree_find_first_at_or_after (syn68k_addr_t addr); +extern Block *range_tree_first_to_intersect (syn68k_addr_t low, + syn68k_addr_t high); +#ifdef DEBUG +extern BOOL range_tree_verify (void); +extern void range_tree_dump (void); +#endif + +#endif /* Not _rangetree_h_ */ diff --git a/runtime/include/recompile.h b/runtime/include/recompile.h new file mode 100644 index 0000000..d09e180 --- /dev/null +++ b/runtime/include/recompile.h @@ -0,0 +1,26 @@ +#ifndef _recompile_h_ +#define _recompile_h_ + +#ifdef GENERATE_NATIVE_CODE + +#include "block.h" +#include "deathqueue.h" + +extern void recompile_block_as_native (Block *b); +extern double native_fraction (void); + +/* This is the number of times a nonnative block must be called before + * we scrap it and recompile it as native. + */ +#define RECOMPILE_CUTOFF 50 + +/* This is how many times a descendent of a nonnative block about to be + * recompiled must have been called before we decide to smash it as + * well. Smashing nearby blocks avoids extra recompiles. + */ +#define RECOMPILE_CHILD_CUTOFF 35 + + +#endif /* GENERATE_NATIVE_CODE */ + +#endif /* !_recompile_h_ */ diff --git a/runtime/include/translate.h b/runtime/include/translate.h new file mode 100644 index 0000000..c7530c5 --- /dev/null +++ b/runtime/include/translate.h @@ -0,0 +1,30 @@ +#ifndef _translate_h +#define _translate_h_ + +#include "block.h" + +extern void (*call_while_busy_func)(int); + +typedef struct { + BOOL valid; + BOOL reversed; + const uint16 *m68koperand; + int amode; + int size; +} AmodeFetchInfo; + +extern int generate_block (Block *parent, uint32 m68k_address, Block **new +/* #ifdef GENERATE_NATIVE_CODE */ + , BOOL try_native_p +/* #endif */ /* GENERATE_NATIVE_CODE */ + ); +extern Block *make_artificial_block (Block *parent, syn68k_addr_t m68k_address, + int extra_words, uint16 **extra_start); + +#ifdef GENERATE_NATIVE_CODE +extern int native_code_p; +#endif /* GENERATE_NATIVE_CODE */ + +extern int emulation_depth; + +#endif /* Not _translate_h_ */ diff --git a/runtime/include/trap.h b/runtime/include/trap.h new file mode 100644 index 0000000..a0bd8ae --- /dev/null +++ b/runtime/include/trap.h @@ -0,0 +1,61 @@ +#ifndef _trap_h_ +#define _trap_h_ + +#include "syn68k_private.h" + +extern syn68k_addr_t trap_direct (uint32 trap_number, + syn68k_addr_t exception_pc, + syn68k_addr_t exception_address); +extern uint32 trap_forwarded (syn68k_addr_t m68k_address, void *arg); +extern void trap_init (void); +extern void trap_install_handler (unsigned trap_number, + callback_handler_t func, + void *arbitrary_argument); +extern void trap_remove_handler (unsigned trap_number); + +extern uint32 *trap_vector_array; + +#define SR_SUPERVISOR_BIT 0x2000 +#define SR_MASTER_BIT 0x1000 + +#define USE_USP(sr) (!((sr) & SR_SUPERVISOR_BIT)) +#define USE_MSP(sr) (((sr) & (SR_SUPERVISOR_BIT | SR_MASTER_BIT)) \ + == (SR_SUPERVISOR_BIT | SR_MASTER_BIT)) +#define USE_ISP(sr) (((sr) & (SR_SUPERVISOR_BIT | SR_MASTER_BIT)) \ + == SR_SUPERVISOR_BIT) + +#define FETCH_USP() (USE_USP (cpu_state.sr) ? EM_A7 : cpu_state.usp) +#define FETCH_MSP() (USE_MSP (cpu_state.sr) ? EM_A7 : cpu_state.msp) +#define FETCH_ISP() (USE_ISP (cpu_state.sr) ? EM_A7 : cpu_state.isp) + +#define SET_USP(n) \ +(USE_USP (cpu_state.sr) ? (EM_A7 = (n)) : (cpu_state.usp = (n))) +#define SET_MSP(n) \ +(USE_MSP (cpu_state.sr) ? (EM_A7 = (n)) : (cpu_state.msp = (n))) +#define SET_ISP(n) \ +(USE_ISP (cpu_state.sr) ? (EM_A7 = (n)) : (cpu_state.isp = (n))) + +#define SWITCH_A7(old_sr, new_sr) \ +do \ +{ \ + if (((old_sr) ^ (new_sr)) & (SR_SUPERVISOR_BIT | SR_MASTER_BIT)) \ + { \ + /* Save away the old a7. */ \ + if (USE_USP (old_sr)) \ + cpu_state.usp = EM_A7; \ + else if (USE_MSP (old_sr)) \ + cpu_state.msp = EM_A7; \ + else \ + cpu_state.isp = EM_A7; \ + \ + /* Load up the new value. */ \ + if (USE_USP (new_sr)) \ + EM_A7 = cpu_state.usp; \ + else if (USE_MSP (new_sr)) \ + EM_A7 = cpu_state.msp; \ + else \ + EM_A7 = cpu_state.isp; \ + } \ +} while (0) + +#endif /* Not _trap_h_ */ diff --git a/runtime/init.c b/runtime/init.c new file mode 100644 index 0000000..60aee8e --- /dev/null +++ b/runtime/init.c @@ -0,0 +1,128 @@ +#include "syn68k_private.h" +#include "hash.h" +#include "rangetree.h" +#include "callback.h" +#include "trap.h" +#include "alloc.h" +#include "mapping.h" +#include "translate.h" +#include "native.h" +#include "checksum.h" +#include "deathqueue.h" +#include "interrupt.h" +#ifdef USE_BIOS_TIMER +#include "go32.h" +#include "dpmi.h" +#endif /* USE_BIOS_TIMER */ +#include +#include + + +/* Global CPU state struct. */ +CPUState cpu_state; + +/* This function initializes syn68k. Call it exactly once, before any + * other syn68k calls. DOS_INT_FLAG_ADDR is the conventional memory + * offset of the 32 bit synchronous interrupt flag. Just pass in zero + * for the non-MSDOS and non-SYNCHRONOUS_INTERRUPTS cases. + */ +void +initialize_68k_emulator (void (*while_busy)(int), int native_p, + uint32 trap_vector_storage[64], + uint32 dos_int_flag_addr) +{ + static uint16 rte = +#ifdef LITTLEENDIAN + 0x734E; +#else + 0x4E73; +#endif + Block *b; + uint16 *code; + +#ifdef __CHECKER__ + /* Checker can't work with native code. */ + native_p = FALSE; +#endif + + /* Zero out CPU state (not necessary since statics are 0'd) */ + memset (&cpu_state, 0, sizeof cpu_state); + memset (&cpu_state.jsr_stack, -1, sizeof cpu_state.jsr_stack); + + /* Record the function to periodically call while we are busy doing stuff. */ + call_while_busy_func = while_busy; + +#ifdef GENERATE_NATIVE_CODE + native_code_p = native_p; +#endif + trap_vector_array = trap_vector_storage; + + /* Set up the status register & interrupt stack pointer. */ + cpu_state.sr = 0x2000; /* supervisor/interrupt mode (this appears + * to be what programs really expect, e.g. + * PGA Tour Golf does movew #8192,sr). + */ + cpu_state.usp = 0xDEADF00D; /* Never use this stack pointer! */ + cpu_state.msp = 0xDEAD0666; /* Never use this stack pointer! */ + +#ifdef USE_BIOS_TIMER + dos_memory_selector = _go32_conventional_mem_selector (); + assert (dos_int_flag_addr != 0); + dos_interrupt_flag_addr = dos_int_flag_addr; +#endif /* USE_BIOS_TIMER */ + +#ifdef SYNCHRONOUS_INTERRUPTS + SET_INTERRUPT_STATUS (INTERRUPT_STATUS_UNCHANGED); +#endif + + /* Call various initialization routines. */ + hash_init (); + range_tree_init (); + callback_init (); + trap_init (); + +#ifdef GENERATE_NATIVE_CODE + native_code_init (); +#endif /* GENERATE_NATIVE_CODE */ + + /* Create the magical block that exits the emulator if you ever + * jump to it. Don't add it to the death queue, since we never want + * this block to go away. + */ + b = make_artificial_block (NULL, MAGIC_EXIT_EMULATOR_ADDRESS, + OPCODE_WORDS, &code); + +#ifdef USE_DIRECT_DISPATCH + *(const void **)code = direct_dispatch_table[0]; +#else + *(const void **)code = (const void *)0; /* Exit emulator opc. */ +#endif + + hash_insert (b); + range_tree_insert (b); + + /* Create the magical block that contains an RTE. */ + b = NULL; +#if !defined (__alpha) + generate_block (NULL, US_TO_SYN68K (&rte), &b, TRUE); +#else + { + typeof (ROMlib_offset) save_offset; + + save_offset = ROMlib_offset; + ROMlib_offset = &rte; /* so the RTE will be reachable with 32 bit addr */ + generate_block (NULL, US_TO_SYN68K (&rte), &b, TRUE); + ROMlib_offset = save_offset; + } +#endif + assert (b != NULL); + hash_remove (b); + range_tree_remove (b); + death_queue_dequeue (b); + b->m68k_start_address = MAGIC_RTE_ADDRESS; + b->m68k_code_length = 1; + b->checksum = compute_block_checksum (b); + b->immortal = TRUE; + hash_insert (b); + range_tree_insert (b); +} diff --git a/runtime/interrupt.c b/runtime/interrupt.c new file mode 100644 index 0000000..603f1cb --- /dev/null +++ b/runtime/interrupt.c @@ -0,0 +1,103 @@ +#include "interrupt.h" + +#ifdef SYNCHRONOUS_INTERRUPTS + +#include "trap.h" + +#ifdef USE_BIOS_TIMER +uint16 dos_memory_selector; +uint32 dos_interrupt_flag_addr; +#endif + + +void +interrupt_generate (unsigned priority) +{ + /* Calling this with a weird priority will just note that an interrupt + * should be checked for. + */ + if (priority >= 1 && priority <= 7) + cpu_state.interrupt_pending[priority] = TRUE; + + SET_INTERRUPT_STATUS (INTERRUPT_STATUS_CHANGED); +} + + +/* This function turns on the global "check for an interrupt" bit if + * any interrupts are currently pending. + */ +void +interrupt_note_if_present () +{ + int i; + + for (i = 1; i <= 7; i++) + if (cpu_state.interrupt_pending[i]) + { + SET_INTERRUPT_STATUS (INTERRUPT_STATUS_CHANGED); + break; + } +} + + +/* This function looks to see if any interrupts of high enough + * priority are pending, and if they are it processes the highest + * priority interrupt. It adjusts the machine state appropriately for + * the interrupt and returns the 68k PC at which execution should + * resume. The INTERRUPT_PC parameter specifies the address + * of the 68k instruction about to be executed when the interrupt + * was detected. + */ +syn68k_addr_t +interrupt_process_any_pending (syn68k_addr_t interrupt_pc) +{ + int priority; + syn68k_addr_t continuation_pc; + int cpu_priority; + + /* First note that the interrupt has been processed. The RTE + * will end up causing another check when it reloads the SR, so + * we shouldn't miss any interrupts. + */ + SET_INTERRUPT_STATUS (INTERRUPT_STATUS_UNCHANGED); + + /* Determine if any interrupt with high enough priority is pending. */ + cpu_priority = (cpu_state.sr >> 8) & 7; + if (cpu_state.interrupt_pending[7]) + priority = 7; /* Priority 7 interrupt cannot be masked. */ + else + { + for (priority = 6; priority > cpu_priority; priority--) + if (cpu_state.interrupt_pending[priority]) + break; + if (priority <= cpu_priority) + priority = -1; + } + +#ifdef USE_BIOS_TIMER + /* The BIOS has no way of specifying the interrupt priority when + * an interrupt comes in. Therefore if we don't see any other + * explicitly specified interrupts, we'll assume it must have been + * a timer interrupt and act accordingly. + */ + if (priority == -1 && cpu_priority < M68K_TIMER_PRIORITY) + priority = M68K_TIMER_PRIORITY; +#endif + + /* Did we find an interrupt of high enough priority? */ + if (priority != -1) + { + /* Process the interrupt. */ + cpu_state.interrupt_pending[priority] = 0; + continuation_pc = trap_direct (24 + priority, interrupt_pc, 0); + } + else + { + /* Nothing interesting after all, so just return unchanged. */ + continuation_pc = interrupt_pc; + } + + return continuation_pc; +} + +#endif /* SYNCHRONOUS_INTERRUPTS */ diff --git a/runtime/native.c b/runtime/native.c new file mode 100644 index 0000000..04d12e2 --- /dev/null +++ b/runtime/native.c @@ -0,0 +1,684 @@ +#include "syn68k_private.h" + +#ifdef GENERATE_NATIVE_CODE + +#include +#include +#include +#include "native.h" + +#ifdef DEBUG +#include +#endif + +static void host_uncache_reg (cache_info_t *c, int guest_reg); + + +/* This is just a default template to copy whenever you need to set up + * an empty cache. Never modify it (except when it's initially set up, + * of course). + */ +cache_info_t empty_cache_info; + + +void +native_code_init () +{ + int i; + + /* Set up an empty cache info struct that we can just copy whenever + * we need to set up an empty cache. + */ + memset (&empty_cache_info, 0, sizeof empty_cache_info); + for (i = 0; i < NUM_GUEST_REGS; i++) + { + guest_reg_status_t *r = &empty_cache_info.guest_reg_status[i]; + r->host_reg = NO_REG; + r->mapping = MAP_NATIVE; + r->dirty_without_offset_p = FALSE; + r->offset = 0; + } + for (i = 0; i < NUM_HOST_REGS; i++) + empty_cache_info.host_reg_to_guest_reg[i] = NO_REG; + empty_cache_info.cached_cc = M68K_CC_NONE; + empty_cache_info.dirty_cc = M68K_CC_NONE; + + host_native_code_init (); +} + + +#ifdef DEBUG +static void +verify_cache_consistency (const cache_info_t *c) +{ + int h, g; + + for (h = 0; h < NUM_HOST_REGS; h++) + { + g = c->host_reg_to_guest_reg[h]; + if (g != NO_REG) + if (c->guest_reg_status[g].host_reg != h) + { + fprintf (stderr, "Internal error! register/cc cache internally " + "inconsistent. Host reg %d claims to be in guest reg " + "%d, but guest reg %d claims to be cached in host reg " + "%d. Wedging.\n", + h, g, g, c->guest_reg_status[g].host_reg); + while (1) + ; + } + } + + for (g = 0; g < NUM_GUEST_REGS; g++) + { + h = c->guest_reg_status[g].host_reg; + if (h != NO_REG) + if (c->host_reg_to_guest_reg[h] != g) + { + fprintf (stderr, "Internal error! register/cc cache internally " + "inconsistent. Guest reg %d claims to be cached in " + "host reg %d, but host reg %d claims to be cacheing " + "guest reg %d. Wedging.\n", + g, h, h, c->host_reg_to_guest_reg[h]); + while (1) + ; + } + } + +#ifdef i386 + /* Make sure data registers only go into byte-addressable host regs. */ + for (g = 0; g < 8; g++) + { + h = c->guest_reg_status[g].host_reg; + if (h != NO_REG && !((1L << h) & REGSET_BYTE)) + { + fprintf (stderr, "Internal error! Put data register d%d into " + "a non-byte accessible host register (%d). Wedging.\n", + g, h); + while (1) + ; + } + } +#endif /* i386 */ +} +#endif /* DEBUG */ + + +int +host_setup_cached_reg (COMMON_ARGS, int guest_reg, + unsigned acceptable_mappings, + host_reg_mask_t acceptable_regs) +{ + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + + if (host_reg == NO_REG) + { + host_reg = host_alloc_reg (c, codep, cc_spill_if_changed, + acceptable_regs); + if (host_reg == NO_REG) + return NO_REG; + host_cache_reg (c, codep, cc_spill_if_changed, guest_reg, host_reg); + } + else if (!((1L << host_reg) & acceptable_regs)) + { + int new_reg; + + /* If they are demanding a register other than the one it's in, + * move it to an acceptable one. + */ + new_reg = host_alloc_reg (c, codep, cc_spill_if_changed, + acceptable_regs); + if (new_reg == NO_REG) + return NO_REG; + if (host_movel_reg_reg (COMMON_ARG_NAMES, host_reg, new_reg)) + return NO_REG; + + r->host_reg = new_reg; + c->host_reg_to_guest_reg[host_reg] = NO_REG; + c->host_reg_to_guest_reg[new_reg] = guest_reg; + host_reg = new_reg; + } + + /* If the register's mapping is already acceptable, then we're done. */ + if ((1L << r->mapping) & acceptable_mappings) + return host_reg; + + switch (r->mapping) + { + case MAP_NATIVE: + if (acceptable_mappings & MAP_OFFSET_MASK) + { + r->offset = 0; + r->mapping = MAP_OFFSET; + } +#ifdef LITTLEENDIAN + else if (acceptable_mappings & MAP_SWAP16_MASK) + { + host_swap16 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP16; + } + else if (acceptable_mappings & MAP_SWAP32_MASK) + { + host_swap32 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP32; + } +#endif /* LITTLEENDIAN */ + else + return NO_REG; + break; + case MAP_OFFSET: + if (acceptable_mappings + & (MAP_NATIVE_MASK +#ifdef LITTLEENDIAN + | MAP_SWAP16_MASK | MAP_SWAP32_MASK + )) +#endif /* LITTLEENDIAN */ + { + host_unoffset_reg (c, codep, cc_spill_if_changed, + guest_reg); + if (acceptable_mappings & MAP_NATIVE_MASK) + r->mapping = MAP_NATIVE; +#ifdef LITTLEENDIAN + else if (acceptable_mappings & MAP_SWAP16_MASK) + { + host_swap16 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP16; + } + else /* if (acceptable_mappings & MAP_SWAP32_MASK) */ + { + host_swap32 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP32; + } +#endif /* LITTLEENDIAN */ + } + else + return NO_REG; + break; +#ifdef LITTLEENDIAN + case MAP_SWAP16: + if (acceptable_mappings & MAP_NATIVE_MASK) + { + host_swap16 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_NATIVE; + } + else if (acceptable_mappings & MAP_OFFSET_MASK) + { + host_swap16 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->offset = 0; + r->mapping = MAP_OFFSET; + } + else if (acceptable_mappings & MAP_SWAP32_MASK) + { + host_swap16_to_32 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP32; + } + else + return NO_REG; + break; + case MAP_SWAP32: + if (acceptable_mappings & MAP_NATIVE_MASK) + { + host_swap32 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_NATIVE; + } + else if (acceptable_mappings & MAP_OFFSET_MASK) + { + host_swap32 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->offset = 0; + r->mapping = MAP_OFFSET; + } + else if (acceptable_mappings & MAP_SWAP16_MASK) + { + host_swap32_to_16 (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + r->mapping = MAP_SWAP16; + } + else + return NO_REG; + break; +#endif /* LITTLEENDIAN */ + default: + abort (); + } + + return host_reg; +} + + +#ifdef GCD_RANGE +#warning "Temp debugging stuff!" +const guest_code_descriptor_t *lowest_gcd = 0; +const guest_code_descriptor_t *highest_gcd = (guest_code_descriptor_t *)~0; +#endif + +/* Generates native code for the specified list of guest_code_descriptor_t's + * at the address pointed to by *code if possible. If successful, returns + * TRUE and updates *code to point just past the end of the newly generated + * code. Otherwise, returns FALSE and *code is unaffected. cc_to_compute + * should always be a subset of cc_live. + */ +BOOL +generate_native_code (const guest_code_descriptor_t *first_desc, + cache_info_t *cache_info, + const int32 *orig_operands, + host_code_t **code, + uint8 cc_input, uint8 cc_live, uint8 cc_to_compute, + BOOL ends_block_p, + Block *block, + const uint16 *m68k_code) +{ + const guest_code_descriptor_t *desc; + const reg_operand_info_t *op; + host_code_t *orig_code; + cache_info_t orig_cache_info; + guest_reg_status_t *r; + int i, guest_reg, host_reg, scratch_reg; + unsigned cc_dont_touch, cc_dont_touch_during_setup; + backpatch_t *orig_backpatch, *bp, *bp_next, *old_first_backpatch; + +#ifdef GCD_RANGE +#warning "Temp debugging stuff!" + if (first_desc < lowest_gcd || first_desc > highest_gcd) + return 0; +#endif + + /* Save these away in case we realize a mistake and we have to start over. */ + orig_code = *code; + orig_cache_info = *cache_info; + orig_backpatch = block->backpatch; + block->backpatch = NULL; + +#ifdef DEBUG + verify_cache_consistency (cache_info); +#endif + + /* Compute those cc bits we are not allowed to modify (without spilling). */ + cc_dont_touch = cc_live & cache_info->cached_cc & ~cc_to_compute; + cc_dont_touch_during_setup = ((cc_dont_touch | cc_input) + & cache_info->cached_cc); + + /* See if we find any match in the list of code descriptors, and fill + * in the operands array. + */ + for (desc = first_desc; desc != NULL; desc = desc->next) + { + int32 operands[MAX_BITFIELDS], canonical_operands[MAX_BITFIELDS]; + host_reg_mask_t locked_host_reg; + uint8 acceptable_mapping[NUM_GUEST_REGS]; + + /* If insufficient cc bits are cached, bail out quickly. */ + if ((cache_info->cached_cc & desc->cc_in) != desc->cc_in) + goto failure_no_copy; + + /* If this guy doesn't compute enough cc bits, bail out quickly. */ + if ((cc_to_compute & desc->cc_out) != cc_to_compute) + goto failure_no_copy; + + /* Create the "canonical" set of operands to use. Right now this + * means just adding 8 to address register operands. + */ + memcpy (canonical_operands, orig_operands, sizeof canonical_operands); + for (op = desc->reg_op_info; op->legitimate_p; op++) + { + if (op->add8_p) + { + int opnum = op->operand_num; + canonical_operands[opnum] = (orig_operands[opnum] & 7) + 8; + } + } + + /* Figure out exactly which mappings are acceptable for every + * guest register mentioned. If one of them has no acceptable + * mapping, bail out. + */ + memset (acceptable_mapping, MAP_ALL_MASK, sizeof acceptable_mapping); + for (op = desc->reg_op_info; op->legitimate_p; op++) + { + int guest_reg = canonical_operands[op->operand_num]; + assert (guest_reg >= 0 && guest_reg < NUM_GUEST_REGS); + acceptable_mapping[guest_reg] &= op->acceptable_mapping; + if (acceptable_mapping[guest_reg] == 0) + goto failure; + } + + /* Default to new operands being the same as the old operands. */ + memcpy (operands, canonical_operands, sizeof operands); + + locked_host_reg = (host_reg_mask_t)~ALLOCATABLE_REG_MASK; + +#if 0 +/* I think this is causing extra unoffsetting. */ + + /* If this instruction actually computes live cc bits, un-offset + * registers NOW. Otherwise, we might be forced to un-offset the + * registers between a compare and a conditional branch (for example), + * and the process of offsetting is less efficient if we can't + * step on cc bits. + */ + if (cc_live & cc_to_compute & desc->cc_out) + host_unoffset_regs (cache_info, code, cc_dont_touch); +#endif + + /* Cache registers as necessary and with the appropriate byte order. */ + for (op = desc->reg_op_info; op->legitimate_p; op++) + { + unsigned acceptable; + + guest_reg = canonical_operands[op->operand_num]; + assert (guest_reg >= 0 && guest_reg < NUM_GUEST_REGS); + r = &cache_info->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + + switch (op->request_type) + { + case REQUEST_REG: + acceptable = acceptable_mapping[guest_reg]; + + /* Allocate a register, if necessary. */ + if (host_reg == NO_REG) + { + host_reg = host_alloc_reg (cache_info, code, + cc_dont_touch_during_setup, + op->regset & ~locked_host_reg); + if (host_reg == NO_REG) + goto failure; + operands[op->operand_num] = host_reg; + host_cache_reg (cache_info, code, cc_dont_touch_during_setup, + guest_reg, host_reg); + } + + /* Map to an acceptable byte order or offset and + * particular register. + */ + if (!((1L << r->mapping) & acceptable) + || !(op->regset & (1L << host_reg))) + { + host_reg = host_setup_cached_reg (cache_info, code, + cc_dont_touch_during_setup, + M68K_CC_NONE, NO_REG, + guest_reg, acceptable, + (op->regset + & ~locked_host_reg)); + if (host_reg == NO_REG) + goto failure; + } + operands[op->operand_num] = host_reg; + locked_host_reg |= (1L << host_reg); + break; + case REQUEST_SPARE_REG: + /* Allocate a register, if necessary. */ + if (host_reg == NO_REG) + { + host_reg = host_alloc_reg (cache_info, code, + cc_dont_touch_during_setup, + op->regset & ~locked_host_reg); + /* If we failed to find one, bail out! */ + if (host_reg == NO_REG) + goto failure; + r->host_reg = host_reg; + r->mapping = MAP_NATIVE; /* default */ + r->dirty_without_offset_p = FALSE; + cache_info->host_reg_to_guest_reg[host_reg] = guest_reg; + } + locked_host_reg |= (1L << host_reg); + operands[op->operand_num] = host_reg; + break; + default: + abort (); + } + } + + /* If insufficient cc bits are cached at this point, we failed. */ + if ((cache_info->cached_cc & desc->cc_in) != desc->cc_in) + goto failure; + +#ifdef LITTLEENDIAN + /* If they are computing live cc bits, and we have swapped dirty + * registers lying around, let's swap them back now. That way we + * won't be forced to swap right before a conditional branch and + * throw away our hard-earned cc bits. This is a heuristic; it + * is not necessary for correct behavior. + */ + if (cc_live & cc_to_compute & desc->cc_out) + { + int hr; + + for (hr = NUM_HOST_REGS - 1; hr >= 0; hr--) + if (!(locked_host_reg & (1L << hr))) + { + int gr = cache_info->host_reg_to_guest_reg[hr]; + if (gr != NO_REG) + { + guest_reg_status_t *grs; + grs = &cache_info->guest_reg_status[gr]; + if (grs->dirty_without_offset_p) + { + if (grs->mapping == MAP_SWAP16) + { + host_swap16 (cache_info, code, + cc_dont_touch_during_setup, + M68K_CC_NONE, NO_REG, hr); + grs->mapping = MAP_NATIVE; + } + else if (grs->mapping == MAP_SWAP32 +#ifdef i386 + && !have_i486_p /* bswap doesn't touch ccs */ +#endif + ) + { + host_swap32 (cache_info, code, + cc_dont_touch_during_setup, + M68K_CC_NONE, NO_REG, hr); + grs->mapping = MAP_NATIVE; + } + } + } + } + } +#endif /* LITTLEENDIAN */ + + /* Allocate a scratch register if one was requested. */ + if (desc->scratch_reg != 0) + { + scratch_reg = host_alloc_reg (cache_info, code, + cc_dont_touch_during_setup, + desc->scratch_reg & ~locked_host_reg); + if (scratch_reg == NO_REG) + goto failure; + locked_host_reg |= 1L << scratch_reg; + } + else + scratch_reg = NO_REG; + + /* Crank out the native code. Note that we may pass in more + * arguments than the function is expecting because our function + * pointer can point to handlers that care about different numbers + * of operands; technically that's invalid C, but it will work on + * any reasonable machine. If any of the compiler functions + * return nonzero, we abort this compile and try something else. + */ + old_first_backpatch = NULL; + for (i = 0; i < MAX_COMPILE_FUNCS; i++) + { + const oporder_t *order; + void *ops[4]; + int j, (*f)(); + host_code_t *code_start; + int32 offset; + + f = desc->compile_func[i].func; + if (f == NULL) + break; + + /* Scramble the operands appropriately. */ + order = &desc->compile_func[i].order; + for (j = 0; j < MAX_M68K_OPERANDS; j++) + { + int n = order->operand_num[j]; + if (n >= 0) + ops[j] = (void *)operands[n]; + else + { + switch (n) + { + case USE_SCRATCH_REG: + assert (scratch_reg != NO_REG); + ops[j] = (void *)scratch_reg; + break; + case USE_BLOCK: + ops[j] = (void *)block; + break; + case USE_MINUS_ONE: + ops[j] = (void *)-1; + break; + case USE_ZERO: + ops[j] = (void *)0; + break; + case USE_0xFFFF: + ops[j] = (void *)0xFFFF; + break; + case USE_M68K_PC: + ops[j] = (void *)m68k_code; + break; + case USE_M68K_PC_PLUS_TWO: + ops[j] = (void *)m68k_code + 2; + break; + case USE_M68K_PC_PLUS_FOUR: + ops[j] = (void *)m68k_code + 4; + break; + default: + abort (); + } + } + } + + code_start = *code; + if ((*f)(cache_info, code, cc_dont_touch, cc_to_compute, + scratch_reg, ops[0], ops[1], ops[2], ops[3])) + goto failure; + + /* Check for new backpatches. If we found any, adjust their + * starting addresses to be relative to the start of all native + * code generated here, rather than just the native code generated + * by the last function call. + */ + offset = ((char *)code_start - (char *)orig_code) * 8; + for (bp = block->backpatch; bp != old_first_backpatch; bp = bp->next) + bp->offset_location += offset; + old_first_backpatch = block->backpatch; + } + + /* Update the cache_info to reflect the new cached register status. */ + if (!ends_block_p) /* Don't bother if the cache is dead anyway. */ + { + /* Update the cached register information. */ + for (op = desc->reg_op_info; op->legitimate_p; op++) + { + guest_reg = canonical_operands[op->operand_num]; + assert (guest_reg >= 0 && guest_reg < NUM_GUEST_REGS); + r = &cache_info->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + + switch (op->output_state) + { + case ROS_UNTOUCHED: + break; + case ROS_UNTOUCHED_DIRTY: + r->dirty_without_offset_p = TRUE; + break; + case ROS_INVALID: + host_uncache_reg (cache_info, guest_reg); + break; + case ROS_NATIVE: + case ROS_OFFSET: + case ROS_NATIVE_DIRTY: + case ROS_OFFSET_DIRTY: +#ifdef LITTLEENDIAN + case ROS_SWAP16: + case ROS_SWAP32: + case ROS_SWAP16_DIRTY: + case ROS_SWAP32_DIRTY: +#endif /* LITTLEENDIAN */ + r->mapping = (op->output_state & 3); + r->dirty_without_offset_p = !!(op->output_state + & ROS_DIRTY_BIT); + break; + default: + abort (); + } + } + } + +#ifdef DEBUG + verify_cache_consistency (cache_info); +#endif + + /* Prepend all new backpatches to the final list. */ + for (bp = block->backpatch; bp != NULL; bp = bp_next) + { + bp_next = bp->next; + bp->next = orig_backpatch; + orig_backpatch = bp; + } + block->backpatch = orig_backpatch; + + /* Success! */ + return TRUE; + + failure: + /* No luck with this description; reset everything and try the next. + * Note that we have to restore everything even if we have no + * descriptions left to try, since our caller needs to know what + * they should spill if they transition to synthetic code. + */ + *code = orig_code; + *cache_info = orig_cache_info; + failure_no_copy: + for (bp = block->backpatch; bp != NULL; bp = bp_next) + { + bp_next = bp->next; + free (bp); + } + block->backpatch = NULL; + } + + +#ifdef DEBUG + verify_cache_consistency (cache_info); +#endif + + /* We failed to generate the desired native code. */ + block->backpatch = orig_backpatch; + return FALSE; +} + + +static void +host_uncache_reg (cache_info_t *c, int guest_reg) +{ + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + if (host_reg != NO_REG) + { + c->host_reg_to_guest_reg[host_reg] = NO_REG; + r->host_reg = NO_REG; + } +} + +#endif /* GENERATE_NATIVE_CODE */ diff --git a/runtime/native/i386/Makefile.am b/runtime/native/i386/Makefile.am new file mode 100644 index 0000000..da3ea4b --- /dev/null +++ b/runtime/native/i386/Makefile.am @@ -0,0 +1,80 @@ +CC_FOR_BUILD=@CC_FOR_BUILD@ +CFLAGS_FOR_BUILD=@CFLAGS_FOR_BUILD@ + +LOCAL_INCLUDES = + +runtimedir = $(top_srcdir)/runtime + +LOCAL_INCLUDES += -I$(srcdir)/include \ + -I$(runtimedir)/include \ + -I$(runtimedir)/../include -I$(srcdir) -I. -I../../../include + +# these objects must be compiled with LIB_CC +MISC_OBJS = host-native.o host-xlate.o i386-aux.o xlate-aux.o + +# these objects must be compiled with CC +TEMPLATE_OBJS = main.o template.o process.o +ANALYZE_OBJS = analyze.o template.o +XLATE_OBJS = xlatemain.o xlatetable.o xlate.o + +host-native.o: host-native.c + $(CC) $(CFLAGS) -c $(LOCAL_INCLUDES) -o $(@F) $< +host-xlate.o: host-xlate.c + $(CC) $(CFLAGS) -c $(LOCAL_INCLUDES) -o $(@F) $< +i386-aux.o: i386-aux.c + $(CC) $(CFLAGS) -c $(LOCAL_INCLUDES) -o $(@F) $< +xlate-aux.o: xlate-aux.c + $(CC) $(CFLAGS) -c $(LOCAL_INCLUDES) -o $(@F) $< + +xlatemain.o: xlatemain.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $(LOCAL_INCLUDES) -o $(@F) $< +xlatetable.o: xlatetable.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $(LOCAL_INCLUDES) -o $(@F) $< +xlate.o: xlate.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $(LOCAL_INCLUDES) -o $(@F) $< + +%.o:%.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $(LOCAL_INCLUDES) -o $(@F) $< + +## ifneq ($(NO_NATIVE), TRUE) +subdir-stmp: $(MISC_OBJS) src-stmp obj-stmp + echo $(MISC_OBJS) \ + `ls _*.o` > subdir-stmp +## else +## subdir-stmp: +## > subdir-stmp +## endif + +obj-stmp: + k=1; \ + for i in i386_stubs/*; do \ + $(CC) $(CFLAGS) $(LOCAL_INCLUDES) $$i -c -o _i386_$$k.o;\ + k=`expr $$k + 1`; \ + echo done processing $$i into _i386_$$k.o; \ + done + touch obj-stmp + +src-stmp: template + mkdir -p i386_stubs + ./template "$(MAKE)" + $(RM) analyze + touch src-stmp + +template: $(TEMPLATE_OBJS) analyze.c + $(CC_FOR_BUILD) $(TEMPLATE_OBJS) -o template + +host-xlate.c host-xlate.h: xlate + ./xlate + +xlate: $(XLATE_OBJS) + $(CC_FOR_BUILD) $(XLATE_OBJS) -o xlate + +analyze: $(ANALYZE_OBJS) + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(ANALYZE_OBJS) -o analyze + +analyze.o: asmdata.h template.h + + +# Invoked only from ./template +nextobj: +#doesn't do anything diff --git a/runtime/native/i386/analyze.c b/runtime/native/i386/analyze.c new file mode 100644 index 0000000..79bbfb3 --- /dev/null +++ b/runtime/native/i386/analyze.c @@ -0,0 +1,844 @@ +#include "template.h" +#include "asmdata.h" +#include "native.h" +#include "syn68k_private.h" +#include +#include +#include +#include + + +typedef struct +{ + int offset; /* Offset in bits from the start. */ + int length; /* Number of bits long this field is. */ + int operand_num; /* Which operand gets plugged in here. */ +} oploc_t; + + +static const uint8 *compute_bits (int size, oploc_t *loc, int *loc_entries, + const char legal_p[NUM_SAMPLES]); +static void output_bits (const oploc_t *loc, int loc_entries, + const uint8 *bits, int size, const char *extra, + int indent); +static boolean_t generate_code (const char legal_p[NUM_SAMPLES], + const char *postamble, + boolean_t output_p, int indent); +static void code_for_bits (const char *b, int start, int length, + int indent, int offset, const oploc_t *loc); + + +int +main (int argc, char *argv[]) +{ + char legal_p[NUM_SAMPLES]; + + memset (legal_p, TRUE, sizeof legal_p); + + /* beginning of ctm hack */ + + /* Starting with binutils-2.16.90.0.3, instructions like + + lea 0x0(%eax),%eax + + began compiling into the exact same byte sequence as + + lea (%eax),%eax + + That causes us to see a problem where one doesn't exist. If the code + for handling a 0 offset were working properly, there would be no need + for this hack, but it's not, so we simply go through and invalidate + all places where we have a 0 as the offset. This is not guaranteed to + work, but it does in practice and I'm not going to spend the time needed + to get proper handling of 0 offsets. + + */ + + { + int op; + + for (op = 0; op < NUM_OPERANDS; op++) + { + if (TEMPLATE.operand[op].type == CONSTANT && + strcmp(TEMPLATE.operand_name[op], "offset") == 0) + { + int s; + + for (s = 0; s < NUM_SAMPLES; s++) + { + if (value[s][op] == 0) + legal_p[s] = FALSE; + } + } + } + } + + /* end of ctm hack */ + + if (!generate_code (legal_p, "", TRUE, 2)) + return EXIT_FAILURE; + + return EXIT_SUCCESS; +} + + +#define SAMPLE_SIZE(n) (sample[n].end - sample[n].start) + + +/* Returns TRUE iff some legal samples have values for the specified + * operand in the given range and some do not. + */ +static boolean_t +operand_variety_p (int operand_num, long val_low, long val_high, + const char legal_p[NUM_SAMPLES]) +{ + boolean_t has_p, has_not_p; + int s; + + has_p = has_not_p = FALSE; + for (s = 0; s < NUM_SAMPLES; s++) + if (legal_p[s]) + { + if (value[s][operand_num] >= val_low + && value[s][operand_num] <= val_high) + has_p = TRUE; + else + has_not_p = TRUE; + + if (has_p && has_not_p) + return TRUE; + } + + return FALSE; +} + + +static boolean_t +special_operand_p (int operand_num, long val_low, long val_high, + const char legal_p[NUM_SAMPLES]) +{ + int s; + boolean_t found_challenger_p; + + found_challenger_p = FALSE; + for (s = 0; s < NUM_SAMPLES; s++) + if (legal_p[s] + && value[s][operand_num] >= val_low + && value[s][operand_num] <= val_high) + { + int s2, op; + + /* Now see if every other sample differing _only_ in this value + * is of a different size. + */ + for (s2 = s + 1; s2 < NUM_SAMPLES; s2++) + { + if (!legal_p[s2]) + continue; + + /* See if s2 differs in operand_num but nothing else. */ + for (op = 0; op < NUM_OPERANDS; op++) + { + if (op != operand_num) + { + if (value[s2][op] != value[s][op]) + break; + } + else + { + if (value[s2][op] >= val_low + && value[s2][op] <= val_high) + break; + } + } + + if (op >= NUM_OPERANDS) + { + /* Yep, all other operands are the same and the operand is + * outside the specified range. If the size didn't + * change, this operand isn't the cause of any special case. + */ + if (SAMPLE_SIZE (s2) == SAMPLE_SIZE (s)) + { +#if 0 + printf ("operand %d, (%ld, %ld) disqualified by %d:%d\n", + operand_num, val_low, val_high, s, s2); +#endif + return FALSE; + } + found_challenger_p = TRUE; + } + } + } + + /* If all or none of the legal samples have this attribute, then there's + * no reason to call it special. + */ + return found_challenger_p; +} + + +static void +filter (const char *old_legal_p, char *new_legal_p, + int operand_num, long val_low, long val_high, boolean_t match_p) +{ + int s; + + memset (new_legal_p, 0, NUM_SAMPLES * sizeof new_legal_p[0]); + for (s = 0; s < NUM_SAMPLES; s++) + if (old_legal_p[s] + && (value[s][operand_num] >= val_low + && value[s][operand_num] <= val_high) == match_p) + new_legal_p[s] = TRUE; +} + + +static void +spaces (int s) +{ + while (s-- > 0) + putchar (' '); +} + + +static boolean_t +generate_code (const char legal_p[NUM_SAMPLES], const char *postamble, + boolean_t output_p, int indent) +{ + int i, size; + boolean_t found_p, problem_p; + + size = 0; + + /* First see if every legal entry is the same size. */ + for (i = 0, found_p = problem_p = FALSE; i < NUM_SAMPLES; i++) + if (legal_p[i]) + { + int new_size; + new_size = SAMPLE_SIZE (i); + if (new_size != size) + { + if (found_p) + problem_p = TRUE; + else + { + size = new_size; + found_p = TRUE; + } + } + } + + /* If they are all the same size, try to generate code for it. */ + if (!problem_p) + { + oploc_t *loc; + int loc_entries; + const uint8 *example_bits; + + loc = (oploc_t *) alloca (size * 8 * sizeof loc[0]); /* 1 per bit. */ + example_bits = compute_bits (size, loc, &loc_entries, legal_p); + if (example_bits == NULL) + problem_p = TRUE; + else if (output_p) + { + output_bits (loc, loc_entries, example_bits, size, postamble, + indent); + } + } + + /* problem_p may have changed, so check it again. */ + if (problem_p) + { + char new_legal_p[NUM_SAMPLES]; + int op; + + /* For some reason we are unable to find a rule that generates all + * of the samples marked "legal". Therefore we need to figure out + * what is causing the special cases. There are three reasons for + * special cases, which may occur in conjunction with one another: + * + * (1) An immediate constant may be in the range -128 to 127. + * Most of the time this value can be stored as a sign-extended + * 8-bit constant. + * (2) An immediate constant may be the value 1. + * Shift and rotate instructions special case shifting by one bit. + * (3) An opcode uses %al/%ax/%eax in some way. + * Many opcodes special case this register and have a compact + * special version of the opcode that implicitly references it. + */ + + for (op = 0; op < NUM_OPERANDS; op++) + { + if (TEMPLATE.operand[op].type == CONSTANT + && special_operand_p (op, 1, 1, legal_p)) + { + if (output_p) + { + spaces (indent); + printf ("if (%s == 1) {\n", TEMPLATE.operand_name[op]); + } + filter (legal_p, new_legal_p, op, 1, 1, TRUE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, 1, 1, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}"); + } + break; + } + else if (TEMPLATE.operand[op].type == CONSTANT + && special_operand_p (op, 0, 0, legal_p)) + { + if (output_p) + { + spaces (indent); + printf ("if (%s == 0) {\n", TEMPLATE.operand_name[op]); + } + filter (legal_p, new_legal_p, op, 0, 0, TRUE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, 0, 0, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}"); + } + break; + } + else if (TEMPLATE.operand[op].type == CONSTANT + && TEMPLATE.operand[op].size != SIZE_8 + && special_operand_p (op, -128, 127, legal_p)) + { + if (output_p) + { + spaces (indent); + printf ("if ((unsigned long)(%s + 128) < 256) {\n", + TEMPLATE.operand_name[op]); + } + filter (legal_p, new_legal_p, op, -128, 127, TRUE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, -128, 127, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}"); + } + break; + } + else if (TEMPLATE.operand[op].type == REGISTER + && special_operand_p (op, 0, 0, legal_p)) + { + if (output_p) + { + spaces (indent); + printf ("if (%s == 0) {\n", TEMPLATE.operand_name[op]); + } + filter (legal_p, new_legal_p, op, 0, 0, TRUE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, 0, 0, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}\n"); + } + break; + } + } + + if (op >= NUM_OPERANDS) + { + /* Wow, nothing worked. This happens sometimes when invoking + * one special case disables another. The workaround for this + * is to actually try special casing (even though it didn't look + * necessary) and see if that works. + */ + for (op = 0; op < NUM_OPERANDS; op++) + { + if (TEMPLATE.operand[op].type == REGISTER + && operand_variety_p (op, 0, 0, legal_p)) + { + boolean_t good; + + /* Test out and see if special casing register %al/%ax/%eax + * solves the problem. + */ + filter (legal_p, new_legal_p, op, 0, 0, TRUE); + good = generate_code (new_legal_p, postamble, FALSE, indent); + filter (legal_p, new_legal_p, op, 0, 0, FALSE); + good &= generate_code (new_legal_p, postamble, FALSE, + indent); + + /* If it does, then actually go ahead and crank it out. */ + if (good) + { + filter (legal_p, new_legal_p, op, 0, 0, TRUE); + if (output_p) + { + spaces (indent); + printf ("if (%s == 0) {\n", + TEMPLATE.operand_name[op]); + } + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, 0, 0, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}"); + } + break; + } + } + else if (TEMPLATE.operand[op].type == CONSTANT + && operand_variety_p (op, -128, 127, legal_p)) + { + boolean_t good; + + /* Test out and see if special casing register %al/%ax/%eax + * solves the problem. + */ + filter (legal_p, new_legal_p, op, -128, 127, TRUE); + good = generate_code (new_legal_p, postamble, FALSE, + indent); + filter (legal_p, new_legal_p, op, -128, 127, FALSE); + good &= generate_code (new_legal_p, postamble, FALSE, + indent); + + /* If it does, then actually go ahead and crank it out. */ + if (good) + { + filter (legal_p, new_legal_p, op, -128, 127, TRUE); + if (output_p) + { + spaces (indent); + printf ("if ((unsigned long)(%s + 128) < 256) {\n", + TEMPLATE.operand_name[op]); + } + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("} else {"); + } + filter (legal_p, new_legal_p, op, -128, 127, FALSE); + if (!generate_code (new_legal_p, postamble, output_p, + indent + 2)) + return FALSE; + if (output_p) + { + spaces (indent); + puts ("}"); + } + break; + } + } + } + + /* If even that failed, complain. */ + if (op >= NUM_OPERANDS) + { + if (output_p) + fprintf (stderr, "Unable to derive rules for %s!\n", + TEMPLATE.macro_name); + return FALSE; + } + } + } + + return TRUE; +} + + +static void +output_bits (const oploc_t *loc, int loc_entries, const uint8 *bits, + int size, const char *extra, int indent) +{ + int ix, bit, blen, len, offset; + char b[1024], *n; + + /* Fill in a string with all of the literal bits and operands characters. */ + blen = size * 8; + n = b; + for (bit = 0; bit < blen; bit++) + { + int op; + + for (op = 0; op < loc_entries; op++) + if (loc[op].offset <= bit + && (loc[op].offset + loc[op].length > bit)) + { + if (loc[op].operand_num >= NUM_OPERANDS) + abort (); + else + *n++ = 'a' + op; + break; + } + + /* If we found no operand that overlaps these bits, + * then output the literal bit we know about. + */ + if (op >= loc_entries) + *n++ = ((bits[bit / 8] & (1 << (bit & 7))) ? '1' : '0'); + } + *n = '\0'; + + offset = 0; + for (ix = 0; ix < blen; ix += len) + { + int try; + +#ifdef QUADALIGN + len = MIN (32, HOST_CODE_T_BITS); +#else /* !QUADALIGN */ + len = 32; +#endif /* !QUADALIGN */ + len = MIN (blen - ix, len); + + /* Make sure it's a power of 2. */ + if (len & (len - 1)) + { + if (len > 16) + len = 16; + else if (len > 8) + len = 8; + } + + /* Choose the largest sequence we can that doesn't split up + * an operand field. + */ + try = len; + while (try >= 8 + && b[ix + try - 1] == b[ix + try] + && b[ix + try] != '0' && b[ix + try] != '1') + try /= 2; + + /* If we are forced to split an operand anyway, might as well + * crank out as many bits as possible. Therefore we'll only + * override len if we found a size without a split. + */ + if (b[ix + try - 1] != b[ix + try] + || b[ix + try] == '0' || b[ix + try] == '1') + len = try; + + assert (len % 8 == 0); + + /* Crank out the code for this piece. */ + code_for_bits (b, ix, len, indent, offset, loc); + offset += len / 8; + } + + if (offset != 0) + { + spaces (indent); + if (offset % sizeof (host_code_t) == 0) + printf ("code += %d;\n", (int) (offset / sizeof (host_code_t))); + else + printf ("code = (host_code_t *)((char *)code + %d);\n", offset); + } +} + + +/* Given a string like "10000101aaaa10100" and the character 'a', this + * returns the index into the string where the first 'a' is found, and + * the number of contiguous 'a's at that index. Returns TRUE if such + * a sequence is found, else FALSE. + */ +static int +find_field (const char *string, int c, int *first, int *length) +{ + const char *s; + int l; + + for (s = string; *s != '\0' && *s != c; s++) + ; + if (*s == '\0') + return FALSE; + *first = s - string; + for (l = 1; s[l] == c; l++) + ; + *length = l; + + return TRUE; +} + + +/* This generates a sequence of cstmts to create the code for a given + * bit string and set of operands. + */ +static void +code_for_bits (const char *b, int start, int length, int indent, + int offset, const oploc_t *loc) +{ + uint32 literal_bits; + int n, end; + uint32 length_mask; + int first_done_p; + + /* Sanity check. */ + assert (length >= HOST_CODE_T_BITS && length % HOST_CODE_T_BITS == 0 + && length > 0 && length <= 32); + + /* Construct a mask that indicates which bits will actually be output. */ + length_mask = 0xFFFFFFFF >> (32 - length); + + /* Compute the literal bits (1's and 0's) and put them in a mask. + * All non-literal bits will be treated as zeros. + */ + for (n = 0, literal_bits = 0; n < length; n++) + { +#ifndef LITTLEENDIAN + literal_bits = (literal_bits << 1) | (b[start + n] == '1'); +#else /* LITTLEENDIAN */ + literal_bits |= (uint32) (b[start + n] == '1') << n; +#endif /* LITTLEENDIAN */ + } + + /* Output the assignment operator. */ + spaces (indent); + if (length == HOST_CODE_T_BITS) + { + if (offset % sizeof (host_code_t) == 0) + printf ("code[%d] =", (int) (offset / sizeof (host_code_t))); + else + printf ("*(host_code_t *)(%scode + %d) =", + (sizeof (host_code_t) == 1) ? "" : "(char *)", offset); + } + else + { + if (offset == 0) + printf ("*(uint%d *)code =", length); + else + printf ("*(uint%d *)(%scode + %d) =", length, + (sizeof (host_code_t) == 1) ? "" : "(char *)", offset); + } + + /* Output the base constant. */ + if (literal_bits != 0) + { + printf (" 0x%lX", (unsigned long) literal_bits); + first_done_p = TRUE; + } + else + { + putchar (' '); + first_done_p = FALSE; + } + + /* Loop over all of the operands. */ + end = start + length; + for (n = 0; n < 26; n++) + { + int field_start, field_length, field_end; + + /* See if this operand overlaps the bits we are cranking out. */ + if (find_field (b, n + 'a', &field_start, &field_length) + && field_start + field_length > start + && field_start < start + length) + { + uint32 mask; + int shift; + + field_end = field_start + field_length; + if (first_done_p) + fputs (" | ", stdout); + + /* Compute a mask for the field of interest. */ + mask = 0xFFFFFFFF >> (32 - field_length); + +#ifndef LITTLEENDIAN + shift = end - field_end; +#else /* LITTLEENDIAN */ + shift = field_start - start; +#endif /* LITTLEENDIAN */ + + if (shift != 0) + fputs ("(", stdout); + + /* Mask out all but the relevant bits if necessary. There's + * no need to mask if we are shifting the value so far that + * the masked bits are shifted out of the resulting value + * anyway. + */ + if ((shift >= 0 && ((~mask << shift) & length_mask) != 0) + || (shift < 0 && ((~mask >> -shift) & length_mask) != 0)) + { + assert (TEMPLATE.operand_name[loc[n].operand_num] != NULL); + printf ("(%s & 0x%lX)", + TEMPLATE.operand_name[loc[n].operand_num], + (unsigned long) mask); + } + else + { + fputs (TEMPLATE.operand_name[loc[n].operand_num], stdout); + } + + /* Shift the bits to where they belong (computed above). */ + if (shift != 0) + { + if (shift > 0) + printf (" << %d)", shift); + else + printf (" >> %d)", -shift); + } + + first_done_p = TRUE; + } + } + + /* If all bits are zero, actually output a 0. */ + if (literal_bits == 0 && !first_done_p) + fputs ("0", stdout); + + puts (";"); +} + + +static const uint8 * +compute_bits (int size, oploc_t *loc, int *loc_entries, + const char legal_p[NUM_SAMPLES]) +{ + uint8 *fixed; + const uint8 *bits; + int s, bit, op, num_bits, entries; + + /* Set up defaults. */ + *loc_entries = entries = 0; + + /* Allocate a bit array for which bits change as the operands change. */ + fixed = (uint8 *) alloca (size); + memset (fixed, ~0, size); + + /* Identify which bits change and which remain fixed. */ + bits = NULL; + for (s = 0; s < NUM_SAMPLES; s++) + if (legal_p[s]) + { + int byte; + if (bits == NULL) + bits = sample[s].start; + else + for (byte = 0; byte < size; byte++) + fixed[byte] &= ~(bits[byte] ^ sample[s].start[byte]); + } + + /* If we found nothing of this size, return NULL. */ + if (bits == NULL) + return NULL; + + /* Now we must fill in the changed bits with the operands we've got. */ + for (bit = 0, num_bits = size * 8; bit < num_bits; ) + { + int most_consecutive, best_op; + + /* Find the next non-fixed bit. */ + for (; bit < num_bits && (fixed[bit / 8] & (1 << (bit & 7))); bit++) + ; + /* Find an operand whose values account for the most consecutive + * bits starting at this offset. + */ + if (bit >= num_bits) + break; + + most_consecutive = best_op = 0; + for (op = 0; op < NUM_OPERANDS; op++) + { + int consec = 40; + for (s = 0; consec > 0 && s < NUM_SAMPLES; s++) + { + int c; + + if (!legal_p[s]) + continue; + + for (c = 0; c < 32 && bit + c < num_bits; c++) + if ((((sample[s].start[(bit + c) / 8] >> ((bit + c) & 7)) & 1) + != ((value[s][op] >> c) & 1)) + || (fixed[(bit + c) / 8] & (1 << ((bit + c) & 7)))) + break; + if (c < consec) + consec = c; + } + + if (consec <= 32 && consec > most_consecutive) + { + most_consecutive = consec; + best_op = op; + } + } + + if (most_consecutive == 0) + { +#if 0 + fprintf (stderr, "Unable to account for bit %d of %s " + "(size == %d)!\n", + bit, TEMPLATE.macro_name, size); + most_consecutive = 1; /* Keep going. */ + best_op = 1000; +#else + return NULL; +#endif + } + + assert (best_op < NUM_OPERANDS); + + loc[entries].offset = bit; + loc[entries].length = most_consecutive; + loc[entries].operand_num = best_op; + entries++; + bit += most_consecutive; + } + + *loc_entries = entries; + return bits; +} diff --git a/runtime/native/i386/host-native.c b/runtime/native/i386/host-native.c new file mode 100644 index 0000000..d6d0dcd --- /dev/null +++ b/runtime/native/i386/host-native.c @@ -0,0 +1,617 @@ +#include "syn68k_private.h" + +#ifdef GENERATE_NATIVE_CODE + +#include "native.h" +#include "i386-isa.h" +#include "interrupt.h" +#include +#include +#include + +#ifndef offsetof +#define offsetof(t, f) ((int32) &(((t *) 0)->f)) +#endif + + +/* Set to TRUE if we are on an i486 or better, which means we can use + * the bswap instruction. + */ +uint8 have_i486_p; + + +/* This stub will get copied to the native code entry point for a block, + * and then backpatched if it's actually used. + */ +host_code_t native_to_synth_stub[] = +{ + 0xBE, 0x78, 0x56, 0x34, 0x12, /* movl $0x12345678,%esi */ + 0xE9, 0x79, 0x56, 0x34, 0x12, /* jmp $0x12345679 */ +}; + + +void +host_backpatch_native_to_synth_stub (Block *b, host_code_t *stub, + uint32 *synth_opcode) +{ + assert (!memcmp (stub, native_to_synth_stub, NATIVE_TO_SYNTH_STUB_BYTES)); + assert (sizeof native_to_synth_stub == NATIVE_TO_SYNTH_STUB_BYTES); + + /* Fill in the new synthetic PC so it points to the operands of + * the first synthetic instruction. + */ + *(uint32 *)(stub + 1) = ((uint32) synth_opcode) + 4; + + /* Fill in the jmp's relative offset so that it jumps to the + * handler code for this synthetic opcode. The branch is relative + * to the _end_ of the bytes for the jmp instruction. + */ + *(uint32 *)(stub + 6) = *synth_opcode - (((uint32) stub) + 10); +} + + +#ifdef SYNCHRONOUS_INTERRUPTS + +/* These stubs use comparisons with %ebp as a hack. Since our + * interrupt changed flag is either -1 or LONG_MAX, as long as + * %ebp is somewhere in between it will work. This makes the code + * slightly more compact and faster (since the alternative is to use a + * constant zero, and instructions with two constants take longer to + * decode). We verify below that INTERRUPT_STATUS_CHANGED < %ebp and + * INTERRUPT_STATUS_UNCHANGED >= %ebp. We overwrite some of the + * constant operands when we backpatch the stub. + */ +#ifdef USE_BIOS_TIMER +host_code_t check_interrupt_stub[] = +{ + 0x64, 0x39, 0x2D, 0x78, 0x56, 0x34, 0x12, /* cmpl %ebp,%fs:0x12345678 */ + 0xB8, 0x78, 0x56, 0x34, 0x12, /* movl $my_m68k_pc,%eax */ + 0x0F, 0x88, 0x78, 0x56, 0x34, 0x12, /* js host_interrupt_... */ +}; +#else /* !USE_BIOS_TIMER */ +host_code_t check_interrupt_stub[] = +{ +#ifdef __CHECKER__ + 0x83, 0x3D, 0x78, 0x56, 0x34, 0x12, 0x00, /* cmpl $0,0x12345678 */ + 0xB8, 0x78, 0x56, 0x34, 0x12, /* movl $my_m68k_pc,%eax */ + 0x0F, 0x88, 0x78, 0x56, 0x34, 0x12, /* js host_interrupt_... */ +#else /* !__CHECKER__ */ + /* The "0x99" here is really "0xNN" and gets replaced below. */ + 0x39, 0x6D, 0x99, /* cmpl %ebp,0xNN(%ebp) */ + 0xB8, 0x78, 0x56, 0x34, 0x12, /* movl $my_m68k_pc,%eax */ + 0x0F, 0x88, 0x78, 0x56, 0x34, 0x12, /* js host_interrupt_... */ +#endif /* !__CHECKER__ */ +}; +#endif /* !USE_BIOS_TIMER */ + + +/* This is just here to fool the C compiler. */ +extern host_code_t host_interrupt_status_changed[] + asm ("_host_interrupt_status_changed"); + +/* This is the stub called from the emulator when the interrupt status + * changes. %eax contains the m68k PC of the instruction about to be + * executed when the interrupt was detected. This stub calls + * interrupt_process_any_pending() to handle the interrupt; that function + * returns the m68k pc at which execution should resume. Note that we + * don't recursively enter the emulator here, we just adjust the m68k PC + * and jump back into the fray. + */ +asm (".text\n\t" + ".align 4\n" + "_host_interrupt_status_changed:\n\t" +#ifdef USE_BIOS_TIMER + "pushl %fs\n\t" +#endif + "pushl %eax\n\t" + "call _interrupt_process_any_pending\n\t" + "pushl %eax\n\t" + "call _hash_lookup_code_and_create_if_needed\n\t" + "movl %eax,%esi\n\t" + "addl $8,%esp\n\t" + "movl (%eax),%eax\n\t" + "addl $4,%esi\n\t" +#ifdef USE_BIOS_TIMER + "popl %fs\n\t" +#endif + "jmp *%eax"); + + +void +host_backpatch_check_interrupt_stub (Block *b, host_code_t *stub) +{ + assert (!memcmp (stub, check_interrupt_stub, CHECK_INTERRUPT_STUB_BYTES)); + assert (sizeof check_interrupt_stub == CHECK_INTERRUPT_STUB_BYTES); + + /* No need to replace the flag's address; this part of + * check_interrupt_stub[] was already patched in host_native_code_init. + */ + + /* Move this block's m68k start address into %eax. */ + *(uint32 *)(stub + CHECK_INTERRUPT_STUB_BYTES - 10) = b->m68k_start_address; + + /* Fill in the conditional branch's relative offset to cause it + * to branch to the interrupt handler. + */ + *(uint32 *)(stub + CHECK_INTERRUPT_STUB_BYTES - 4) + = (((int32) host_interrupt_status_changed) + - (((int32) stub) + CHECK_INTERRUPT_STUB_BYTES)); +} +#endif /* SYNCHRONOUS_INTERRUPTS */ + + +void +host_native_code_init () +{ + uint32 scratch1, scratch2; + +#ifdef __GNUC__ + uint8 i486_p; + + /* Adapted from _Assembly Language: For Real Programmers Only_ p. 561. + * This code determines if we are on an i486 or higher. We care because + * those chips have the "bswap" instruction for byte swapping. + */ + asm ("pushfl\n\t" + "pushfl\n\t" + "popl %0\n\t" + "xorl $0x40000,%0\n\t" + "pushl %0\n\t" + "popfl\n\t" + "pushfl\n\t" + "popl %1\n\t" + "cmpl %0,%1\n\t" + "jnz 1f\n\t" + "xorl $0x40000,%0\n\t" + "pushl %0\n\t" + "popfl\n\t" + "pushfl\n\t" + "popl %1\n\t" + "cmpl %0,%1\n" + "1:\n\t" + "setz %b2\n\t" + "popfl" + : "=r" (scratch1), "=r" (scratch2), "=abcd" (i486_p)); + + have_i486_p = i486_p; +#else /* !__GNUC__ */ +#warning "We don't know if we're on an i486!" + have_i486_p = FALSE; /* Assume the worst. */ +#endif /* !__GNUC__ */ + +#ifdef SYNCHRONOUS_INTERRUPTS +#ifndef __CHECKER__ + /* This is for the %ebp hack we use in the check_interrupt stub. */ + assert (INTERRUPT_STATUS_CHANGED < ((int32) &cpu_state) + && INTERRUPT_STATUS_UNCHANGED >= ((int32) &cpu_state)); +#endif + +#ifdef USE_BIOS_TIMER + *(uint32 *)(&check_interrupt_stub[3]) = dos_interrupt_flag_addr; +#else /* !USE_BIOS_TIMER */ + assert (offsetof (CPUState, interrupt_status_changed) < 128); +# ifdef __CHECKER__ + *(void **)(&check_interrupt_stub[2]) = &cpu_state.interrupt_status_changed; +# else /* !__CHECKER__ */ + check_interrupt_stub[2] = offsetof (CPUState, interrupt_status_changed); +# endif /* !__CHECKER__ */ +#endif /* !USE_BIOS_TIMER */ + +#endif /* SYNCHRONOUS_INTERRUPTS */ +} + + +int +host_alloc_reg (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed, + host_reg_mask_t legal) +{ + static int last_smashed = 0; /* Explained below. */ + guest_reg_status_t *r; + int i, reg; + + /* First do a quick check for a totally free register. We want + * to try the higher registers first, because they are less in demand, + * and if this guy actually wants one, let's give it to him. + */ + for (i = NUM_HOST_REGS - 1; i >= 0; i--) + if (legal & (1L << i)) + { + if (c->host_reg_to_guest_reg[i] == NO_REG) + return i; + } + + /* Nope, didn't find any empty ones! Look for a non-dirty one. If we + * don't find that, take anything we can get. We keep a static variable + * around to keep track of the last cached register we took from someone. + * This way we can cycle through instead of continually hammering + * one recently used register. + */ + reg = NO_REG; + for (i = last_smashed - 1; i >= 0; i--) + if (legal & (1L << i)) + { + r = &c->guest_reg_status[c->host_reg_to_guest_reg[i]]; + if (!r->dirty_without_offset_p + && (r->mapping != MAP_OFFSET || r->offset == 0)) + goto found_it; + if (reg == NO_REG) + reg = i; + } + for (i = NUM_HOST_REGS - 1; i >= last_smashed; i--) + if (legal & (1L << i)) + { + r = &c->guest_reg_status[c->host_reg_to_guest_reg[i]]; + if (!r->dirty_without_offset_p + && (r->mapping != MAP_OFFSET || r->offset == 0)) + goto found_it; + if (reg == NO_REG) + reg = i; + } + + if (reg == NO_REG) + return NO_REG; + i = reg; + + found_it: + last_smashed = i; + host_spill_reg (c, codep, cc_spill_if_changed, c->host_reg_to_guest_reg[i]); + return i; +} + + +int +host_movel_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg) +{ + return i386_movl_reg_reg (COMMON_ARG_NAMES, src_reg, dst_reg); +} + + +void +host_cache_reg (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed, int guest_reg, + int host_reg) +{ + guest_reg_status_t *r; + + /* Load up the register. */ + /* NOTE: you cannot use %ebp as the base without any constant offset + * on the i386. That is a special "escape" which means something else. + * You must use an explicit 0 offset if that's what you want. + */ + i386_movl_indoff_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, + offsetof (CPUState, regs[guest_reg].ul.n), + REG_EBP, host_reg); + + /* Set up the guest reg info. */ + r = &c->guest_reg_status[guest_reg]; + r->host_reg = host_reg; + r->mapping = MAP_NATIVE; + r->dirty_without_offset_p = FALSE; + + /* Keep track of what this host register is doing. */ + c->host_reg_to_guest_reg[host_reg] = guest_reg; +} + + +void +host_unoffset_reg (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed, + int guest_reg) +{ + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + if (host_reg != NO_REG && r->mapping == MAP_OFFSET) + { + int32 offset = r->offset; + + if (offset != 0) + { + if (!cc_spill_if_changed) + { + if (offset == 1) + i386_incl_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, host_reg); + else if (offset == -1) + i386_decl_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, host_reg); + else if (offset < 0) /* Same speed but more readable. */ + i386_subl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, -offset, host_reg); + else + i386_addl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, offset, host_reg); + } + else /* We can offset without spilling any cc's with leal. */ + { + i386_leal_indoff (c, codep, M68K_CC_NONE, M68K_CC_NONE, + NO_REG, offset, host_reg, host_reg); + } + r->dirty_without_offset_p = TRUE; + } + r->mapping = MAP_NATIVE; + } +} + + +void +host_unoffset_regs (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed) +{ + int i; + for (i = NUM_GUEST_REGS - 1; i >= 0; i--) + host_unoffset_reg (c, codep, cc_spill_if_changed, i); +} + + +/* This canonicalizes all registers so they are ready to simply + * be written out to memory. + */ +inline void +make_dirty_regs_native (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed) +{ + int i; + + for (i = NUM_GUEST_REGS - 1; i >= 0; i--) + { + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[i]; + host_reg = r->host_reg; + if (host_reg != NO_REG) + { + switch (r->mapping) + { + case MAP_NATIVE: + break; + case MAP_OFFSET: + if (r->offset != 0) + { + if (!cc_spill_if_changed) + { + if (r->offset == 1) + i386_incl_reg (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + else if (r->offset == -1) + i386_decl_reg (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg); + else + i386_addl_imm_reg (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, r->offset, + host_reg); + } + else /* We can offset without spilling any cc's with leal. */ + { + i386_leal_indoff (c, codep, M68K_CC_NONE, + M68K_CC_NONE, NO_REG, r->offset, + host_reg, host_reg); + } + + r->dirty_without_offset_p = TRUE; + } + break; + case MAP_SWAP16: + if (r->dirty_without_offset_p) + HOST_SWAP16 (host_reg); + break; + case MAP_SWAP32: + if (r->dirty_without_offset_p) + HOST_SWAP32 (host_reg); + break; + default: + abort (); + } + + r->mapping = MAP_NATIVE; + } + } +} + + +inline void +host_spill_reg (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed, + int guest_reg) +{ + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[guest_reg]; + host_reg = r->host_reg; + if (host_reg != NO_REG) + { + if (r->dirty_without_offset_p + || (r->mapping == MAP_OFFSET && r->offset != 0)) + { + /* Canonicalize the cached register before spilling it out. */ + switch (r->mapping) + { + case MAP_NATIVE: + break; + case MAP_OFFSET: + host_unoffset_reg (c, codep, cc_spill_if_changed, guest_reg); + break; + case MAP_SWAP16: + HOST_SWAP16 (host_reg); + break; + case MAP_SWAP32: + host_swap32 (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, + host_reg); + break; + default: + abort (); + } + + /* NOTE: you cannot use %ebp as the base without any + * constant offset on the i386. That is a special "escape" + * which means something else. You must use an explicit 0 + * offset if that's what you want. + */ + i386_movl_reg_indoff (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, host_reg, + offsetof (CPUState, regs[guest_reg].ul.n), + REG_EBP); + r->mapping = MAP_NATIVE; + r->dirty_without_offset_p = FALSE; + } + c->host_reg_to_guest_reg[host_reg] = NO_REG; + r->host_reg = NO_REG; + } +} + + +void +host_spill_regs (cache_info_t *c, host_code_t **codep, + unsigned cc_spill_if_changed) +{ + int i; + + /* Canonicalize all of the registers, and then spill all the dirty ones. + * Doing it this way gives us slightly better Pentium pairability, + * since instead of code like: + * addl $4,%edi + * movl %edi,_a0 + * addl $4,%esi + * movl %esi,_a1 + * rorw $8,%eax + * movl %eax,_d0 + * + * we get: + * + * addl $4,%edi + * addl $4,%esi + * rorw $8,%eax + * movl %edi,_a0 + * movl %esi,_a1 + * movl %eax,_d0 + * + * Not a huge win, since the spill of the previous guy can overlap with + * the canonicalization of the next one, but this is a relatively + * cheap optimization. + */ + make_dirty_regs_native (c, codep, cc_spill_if_changed); + for (i = NUM_GUEST_REGS - 1; i >= 0; i--) + { + guest_reg_status_t *r; + int host_reg; + + r = &c->guest_reg_status[i]; + host_reg = r->host_reg; + + if (host_reg != NO_REG) + { + if (r->dirty_without_offset_p) + { + /* NOTE: you cannot use %ebp as the base without any + * constant offset on the i386. That is a special "escape" + * which means something else. You must use an explicit 0 + * offset if that's what you want. + */ + i386_movl_reg_indoff (c, codep, cc_spill_if_changed, + M68K_CC_NONE, NO_REG, host_reg, + offsetof (CPUState, regs[i].ul.n), + REG_EBP); + r->dirty_without_offset_p = FALSE; + } + + c->host_reg_to_guest_reg[host_reg] = NO_REG; + r->host_reg = NO_REG; + } + } +} + + +void +host_spill_cc_bits (cache_info_t *c, host_code_t **codep, unsigned spill_cc) +{ + unsigned cc; + + assert (!(spill_cc & ~M68K_CC_ALL)); + + cc = spill_cc & c->cached_cc & c->dirty_cc; + + if (cc) + { + if (cc & M68K_CCZ) + i386_setnz_indoff (c, codep, 0, 0, NO_REG, + offsetof (CPUState, ccnz), REG_EBP); + if (cc & M68K_CCN) + i386_sets_indoff (c, codep, 0, 0, NO_REG, + offsetof (CPUState, ccn), REG_EBP); + if (cc & M68K_CCC) + i386_setc_indoff (c, codep, 0, 0, NO_REG, + offsetof (CPUState, ccc), REG_EBP); + if (cc & M68K_CCV) + i386_seto_indoff (c, codep, 0, 0, NO_REG, + offsetof (CPUState, ccv), REG_EBP); + if (cc & M68K_CCX) + i386_setc_indoff (c, codep, 0, 0, NO_REG, + offsetof (CPUState, ccx), REG_EBP); + + c->dirty_cc &= ~cc; + } + + /* We typically call this when we are about to clobber cc bits, so we + * should mark them as not being cached. In special circumstances, + * like conditional branches, we'll want to remember that the cc bits + * _are_ actually cached. + */ + c->cached_cc &= ~spill_cc; +} + + +int +host_swap16 (COMMON_ARGS, int32 host_reg) +{ + HOST_SWAP16 (host_reg); + return 0; +} + + +int +host_swap16_to_32 (COMMON_ARGS, int32 host_reg) +{ + i386_rorl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, 16, + host_reg); + return i386_rorw_imm_reg (c, codep, 0, M68K_CC_NONE, NO_REG, 8, + host_reg); +} + + +int +host_swap32 (COMMON_ARGS, int32 host_reg) +{ + if (have_i486_p) + { + i386_bswap (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, + host_reg); + } + else + { + i386_rorw_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, + 8, host_reg); + i386_rorl_imm_reg (c, codep, M68K_CC_NONE, M68K_CC_NONE, NO_REG, + 16, host_reg); + i386_rorw_imm_reg (c, codep, M68K_CC_NONE, M68K_CC_NONE, NO_REG, + 8, host_reg); + } + + return 0; +} + + +int +host_swap32_to_16 (COMMON_ARGS, int32 host_reg) +{ + i386_rorw_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, + 8, host_reg); + return i386_rorl_imm_reg (c, codep, 0, M68K_CC_NONE, NO_REG, + 16, host_reg); +} + +#endif diff --git a/runtime/native/i386/host-native.h b/runtime/native/i386/host-native.h new file mode 100644 index 0000000..3986d2d --- /dev/null +++ b/runtime/native/i386/host-native.h @@ -0,0 +1,84 @@ +#ifndef _HOST_NATIVE_H_ +#define _HOST_NATIVE_H_ + +#define REG_EAX 0 +#define REG_ECX 1 +#define REG_EDX 2 +#define REG_EBX 3 +#define REG_ESP 4 +#define REG_EBP 5 +#define REG_ESI 6 +#define REG_EDI 7 + +#define REG_AX 0 +#define REG_CX 1 +#define REG_DX 2 +#define REG_BX 3 +#define REG_SP 4 +#define REG_BP 5 +#define REG_SI 6 +#define REG_DI 7 + +#define REG_AL 0 +#define REG_CL 1 +#define REG_DL 2 +#define REG_BL 3 +#define REG_AH 4 +#define REG_CH 5 +#define REG_DH 6 +#define REG_BH 7 + +/* Don't allow %ebp or %esp. These registers are strange because in + * some situations they are used as "escape" registers on the i386. + * We could work around this by only allowing them when they are legal, + * but legend has it that we can't use either under DPMI because of + * a strange stack segment value. + */ +#define ALLOCATABLE_REG_MASK ((host_reg_mask_t) ( (1 << REG_EAX) \ + | (1 << REG_EBX) \ + | (1 << REG_ECX) \ + | (1 << REG_EDX) \ + | (1 << REG_ESI) \ + | (1 << REG_EDI))) + + +/* Any of the 6 regs we free up to use. */ +#define REGSET_ALL ALLOCATABLE_REG_MASK + +/* Only those regs which are byte-addressable: %eax, %ebx, %ecx, %edx. */ +#define REGSET_BYTE ((host_reg_mask_t) ( (1 << REG_EAX) \ + | (1 << REG_EBX) \ + | (1 << REG_ECX) \ + | (1 << REG_EDX))) +#define REGSET_EMPTY 0 + +#define NUM_HOST_REGS 8 + +typedef uint8 host_code_t; + +extern uint8 have_i486_p; + +#define NATIVE_TO_SYNTH_STUB_BYTES 10 +#define NATIVE_TO_SYNTH_STUB_WORDS \ +(((NATIVE_TO_SYNTH_STUB_BYTES + 1) / 2 + 1) & ~1)/* Must be even # of words. */ + +#ifdef SYNCHRONOUS_INTERRUPTS +# ifdef USE_BIOS_TIMER +# define CHECK_INTERRUPT_STUB_BYTES 18 +# else /* !USE_BIOS_TIMER */ +# if defined (__CHECKER__) +# define CHECK_INTERRUPT_STUB_BYTES 18 +# else /* !__CHECKER__ */ +# define CHECK_INTERRUPT_STUB_BYTES 14 +# endif /* !__CHECKER__ */ +# endif /* !USE_BIOS_TIMER */ +#else +# define CHECK_INTERRUPT_STUB_BYTES 0 +#endif /* !SYNCHRONOUS_INTERRUPTS */ + +#define HOST_SWAP16(r) \ +i386_rorw_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, 8, (r)) +#define HOST_SWAP32(r) \ +host_swap32 (c, codep, cc_spill_if_changed, M68K_CC_NONE, NO_REG, (r)) + +#endif /* !_HOST_NATIVE_H_ */ diff --git a/runtime/native/i386/i386-aux.c b/runtime/native/i386/i386-aux.c new file mode 100644 index 0000000..a8ea460 --- /dev/null +++ b/runtime/native/i386/i386-aux.c @@ -0,0 +1,3105 @@ +#include "syn68k_private.h" + +#ifdef GENERATE_NATIVE_CODE + +#include "native.h" +#include "i386-isa.h" +#include "i386-aux.h" +#include "hash.h" +#include "trap.h" +#include +#include +#include +#include + +#ifdef DEBUG +#define CHECK_ADDR_REG(n) \ +assert (c->host_reg_to_guest_reg[n] == NO_REG \ + || (c->host_reg_to_guest_reg[n] >= 8 \ + && c->host_reg_to_guest_reg[n] < 16)) +#else +#define CHECK_ADDR_REG(n) +#endif + +#ifndef offsetof +#define offsetof(t, f) ((int32) &(((t *) 0)->f)) +#endif + + +#define HOST_TEST_REG(size) \ +int \ +host_test ## size ## _reg (COMMON_ARGS, int32 reg) \ +{ \ + i386_test ## size ## _reg_reg (COMMON_ARG_NAMES, reg, reg); \ + return 0; \ +} + +HOST_TEST_REG (b) +HOST_TEST_REG (l) + + +int +host_testw_reg (COMMON_ARGS, int32 reg) +{ + /* Word ops are slow on the i386, so do a testb if we can; + * if we don't need Z, testw %ax,%ax -> testb %ah,%ah. + */ + if (!(cc_to_compute & M68K_CCZ) && reg < 4) + i386_testb_reg_reg (COMMON_ARG_NAMES, reg + 4, reg + 4); + else + i386_testw_reg_reg (COMMON_ARG_NAMES, reg, reg); + return 0; +} + + +/* Tests a swapped register. The register is assumed to be SWAP16 for word + * tests and SWAP32 for long tests. + */ +#define HOST_TEST_SWAPPED_REG(size, swap, save, restore) \ +int \ +host_test ## size ## _swapped_reg (COMMON_ARGS, int32 reg) \ +{ \ + if (!(cc_to_compute & M68K_CCZ) && reg < 4) \ + i386_testb_reg_reg (COMMON_ARG_NAMES, reg, reg); \ + else if (!(cc_to_compute & M68K_CCN)) \ + i386_test ## size ## _reg_reg (COMMON_ARG_NAMES, reg, reg); \ + else \ + { \ + save; \ + swap (COMMON_ARG_NAMES, reg); \ + i386_test ## size ## _reg_reg (COMMON_ARG_NAMES, reg, reg); \ + restore; \ + } \ + \ + return 0; \ +} + + +HOST_TEST_SWAPPED_REG (w, host_swap16, + i386_pushl (COMMON_ARG_NAMES, reg), + i386_popl (COMMON_ARG_NAMES, reg)) +HOST_TEST_SWAPPED_REG (l, host_swap32, + if (!have_i486_p) + i386_pushl (COMMON_ARG_NAMES, reg), + (have_i486_p ? i386_bswap (COMMON_ARG_NAMES, reg) + : i386_popl (COMMON_ARG_NAMES, reg))) + + +/* This is used when we need to sign extend a SWAP16 address register + * and possible compute cc bits. This happens often when we + * do movew _addr,a0...m68k semantics demand sign extension. + */ +int +host_swap16_sext_test_reg (COMMON_ARGS, int32 reg) +{ + HOST_SWAP16 (reg); + i386_movswl_reg_reg (COMMON_ARG_NAMES, reg, reg); + if (cc_to_compute) + i386_testl_reg_reg (COMMON_ARG_NAMES, reg, reg); + return 0; +} + + +/* A special handler for adding, subtracting, or comparing two registers. + * The problem is that we can get into situations like: + * cmpl a0@-,a0 + * where a0 becomes offset after the instruction starts. This + * will properly handle offset registers (by unoffsetting them before + * the compare). + */ +#define ADD_SUB_CMP_OFFSET(op) \ +int \ +host_ ## op ## l_reg_reg (COMMON_ARGS, int32 reg1, int32 reg2) \ +{ \ + int32 gr1, gr2; \ + \ + gr1 = c->host_reg_to_guest_reg[reg1]; \ + if (gr1 != NO_REG) \ + host_unoffset_reg (c, codep, cc_spill_if_changed, gr1); \ + \ + gr2 = c->host_reg_to_guest_reg[reg2]; \ + if (gr2 != NO_REG) \ + host_unoffset_reg (c, codep, cc_spill_if_changed, gr2); \ + \ + return i386_ ## op ## l_reg_reg (COMMON_ARG_NAMES, reg1, reg2); \ +} + +ADD_SUB_CMP_OFFSET (add) +ADD_SUB_CMP_OFFSET (sub) +ADD_SUB_CMP_OFFSET (cmp) + + +/* This performs a binary bitwise op on a register when you are + * either doing a byte sized op, or you don't care about the N bit. + * This can only handle SWAP32 for long sized ops. + */ +#define HOST_BITWISE_IMM_REG(op, size, mask, size_mask, byte_p) \ +int \ +host_ ## op ## size ## _imm_reg (COMMON_ARGS, int32 val, int32 reg) \ +{ \ + int guest_reg = c->host_reg_to_guest_reg[reg]; \ + \ + val = (val & (size_mask)) | (mask); \ + \ + switch (c->guest_reg_status[guest_reg].mapping) \ + { \ + case MAP_NATIVE: \ + if (byte_p || (cc_to_compute & (M68K_CCN | M68K_CCZ))) \ + i386_ ## op ## size ## _imm_reg (COMMON_ARG_NAMES, val, reg); \ + else \ + i386_ ## op ## l_imm_reg (COMMON_ARG_NAMES, val | (mask), reg); \ + break; \ + case MAP_SWAP16: \ + /* andb $12,%ah instead of andb $12,%al? Since we're doing \ + * a byte op we know we must have a byte reg. \ + */ \ + if (byte_p) \ + i386_ ## op ## b_imm_reg (COMMON_ARG_NAMES, val, reg + 4); \ + else if (cc_to_compute & (M68K_CCN | M68K_CCZ)) \ + i386_ ## op ## size ## _imm_reg (COMMON_ARG_NAMES, \ + (SWAPUW_IFLE (val) \ + | (val & 0xFFFF0000)), \ + reg); \ + else \ + i386_ ## op ## l_imm_reg (COMMON_ARG_NAMES, \ + (SWAPUW_IFLE (val) \ + | (val & 0xFFFF0000)), \ + reg); \ + break; \ + case MAP_SWAP32: \ + if (cc_to_compute & (M68K_CCN | M68K_CCZ)) \ + { \ + if (byte_p) \ + return 1; /* Can't easily get it. */ \ + i386_ ## op ## size ## _imm_reg (COMMON_ARG_NAMES, \ + SWAPUL_IFLE (val), reg); \ + } \ + else \ + i386_ ## op ## l_imm_reg (COMMON_ARG_NAMES, \ + SWAPUL_IFLE (val), reg); \ + break; \ + default: \ + abort (); \ + } \ + \ + c->guest_reg_status[guest_reg].dirty_without_offset_p = TRUE; \ + \ + return 0; \ +} + +HOST_BITWISE_IMM_REG (and, b, 0xFFFFFF00, 0x000000FF, TRUE) +HOST_BITWISE_IMM_REG (and, w, 0xFFFF0000, 0x0000FFFF, FALSE) +HOST_BITWISE_IMM_REG (and, l, 0x00000000, 0xFFFFFFFF, FALSE) + +HOST_BITWISE_IMM_REG (or, b, 0, 0x000000FF, TRUE) +HOST_BITWISE_IMM_REG (or, w, 0, 0x0000FFFF, FALSE) +HOST_BITWISE_IMM_REG (or, l, 0, 0xFFFFFFFF, FALSE) + +HOST_BITWISE_IMM_REG (xor, b, 0, 0x000000FF, TRUE) +HOST_BITWISE_IMM_REG (xor, w, 0, 0x0000FFFF, FALSE) +HOST_BITWISE_IMM_REG (xor, l, 0, 0xFFFFFFFF, FALSE) + + +#define HOST_BITWISE_IMM_ABS(op, size, swapfunc) \ +int \ +host_ ## op ## size ## _imm_abs (COMMON_ARGS, int32 val, int32 addr) \ +{ \ + /* Only guaranteed to compute CVZ carry bits; N will of course be \ + * botched. For cmp this only computes Z correctly. \ + */ \ + return i386_ ## op ## size ## _imm_abs (COMMON_ARG_NAMES, swapfunc (val), \ + (int32) SYN68K_TO_US (addr)); \ +} + + +HOST_BITWISE_IMM_ABS (and, w, SWAPUW) +HOST_BITWISE_IMM_ABS (and, l, SWAPUL) + +HOST_BITWISE_IMM_ABS (or, w, SWAPUW) +HOST_BITWISE_IMM_ABS (or, l, SWAPUL) + +HOST_BITWISE_IMM_ABS (xor, w, SWAPUW) +HOST_BITWISE_IMM_ABS (xor, l, SWAPUL) + +HOST_BITWISE_IMM_ABS (cmp, w, SWAPUW) +HOST_BITWISE_IMM_ABS (cmp, l, SWAPUL) + + +#define HOST_BITWISE_IMM_MEM(size, op, amode, swapfunc, preoff, postoff, \ + adjust_p) \ +int \ +host_ ## op ## size ## _imm_ ## amode (COMMON_ARGS, int32 val, OFF int32 reg)\ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[reg]; \ + \ + CHECK_ADDR_REG (reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Actually perform the operation. */ \ + if (regoff == 0) \ + i386_ ## op ## size ## _imm_ind (COMMON_ARG_NAMES, \ + swapfunc (val), reg); \ + else \ + i386_ ## op ## size ## _imm_indoff (COMMON_ARG_NAMES, swapfunc (val), \ + regoff, reg); \ + /* Adjust the address register. */ \ + if (postoff && adjust_p) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_BITWISE_IMM_MEM(b, and, ind, SWAPUB, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, and, ind, SWAPUW, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, and, ind, SWAPUL, 0, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, or, ind, SWAPUB, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, or, ind, SWAPUW, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, or, ind, SWAPUL, 0, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, xor, ind, SWAPUB, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, xor, ind, SWAPUW, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, xor, ind, SWAPUL, 0, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, add, ind, SWAPUB, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(b, sub, ind, SWAPUB, 0, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, cmp, ind, SWAPUB, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, cmp, ind, SWAPUW, 0, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, cmp, ind, SWAPUL, 0, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, and, predec, SWAPUB, -1, -1, TRUE) +HOST_BITWISE_IMM_MEM(w, and, predec, SWAPUW, -2, -2, TRUE) +HOST_BITWISE_IMM_MEM(l, and, predec, SWAPUL, -4, -4, TRUE) + +HOST_BITWISE_IMM_MEM(b, or, predec, SWAPUB, -1, -1, TRUE) +HOST_BITWISE_IMM_MEM(w, or, predec, SWAPUW, -2, -2, TRUE) +HOST_BITWISE_IMM_MEM(l, or, predec, SWAPUL, -4, -4, TRUE) + +HOST_BITWISE_IMM_MEM(b, xor, predec, SWAPUB, -1, -1, TRUE) +HOST_BITWISE_IMM_MEM(w, xor, predec, SWAPUW, -2, -2, TRUE) +HOST_BITWISE_IMM_MEM(l, xor, predec, SWAPUL, -4, -4, TRUE) + +HOST_BITWISE_IMM_MEM(b, add, predec, SWAPUB, -1, -1, TRUE) +HOST_BITWISE_IMM_MEM(b, sub, predec, SWAPUB, -1, -1, TRUE) + +HOST_BITWISE_IMM_MEM(b, cmp, predec, SWAPUB, -1, -1, TRUE) +HOST_BITWISE_IMM_MEM(w, cmp, predec, SWAPUW, -2, -2, TRUE) +HOST_BITWISE_IMM_MEM(l, cmp, predec, SWAPUL, -4, -4, TRUE) + +HOST_BITWISE_IMM_MEM(b, and, postinc, SWAPUB, 0, 1, TRUE) +HOST_BITWISE_IMM_MEM(w, and, postinc, SWAPUW, 0, 2, TRUE) +HOST_BITWISE_IMM_MEM(l, and, postinc, SWAPUL, 0, 4, TRUE) + +HOST_BITWISE_IMM_MEM(b, or, postinc, SWAPUB, 0, 1, TRUE) +HOST_BITWISE_IMM_MEM(w, or, postinc, SWAPUW, 0, 2, TRUE) +HOST_BITWISE_IMM_MEM(l, or, postinc, SWAPUL, 0, 4, TRUE) + +HOST_BITWISE_IMM_MEM(b, xor, postinc, SWAPUB, 0, 1, TRUE) +HOST_BITWISE_IMM_MEM(w, xor, postinc, SWAPUW, 0, 2, TRUE) +HOST_BITWISE_IMM_MEM(l, xor, postinc, SWAPUL, 0, 4, TRUE) + +HOST_BITWISE_IMM_MEM(b, add, postinc, SWAPUB, 0, 1, TRUE) +HOST_BITWISE_IMM_MEM(b, sub, postinc, SWAPUB, 0, 1, TRUE) + +HOST_BITWISE_IMM_MEM(b, cmp, postinc, SWAPUB, 0, 1, TRUE) +HOST_BITWISE_IMM_MEM(w, cmp, postinc, SWAPUW, 0, 2, TRUE) +HOST_BITWISE_IMM_MEM(l, cmp, postinc, SWAPUL, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_BITWISE_IMM_MEM(b, and, indoff, SWAPUB, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, and, indoff, SWAPUW, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, and, indoff, SWAPUL, offset, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, or, indoff, SWAPUB, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, or, indoff, SWAPUW, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, or, indoff, SWAPUL, offset, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, xor, indoff, SWAPUB, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, xor, indoff, SWAPUW, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, xor, indoff, SWAPUL, offset, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, add, indoff, SWAPUB, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(b, sub, indoff, SWAPUB, offset, 0, FALSE) + +HOST_BITWISE_IMM_MEM(b, cmp, indoff, SWAPUB, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(w, cmp, indoff, SWAPUW, offset, 0, FALSE) +HOST_BITWISE_IMM_MEM(l, cmp, indoff, SWAPUL, offset, 0, FALSE) + + +#define HOST_UNARY_MEM(size, op, amode, swapfunc, preoff, postoff, adjust_p) \ +int \ +host_ ## op ## size ## _ ## amode (COMMON_ARGS, OFF int32 reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[reg]; \ + \ + CHECK_ADDR_REG (reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Actually perform the operation. */ \ + if (regoff == 0) \ + i386_ ## op ## size ## _ind (COMMON_ARG_NAMES, reg); \ + else \ + i386_ ## op ## size ## _indoff (COMMON_ARG_NAMES, regoff, reg); \ + /* Adjust the address register. */ \ + if (postoff && adjust_p) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_UNARY_MEM(b, neg, ind, SWAPUB, 0, 0, FALSE) +HOST_UNARY_MEM(b, neg, predec, SWAPUB, -1, -1, TRUE) +HOST_UNARY_MEM(b, neg, postinc, SWAPUB, 0, 1, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_UNARY_MEM(b, neg, indoff, SWAPUB, offset, 0, FALSE) + + +static inline void +test_imm (COMMON_ARGS, int32 val, uint32 size_mask) +{ + /* Write out all four cc bits at once. */ + i386_movl_imm_indoff (COMMON_ARG_NAMES, + ((val != 0) + | ((val & (size_mask ^ (size_mask >> 1))) + ? 0x100 : 0)), + offsetof (CPUState, ccnz), REG_EBP); + c->cached_cc &= ~cc_to_compute; + c->dirty_cc &= ~cc_to_compute; +} + + +#define HOST_MOV_IMM_REG(size, size_mask) \ +int \ +host_move ## size ## _imm_reg (COMMON_ARGS, int32 val, int32 reg) \ +{ \ + if (val == 0 && (!cc_spill_if_changed || cc_to_compute)) \ + { \ + i386_xor ## size ## _reg_reg (COMMON_ARG_NAMES, reg, reg); \ + if (cc_to_compute) \ + { \ + test_imm (COMMON_ARG_NAMES, 0, size_mask); \ + c->cached_cc |= cc_to_compute; /* xor cached them. */ \ + } \ + } \ + else \ + { \ + i386_mov ## size ## _imm_reg (COMMON_ARG_NAMES, val, reg); \ + if (cc_to_compute) \ + test_imm (COMMON_ARG_NAMES, val, size_mask); \ + } \ + return 0; \ +} + + +HOST_MOV_IMM_REG (b, 0xFF) +HOST_MOV_IMM_REG (w, 0xFFFF) +HOST_MOV_IMM_REG (l, 0xFFFFFFFF) + + +#define HOST_MOV_IMM_ABS(size, swapfunc, size_mask) \ +int \ +host_move ## size ## _imm_abs (COMMON_ARGS, int32 val, int32 addr) \ +{ \ + if (cc_to_compute) \ + test_imm (COMMON_ARG_NAMES, val, size_mask); \ + i386_mov ## size ## _imm_abs (COMMON_ARG_NAMES, swapfunc (val), \ + (int32) SYN68K_TO_US (addr)); \ + return 0; \ +} + +HOST_MOV_IMM_ABS (b, SWAPUB, 0xFF) +HOST_MOV_IMM_ABS (w, SWAPUW, 0xFFFF) +HOST_MOV_IMM_ABS (l, SWAPUL, 0xFFFFFFFF) + + +#define HOST_MOV_REG_ABS_SWAP(size, swap) \ +int \ +host_move ## size ## _reg_abs_swap (COMMON_ARGS, int32 src_reg, int32 addr) \ +{ \ + cc_spill_if_changed |= cc_to_compute; \ + swap (src_reg); \ + return i386_mov ## size ## _reg_abs (COMMON_ARG_NAMES, src_reg, \ + (int32) SYN68K_TO_US (addr)); \ +} + + +HOST_MOV_REG_ABS_SWAP (w, HOST_SWAP16) +HOST_MOV_REG_ABS_SWAP (l, HOST_SWAP32) + + +#define HOST_MOV_ABS_REG_SWAP(size, swap, long_p) \ +int \ +host_move ## size ## _abs_reg_swap (COMMON_ARGS, int32 addr, int32 dst_reg) \ +{ \ + i386_mov ## size ## _abs_reg (COMMON_ARG_NAMES, \ + (int32) SYN68K_TO_US (addr), \ + dst_reg); \ + swap (dst_reg); \ + return 0; \ +} + + +HOST_MOV_ABS_REG_SWAP (w, HOST_SWAP16, FALSE) +HOST_MOV_ABS_REG_SWAP (l, HOST_SWAP32, TRUE) + + +#define HOST_MOV_IMM_MEM(size, amode, swapfunc, preoff, postoff, adjust_p, \ + size_mask) \ +int \ +host_move ## size ## _imm_ ## amode (COMMON_ARGS, int32 val, OFF int32 reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[reg]; \ + \ + CHECK_ADDR_REG (reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Set cc bits according to this value, if necessary. */ \ + if (cc_to_compute) \ + { \ + test_imm (COMMON_ARG_NAMES, val, size_mask); \ + cc_to_compute = M68K_CC_NONE; \ + } \ + \ + /* Actually write the value out to memory. */ \ + if (regoff == 0) \ + i386_mov ## size ## _imm_ind (COMMON_ARG_NAMES, \ + swapfunc (val), reg); \ + else \ + i386_mov ## size ## _imm_indoff (COMMON_ARG_NAMES, swapfunc (val), \ + regoff, reg); \ + /* Adjust the address register. */ \ + if (postoff && adjust_p) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_MOV_IMM_MEM(b, ind, SWAPUB, 0, 0, FALSE, 0xFF) +HOST_MOV_IMM_MEM(w, ind, SWAPUW, 0, 0, FALSE, 0xFFFF) +HOST_MOV_IMM_MEM(l, ind, SWAPUL, 0, 0, FALSE, 0xFFFFFFFF) + +HOST_MOV_IMM_MEM(b, predec, SWAPUB, -1, -1, TRUE, 0xFF) +HOST_MOV_IMM_MEM(w, predec, SWAPUW, -2, -2, TRUE, 0xFFFF) +HOST_MOV_IMM_MEM(l, predec, SWAPUL, -4, -4, TRUE, 0xFFFFFFFF) + +HOST_MOV_IMM_MEM(b, postinc, SWAPUB, 0, 1, TRUE, 0xFF) +HOST_MOV_IMM_MEM(w, postinc, SWAPUW, 0, 2, TRUE, 0xFFFF) +HOST_MOV_IMM_MEM(l, postinc, SWAPUL, 0, 4, TRUE, 0xFFFFFFFF) + +#undef OFF +#define OFF int32 offset, +HOST_MOV_IMM_MEM(b, indoff, SWAPUB, offset, 0, FALSE, 0xFF) +HOST_MOV_IMM_MEM(w, indoff, SWAPUW, offset, 0, FALSE, 0xFFFF) +HOST_MOV_IMM_MEM(l, indoff, SWAPUL, offset, 0, FALSE, 0xFFFFFFFF) + + +#define COMPLEX_P(n) ((n) & (1 << 8)) +#define LONG_INDEX_REG_P(n) ((n) & (1 << 11)) +#define SCALE(n) (((n) >> 9) & 3) +#define DISPLACEMENT(n) ((int8) ((n) & 0xFF)) +#define INDEX_REG(n) (((n) >> 12) & 0xF) + + +#define HOST_OP_IMM_INDIX(size, name, op, swapfunc, test_imm_p, \ + size_mask) \ +int \ +host_ ## name ## size ## _imm_indix (COMMON_ARGS, int32 val, \ + int32 base_addr_reg, \ + uint16 *m68k_addr) \ +{ \ + uint16 ext_word; \ + int index_reg, guest_index_reg, orig_index_reg; \ + int32 disp; \ + guest_reg_status_t *base_status, *index_status; \ + \ + /* Fetch the extension word and make sure it's a "simple" reference. */ \ + ext_word = SWAPUW (m68k_addr[1]); \ + if (COMPLEX_P (ext_word)) \ + return 2; \ + \ + /* Set up the index register. */ \ + guest_index_reg = INDEX_REG (ext_word); \ + index_status = &c->guest_reg_status[guest_index_reg]; \ + if (index_status->host_reg == NO_REG \ + && !LONG_INDEX_REG_P (ext_word)) \ + { \ + i386_movswl_indoff_reg (COMMON_ARG_NAMES, \ + offsetof (CPUState, \ + regs[guest_index_reg].sw.n), \ + REG_EBP, scratch_reg); \ + index_reg = scratch_reg; \ + } \ + else \ + { \ + host_reg_mask_t legal_regs; \ + legal_regs = ((~((1L << base_addr_reg) | (1L << scratch_reg))) \ + & ((guest_index_reg < 8) \ + ? REGSET_BYTE : REGSET_ALL)); \ + if (c->guest_reg_status[guest_index_reg].host_reg \ + == base_addr_reg) \ + legal_regs |= (1L << base_addr_reg); \ + orig_index_reg = host_setup_cached_reg (COMMON_ARG_NAMES, \ + guest_index_reg, \ + MAP_NATIVE_MASK, \ + legal_regs); \ + if (orig_index_reg == NO_REG) \ + return 3; \ + if (LONG_INDEX_REG_P (ext_word)) \ + index_reg = orig_index_reg; \ + else \ + { \ + i386_movswl_reg_reg (COMMON_ARG_NAMES, orig_index_reg, \ + scratch_reg); \ + index_reg = scratch_reg; \ + } \ + } \ + \ + /* Compute the total displacement. */ \ + disp = DISPLACEMENT (ext_word); \ + base_status = &c->guest_reg_status \ + [c->host_reg_to_guest_reg[base_addr_reg]]; \ + if (base_status->mapping == MAP_OFFSET) \ + disp += base_status->offset; \ + \ + /* Compensate for offset memory. */ \ + disp = (int32) SYN68K_TO_US (disp); \ + \ + /* Write the value out. */ \ + switch (SCALE (ext_word)) \ + { \ + case 0: \ + if (disp == 0) \ + op ## size ##_imm_indix_no_offset (COMMON_ARG_NAMES, \ + swapfunc (val), \ + base_addr_reg, index_reg); \ + else \ + op ## size ##_imm_indix (COMMON_ARG_NAMES, swapfunc (val), \ + disp, base_addr_reg, index_reg); \ + break; \ + case 1: \ + if (disp == 0) \ + op ## size ##_imm_indix_scale2_no_offset (COMMON_ARG_NAMES, \ + swapfunc (val), \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_imm_indix_scale2 (COMMON_ARG_NAMES, \ + swapfunc (val), \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + case 2: \ + if (disp == 0) \ + op ## size ##_imm_indix_scale4_no_offset (COMMON_ARG_NAMES, \ + swapfunc (val), \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_imm_indix_scale4 (COMMON_ARG_NAMES, \ + swapfunc (val), \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + case 3: \ + if (disp == 0) \ + op ## size ##_imm_indix_scale8_no_offset (COMMON_ARG_NAMES, \ + swapfunc (val), \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_imm_indix_scale8 (COMMON_ARG_NAMES, \ + swapfunc (val), \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + default: \ + abort (); \ + } \ + \ + /* If we need cc bits, compute them. */ \ + if ((test_imm_p) && cc_to_compute) \ + test_imm (COMMON_ARG_NAMES, val, size_mask); \ + \ + return 0; \ +} + + +HOST_OP_IMM_INDIX (b, move, i386_mov, SWAPUB, TRUE, 0xFF) +HOST_OP_IMM_INDIX (w, move, i386_mov, SWAPUW, TRUE, 0xFFFF) +HOST_OP_IMM_INDIX (l, move, i386_mov, SWAPUL, TRUE, 0xFFFFFFFF) + +HOST_OP_IMM_INDIX (b, cmp, i386_cmp, SWAPUB, FALSE, 0xFF) +HOST_OP_IMM_INDIX (w, cmp, i386_cmp, SWAPUW, FALSE, 0xFFFF) +HOST_OP_IMM_INDIX (l, cmp, i386_cmp, SWAPUL, FALSE, 0xFFFFFFFF) + +HOST_OP_IMM_INDIX (b, add, i386_add, SWAPUB, FALSE, 0xFF) +HOST_OP_IMM_INDIX (b, sub, i386_sub, SWAPUB, FALSE, 0xFF) + +#define HOST_ARITH_IMM_INDIX(size, name, op, swapfunc, byte_p, word_p) \ +int \ +host_ ## name ## size ## _imm_indix (COMMON_ARGS, int32 val, \ + int32 base_addr_reg, \ + uint16 *m68k_addr) \ +{ \ + uint16 ext_word; \ + int tmp_val_reg; \ + \ + /* Fetch the extension word and make sure it's a "simple" reference. */ \ + ext_word = SWAPUW (m68k_addr[1]); \ + if (COMPLEX_P (ext_word)) \ + return 1; \ + \ + if (host_leal_indix_reg (COMMON_ARG_NAMES, base_addr_reg, \ + scratch_reg, m68k_addr)) \ + return 2; \ + \ + /* Grab a temporary register to hold the memory value. */ \ + tmp_val_reg = host_alloc_reg (c, codep, cc_spill_if_changed, \ + ((byte_p ? REGSET_BYTE : REGSET_ALL) \ + & ~(1L << scratch_reg))); \ + if (tmp_val_reg == NO_REG) \ + return 3; \ + \ + /* We've now got the address of the value in scratch_reg. Load the \ + * value, swap it, operate on it, swap it back, and write it out \ + * to memory. \ + */ \ + i386_mov ## size ## _indoff_reg (COMMON_ARG_NAMES, \ + (int32) SYN68K_TO_US (0), \ + scratch_reg, tmp_val_reg); \ + swapfunc (tmp_val_reg); \ + if (word_p && !cc_to_compute) \ + op ## size ## _imm_reg (COMMON_ARG_NAMES, val, tmp_val_reg); \ + else \ + op ## size ## _imm_reg (COMMON_ARG_NAMES, val, tmp_val_reg); \ + cc_spill_if_changed |= cc_to_compute; \ + swapfunc (tmp_val_reg); \ + i386_mov ## size ## _reg_indoff (COMMON_ARG_NAMES, tmp_val_reg, \ + (int32) SYN68K_TO_US (0), scratch_reg); \ + \ + return 0; \ +} + +HOST_ARITH_IMM_INDIX (w, add, i386_add, HOST_SWAP16, FALSE, TRUE) +HOST_ARITH_IMM_INDIX (l, add, i386_add, HOST_SWAP32, FALSE, FALSE) + +HOST_ARITH_IMM_INDIX (w, sub, i386_sub, HOST_SWAP16, FALSE, TRUE) +HOST_ARITH_IMM_INDIX (l, sub, i386_sub, HOST_SWAP32, FALSE, FALSE) + + +#define HOST_OP_REG_INDIX(size, name, op, swapfunc, test_src_p, byte_p) \ +int \ +host_ ## name ## size ## _reg_indix (COMMON_ARGS, int32 src_reg, \ + int32 base_addr_reg, \ + uint16 *m68k_addr) \ +{ \ + uint16 ext_word; \ + int index_reg, guest_index_reg, orig_index_reg; \ + int32 disp; \ + guest_reg_status_t *base_status; \ + \ + /* Fetch the extension word and make sure it's a "simple" reference. */ \ + ext_word = SWAPUW (m68k_addr[1]); \ + if (COMPLEX_P (ext_word)) \ + return 1; \ + \ + /* Sometimes we need another scratch register, like for \ + * memory->memory moves. This works around that problem by \ + * allocating another one if the source reg is the scratch reg. \ + */ \ + if (src_reg == scratch_reg) \ + { \ + host_reg_mask_t scratch_regs; \ + scratch_regs = ((~((1L << base_addr_reg) | (1L << scratch_reg) \ + | (1L << src_reg))) \ + & REGSET_ALL); \ + scratch_reg = host_alloc_reg (c, codep, cc_spill_if_changed, \ + scratch_regs); \ + if (scratch_reg == NO_REG) \ + return 6; \ + } \ + \ + /* Set up the index register. */ \ + guest_index_reg = INDEX_REG (ext_word); \ + if (c->guest_reg_status[guest_index_reg].host_reg == NO_REG \ + && !LONG_INDEX_REG_P (ext_word)) \ + { \ + i386_movswl_indoff_reg (COMMON_ARG_NAMES, \ + offsetof (CPUState, \ + regs[guest_index_reg].sw.n), \ + REG_EBP, scratch_reg); \ + index_reg = scratch_reg; \ + } \ + else \ + { \ + int host_index_reg; \ + host_reg_mask_t legal_regs; \ + \ + legal_regs = ((~((1L << base_addr_reg) | (1L << scratch_reg) \ + | (1L << src_reg))) \ + & ((guest_index_reg < 8) \ + ? REGSET_BYTE : REGSET_ALL)); \ + host_index_reg = c->guest_reg_status[guest_index_reg].host_reg; \ + if (host_index_reg == base_addr_reg \ + || (byte_p && host_index_reg == src_reg)) \ + legal_regs |= (1L << host_index_reg); \ + if (host_index_reg == src_reg) \ + { \ + i386_movl_reg_reg (COMMON_ARG_NAMES, src_reg, scratch_reg); \ + swapfunc (scratch_reg); \ + host_index_reg = orig_index_reg = scratch_reg; \ + } \ + else \ + { \ + if (host_index_reg != NO_REG \ + && !(legal_regs & (1L << host_index_reg))) \ + return 5; \ + orig_index_reg = host_setup_cached_reg (COMMON_ARG_NAMES, \ + guest_index_reg, \ + MAP_NATIVE_MASK, \ + legal_regs); \ + if (orig_index_reg == NO_REG) \ + return 3; \ + } \ + if (LONG_INDEX_REG_P (ext_word)) \ + index_reg = orig_index_reg; \ + else \ + { \ + i386_movswl_reg_reg (COMMON_ARG_NAMES, orig_index_reg, \ + scratch_reg); \ + index_reg = scratch_reg; \ + } \ + } \ + \ + /* Compute the total displacement. */ \ + disp = DISPLACEMENT (ext_word); \ + base_status = &c->guest_reg_status \ + [c->host_reg_to_guest_reg[base_addr_reg]]; \ + if (base_status->mapping == MAP_OFFSET) \ + disp += base_status->offset; \ + \ + /* Compensate for offset memory. */ \ + disp = (int32) SYN68K_TO_US (disp); \ + \ + /* Write the value out. */ \ + switch (SCALE (ext_word)) \ + { \ + case 0: \ + if (disp == 0) \ + op ## size ##_reg_indix_no_offset (COMMON_ARG_NAMES, \ + src_reg, \ + base_addr_reg, index_reg); \ + else \ + op ## size ##_reg_indix (COMMON_ARG_NAMES, src_reg, \ + disp, base_addr_reg, index_reg); \ + break; \ + case 1: \ + if (disp == 0) \ + op ## size ##_reg_indix_scale2_no_offset (COMMON_ARG_NAMES, \ + src_reg, \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_reg_indix_scale2 (COMMON_ARG_NAMES, \ + src_reg, \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + case 2: \ + if (disp == 0) \ + op ## size ##_reg_indix_scale4_no_offset (COMMON_ARG_NAMES, \ + src_reg, \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_reg_indix_scale4 (COMMON_ARG_NAMES, \ + src_reg, \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + case 3: \ + if (disp == 0) \ + op ## size ##_reg_indix_scale8_no_offset (COMMON_ARG_NAMES, \ + src_reg, \ + base_addr_reg, \ + index_reg); \ + else \ + op ## size ##_reg_indix_scale8 (COMMON_ARG_NAMES, \ + src_reg, \ + disp, base_addr_reg, \ + index_reg); \ + break; \ + default: \ + abort (); \ + } \ + \ + /* If we need cc bits, compute them. */ \ + if ((test_src_p) && cc_to_compute) \ + { \ + if ((byte_p) || !(cc_to_compute & M68K_CCN)) \ + i386_test ## size ## _reg_reg (COMMON_ARG_NAMES, src_reg, \ + src_reg); \ + else \ + { \ + i386_movl_reg_reg (COMMON_ARG_NAMES, src_reg, scratch_reg); \ + swapfunc (scratch_reg); \ + i386_test ## size ## _reg_reg (COMMON_ARG_NAMES, \ + scratch_reg, scratch_reg); \ + } \ + } \ + \ + return 0; \ +} + + +#define NOSWAP(n) + +HOST_OP_REG_INDIX (b, move, i386_mov, NOSWAP, TRUE, TRUE) +HOST_OP_REG_INDIX (w, move, i386_mov, HOST_SWAP16, TRUE, FALSE) +HOST_OP_REG_INDIX (l, move, i386_mov, HOST_SWAP32, TRUE, FALSE) + + +#define HOST_OP_INDIX_REG(size, name, op, long_p, cmp_p, lea_p) \ +int \ +host_ ## name ## size ## _indix_reg (COMMON_ARGS, int32 base_addr_reg, \ + int32 dst_reg, \ + uint16 *m68k_addr) \ +{ \ + uint16 ext_word; \ + int index_reg, guest_index_reg, orig_index_reg; \ + int32 disp; \ + guest_reg_status_t *base_status; \ + \ + /* Fetch the extension word and make sure it's a "simple" reference. */ \ + ext_word = SWAPUW (m68k_addr[1]); \ + if (COMPLEX_P (ext_word)) \ + return 1; \ + \ + /* Set up the index register. */ \ + guest_index_reg = INDEX_REG (ext_word); \ + if (c->guest_reg_status[guest_index_reg].host_reg == NO_REG) \ + { \ + if (LONG_INDEX_REG_P (ext_word)) \ + i386_movl_indoff_reg (COMMON_ARG_NAMES, \ + offsetof (CPUState, \ + regs[guest_index_reg].ul.n), \ + REG_EBP, scratch_reg); \ + else \ + i386_movswl_indoff_reg (COMMON_ARG_NAMES, \ + offsetof (CPUState, \ + regs[guest_index_reg].sw.n), \ + REG_EBP, scratch_reg); \ + index_reg = scratch_reg; \ + } \ + else \ + { \ + host_reg_mask_t legal_regs; \ + int host_index_reg; \ + legal_regs = ((~((1L << base_addr_reg) | (1L << scratch_reg) \ + | (1L << dst_reg))) \ + & ((guest_index_reg < 8) \ + ? REGSET_BYTE : REGSET_ALL)); \ + host_index_reg = c->guest_reg_status[guest_index_reg].host_reg; \ + if (host_index_reg == base_addr_reg \ + || (!cmp_p && host_index_reg == dst_reg)) \ + legal_regs |= (1L << host_index_reg); \ + if (cmp_p) \ + legal_regs &= ~(1L << dst_reg); \ + if (host_index_reg != NO_REG \ + && !(legal_regs & (1L << host_index_reg))) \ + return 5; \ + \ + /* When moving a long, the dest register's old value might be \ + * invalid (since we are about to smash it). If that register \ + * is also the index register, we don't want to trust the junk \ + * that's in it. To be safe, reload the value. \ + */ \ + if (long_p && !cmp_p && host_index_reg == dst_reg \ + && !c->guest_reg_status[guest_index_reg].dirty_without_offset_p \ + && c->guest_reg_status[guest_index_reg].mapping == MAP_NATIVE) \ + { \ + i386_movl_indoff_reg (COMMON_ARG_NAMES, \ + offsetof (CPUState, \ + regs[guest_index_reg].ul.n), \ + REG_EBP, host_index_reg); \ + orig_index_reg = host_index_reg; \ + } \ + else \ + orig_index_reg = host_setup_cached_reg (COMMON_ARG_NAMES, \ + guest_index_reg, \ + MAP_NATIVE_MASK, \ + legal_regs); \ + \ + if (orig_index_reg == NO_REG) \ + return 2; \ + if (LONG_INDEX_REG_P (ext_word)) \ + index_reg = orig_index_reg; \ + else \ + { \ + i386_movswl_reg_reg (COMMON_ARG_NAMES, orig_index_reg, \ + scratch_reg); \ + index_reg = scratch_reg; \ + } \ + } \ + \ + /* Compute the total displacement. */ \ + disp = DISPLACEMENT (ext_word); \ + base_status = &c->guest_reg_status \ + [c->host_reg_to_guest_reg[base_addr_reg]]; \ + if (base_status->mapping == MAP_OFFSET) \ + disp += base_status->offset; \ + \ + /* Compensate for offset memory. */ \ + if (!(lea_p)) \ + disp = (int32) SYN68K_TO_US (disp); \ + \ + /* Write the value out. */ \ + switch (SCALE (ext_word)) \ + { \ + case 0: \ + if (disp == 0) \ + op ## size ##_indix_reg_no_offset (COMMON_ARG_NAMES, \ + base_addr_reg, index_reg, \ + dst_reg); \ + else \ + op ## size ##_indix_reg (COMMON_ARG_NAMES, \ + disp, base_addr_reg, index_reg, \ + dst_reg); \ + break; \ + case 1: \ + if (disp == 0) \ + op ## size ##_indix_reg_scale2_no_offset (COMMON_ARG_NAMES, \ + base_addr_reg, \ + index_reg, \ + dst_reg); \ + else \ + op ## size ##_indix_reg_scale2 (COMMON_ARG_NAMES, \ + disp, base_addr_reg, index_reg, \ + dst_reg); \ + break; \ + case 2: \ + if (disp == 0) \ + op ## size ##_indix_reg_scale4_no_offset (COMMON_ARG_NAMES, \ + base_addr_reg, \ + index_reg, \ + dst_reg); \ + else \ + op ## size ##_indix_reg_scale4 (COMMON_ARG_NAMES, \ + disp, base_addr_reg, \ + index_reg, \ + dst_reg); \ + break; \ + case 3: \ + if (disp == 0) \ + op ## size ##_indix_reg_scale8_no_offset (COMMON_ARG_NAMES, \ + base_addr_reg, \ + index_reg, \ + dst_reg); \ + else \ + op ## size ##_indix_reg_scale8 (COMMON_ARG_NAMES, \ + disp, base_addr_reg, \ + index_reg, \ + dst_reg); \ + break; \ + default: \ + abort (); \ + } \ + \ + return 0; \ +} + +HOST_OP_INDIX_REG (b, move, i386_mov, FALSE, FALSE, FALSE) +HOST_OP_INDIX_REG (w, move, i386_mov, FALSE, FALSE, FALSE) +HOST_OP_INDIX_REG (l, move, i386_mov, TRUE, FALSE, FALSE) + +HOST_OP_INDIX_REG (b, cmp, i386_cmp, FALSE, TRUE, FALSE) +HOST_OP_INDIX_REG (w, cmp, i386_cmp, FALSE, TRUE, FALSE) +HOST_OP_INDIX_REG (l, cmp, i386_cmp, TRUE, TRUE, FALSE) + +HOST_OP_INDIX_REG (l, lea, i386_lea, TRUE, FALSE, TRUE) + + +#define HOST_MOV_REG_MEM(size, amode, preoff, postoff, adjust_p) \ +int \ +host_move ## size ## _reg_ ## amode (COMMON_ARGS, int32 src_reg, \ + OFF int32 dst_addr_reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[dst_addr_reg]; \ + \ + CHECK_ADDR_REG (dst_addr_reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Actually write the value out to memory. */ \ + if (regoff == 0) \ + i386_mov ## size ## _reg_ind (COMMON_ARG_NAMES, \ + src_reg, dst_addr_reg); \ + else \ + i386_mov ## size ## _reg_indoff (COMMON_ARG_NAMES, src_reg, \ + regoff, dst_addr_reg); \ + /* Adjust the address register. */ \ + if (postoff && adjust_p) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_MOV_REG_MEM(b, ind, 0, 0, FALSE) +HOST_MOV_REG_MEM(w, ind, 0, 0, FALSE) +HOST_MOV_REG_MEM(l, ind, 0, 0, FALSE) + +HOST_MOV_REG_MEM(b, predec, -1, -1, TRUE) +HOST_MOV_REG_MEM(w, predec, -2, -2, TRUE) +HOST_MOV_REG_MEM(l, predec, -4, -4, TRUE) + +HOST_MOV_REG_MEM(b, postinc, 0, 1, TRUE) +HOST_MOV_REG_MEM(w, postinc, 0, 2, TRUE) +HOST_MOV_REG_MEM(l, postinc, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_MOV_REG_MEM(b, indoff, offset, 0, FALSE) +HOST_MOV_REG_MEM(w, indoff, offset, 0, FALSE) +HOST_MOV_REG_MEM(l, indoff, offset, 0, FALSE) + + +#define HOST_MOV_REG_MEM_SWAP(size, amode, swap) \ +int \ +host_move ## size ## _reg_ ## amode ## _swap (COMMON_ARGS, int32 src_reg,\ + OFF int32 addr_reg) \ +{ \ + /* Bail out if the two registers are the same! */ \ + if (src_reg == addr_reg) \ + return 1; \ + \ + CHECK_ADDR_REG (addr_reg); \ + \ + cc_spill_if_changed |= cc_to_compute; \ + swap (src_reg); \ + return host_move ## size ## _reg_ ## amode (COMMON_ARG_NAMES, src_reg, \ + OFFNAME addr_reg); \ +} + + +#undef OFF +#define OFF +#undef OFFNAME +#define OFFNAME +HOST_MOV_REG_MEM_SWAP(w, ind, HOST_SWAP16) +HOST_MOV_REG_MEM_SWAP(l, ind, HOST_SWAP32) + +HOST_MOV_REG_MEM_SWAP(w, predec, HOST_SWAP16) +HOST_MOV_REG_MEM_SWAP(l, predec, HOST_SWAP32) + +HOST_MOV_REG_MEM_SWAP(w, postinc, HOST_SWAP16) +HOST_MOV_REG_MEM_SWAP(l, postinc, HOST_SWAP32) + +#undef OFF +#define OFF int32 offset, +#undef OFFNAME +#define OFFNAME offset, +HOST_MOV_REG_MEM_SWAP(w, indoff, HOST_SWAP16) +HOST_MOV_REG_MEM_SWAP(l, indoff, HOST_SWAP32) + + +#define HOST_MOV_MEM_REG(size, amode, preoff, postoff, adjust_p, byte_p) \ +int \ +host_move ## size ## _ ## amode ## _reg (COMMON_ARGS, OFF int32 src_addr_reg,\ + int32 dst_reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[src_addr_reg]; \ + \ + CHECK_ADDR_REG (src_addr_reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Read the value in from memory. */ \ + if (regoff == 0) \ + i386_mov ## size ## _ind_reg (COMMON_ARG_NAMES, src_addr_reg, dst_reg); \ + else \ + i386_mov ## size ## _indoff_reg (COMMON_ARG_NAMES, regoff, src_addr_reg, \ + dst_reg); \ + \ + /* Adjust the address register. */ \ + if (postoff && adjust_p && (byte_p || src_addr_reg != dst_reg)) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_MOV_MEM_REG(b, ind, 0, 0, FALSE, TRUE) +HOST_MOV_MEM_REG(w, ind, 0, 0, FALSE, FALSE) +HOST_MOV_MEM_REG(l, ind, 0, 0, FALSE, FALSE) + +HOST_MOV_MEM_REG(b, predec, -1, -1, TRUE, TRUE) +HOST_MOV_MEM_REG(w, predec, -2, -2, TRUE, FALSE) +HOST_MOV_MEM_REG(l, predec, -4, -4, TRUE, FALSE) + +HOST_MOV_MEM_REG(b, postinc, 0, 1, TRUE, TRUE) +HOST_MOV_MEM_REG(w, postinc, 0, 2, TRUE, FALSE) +HOST_MOV_MEM_REG(l, postinc, 0, 4, TRUE, FALSE) + +#undef OFF +#define OFF int32 offset, +HOST_MOV_MEM_REG(b, indoff, offset, 0, FALSE, TRUE) +HOST_MOV_MEM_REG(w, indoff, offset, 0, FALSE, FALSE) +HOST_MOV_MEM_REG(l, indoff, offset, 0, FALSE, FALSE) + + +#define HOST_MOV_MEM_REG_SWAP(size, amode, swap) \ +int \ +host_move ## size ## _ ## amode ## _reg_swap (COMMON_ARGS, \ + OFF int32 addr_reg, \ + int32 dst_reg) \ +{ \ + CHECK_ADDR_REG (addr_reg); \ + \ + host_move ## size ## _ ## amode ## _reg (COMMON_ARG_NAMES, \ + OFFNAME addr_reg, dst_reg); \ + swap (dst_reg); \ + return 0; \ +} + + +#undef OFF +#define OFF +#undef OFFNAME +#define OFFNAME +HOST_MOV_MEM_REG_SWAP(w, ind, HOST_SWAP16) +HOST_MOV_MEM_REG_SWAP(l, ind, HOST_SWAP32) + +HOST_MOV_MEM_REG_SWAP(w, predec, HOST_SWAP16) +HOST_MOV_MEM_REG_SWAP(l, predec, HOST_SWAP32) + +HOST_MOV_MEM_REG_SWAP(w, postinc, HOST_SWAP16) +HOST_MOV_MEM_REG_SWAP(l, postinc, HOST_SWAP32) + +#undef OFF +#define OFF int32 offset, +#undef OFFNAME +#define OFFNAME offset, +HOST_MOV_MEM_REG_SWAP(w, indoff, HOST_SWAP16) +HOST_MOV_MEM_REG_SWAP(l, indoff, HOST_SWAP32) + + +#define HOST_OP_MEM_REG(size, op, amode, preoff, postoff, adjust_p, byte_p) \ +int \ +host_ ## op ## size ## _ ## amode ## _reg (COMMON_ARGS, \ + OFF int32 src_addr_reg, \ + int32 dst_reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[src_addr_reg]; \ + \ + CHECK_ADDR_REG (src_addr_reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Read the value in from memory. */ \ + if (regoff == 0) \ + i386_ ## op ## size ## _ind_reg (COMMON_ARG_NAMES, src_addr_reg, \ + dst_reg); \ + else \ + i386_ ## op ## size ## _indoff_reg (COMMON_ARG_NAMES, regoff, \ + src_addr_reg, dst_reg); \ + \ + /* Adjust the address register. */ \ + if (postoff && adjust_p && (byte_p || src_addr_reg != dst_reg)) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_OP_MEM_REG(b, and, ind, 0, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, and, ind, 0, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, and, ind, 0, 0, FALSE, FALSE) + +HOST_OP_MEM_REG(b, and, predec, -1, -1, TRUE, TRUE) +HOST_OP_MEM_REG(w, and, predec, -2, -2, TRUE, FALSE) +HOST_OP_MEM_REG(l, and, predec, -4, -4, TRUE, FALSE) + +HOST_OP_MEM_REG(b, and, postinc, 0, 1, TRUE, TRUE) +HOST_OP_MEM_REG(w, and, postinc, 0, 2, TRUE, FALSE) +HOST_OP_MEM_REG(l, and, postinc, 0, 4, TRUE, FALSE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_MEM_REG(b, and, indoff, offset, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, and, indoff, offset, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, and, indoff, offset, 0, FALSE, FALSE) + + +#undef OFF +#define OFF +HOST_OP_MEM_REG(b, or, ind, 0, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, or, ind, 0, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, or, ind, 0, 0, FALSE, FALSE) + +HOST_OP_MEM_REG(b, or, predec, -1, -1, TRUE, TRUE) +HOST_OP_MEM_REG(w, or, predec, -2, -2, TRUE, FALSE) +HOST_OP_MEM_REG(l, or, predec, -4, -4, TRUE, FALSE) + +HOST_OP_MEM_REG(b, or, postinc, 0, 1, TRUE, TRUE) +HOST_OP_MEM_REG(w, or, postinc, 0, 2, TRUE, FALSE) +HOST_OP_MEM_REG(l, or, postinc, 0, 4, TRUE, FALSE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_MEM_REG(b, or, indoff, offset, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, or, indoff, offset, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, or, indoff, offset, 0, FALSE, FALSE) + + +#undef OFF +#define OFF +HOST_OP_MEM_REG(b, add, ind, 0, 0, FALSE, TRUE) +HOST_OP_MEM_REG(b, add, predec, -1, -1, TRUE, TRUE) +HOST_OP_MEM_REG(b, add, postinc, 0, 1, TRUE, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_MEM_REG(b, add, indoff, offset, 0, FALSE, TRUE) + + +#undef OFF +#define OFF +HOST_OP_MEM_REG(b, sub, ind, 0, 0, FALSE, TRUE) +HOST_OP_MEM_REG(b, sub, predec, -1, -1, TRUE, TRUE) +HOST_OP_MEM_REG(b, sub, postinc, 0, 1, TRUE, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_MEM_REG(b, sub, indoff, offset, 0, FALSE, TRUE) + + +#undef OFF +#define OFF +HOST_OP_MEM_REG(b, cmp, ind, 0, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, cmp, ind, 0, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, cmp, ind, 0, 0, FALSE, FALSE) + +HOST_OP_MEM_REG(b, cmp, predec, -1, -1, TRUE, TRUE) +HOST_OP_MEM_REG(w, cmp, predec, -2, -2, TRUE, FALSE) +HOST_OP_MEM_REG(l, cmp, predec, -4, -4, TRUE, FALSE) + +HOST_OP_MEM_REG(b, cmp, postinc, 0, 1, TRUE, TRUE) +HOST_OP_MEM_REG(w, cmp, postinc, 0, 2, TRUE, FALSE) +HOST_OP_MEM_REG(l, cmp, postinc, 0, 4, TRUE, FALSE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_MEM_REG(b, cmp, indoff, offset, 0, FALSE, TRUE) +HOST_OP_MEM_REG(w, cmp, indoff, offset, 0, FALSE, FALSE) +HOST_OP_MEM_REG(l, cmp, indoff, offset, 0, FALSE, FALSE) + + +#define HOST_OP_REG_MEM(size, op, amode, preoff, postoff, adjust_p) \ +int \ +host_ ## op ## size ## _reg_ ## amode (COMMON_ARGS, int32 src_reg, \ + OFF int32 dst_addr_reg) \ +{ \ + int32 regoff; \ + int offset_p; \ + int guest_reg = c->host_reg_to_guest_reg[dst_addr_reg]; \ + \ + CHECK_ADDR_REG (dst_addr_reg); \ + \ + /* Compensate for a7 predec/postinc byte size means +-2 nonsense. */ \ + if (adjust_p && ((preoff) & 1) && guest_reg == 15) /* a7? */ \ + regoff = (preoff) * 2; \ + else \ + regoff = preoff; \ + \ + offset_p = (c->guest_reg_status[guest_reg].mapping == MAP_OFFSET); \ + if (offset_p) \ + regoff += c->guest_reg_status[guest_reg].offset; \ + \ + /* Compensate for offset memory. */ \ + regoff = (int32) SYN68K_TO_US (regoff); \ + \ + /* Read the value in from memory. */ \ + if (regoff == 0) \ + i386_ ## op ## size ## _reg_ind (COMMON_ARG_NAMES, src_reg, \ + dst_addr_reg); \ + else \ + i386_ ## op ## size ## _reg_indoff (COMMON_ARG_NAMES, src_reg, regoff, \ + dst_addr_reg); \ + \ + /* Adjust the address register. */ \ + if (postoff && adjust_p) \ + { \ + int32 newoff; \ + \ + if (((postoff) & 1) && guest_reg == 15) /* a7? Compensate... */ \ + newoff = (postoff) * 2; \ + else \ + newoff = postoff; \ + \ + if (offset_p) \ + { \ + /* If we're already offset, adjust our offset some more. */ \ + if ((c->guest_reg_status[guest_reg].offset += newoff) == 0) \ + c->guest_reg_status[guest_reg].mapping = MAP_NATIVE; \ + } \ + else \ + { \ + /* We now become offset from our original value. */ \ + c->guest_reg_status[guest_reg].offset = newoff; \ + c->guest_reg_status[guest_reg].mapping = MAP_OFFSET; \ + } \ + } \ + \ + return 0; \ +} + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, and, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(w, and, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(l, and, ind, 0, 0, FALSE) + +HOST_OP_REG_MEM(b, and, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(w, and, predec, -2, -2, TRUE) +HOST_OP_REG_MEM(l, and, predec, -4, -4, TRUE) + +HOST_OP_REG_MEM(b, and, postinc, 0, 1, TRUE) +HOST_OP_REG_MEM(w, and, postinc, 0, 2, TRUE) +HOST_OP_REG_MEM(l, and, postinc, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, and, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(w, and, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(l, and, indoff, offset, 0, FALSE) + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, or, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(w, or, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(l, or, ind, 0, 0, FALSE) + +HOST_OP_REG_MEM(b, or, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(w, or, predec, -2, -2, TRUE) +HOST_OP_REG_MEM(l, or, predec, -4, -4, TRUE) + +HOST_OP_REG_MEM(b, or, postinc, 0, 1, TRUE) +HOST_OP_REG_MEM(w, or, postinc, 0, 2, TRUE) +HOST_OP_REG_MEM(l, or, postinc, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, or, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(w, or, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(l, or, indoff, offset, 0, FALSE) + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, xor, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(w, xor, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(l, xor, ind, 0, 0, FALSE) + +HOST_OP_REG_MEM(b, xor, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(w, xor, predec, -2, -2, TRUE) +HOST_OP_REG_MEM(l, xor, predec, -4, -4, TRUE) + +HOST_OP_REG_MEM(b, xor, postinc, 0, 1, TRUE) +HOST_OP_REG_MEM(w, xor, postinc, 0, 2, TRUE) +HOST_OP_REG_MEM(l, xor, postinc, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, xor, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(w, xor, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(l, xor, indoff, offset, 0, FALSE) + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, add, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(b, add, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(b, add, postinc, 0, 1, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, add, indoff, offset, 0, FALSE) + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, sub, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(b, sub, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(b, sub, postinc, 0, 1, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, sub, indoff, offset, 0, FALSE) + + +#undef OFF +#define OFF +HOST_OP_REG_MEM(b, cmp, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(w, cmp, ind, 0, 0, FALSE) +HOST_OP_REG_MEM(l, cmp, ind, 0, 0, FALSE) + +HOST_OP_REG_MEM(b, cmp, predec, -1, -1, TRUE) +HOST_OP_REG_MEM(w, cmp, predec, -2, -2, TRUE) +HOST_OP_REG_MEM(l, cmp, predec, -4, -4, TRUE) + +HOST_OP_REG_MEM(b, cmp, postinc, 0, 1, TRUE) +HOST_OP_REG_MEM(w, cmp, postinc, 0, 2, TRUE) +HOST_OP_REG_MEM(l, cmp, postinc, 0, 4, TRUE) + +#undef OFF +#define OFF int32 offset, +HOST_OP_REG_MEM(b, cmp, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(w, cmp, indoff, offset, 0, FALSE) +HOST_OP_REG_MEM(l, cmp, indoff, offset, 0, FALSE) + + +int +host_cmpmb_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2) +{ + host_moveb_postinc_reg (COMMON_ARG_NAMES, reg1, scratch_reg); + host_moveb_postinc_reg (COMMON_ARG_NAMES, reg2, scratch_reg + 4); + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg1]); + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg2]); + i386_cmpb_reg_reg (COMMON_ARG_NAMES, scratch_reg, scratch_reg + 4); + return 0; +} + + +int +host_cmpmw_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2) +{ + int32 scratch_reg_2; + + scratch_reg_2 = host_alloc_reg (c, codep, cc_spill_if_changed, + REGSET_ALL & ~((1L << reg1) + | (1L << reg2) + | (1L << scratch_reg))); + if (scratch_reg_2 == NO_REG) + return 1; + + host_movew_postinc_reg (COMMON_ARG_NAMES, reg1, scratch_reg); + host_movew_postinc_reg (COMMON_ARG_NAMES, reg2, scratch_reg_2); + + /* We choose to unoffset the registers _now_, because we'll almost + * certainly need the cc bits after the compare and the adds to unoffset + * will clobber the i386 cc's. + */ + + /* Add and swap back to back, for Pentium pairability. */ + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg1]); + if (cc_to_compute & (M68K_CCN | M68K_CCC | M68K_CCV)) + HOST_SWAP16 (scratch_reg); + + /* Add and swap back to back, for Pentium pairability. */ + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg2]); + if (cc_to_compute & (M68K_CCN | M68K_CCC | M68K_CCV)) + HOST_SWAP16 (scratch_reg_2); + + /* Finally do the compare. */ + i386_cmpw_reg_reg (COMMON_ARG_NAMES, scratch_reg, scratch_reg_2); + + return 0; +} + + +int +host_cmpml_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2) +{ + int32 scratch_reg_2; + + scratch_reg_2 = host_alloc_reg (c, codep, cc_spill_if_changed, + REGSET_ALL & ~((1L << reg1) + | (1L << reg2) + | (1L << scratch_reg))); + if (scratch_reg_2 == NO_REG) + return 1; + + host_movel_postinc_reg (COMMON_ARG_NAMES, reg1, scratch_reg); + host_movel_postinc_reg (COMMON_ARG_NAMES, reg2, scratch_reg_2); + + /* We choose to unoffset the registers _now_, because we'll almost + * certainly need the cc bits after the compare and the adds to unoffset + * will clobber the i386 cc's. + */ + + /* Adds back to back for Pentium pairability since bswap isn't pairable. */ + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg1]); + host_unoffset_reg (c, codep, cc_spill_if_changed, + c->host_reg_to_guest_reg[reg2]); + + /* Swap the two temp guys around to native endian byte order. */ + if (cc_to_compute & (M68K_CCN | M68K_CCC | M68K_CCV)) + { + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + host_swap32 (COMMON_ARG_NAMES, scratch_reg_2); + } + + /* Finally do the compare. */ + i386_cmpl_reg_reg (COMMON_ARG_NAMES, scratch_reg, scratch_reg_2); + + return 0; +} + + +/* We special case this so we can deal with offset registers efficiently. */ +#define ADD_SUB_CMPL_IMM_REG(op, v, adj, compare_p) \ +int \ +host_ ## op ## l_imm_reg (COMMON_ARGS, int32 val, int32 host_reg) \ +{ \ + int guest_reg; \ + guest_reg_status_t *r; \ + \ + guest_reg = c->host_reg_to_guest_reg[host_reg]; \ + r = &c->guest_reg_status[guest_reg]; \ + \ + if (!(cc_to_compute & ~(M68K_CCZ | M68K_CCN))) \ + { \ + if (r->mapping == MAP_OFFSET) \ + { \ + val adj r->offset; \ + r->mapping = MAP_NATIVE; \ + if (val == 0 && !cc_to_compute) \ +/*-->*/ return 0; \ + } \ + \ + if (compare_p \ + || !(cc_spill_if_changed & ~M68K_CCX) \ + || cc_to_compute) \ + { \ + if (!compare_p && (v) == 1) \ + i386_incl_reg (COMMON_ARG_NAMES, host_reg); \ + else if (!compare_p && (v) == -1) \ + i386_decl_reg (COMMON_ARG_NAMES, host_reg); \ + else \ + i386_ ## op ## l_imm_reg (COMMON_ARG_NAMES, val, host_reg); \ + } \ + else \ + { \ + /* We can add without touching any cc's with leal. */ \ + i386_leal_indoff (c, codep, M68K_CC_NONE, M68K_CC_NONE, \ + NO_REG, (v), host_reg, host_reg); \ + } \ + } \ + else /* We need the tricky cc bits. */ \ + { \ + if (r->mapping == MAP_OFFSET) \ + { \ + int32 offset = r->offset; \ + if (offset != 0) \ + { \ + if (offset == 1) \ + i386_incl_reg (COMMON_ARG_NAMES, host_reg); \ + else if (offset == -1) \ + i386_decl_reg (COMMON_ARG_NAMES, host_reg); \ + else \ + i386_addl_imm_reg (COMMON_ARG_NAMES, offset, host_reg); \ + } \ + \ + r->mapping = MAP_NATIVE; \ + } \ + \ + i386_ ## op ## l_imm_reg (COMMON_ARG_NAMES, val, host_reg); \ + } \ + \ + return 0; \ +} + + +ADD_SUB_CMPL_IMM_REG (add, val, +=, FALSE) +ADD_SUB_CMPL_IMM_REG (sub, -val, -=, FALSE) +ADD_SUB_CMPL_IMM_REG (cmp, -val, -=, TRUE) + + +int +host_bclr_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg) +{ + return host_andl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + scratch_reg, ~(1L << (bitnum & 31)), reg); +} + + +int +host_bset_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg) +{ + return host_orl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + scratch_reg, 1L << (bitnum & 31), reg); +} + + +int +host_bchg_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg) +{ + return host_xorl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + scratch_reg, 1L << (bitnum & 31), reg); +} + + +int +host_btst_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg) +{ + uint32 mask; + + mask = 1L << (bitnum & 31); + switch (c->guest_reg_status[c->host_reg_to_guest_reg[reg]].mapping) + { + case MAP_NATIVE: + break; + case MAP_SWAP16: + mask = (mask & 0xFFFF0000) | SWAPUW_IFLE (mask); + break; + case MAP_SWAP32: + mask = SWAPUL_IFLE (mask); + break; + default: + abort (); + } + + if (reg < 4 && (mask & 0xFFFF)) + { + /* Do either "testb $0x4,%al" or "testb $0x8,%ah" (for example). */ + if (mask & 0xFF) + i386_testb_imm_reg (COMMON_ARG_NAMES, mask, reg); + else + i386_testb_imm_reg (COMMON_ARG_NAMES, mask >> 8, reg + 4); + } + else + i386_testl_imm_reg (COMMON_ARG_NAMES, mask, reg); + return 0; +} + + +#define CONDL_BRANCH(name, cc_in, i386_insn, i386_reverse_insn, \ + noncached_variant_p, \ + two_noncached_cc_p, cc1, njmp1, cc2, njmp2, \ + first_test_child) \ +int \ +host_ ## name (COMMON_ARGS, Block *b) \ +{ \ + unsigned cc_to_spill, cc[2]; \ + host_code_t *start_code; \ + int reverse_branch_p, cc_diff; \ + static const int8 bits_set[32] = \ + { \ + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, \ + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5 \ + }; \ + \ + /* Record the start so we can provide accurate backpatch information. */ \ + start_code = *codep; \ + \ + /* First spill any dirty or offset registers. */ \ + host_spill_regs (c, codep, cc_spill_if_changed | (cc_in)); \ + \ + cc[0] = b->child[0]->cc_needed & c->cached_cc & c->dirty_cc; \ + cc[1] = b->child[1]->cc_needed & c->cached_cc & c->dirty_cc; \ + \ + /* We'll prefer branching when we don't need to spill ccs, and we'll \ + * prefer branching to a block with children (e.g. avoid rts since \ + * it's not likely to be in a loop.) \ + */ \ + cc_diff = bits_set[cc[0]] - bits_set[cc[1]]; \ + reverse_branch_p = (cc_diff < 0 \ + || (cc_diff == 0 && b->child[1]->num_parents == 0)); \ + \ + /* Make sure that the cc bits we need are still alive. */ \ + if ((c->cached_cc & (cc_in)) == (cc_in)) \ + { \ + /* Spill any cc bits that are live and cached, but only those needed \ + * if we take the TRUE arm of the branch. We assume here that our \ + * SPILL_CC_BITS() routine leaves the cc bits cached in reality, even \ + * though it marks them uncached. \ + */ \ + cc_to_spill = cc[!reverse_branch_p]; \ + SPILL_CC_BITS (c, codep, cc_to_spill); \ + \ + /* Emit a conditional branch. */ \ + if (reverse_branch_p) \ + i386_reverse_insn (COMMON_ARG_NAMES, 0x12345678); \ + else \ + i386_insn (COMMON_ARG_NAMES, 0x12345678); \ + } \ + else if (noncached_variant_p) \ + { \ + cc_to_spill = ((b->child[0]->cc_needed | b->child[1]->cc_needed \ + | (cc_in)) \ + & c->cached_cc & c->dirty_cc); \ + SPILL_CC_BITS (c, codep, cc_to_spill); \ + \ + cc_to_compute = M68K_CCZ; \ + cc_spill_if_changed = M68K_CC_NONE; \ + \ + /* We can test up to two cc bits for known values. */ \ + if (two_noncached_cc_p) \ + { \ + Block *child; \ + \ + i386_cmpb_imm_indoff (COMMON_ARG_NAMES, 0, \ + offsetof (CPUState, cc1), REG_EBP); \ + njmp1 (COMMON_ARG_NAMES, 0x12345678); \ + \ + /* Create a backpatch for this conditional branch. */ \ + child = b->child[first_test_child]; \ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, \ + -4 /* Branch is relative to end of jmp. */ \ + + NATIVE_START_BYTE_OFFSET /* skip synth opcode */ \ + + (child->m68k_start_address > b->m68k_start_address \ + ? CHECK_INTERRUPT_STUB_BYTES : 0), \ + child); \ + } \ + \ + /* Check the secondary success condition. */ \ + i386_cmpb_imm_indoff (COMMON_ARG_NAMES, 0, \ + offsetof (CPUState, cc2), REG_EBP); \ + njmp2 (COMMON_ARG_NAMES, 0x12345678); \ + \ + /* Note that we shouldn't try to save the cc bits output by the cmp \ + * we just generated. \ + */ \ + c->cached_cc = M68K_CC_NONE; \ + c->dirty_cc = M68K_CC_NONE; \ + \ + reverse_branch_p = FALSE; \ + } \ + else \ + return 1; \ + \ + /* Create a backpatch for this conditional branch. Note that this \ + * backpatch is only relative to the start of this native code; \ + * the main compile loop will adjust the backpatch to be relative \ + * to the block start once our code has been placed. \ + */ \ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, \ + -4 /* Branch is relative to end of jxx. */ \ + + NATIVE_START_BYTE_OFFSET \ + + ((b->child[!reverse_branch_p]->m68k_start_address \ + > b->m68k_start_address) \ + ? CHECK_INTERRUPT_STUB_BYTES : 0), \ + b->child[!reverse_branch_p]); \ + \ + /* Spill any cc bits that are live and cached, but only those needed \ + * if we take the FALSE arm of the branch. \ + */ \ + cc_to_spill = (cc[reverse_branch_p]); \ + SPILL_CC_BITS (c, codep, cc_to_spill); \ + \ + /* Emit a jmp to the failure block. */ \ + i386_jmp (COMMON_ARG_NAMES, 0x12345678); \ + \ + /* Create a backpatch for this unconditional jmp. */ \ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, \ + -4 /* Branch is relative to end of jmp. */ \ + + NATIVE_START_BYTE_OFFSET /* Skip initial synth opcode.*/ \ + + ((b->child[reverse_branch_p]->m68k_start_address \ + > b->m68k_start_address) \ + ? CHECK_INTERRUPT_STUB_BYTES : 0), \ + b->child[reverse_branch_p]); \ + return 0; \ +} + +CONDL_BRANCH (bcc, M68K_CCC, i386_jnc, i386_jc, + TRUE, FALSE, ccc, i386_jz, ccc, i386_jz, 0) +CONDL_BRANCH (bcs, M68K_CCC, i386_jc, i386_jnc, + TRUE, FALSE, ccc, i386_jz, ccc, i386_jnz, 0) +CONDL_BRANCH (beq, M68K_CCZ, i386_jz, i386_jnz, + TRUE, FALSE, ccc, i386_jz, ccnz, i386_jz, 0) +CONDL_BRANCH (bne, M68K_CCZ, i386_jnz, i386_jz, + TRUE, FALSE, ccc, i386_jz, ccnz, i386_jnz, 0) +CONDL_BRANCH (bge, M68K_CCN | M68K_CCV, i386_jge, i386_jl, + FALSE, FALSE, ccc, i386_jz, ccnz, i386_jz, 0) +CONDL_BRANCH (blt, M68K_CCN | M68K_CCV, i386_jl, i386_jge, + FALSE, FALSE, ccc, i386_jz, ccnz, i386_jz, 0) +CONDL_BRANCH (bgt, M68K_CCN | M68K_CCV | M68K_CCZ, i386_jnle, i386_jle, + FALSE, FALSE, ccc, i386_jz, ccnz, i386_jz, 0) +CONDL_BRANCH (ble, M68K_CCN | M68K_CCV | M68K_CCZ, i386_jle, i386_jnle, + FALSE, FALSE, ccc, i386_jz, ccnz, i386_jz, 0) +CONDL_BRANCH (bhi, M68K_CCC | M68K_CCZ, i386_jnbe, i386_jbe, + TRUE, TRUE, ccc, i386_jnz, ccnz, i386_jnz, 0) +CONDL_BRANCH (bls, M68K_CCC | M68K_CCZ, i386_jbe, i386_jnbe, + TRUE, TRUE, ccc, i386_jnz, ccnz, i386_jz, 1) +CONDL_BRANCH (bpl, M68K_CCN, i386_jns, i386_js, + TRUE, FALSE, ccc, i386_jz, ccn, i386_jz, 0) +CONDL_BRANCH (bmi, M68K_CCN, i386_js, i386_jns, + TRUE, FALSE, ccc, i386_jz, ccn, i386_jnz, 0) +CONDL_BRANCH (bvc, M68K_CCV, i386_jno, i386_jo, + TRUE, FALSE, ccc, i386_jz, ccv, i386_jz, 0) +CONDL_BRANCH (bvs, M68K_CCV, i386_jo, i386_jno, + TRUE, FALSE, ccc, i386_jz, ccv, i386_jnz, 0) + + +int +host_jmp (COMMON_ARGS, Block *b) +{ + unsigned cc_to_spill; + host_code_t *start_code; + + /* Record the start so we can provide accurate backpatch information. */ + start_code = *codep; + + /* Spill any needed cc bits. */ + cc_to_spill = (b->child[0]->cc_needed & c->cached_cc & c->dirty_cc); + SPILL_CC_BITS (c, codep, cc_to_spill); + + /* Spill any dirty or offset registers. */ + host_spill_regs (c, codep, M68K_CC_NONE); + + /* Emit a jmp to the target block. */ + i386_jmp (COMMON_ARG_NAMES, 0x12345678); + + /* Create a backpatch for this jmp. */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of jmp. */ + + NATIVE_START_BYTE_OFFSET /* Skip initial synth opcode.*/ + + ((b->child[0]->m68k_start_address > b->m68k_start_address) + ? CHECK_INTERRUPT_STUB_BYTES : 0), + b->child[0]); + + return 0; +} + + +int +host_dbra (COMMON_ARGS, int32 guest_reg, Block *b) +{ + unsigned cc_to_spill; + host_code_t *start_code; + int32 host_reg; + + /* Record the start so we can provide accurate backpatch information. */ + start_code = *codep; + + /* Spill any cc bits that are live and cached. */ + cc_to_spill = (c->cached_cc & c->dirty_cc); + SPILL_CC_BITS (c, codep, cc_to_spill); + + /* Canonicalize all registers. If the loop register is cached, + * pretend like it's dirty so it gets canonicalized. It will be + * decremented below, so we won't be doing any extra work or + * anything. + */ + host_reg = c->guest_reg_status[guest_reg].host_reg; + if (host_reg != NO_REG) + c->guest_reg_status[guest_reg].dirty_without_offset_p = TRUE; + make_dirty_regs_native (c, codep, M68K_CC_NONE); + + /* Decrement the loop register, whether it's cached or in memory. */ + if (host_reg == NO_REG) + { + /* It's in memory. We've got to use subw since we need the carry. */ + i386_subw_imm_indoff (c, codep, M68K_CC_NONE, M68K_CCC, NO_REG, + 1, offsetof (CPUState, regs[guest_reg].uw.n), + REG_EBP); + } + else + { + /* It's in a reg. We've got to use subw since we need the carry. + * We already marked the reg dirty, above. + */ + i386_subw_imm_reg (c, codep, M68K_CC_NONE, M68K_CCC, NO_REG, + 1, host_reg); + } + + /* Spill all registers back to memory. */ + host_spill_regs (c, codep, M68K_CCC); + + /* Make sure that we've still got the carry from the decw. Of course, + * the real m68k doesn't have this carry value, so remember that. + */ + if (!(c->cached_cc & M68K_CCC)) + return 1; + c->cached_cc = M68K_CC_NONE; + + /* Emit a conditional branch. */ + i386_jnc (COMMON_ARG_NAMES, 0x12345678); + + /* Create a backpatch for this conditional branch. Note that this + * backpatch is only relative to the start of this native code; + * the main compile loop will adjust the backpatch to be relative + * to the block start once our code has been placed. + */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of jxx. */ + + NATIVE_START_BYTE_OFFSET, /* Skip initial synth opcode. */ + b->child[1]); + + /* Emit a jmp to the failure block. */ + i386_jmp (COMMON_ARG_NAMES, 0x12345678); + + /* Create a backpatch for this unconditional jmp. */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of jmp. */ + + NATIVE_START_BYTE_OFFSET /* Skip initial synth opcode.*/ + + ((b->child[0]->m68k_start_address > b->m68k_start_address) + ? CHECK_INTERRUPT_STUB_BYTES : 0), + b->child[0]); + return 0; +} + + +int +host_swap (COMMON_ARGS, int32 reg) +{ + return i386_rorl_imm_reg (c, codep, cc_spill_if_changed, M68K_CC_NONE, + NO_REG, 16, reg); +} + + +int +host_extbw (COMMON_ARGS, int32 reg) +{ + /* movb %al,%ah + * sarb $7,%ah + * testb %al,%al (optional) + */ + i386_movb_reg_reg (COMMON_ARG_NAMES, reg, reg + 4); + i386_sarb_imm_reg (COMMON_ARG_NAMES, 7, reg + 4); + if (cc_to_compute) + i386_testb_reg_reg (COMMON_ARG_NAMES, reg, reg); + return 0; +} + + +int +host_extwl (COMMON_ARGS, int32 reg) +{ + i386_movswl_reg_reg (COMMON_ARG_NAMES, reg, reg); + if (cc_to_compute) + i386_testl_reg_reg (COMMON_ARG_NAMES, reg, reg); + return 0; +} + + +int +host_extbl (COMMON_ARGS, int32 reg) +{ + if (cc_to_compute) + i386_testb_reg_reg (COMMON_ARG_NAMES, reg, reg); + return i386_movsbl_reg_reg (COMMON_ARG_NAMES, reg, reg); +} + + +int +host_unlk (COMMON_ARGS, int32 reg, int32 a7_reg) +{ + if (reg == a7_reg) /* unlk a7 wedges the real 68040...heh */ + return 1; + if (host_leal_indoff_areg (COMMON_ARG_NAMES, 4, reg, a7_reg)) + return 1; + if (host_movel_ind_reg (COMMON_ARG_NAMES, reg, reg)) + return 1; + return 0; +} + +int +host_link (COMMON_ARGS, int32 offset, int32 reg, int32 a7_reg) +{ + guest_reg_status_t *ga7; + + ga7 = &c->guest_reg_status[15]; + + /* Push the old value on the stack, and move a7 into the frame pointer. */ + host_subl_imm_reg (COMMON_ARG_NAMES, 4, a7_reg); + assert (ga7->mapping == MAP_NATIVE); + i386_movl_reg_indoff (COMMON_ARG_NAMES, reg, (int32) SYN68K_TO_US (0), + a7_reg); + i386_movl_reg_reg (COMMON_ARG_NAMES, a7_reg, reg); + + /* Add the specified offset to a7. */ + ga7->mapping = MAP_OFFSET; + ga7->offset = offset; + + return 0; +} + + +int +host_moveml_reg_predec (COMMON_ARGS, int32 host_addr_reg, int32 reg_mask) +{ + int i, guest_addr_reg; + guest_reg_status_t *g; + int32 off; + + guest_addr_reg = c->host_reg_to_guest_reg[host_addr_reg]; + + g = &c->guest_reg_status[guest_addr_reg]; + if (g->mapping == MAP_OFFSET) + off = g->offset; + else + off = 0; + + /* Compensate for offset memory. */ + off = (int32) SYN68K_TO_US (off); + + for (i = 15; i >= 0; i--) + if (reg_mask & (0x8000 >> i)) + { + int reg_to_move, host_reg; + + g = &c->guest_reg_status[i]; + host_reg = g->host_reg; + if (host_reg == host_addr_reg) + { + /* Here we move the real value of the register minus 4; + * this behavior is correct for the 68020 and up. + */ + i386_leal_indoff (COMMON_ARG_NAMES, + ((g->mapping == MAP_OFFSET) + ? g->offset : 0) - 4, + host_addr_reg, scratch_reg); + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + reg_to_move = scratch_reg; + } + else if (host_reg == NO_REG) + { + i386_movl_indoff_reg (COMMON_ARG_NAMES, + offsetof (CPUState, regs[i].ul.n), REG_EBP, + scratch_reg); + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + reg_to_move = scratch_reg; + } + else + { + switch (g->mapping) + { + case MAP_OFFSET: + host_unoffset_reg (c, codep, cc_spill_if_changed, i); + /* Fall through to MAP_NATIVE case... */ + case MAP_NATIVE: + host_swap32 (COMMON_ARG_NAMES, host_reg); + g->mapping = MAP_SWAP32; + break; + case MAP_SWAP16: + host_swap16_to_32 (COMMON_ARG_NAMES, host_reg); + g->mapping = MAP_SWAP32; + break; + case MAP_SWAP32: + break; + default: + abort (); + } + reg_to_move = host_reg; + } + + off -= 4; + if (off != 0) + i386_movl_reg_indoff (COMMON_ARG_NAMES, reg_to_move, off, + host_addr_reg); + else + i386_movl_reg_ind (COMMON_ARG_NAMES, reg_to_move, host_addr_reg); + } + + g = &c->guest_reg_status[guest_addr_reg]; + + /* Undo fake memory offset. */ + off = US_TO_SYN68K (off); + + if (off == 0) + g->mapping = MAP_NATIVE; + else + { + g->mapping = MAP_OFFSET; + g->offset = off; + } + + return 0; +} + + +int +host_moveml_postinc_reg (COMMON_ARGS, int32 host_addr_reg, int32 reg_mask) +{ + int i, guest_addr_reg, off; + guest_reg_status_t *g; + host_reg_mask_t locked_host_regs; + + guest_addr_reg = c->host_reg_to_guest_reg[host_addr_reg]; + + locked_host_regs = ((~ALLOCATABLE_REG_MASK) | (1L << host_addr_reg) + | (1L << scratch_reg)); + + g = &c->guest_reg_status[guest_addr_reg]; + if (g->mapping == MAP_OFFSET) + off = g->offset; + else + off = 0; + + /* Compensate for offset memory. */ + off = (int32) SYN68K_TO_US (off); + + for (i = 0; i < 16; i++) + if (reg_mask & (1L << i)) + { + int host_reg; + + if (i == guest_addr_reg) + { + /* Don't load up our address register. */ + off += 4; + continue; + } + + g = &c->guest_reg_status[i]; + host_reg = g->host_reg; + if (host_reg == NO_REG) + { + host_reg = host_alloc_reg (c, codep, cc_spill_if_changed, + ((i < 8) + ? (REGSET_BYTE & ~locked_host_regs) + : ~locked_host_regs)); + if (host_reg == NO_REG) + host_reg = scratch_reg; + else + { + locked_host_regs |= (1L << host_reg); + c->host_reg_to_guest_reg[host_reg] = i; + g->host_reg = host_reg; + } + } + + if (off == 0) + i386_movl_ind_reg (COMMON_ARG_NAMES, host_addr_reg, host_reg); + else + i386_movl_indoff_reg (COMMON_ARG_NAMES, off, host_addr_reg, + host_reg); + + if (host_reg == scratch_reg) + { + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + i386_movl_reg_indoff (COMMON_ARG_NAMES, scratch_reg, + offsetof (CPUState, regs[i].ul.n), REG_EBP); + } + else + { + g->mapping = MAP_SWAP32; + g->dirty_without_offset_p = TRUE; + } + off += 4; + } + + g = &c->guest_reg_status[guest_addr_reg]; + + /* Undo fake memory offset. */ + off = US_TO_SYN68K (off); + + if (off == 0) + g->mapping = MAP_NATIVE; + else + { + g->mapping = MAP_OFFSET; + g->offset = off; + } + + return 0; +} + + +int +host_pea_indoff (COMMON_ARGS, int32 offset, int32 host_reg, int32 a7_reg) +{ + int guest_reg; + guest_reg_status_t *g; + + guest_reg = c->host_reg_to_guest_reg[host_reg]; + g = &c->guest_reg_status[guest_reg]; + if (g->mapping == MAP_OFFSET) + offset += g->offset; + + if (offset == 0) + i386_movl_reg_reg (COMMON_ARG_NAMES, host_reg, scratch_reg); + else + i386_leal_indoff (COMMON_ARG_NAMES, offset, host_reg, scratch_reg); + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + return host_movel_reg_predec (COMMON_ARG_NAMES, scratch_reg, a7_reg); +} + + +int +host_leal_indoff_areg (COMMON_ARGS, int32 offset, int32 base_reg, + int32 dst_reg) +{ + guest_reg_status_t *g; + + g = &c->guest_reg_status[c->host_reg_to_guest_reg[base_reg]]; + if (g->mapping == MAP_OFFSET) + offset += g->offset; + + if (offset == 0) + i386_movl_reg_reg (COMMON_ARG_NAMES, base_reg, dst_reg); + else + i386_leal_indoff (COMMON_ARG_NAMES, offset, base_reg, dst_reg); + + return 0; +} + + +int +host_rts (COMMON_ARGS, Block *b, int32 a7_reg) +{ + int jsr_sp_reg; + host_code_t *jnz_end_addr, *start_code; + + /* Keep track of original codep so we can backpatch, below. */ + start_code = *codep; + + /* Spill all dirty cc bits. */ + host_spill_cc_bits (c, codep, M68K_CC_ALL); + cc_spill_if_changed = M68K_CC_NONE; + + /* Grab the return address. */ + host_movel_postinc_reg (COMMON_ARG_NAMES, a7_reg, scratch_reg); + + /* Spill all dirty regs. */ + host_spill_regs (c, codep, M68K_CC_NONE); + + /* Allocate a register to hold the jsr stack pointer. */ + jsr_sp_reg = host_alloc_reg (c, codep, M68K_CC_NONE, + ALLOCATABLE_REG_MASK & ~(1L << scratch_reg)); + if (jsr_sp_reg == NO_REG) + return 1; + + /* Grab the jsr stack pointer. */ + i386_movl_indoff_reg (COMMON_ARG_NAMES, + offsetof (CPUState, jsr_stack_byte_index), REG_EBP, + jsr_sp_reg); + + /* Compare the return address to the tag at the top of the jsr + * stack cache. The tags are kept in big endian order, so we don't + * need to byte swap here. + */ + i386_cmpl_reg_indoff (COMMON_ARG_NAMES, scratch_reg, + (int32)&cpu_state.jsr_stack[0].tag, jsr_sp_reg); + + /* If we don't get a hit, skip this code. */ + i386_jnz (COMMON_ARG_NAMES, 5); /* One byte offset patched below. */ + jnz_end_addr = *codep; + + /* Fetch the code pointer. Clobber scratch_reg. */ + i386_movl_indoff_reg (COMMON_ARG_NAMES, + (int32)&cpu_state.jsr_stack[0].code, jsr_sp_reg, + scratch_reg); + + /* Pop the jsr stack and jump to the target address. */ + i386_addl_imm_reg (COMMON_ARG_NAMES, sizeof (jsr_stack_elt_t), jsr_sp_reg); + i386_addl_imm_reg (COMMON_ARG_NAMES, NATIVE_START_BYTE_OFFSET, scratch_reg); + i386_andl_imm_reg (COMMON_ARG_NAMES, (sizeof cpu_state.jsr_stack) - 1, + jsr_sp_reg); + i386_movl_reg_indoff (COMMON_ARG_NAMES, jsr_sp_reg, + offsetof (CPUState, jsr_stack_byte_index), REG_EBP); + i386_jmp_reg (COMMON_ARG_NAMES, scratch_reg); + + /* Patch up the jnz to jump to here. */ + ((int8 *)jnz_end_addr)[-1] = *codep - jnz_end_addr; + + /* Call hash_lookup_code_and_create_if_needed(). */ + host_swap32 (COMMON_ARG_NAMES, scratch_reg); + i386_pushl (COMMON_ARG_NAMES, scratch_reg); + i386_call_abs (COMMON_ARG_NAMES, 0x1234567A); /* hash_lookup_code_and... */ + + /* Note a backpatch for the call, since it's a relative displacement. */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of call. */ + + (int32)hash_lookup_code_and_create_if_needed, + NULL); + + /* Jump to the native code entry point for the code returned by + * hash_lookup_code_and_create_if_needed (). + */ + i386_addl_imm_reg (COMMON_ARG_NAMES, NATIVE_START_BYTE_OFFSET, REG_EAX); + i386_addl_imm_reg (COMMON_ARG_NAMES, 4, REG_ESP); /* Pop off call arg. */ + i386_jmp_reg (COMMON_ARG_NAMES, REG_EAX); + + return 0; +} + + +static void +host_recompile_jsr (Block *b, host_code_t *code_start, + int32 target_addr, int32 rts_addr, + int32 dynamic_address_reg) +{ + int old_immortal, old_target_immortal, old_rts_immortal; + int jsr_sp_reg; + Block *target, *rts; + cache_info_t empty, *c; + host_code_t *code, **codep; + int cc_spill_if_changed, cc_to_compute, scratch_reg; + + /* Set up some bogus COMMON_ARGS for the native code generation + * we're about to do. + */ + empty = empty_cache_info; + c = ∅ + code = code_start; + codep = &code; + cc_spill_if_changed = cc_to_compute = M68K_CC_NONE; + scratch_reg = NO_REG; + + /* Make the jsr block temporarily immortal so it doesn't accidentally + * get trashed while compiling the target block. + */ + old_immortal = b->immortal; + b->immortal = TRUE; + + /* Actually create the target code and then grab the block. */ + hash_lookup_code_and_create_if_needed (target_addr); + target = hash_lookup (target_addr); + assert (target != NULL); + old_target_immortal = target->immortal; + target->immortal = TRUE; + + /* Actually create the rts addr code and then grab the block. */ + hash_lookup_code_and_create_if_needed (rts_addr); + rts = hash_lookup (rts_addr); + assert (rts != NULL); + old_rts_immortal = rts->immortal; + rts->immortal = TRUE; + + /* Tie the blocks together. */ + b->num_children = 2; + b->child[0] = target; + b->child[1] = rts; + block_add_parent (target, b); + block_add_parent (rts, b); + + /* Replace all of the recompile gunk with some code that adjusts the + * jsr stack and then jumps to the target address. We can use any + * i386 registers we want here as long as we don't clobber + * dynamic_address_reg. + */ + + jsr_sp_reg = (dynamic_address_reg == REG_EAX) ? REG_EBX : REG_EAX; + + /* Grab the jsr stack pointer. */ + i386_movl_indoff_reg (COMMON_ARG_NAMES, + offsetof (CPUState, jsr_stack_byte_index), REG_EBP, + jsr_sp_reg); + + /* Push the return code onto the jsr stack. */ + i386_subl_imm_reg (COMMON_ARG_NAMES, sizeof (jsr_stack_elt_t), jsr_sp_reg); + i386_andl_imm_reg (COMMON_ARG_NAMES, (sizeof cpu_state.jsr_stack) - 1, + jsr_sp_reg); + i386_movl_reg_indoff (COMMON_ARG_NAMES, jsr_sp_reg, + offsetof (CPUState, jsr_stack_byte_index), REG_EBP); + i386_movl_imm_indoff (COMMON_ARG_NAMES, SWAPUL (rts_addr), + (int32)&cpu_state.jsr_stack[0].tag, jsr_sp_reg); + i386_movl_imm_indoff (COMMON_ARG_NAMES, (int32)rts->compiled_code, + (int32)&cpu_state.jsr_stack[0].code, jsr_sp_reg); + + if (dynamic_address_reg != NO_REG) + { + cc_to_compute = M68K_CCZ; + i386_cmpl_imm_reg (COMMON_ARG_NAMES, target_addr, dynamic_address_reg); + cc_to_compute = M68K_CC_NONE; + i386_jz (COMMON_ARG_NAMES, 0x1234567D); + *(int32 *)(code - 4) = (((char *)target->compiled_code + + NATIVE_START_BYTE_OFFSET) + - (char *)code); + i386_pushl (COMMON_ARG_NAMES, dynamic_address_reg); + + /* Call hash_lookup_code_and_create_if_needed(). */ + i386_call_abs (COMMON_ARG_NAMES, 0x1234567A); + *(int32 *)(code - 4) = ((char *)hash_lookup_code_and_create_if_needed + - (char *)code); + /* Jump to the native code entry point for the code returned by + * hash_lookup_code_and_create_if_needed (). + */ + i386_addl_imm_reg (COMMON_ARG_NAMES, NATIVE_START_BYTE_OFFSET, REG_EAX); + i386_addl_imm_reg (COMMON_ARG_NAMES, 4, REG_ESP); /* Pop off call arg. */ + i386_jmp_reg (COMMON_ARG_NAMES, REG_EAX); + } + else + { + /* jmp to the target address. */ + i386_jmp (COMMON_ARG_NAMES, 0x1234567D); + *(int32 *)(code - 4) = (((char *)target->compiled_code + + NATIVE_START_BYTE_OFFSET) + - (char *)code); + } + + b->immortal = old_immortal; + rts->immortal = old_rts_immortal; + target->immortal = old_target_immortal; +} + + +static int +host_jsr_abs_common (COMMON_ARGS, int32 a7_reg, int32 target_addr, + Block *b, int32 return_addr, int jsr_d16_base_reg) +{ + host_code_t *orig_code, *replaced_code, *end_call; + int temp_reg; + + orig_code = *codep; + + /* Spill all dirty cc bits. */ + host_spill_cc_bits (c, codep, M68K_CC_ALL); + cc_spill_if_changed = M68K_CC_NONE; + + /* Push the m68k return address on the stack. */ + host_movel_imm_predec (COMMON_ARG_NAMES, return_addr, a7_reg); + + if (jsr_d16_base_reg != NO_REG) + { + if (host_leal_indoff_areg (COMMON_ARG_NAMES, target_addr, + jsr_d16_base_reg, scratch_reg)) + return 1; + } + + /* Spill all registers back to their memory homes. */ + host_spill_regs (c, codep, M68K_CC_NONE); + + /* NOTE!!!! All code from this point on is about to smash itself + * with a faster jsr that knows where its target block is. We do it + * this way so we can lazily compile through jsrs. + */ + + replaced_code = *codep; + + /* Save the scratch register. */ + if (scratch_reg != NO_REG) + i386_pushl (COMMON_ARG_NAMES, scratch_reg); + + /* Push call args on the stack. If you add more args or delete any, + * be sure to adjust ESP differently, below, to pop off the args. + */ + i386_pushl_imm (COMMON_ARG_NAMES, scratch_reg); + i386_pushl_imm (COMMON_ARG_NAMES, return_addr); + if (jsr_d16_base_reg != NO_REG) + i386_pushl (COMMON_ARG_NAMES, scratch_reg); + else + i386_pushl_imm (COMMON_ARG_NAMES, target_addr); + i386_call_abs (COMMON_ARG_NAMES, 0); /* Push current PC on the stack. */ + end_call = *codep; + temp_reg = (scratch_reg == REG_EAX) ? REG_EBX : REG_EAX; + i386_popl (COMMON_ARG_NAMES, temp_reg); + i386_subl_imm_reg (COMMON_ARG_NAMES, end_call - replaced_code, temp_reg); + i386_pushl (COMMON_ARG_NAMES, temp_reg); + i386_pushl_imm (COMMON_ARG_NAMES, (int32)b); + + /* Add some more dead space so there will be room for this code + * to be overwritten. + */ + memset (*codep, 0x90 /* NOP */, 48); + *codep += 48; + + /* Call a routine that will rewrite this jsr into a direct one. */ + i386_call_abs (COMMON_ARG_NAMES, 0x1234567C); + + /* Note a backpatch for the call, since it's a relative displacement. */ + backpatch_add (b, (*codep - orig_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of call. */ + + (int32)host_recompile_jsr, + NULL); + + /* Pop off all call args. */ + i386_addl_imm_reg (COMMON_ARG_NAMES, 5 * 4, REG_ESP); + + /* Restore the scratch reg. */ + if (scratch_reg != NO_REG) + i386_popl (COMMON_ARG_NAMES, scratch_reg); + + /* Jump back to the beginning and do the fast jsr this time + * (and every subsequent time). + */ + i386_jmp (COMMON_ARG_NAMES, 5); + ((int8 *)*codep)[-1] = replaced_code - *codep; + + return 0; +} + + +int +host_jsr_abs (COMMON_ARGS, int32 a7_reg, int32 target_addr, + Block *b, uint16 *m68k_code) +{ + int32 return_addr; + + /* Compute the real return address. */ + switch (SWAPUW (*m68k_code) & 63) + { + case 0x38: /* absw */ + return_addr = (syn68k_addr_t) (m68k_code + 2); + break; + case 0x39: /* absl */ + return_addr = (syn68k_addr_t) (m68k_code + 3); + break; + default: + return_addr = 0; /* Avoid compiler warnings. */ + abort (); + break; + } + + return host_jsr_abs_common (COMMON_ARG_NAMES, a7_reg, target_addr, b, + US_TO_SYN68K (return_addr), NO_REG); +} + + +int +host_jsr_pcd16 (COMMON_ARGS, int32 a7_reg, Block *b, uint16 *m68k_code) +{ + /* Map this to a jsr_abs. */ + return host_jsr_abs_common (COMMON_ARG_NAMES, a7_reg, + (int32) (US_TO_SYN68K (m68k_code) + 2 + + SWAPSW (m68k_code[1])), + b, US_TO_SYN68K (m68k_code + 2), NO_REG); +} + + +int +host_jsr_d16 (COMMON_ARGS, int32 a7_reg, int32 base_addr_reg, + Block *b, uint16 *m68k_code) +{ + return host_jsr_abs_common (COMMON_ARG_NAMES, a7_reg, SWAPSW (m68k_code[1]), + b, US_TO_SYN68K (m68k_code + 2), base_addr_reg); +} + + +int +host_bsr (COMMON_ARGS, int32 a7_reg, Block *b, uint16 *m68k_code) +{ + int32 addr, return_addr; + + /* Compute the bsr destination address. */ + switch (((const uint8 *)m68k_code)[1]) + { + case 0x00: + addr = (int32)(m68k_code + 1) + SWAPSW (m68k_code[1]); + return_addr = (int32) (m68k_code + 2); + break; + case 0xFF: + addr = (int32)(m68k_code + 1) + READSL (US_TO_SYN68K (m68k_code + 1)); + return_addr = (int32) (m68k_code + 3); + break; + default: + addr = (int32)(m68k_code + 1) + ((const int8 *)m68k_code)[1]; + return_addr = (int32) (m68k_code + 1); + break; + } + + return host_jsr_abs_common (COMMON_ARG_NAMES, a7_reg, + US_TO_SYN68K (addr), + b, US_TO_SYN68K (return_addr), NO_REG); +} + + +/* Divides %eax by scratch_reg, and stores the quotient in + * %ax and the remainder in the high 16 bits of %eax, unless there + * is overflow in which case no action is taken. Division by zero + * causes a trap. + */ +int +host_divsw (COMMON_ARGS, uint16 *m68k_addr, uint16 *next_addr, Block *b, + int32 might_overflow_i386_p) +{ + host_code_t *overflow_branch_end, *jmp_end, *br_end_1, *br_end_2; + int real_cc_to_compute; + host_code_t *start_code; + + /* Record the start so we can provide accurate backpatch information. */ + start_code = *codep; + + real_cc_to_compute = cc_to_compute; + cc_to_compute = M68K_CC_NONE; + + assert (scratch_reg != -1 && scratch_reg != REG_EDX); + + /* Pick up %edx as another scratch register. */ + if (host_alloc_reg (c, codep, cc_spill_if_changed, 1L << REG_EDX) + != REG_EDX) + return 3; + + /* Check for division by zero. */ + if (m68k_addr != NULL) + { + host_code_t *divzero_branch_end; + cache_info_t save; + + save = *c; + + i386_testl_reg_reg (COMMON_ARG_NAMES, scratch_reg, scratch_reg); + i386_jnz (COMMON_ARG_NAMES, 5); + divzero_branch_end = *codep; + + /* Ack! Division by zero! */ + host_spill_cc_bits (c, codep, + M68K_CCN | M68K_CCV | M68K_CCX | M68K_CCZ); + i386_movb_imm_indoff (COMMON_ARG_NAMES, 0, offsetof (CPUState, ccc), + REG_EBP); + host_spill_regs (c, codep, M68K_CC_NONE); + + i386_pushl_imm (COMMON_ARG_NAMES, US_TO_SYN68K (m68k_addr)); + i386_pushl_imm (COMMON_ARG_NAMES, US_TO_SYN68K (next_addr)); + i386_pushl_imm (COMMON_ARG_NAMES, 5); /* Division by zero exception. */ + + /* Trap. */ + i386_call_abs (COMMON_ARG_NAMES, 0x1234567A); /* trap_direct. */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of call. */ + + (int32)trap_direct, + NULL); + + /* Jump to the specified address. */ + i386_pushl (COMMON_ARG_NAMES, REG_EAX); + i386_call_abs (COMMON_ARG_NAMES, 0x1234567A); /* hash_lookup_code... */ + backpatch_add (b, (*codep - start_code - 4) * 8, 32, TRUE, + -4 /* Branch is relative to end of call. */ + + (int32)hash_lookup_code_and_create_if_needed, + NULL); + + /* Jump to the native code entry point for the code returned by + * hash_lookup_code_and_create_if_needed (). + */ + i386_addl_imm_reg (COMMON_ARG_NAMES, NATIVE_START_BYTE_OFFSET, REG_EAX); + i386_addl_imm_reg (COMMON_ARG_NAMES, 4 * 4, REG_ESP); /* Pop off args. */ + i386_jmp_reg (COMMON_ARG_NAMES, REG_EAX); + + /* Here's where we go if there was no problem. */ + divzero_branch_end[-1] = *codep - divzero_branch_end; + + *c = save; + } + + /* Save the dividend in case we overflow. */ + i386_pushl (COMMON_ARG_NAMES, REG_EAX); + + /* The i386 cannot handle 0x80000000 / -1 without crashing, so test for + * that case and signal overflow. + */ + if (might_overflow_i386_p) + { + i386_cmpl_imm_reg (COMMON_ARG_NAMES, -1, scratch_reg); + i386_jnz (COMMON_ARG_NAMES, 5); + br_end_1 = *codep; + i386_cmpl_imm_reg (COMMON_ARG_NAMES, 0x80000000, REG_EAX); + i386_jz (COMMON_ARG_NAMES, 5); + br_end_2 = *codep; + + br_end_1[-1] = *codep - br_end_1; + } + else + br_end_2 = NULL; + + /* Do the divide. */ + i386_cltd (COMMON_ARG_NAMES); + i386_idivl (COMMON_ARG_NAMES, scratch_reg); /* Implicitly uses %eax */ + + if (br_end_2 != NULL) + br_end_2[-1] = *codep - br_end_2; + + /* The result of the divide is now in %eax:%edx. First we have to + * check for overflow, since the m68k leaves the operand unaffected + * if there is overflow. + */ + i386_addl_imm_reg (COMMON_ARG_NAMES, 32768, REG_EAX); + i386_testl_imm_reg (COMMON_ARG_NAMES, 0xFFFF0000, REG_EAX); + i386_jz (COMMON_ARG_NAMES, 5); /* Filled in below to skip overflow code. */ + overflow_branch_end = *codep; + + /* Handle the overflow. */ + if (real_cc_to_compute & M68K_CC_CNVZ) + { + cc_to_compute = real_cc_to_compute; + + /* N and Z are technically undefined here, but they seem to actually + * be set based on the result on the 68040. + */ + if (real_cc_to_compute & (M68K_CCC | M68K_CCN | M68K_CCZ)) + { + i386_testl_reg_reg (COMMON_ARG_NAMES, REG_EAX, REG_EAX); + i386_lahf (COMMON_ARG_NAMES); + } + + /* Set the V flag, if so requested. */ + if (real_cc_to_compute & M68K_CCV) + { + i386_movl_imm_reg (COMMON_ARG_NAMES, 0x80000000, REG_EDX); + i386_addl_reg_reg (COMMON_ARG_NAMES, REG_EDX, REG_EDX); + } + + if (real_cc_to_compute & (M68K_CCC | M68K_CCN | M68K_CCZ)) + i386_sahf (COMMON_ARG_NAMES); + + cc_to_compute = M68K_CC_NONE; + } + + /* Restore the original dividend. */ + i386_popl (COMMON_ARG_NAMES, REG_EAX); + i386_jmp (COMMON_ARG_NAMES, 5); + jmp_end = *codep; + + /* Backpatch the conditional branch. */ + overflow_branch_end[-1] = *codep - overflow_branch_end; + + /* Now we place the low-order 16 bits of %edx into the high-order 16 + * bits of %eax. + */ + i386_subl_imm_reg (COMMON_ARG_NAMES, 32768, REG_EAX); + i386_rorl_imm_reg (COMMON_ARG_NAMES, 16, REG_EAX); + i386_movw_reg_reg (COMMON_ARG_NAMES, REG_DX, REG_AX); + i386_rorl_imm_reg (COMMON_ARG_NAMES, 16, REG_EAX); + + /* Pop off the saved overflow value (we didn't need it). */ + i386_addl_imm_reg (COMMON_ARG_NAMES, 4, REG_ESP); + + /* Set the CC bits appropriately, if so desired. */ + if (real_cc_to_compute) + { + cc_to_compute = real_cc_to_compute; + i386_testw_reg_reg (COMMON_ARG_NAMES, REG_AX, REG_AX); + } + + /* Backpatch the jump. */ + jmp_end[-1] = *codep - jmp_end; + + c->cached_cc |= real_cc_to_compute; + c->dirty_cc |= real_cc_to_compute; + + return 0; +} + + +int +host_divsw_imm_reg (COMMON_ARGS, int32 val) +{ + if (val == 0) + return 1; + i386_movl_imm_reg (COMMON_ARG_NAMES, val, scratch_reg); + return host_divsw (COMMON_ARG_NAMES, NULL, NULL, NULL, val == -1); +} + + +int +host_negb_abs (COMMON_ARGS, int32 dst_addr) +{ + return i386_negb_abs(COMMON_ARG_NAMES, (int32) SYN68K_TO_US (dst_addr)); +} + + +#define HOST_OP_IMM_ABS(size, op, x86_op) \ +int \ +host_ ## op ## size ## _imm_abs (COMMON_ARGS, int32 src, int32 dst_addr) \ +{ \ + return i386_ ## x86_op ## size ## _imm_abs (COMMON_ARG_NAMES, src, \ + ((int32) \ + SYN68K_TO_US (dst_addr))); \ +} + +HOST_OP_IMM_ABS(b, add, add) +HOST_OP_IMM_ABS(b, sub, sub) + + +#define HOST_OP_REG_ABS(size, op, x86_op) \ +int \ +host_ ## op ## size ## _reg_abs (COMMON_ARGS, int32 src, int32 dst_addr) \ +{ \ + return i386_ ## x86_op ## size ## _reg_abs (COMMON_ARG_NAMES, src, \ + ((int32) \ + SYN68K_TO_US (dst_addr))); \ +} + + +HOST_OP_REG_ABS(b, and, and) +HOST_OP_REG_ABS(w, and, and) +HOST_OP_REG_ABS(l, and, and) + +HOST_OP_REG_ABS(b, or, or) +HOST_OP_REG_ABS(w, or, or) +HOST_OP_REG_ABS(l, or, or) + +HOST_OP_REG_ABS(b, xor, xor) +HOST_OP_REG_ABS(w, xor, xor) +HOST_OP_REG_ABS(l, xor, xor) + +HOST_OP_REG_ABS(b, cmp, cmp) +HOST_OP_REG_ABS(w, cmp, cmp) +HOST_OP_REG_ABS(l, cmp, cmp) + +HOST_OP_REG_ABS(b, add, add) +HOST_OP_REG_ABS(b, sub, sub) + +HOST_OP_REG_ABS(b, move, mov) +HOST_OP_REG_ABS(w, move, mov) +HOST_OP_REG_ABS(l, move, mov) + + +#define HOST_OP_ABS_REG(size, op, x86_op) \ +int \ +host_ ## op ## size ## _abs_reg (COMMON_ARGS, int32 src_addr, int32 dst) \ +{ \ + return i386_ ## x86_op ## size ## _abs_reg (COMMON_ARG_NAMES, \ + ((int32) \ + SYN68K_TO_US (src_addr)), \ + dst); \ +} + +HOST_OP_ABS_REG(b, and, and) +HOST_OP_ABS_REG(w, and, and) +HOST_OP_ABS_REG(l, and, and) + +HOST_OP_ABS_REG(b, or, or) +HOST_OP_ABS_REG(w, or, or) +HOST_OP_ABS_REG(l, or, or) + +HOST_OP_ABS_REG(b, xor, xor) +HOST_OP_ABS_REG(w, xor, xor) +HOST_OP_ABS_REG(l, xor, xor) + +HOST_OP_ABS_REG(b, cmp, cmp) +HOST_OP_ABS_REG(w, cmp, cmp) +HOST_OP_ABS_REG(l, cmp, cmp) + +HOST_OP_ABS_REG(b, add, add) +HOST_OP_ABS_REG(b, sub, sub) + +HOST_OP_ABS_REG(b, move, mov) +HOST_OP_ABS_REG(w, move, mov) +HOST_OP_ABS_REG(l, move, mov) + +#define HOST_OPB_IMM_ABS(op, x86_op) \ +int \ +host_ ## op ## b_imm_abs (COMMON_ARGS, int32 val, int32 addr) \ +{ \ + return i386_ ## x86_op ## b_imm_abs (COMMON_ARG_NAMES, \ + val, \ + ((int32) \ + SYN68K_TO_US (addr))); \ +} + +HOST_OPB_IMM_ABS(and, and) +HOST_OPB_IMM_ABS(or , or ) +HOST_OPB_IMM_ABS(xor, xor) +HOST_OPB_IMM_ABS(cmp, cmp) + +#endif /* GENERATE_NATIVE_CODE */ diff --git a/runtime/native/i386/i386-aux.h b/runtime/native/i386/i386-aux.h new file mode 100644 index 0000000..d71ee8e --- /dev/null +++ b/runtime/native/i386/i386-aux.h @@ -0,0 +1,660 @@ +#ifndef _I386_AUX_H_ +#define _I386_AUX_H_ + +#include "syn68k_private.h" +#include "native.h" + +extern int host_testb_reg (COMMON_ARGS, int32 reg); +extern int host_testw_reg (COMMON_ARGS, int32 reg); +extern int host_testl_reg (COMMON_ARGS, int32 reg); + +#define host_testb_swapped_reg host_testb_reg +extern int host_testw_swapped_reg (COMMON_ARGS, int32 reg); +extern int host_testl_swapped_reg (COMMON_ARGS, int32 reg); + +extern int host_swap16_sext_test_reg (COMMON_ARGS, int32 reg); + +extern int host_andb_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_andw_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_andl_imm_reg (COMMON_ARGS, int32 val, int32 reg); + +extern int host_orb_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_orw_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_orl_imm_reg (COMMON_ARGS, int32 val, int32 reg); + +extern int host_xorb_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_xorw_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_xorl_imm_reg (COMMON_ARGS, int32 val, int32 reg); + +extern int host_andb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_andw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_andl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_orb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_orw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_orl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_cmpb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_cmpw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_cmpl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_addb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_subb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + + +extern int host_andb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_andl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_orb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_orl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_cmpb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpw_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_cmpl_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_andb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_andw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_andl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_orb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_orw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_orl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_cmpb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_cmpw_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_cmpl_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_addb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); +extern int host_subb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 reg); + +extern int host_addb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); +extern int host_subb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 reg); + +extern int host_andb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andw_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andl_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_orb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orw_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orl_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_xorb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorw_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorl_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_cmpb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpw_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpl_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_andb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andw_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andl_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_orb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orw_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orl_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_xorb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorw_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorl_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_cmpb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpw_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpl_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_andb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andw_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_andl_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_orb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orw_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_orl_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_xorb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorw_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_xorl_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_cmpb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpw_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_cmpl_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_andb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); +extern int host_andw_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_andl_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_orb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_orw_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_orl_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_xorb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_xorw_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_xorl_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_cmpb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_cmpw_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_cmpl_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_addb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_subb_reg_ind (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_addb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_subb_reg_predec (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_addb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); +extern int host_subb_reg_postinc (COMMON_ARGS, int32 reg, int32 addr_reg); + +extern int host_addb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_subb_reg_indoff (COMMON_ARGS, int32 reg, int32 offset, + int32 addr_reg); + +extern int host_andb_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_andw_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_andl_imm_abs (COMMON_ARGS, int32 val, int32 addr); + +extern int host_orb_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_orw_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_orl_imm_abs (COMMON_ARGS, int32 val, int32 addr); + +extern int host_xorb_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorw_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorl_imm_abs (COMMON_ARGS, int32 val, int32 addr); + +extern int host_cmpb_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpw_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpl_imm_abs (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andb_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_orb_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorb_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_addb_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_subb_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_cmpb_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpw_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpl_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andw_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_orw_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorw_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andl_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_orl_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorl_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_orb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_xorb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_addb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_subb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_cmpb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_cmpw_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_cmpl_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_andw_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_orw_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_xorw_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_andl_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_orl_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_xorl_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_andb_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_orb_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorb_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_addb_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_subb_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_cmpb_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpw_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpl_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andw_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_orw_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorw_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andl_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_orl_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorl_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_orb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_addb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_subb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_cmpb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpw_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_cmpl_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andw_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_orw_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorw_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_andl_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_orl_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_xorl_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_negb_ind (COMMON_ARGS, int32 addr); +extern int host_negb_predec (COMMON_ARGS, int32 addr); +extern int host_negb_postinc (COMMON_ARGS, int32 addr); +extern int host_negb_indoff (COMMON_ARGS, int32 offset, int32 addr); + +extern int host_movew_reg_abs_swap (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_abs_swap (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_movew_abs_reg_swap (COMMON_ARGS, int32 addr, int32 dst_reg); +extern int host_movel_abs_reg_swap (COMMON_ARGS, int32 addr, int32 dst_reg); + +extern int host_moveb_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_movew_imm_reg (COMMON_ARGS, int32 val, int32 reg); +extern int host_movel_imm_reg (COMMON_ARGS, int32 val, int32 reg); + +extern int host_moveb_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_movew_imm_abs (COMMON_ARGS, int32 val, int32 addr); +extern int host_movel_imm_abs (COMMON_ARGS, int32 val, int32 addr); + +extern int host_moveb_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_movew_imm_ind (COMMON_ARGS, int32 val, int32 addr); +extern int host_movel_imm_ind (COMMON_ARGS, int32 val, int32 addr); + +extern int host_moveb_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_movew_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); +extern int host_movel_imm_indoff (COMMON_ARGS, int32 val, int32 offset, + int32 addr_reg); + +extern int host_moveb_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_movew_imm_predec (COMMON_ARGS, int32 val, int32 addr); +extern int host_movel_imm_predec (COMMON_ARGS, int32 val, int32 addr); + +extern int host_moveb_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_movew_imm_postinc (COMMON_ARGS, int32 val, int32 addr); +extern int host_movel_imm_postinc (COMMON_ARGS, int32 val, int32 addr); + +extern int host_moveb_reg_ind (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movew_reg_ind (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_ind (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_moveb_reg_indoff (COMMON_ARGS, int32 src_reg, int32 offset, + int32 addr_reg); +extern int host_movew_reg_indoff (COMMON_ARGS, int32 src_reg, int32 offset, + int32 addr_reg); +extern int host_movel_reg_indoff (COMMON_ARGS, int32 src_reg, int32 offset, + int32 addr_reg); + +extern int host_moveb_reg_predec (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movew_reg_predec (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_predec (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_moveb_reg_postinc (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movew_reg_postinc (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_postinc (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_movew_reg_ind_swap (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_ind_swap (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_movew_reg_indoff_swap (COMMON_ARGS, int32 src_reg, + int32 offset, int32 addr_reg); +extern int host_movel_reg_indoff_swap (COMMON_ARGS, int32 src_reg, + int32 offset, int32 addr_reg); + +extern int host_movew_reg_predec_swap (COMMON_ARGS, int32 src_reg, int32 addr); +extern int host_movel_reg_predec_swap (COMMON_ARGS, int32 src_reg, int32 addr); + +extern int host_movew_reg_postinc_swap (COMMON_ARGS, int32 src_reg, + int32 addr); +extern int host_movel_reg_postinc_swap (COMMON_ARGS, int32 src_reg, + int32 addr); + +extern int host_moveb_ind_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movew_ind_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movel_ind_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); + +extern int host_moveb_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 dst_reg); +extern int host_movew_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 dst_reg); +extern int host_movel_indoff_reg (COMMON_ARGS, int32 offset, int32 addr_reg, + int32 dst_reg); + +extern int host_moveb_predec_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movew_predec_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movel_predec_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); + +extern int host_moveb_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movew_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); +extern int host_movel_postinc_reg (COMMON_ARGS, int32 addr_reg, int32 dst_reg); + +extern int host_movew_ind_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); +extern int host_movel_ind_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); + +extern int host_movew_indoff_reg_swap (COMMON_ARGS, int32 offset, + int32 addr_reg, int32 dst_reg); +extern int host_movel_indoff_reg_swap (COMMON_ARGS, int32 offset, + int32 addr_reg, int32 dst_reg); + +extern int host_movew_predec_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); +extern int host_movel_predec_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); + +extern int host_movew_postinc_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); +extern int host_movel_postinc_reg_swap (COMMON_ARGS, int32 addr_reg, + int32 dst_reg); + +extern int host_cmpmb_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2); +extern int host_cmpmw_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2); +extern int host_cmpml_postinc_postinc (COMMON_ARGS, int32 reg1, int32 reg2); + +extern int host_addl_imm_reg (COMMON_ARGS, int32 val, int32 host_reg); +extern int host_subl_imm_reg (COMMON_ARGS, int32 val, int32 host_reg); +extern int host_cmpl_imm_reg (COMMON_ARGS, int32 val, int32 host_reg); + +extern int host_bclr_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg); +extern int host_bset_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg); +extern int host_bchg_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg); +extern int host_btst_imm_reg (COMMON_ARGS, int32 bitnum, int32 reg); + +extern int host_addl_reg_reg (COMMON_ARGS, int32 reg1, int32 reg2); +extern int host_subl_reg_reg (COMMON_ARGS, int32 reg1, int32 reg2); +extern int host_cmpl_reg_reg (COMMON_ARGS, int32 reg1, int32 reg2); + +extern int host_bcc (COMMON_ARGS, Block *b); +extern int host_bcs (COMMON_ARGS, Block *b); +extern int host_beq (COMMON_ARGS, Block *b); +extern int host_bge (COMMON_ARGS, Block *b); +extern int host_bgt (COMMON_ARGS, Block *b); +extern int host_bhi (COMMON_ARGS, Block *b); +extern int host_ble (COMMON_ARGS, Block *b); +extern int host_bls (COMMON_ARGS, Block *b); +extern int host_blt (COMMON_ARGS, Block *b); +extern int host_bmi (COMMON_ARGS, Block *b); +extern int host_bne (COMMON_ARGS, Block *b); +extern int host_bpl (COMMON_ARGS, Block *b); +extern int host_bvc (COMMON_ARGS, Block *b); +extern int host_bvs (COMMON_ARGS, Block *b); + +extern int host_jmp (COMMON_ARGS, Block *b); + +extern int host_dbra (COMMON_ARGS, int32 guest_reg, Block *b); + +extern int host_swap (COMMON_ARGS, int32 reg); + +extern int host_extbw (COMMON_ARGS, int32 reg); +extern int host_extwl (COMMON_ARGS, int32 reg); +extern int host_extbl (COMMON_ARGS, int32 reg); + +extern int host_unlk (COMMON_ARGS, int32 reg, int32 a7_reg); +extern int host_link (COMMON_ARGS, int32 offset, int32 reg, int32 a7_reg); + +extern int host_moveml_reg_predec (COMMON_ARGS, int32 host_addr_reg, + int32 reg_mask); +extern int host_moveml_postinc_reg (COMMON_ARGS, int32 host_addr_reg, + int32 reg_mask); + +extern int host_pea_indoff (COMMON_ARGS, int32 offset, int32 host_reg, + int32 a7_reg); +extern int host_leal_indoff_areg (COMMON_ARGS, int32 offset, int32 base_reg, + int32 dst_reg); + +extern int host_rts (COMMON_ARGS, Block *b, int32 a7_reg); + +extern int host_jsr_abs (COMMON_ARGS, int32 a7_reg, int32 target_addr, + Block *b, uint16 *m68k_code); +extern int host_jsr_pcd16 (COMMON_ARGS, int32 a7_reg, Block *b, + uint16 *m68k_code); +extern int host_jsr_d16 (COMMON_ARGS, int32 a7_reg, int32 base_addr_reg, + Block *b, uint16 *m68k_code); +extern int host_bsr (COMMON_ARGS, int32 a7_reg, Block *b, uint16 *m68k_code); + +extern int host_moveb_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_movew_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_movel_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); + +extern int host_cmpb_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_cmpw_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_cmpl_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); + +extern int host_addb_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_addw_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_addl_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); + +extern int host_subb_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_subw_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_subl_imm_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); + +extern int host_moveb_reg_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_movew_reg_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); +extern int host_movel_reg_indix (COMMON_ARGS, int32 val, int32 base_addr_reg, + uint16 *m68k_addr); + +extern int host_moveb_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); +extern int host_movew_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); +extern int host_movel_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); + +extern int host_cmpb_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); +extern int host_cmpw_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); +extern int host_cmpl_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); + +extern int host_leal_indix_reg (COMMON_ARGS, int32 base_addr_reg, + int32 dst_reg, uint16 *m68k_addr); + +extern int host_divsw (COMMON_ARGS, uint16 *m68k_addr, uint16 *next_addr, + Block *b, int32 might_overflow_i386_p); +extern int host_divsw_imm_reg (COMMON_ARGS, int32 val); + +extern int host_andb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_andw_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_andl_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_orb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_orw_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_orl_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_xorb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_xorw_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_xorl_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_cmpb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_cmpw_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_cmpl_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_moveb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_movew_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_movel_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_addb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_subb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_andb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_andw_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_andl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); + +extern int host_orb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_orw_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_orl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); + +extern int host_xorb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_xorw_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_xorl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); + +extern int host_cmpb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_cmpw_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_cmpl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); + +extern int host_addb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int host_subb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); + +extern int host_moveb_abs_reg (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_movew_abs_reg (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_movel_abs_reg (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_addb_imm_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int host_subb_imm_abs (COMMON_ARGS, int32 src, int32 dst_addr); + +extern int host_negb_abs (COMMON_ARGS, int32 dst_addr); + +#endif /* !_I386_AUX_H_*/ diff --git a/runtime/native/i386/i386-isa.h b/runtime/native/i386/i386-isa.h new file mode 100644 index 0000000..0cb12be --- /dev/null +++ b/runtime/native/i386/i386-isa.h @@ -0,0 +1,665 @@ +/* This file is machine-generated; DO NOT EDIT! */ + +#ifndef _I386_ISA_H_ +#define _I386_ISA_H_ + +#ifdef GENERATE_NATIVE_CODE + +extern int i386_addb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_addw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_addl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_addb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_addw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_addl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_addb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_addb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_addw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_addl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_subw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_subl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_subb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_subb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_subl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_andw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_andl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_andb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_andb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_andl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_orw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_orl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_orb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_orb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_orl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_xorw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_xorl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_xorb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_xorb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_xorl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_cmpw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_cmpl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_cmpb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_cmpl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_imm_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_reg_abs (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_abs_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_reg_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_ind_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_testw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_testl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_testb_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testw_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testl_imm_ind (COMMON_ARGS, int32 src, int32 dst); +extern int i386_testb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_testl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst); +extern int i386_adcb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_adcw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_adcl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_cmpb_imm_indix (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpw_imm_indix (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpl_imm_indix (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale2 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale2 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale2 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale2_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale2_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale2_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale4 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale4 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale4 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale4_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale4_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale4_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale8 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale8 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale8 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_cmpb_imm_indix_scale8_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpw_imm_indix_scale8_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpl_imm_indix_scale8_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_cmpb_indix_reg (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpb_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpw_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_cmpl_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_imm_indix (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_addb_imm_indix_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale2 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale2_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale4 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale4_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale8 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_addb_imm_indix_scale8_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_addb_indix_reg (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_addb_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_imm_indix (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_subb_imm_indix_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale2 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale2_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale4 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale4_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale8 (COMMON_ARGS, int32 src, int32 offset, int32 dst, int32 index); +extern int i386_subb_imm_indix_scale8_no_offset (COMMON_ARGS, int32 src, int32 dst, int32 index); +extern int i386_subb_indix_reg (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_subb_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base_addr_reg, int32 index, int32 dst_val); +extern int i386_negb_reg (COMMON_ARGS, int32 dst); +extern int i386_negw_reg (COMMON_ARGS, int32 dst); +extern int i386_negl_reg (COMMON_ARGS, int32 dst); +extern int i386_negb_abs (COMMON_ARGS, int32 dst); +extern int i386_negw_abs (COMMON_ARGS, int32 dst); +extern int i386_negl_abs (COMMON_ARGS, int32 dst); +extern int i386_negb_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_negw_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_negl_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_negb_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_negw_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_negl_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_notb_reg (COMMON_ARGS, int32 dst); +extern int i386_notw_reg (COMMON_ARGS, int32 dst); +extern int i386_notl_reg (COMMON_ARGS, int32 dst); +extern int i386_notb_abs (COMMON_ARGS, int32 dst); +extern int i386_notw_abs (COMMON_ARGS, int32 dst); +extern int i386_notl_abs (COMMON_ARGS, int32 dst); +extern int i386_notb_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_notw_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_notl_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_notb_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_notw_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_notl_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_incb_reg (COMMON_ARGS, int32 dst); +extern int i386_incw_reg (COMMON_ARGS, int32 dst); +extern int i386_incl_reg (COMMON_ARGS, int32 dst); +extern int i386_incb_abs (COMMON_ARGS, int32 dst); +extern int i386_incw_abs (COMMON_ARGS, int32 dst); +extern int i386_incl_abs (COMMON_ARGS, int32 dst); +extern int i386_incb_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_incw_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_incl_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_incb_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_incw_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_incl_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_decb_reg (COMMON_ARGS, int32 dst); +extern int i386_decw_reg (COMMON_ARGS, int32 dst); +extern int i386_decl_reg (COMMON_ARGS, int32 dst); +extern int i386_decb_abs (COMMON_ARGS, int32 dst); +extern int i386_decw_abs (COMMON_ARGS, int32 dst); +extern int i386_decl_abs (COMMON_ARGS, int32 dst); +extern int i386_decb_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_decw_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_decl_ind (COMMON_ARGS, int32 dst_addr_reg); +extern int i386_decb_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_decw_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_decl_indoff (COMMON_ARGS, int32 offset, int32 dst_addr_reg); +extern int i386_bswap (COMMON_ARGS, int32 dst_reg); +extern int i386_call_abs (COMMON_ARGS, int32 addr); +extern int i386_cbtw (COMMON_ARGS); +extern int i386_cwtl (COMMON_ARGS); +extern int i386_cltd (COMMON_ARGS); +extern int i386_clc (COMMON_ARGS); +extern int i386_stc (COMMON_ARGS); +extern int i386_cld (COMMON_ARGS); +extern int i386_std (COMMON_ARGS); +extern int i386_cli (COMMON_ARGS); +extern int i386_sti (COMMON_ARGS); +extern int i386_divb (COMMON_ARGS, int32 divisor); +extern int i386_divw (COMMON_ARGS, int32 divisor); +extern int i386_divl (COMMON_ARGS, int32 divisor); +extern int i386_divb_abs (COMMON_ARGS, int32 divisor); +extern int i386_divw_abs (COMMON_ARGS, int32 divisor); +extern int i386_divl_abs (COMMON_ARGS, int32 divisor); +extern int i386_idivb (COMMON_ARGS, int32 divisor); +extern int i386_idivw (COMMON_ARGS, int32 divisor); +extern int i386_idivl (COMMON_ARGS, int32 divisor); +extern int i386_idivb_abs (COMMON_ARGS, int32 divisor); +extern int i386_idivw_abs (COMMON_ARGS, int32 divisor); +extern int i386_idivl_abs (COMMON_ARGS, int32 divisor); +extern int i386_jc (COMMON_ARGS, int32 target); +extern int i386_jbe (COMMON_ARGS, int32 target); +extern int i386_jz (COMMON_ARGS, int32 target); +extern int i386_jl (COMMON_ARGS, int32 target); +extern int i386_jle (COMMON_ARGS, int32 target); +extern int i386_jnc (COMMON_ARGS, int32 target); +extern int i386_jnbe (COMMON_ARGS, int32 target); +extern int i386_jnz (COMMON_ARGS, int32 target); +extern int i386_jge (COMMON_ARGS, int32 target); +extern int i386_jnle (COMMON_ARGS, int32 target); +extern int i386_jno (COMMON_ARGS, int32 target); +extern int i386_jo (COMMON_ARGS, int32 target); +extern int i386_jns (COMMON_ARGS, int32 target); +extern int i386_js (COMMON_ARGS, int32 target); +extern int i386_jmp (COMMON_ARGS, int32 target); +extern int i386_jmp_reg (COMMON_ARGS, int32 target); +extern int i386_lahf (COMMON_ARGS); +extern int i386_leaw_indoff (COMMON_ARGS, int32 offset, int32 base, int32 dst); +extern int i386_leal_indoff (COMMON_ARGS, int32 offset, int32 base, int32 dst); +extern int i386_leal_indix_reg (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_leal_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movswl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst_reg); +extern int i386_movswl_indoff_reg (COMMON_ARGS, int32 offset, int32 src_addr, int32 dst_reg); +extern int i386_movsbl_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg); +extern int i386_movswl_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg); +extern int i386_movzwl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst_reg); +extern int i386_movzwl_indoff_reg (COMMON_ARGS, int32 offset, int32 src_addr, int32 dst_reg); +extern int i386_movzbl_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg); +extern int i386_movzwl_reg_reg (COMMON_ARGS, int32 src_reg, int32 dst_reg); +extern int i386_movb_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movw_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movl_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movb_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movw_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movl_reg_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movb_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movw_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movl_abs_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movb_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movw_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movl_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_movb_imm_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movw_imm_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movl_imm_abs (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movb_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movw_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movl_imm_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movb_imm_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movw_imm_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movl_imm_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movb_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movw_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movl_reg_indoff (COMMON_ARGS, int32 src, int32 offset, int32 dst_addr); +extern int i386_movb_reg_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movw_reg_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movl_reg_ind (COMMON_ARGS, int32 src, int32 dst_addr); +extern int i386_movb_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_movw_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_movl_indoff_reg (COMMON_ARGS, int32 offset, int32 src, int32 dst); +extern int i386_movb_ind_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movw_ind_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movl_ind_reg (COMMON_ARGS, int32 src_addr, int32 dst); +extern int i386_movb_imm_indix (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movw_imm_indix (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movl_imm_indix (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movb_imm_indix_scale2 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movw_imm_indix_scale2 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movl_imm_indix_scale2 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movb_imm_indix_scale4 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movw_imm_indix_scale4 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movl_imm_indix_scale4 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movb_imm_indix_scale8 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movw_imm_indix_scale8 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movl_imm_indix_scale8 (COMMON_ARGS, int32 const_val, int32 offset, int32 base, int32 index); +extern int i386_movb_imm_indix_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movw_imm_indix_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movl_imm_indix_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movb_imm_indix_scale2_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movw_imm_indix_scale2_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movl_imm_indix_scale2_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movb_imm_indix_scale4_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movw_imm_indix_scale4_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movl_imm_indix_scale4_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movb_imm_indix_scale8_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movw_imm_indix_scale8_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movl_imm_indix_scale8_no_offset (COMMON_ARGS, int32 const_val, int32 base, int32 index); +extern int i386_movb_reg_indix (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movw_reg_indix (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movl_reg_indix (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movb_reg_indix_scale2 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movw_reg_indix_scale2 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movl_reg_indix_scale2 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movb_reg_indix_scale4 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movw_reg_indix_scale4 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movl_reg_indix_scale4 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movb_reg_indix_scale8 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movw_reg_indix_scale8 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movl_reg_indix_scale8 (COMMON_ARGS, int32 src_reg, int32 offset, int32 base, int32 index); +extern int i386_movb_reg_indix_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movw_reg_indix_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movl_reg_indix_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movb_reg_indix_scale2_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movw_reg_indix_scale2_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movl_reg_indix_scale2_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movb_reg_indix_scale4_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movw_reg_indix_scale4_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movl_reg_indix_scale4_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movb_reg_indix_scale8_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movw_reg_indix_scale8_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movl_reg_indix_scale8_no_offset (COMMON_ARGS, int32 src_reg, int32 base, int32 index); +extern int i386_movb_indix_reg (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale2 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale4 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale8 (COMMON_ARGS, int32 offset, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale2_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale4_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movb_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movw_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_movl_indix_reg_scale8_no_offset (COMMON_ARGS, int32 base, int32 index, int32 dst); +extern int i386_imull_imm_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_imull_reg_reg (COMMON_ARGS, int32 src, int32 dst); +extern int i386_popw (COMMON_ARGS, int32 dst_reg); +extern int i386_popl (COMMON_ARGS, int32 dst_reg); +extern int i386_pushw (COMMON_ARGS, int32 src_reg); +extern int i386_pushl (COMMON_ARGS, int32 src_reg); +extern int i386_pushw_imm (COMMON_ARGS, int32 const_val); +extern int i386_pushl_imm (COMMON_ARGS, int32 const_val); +extern int i386_pushfl (COMMON_ARGS); +extern int i386_rolb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_rolw_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_roll_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_rolb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_rolw_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_roll_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_rolb_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_rolw_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_roll_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_rolb_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_rolw_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_roll_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_rorb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_rorw_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_rorl_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_rorb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_rorw_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_rorl_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_rorb_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_rorw_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_rorl_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_rorb_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_rorw_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_rorl_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shlb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shlw_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shll_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shlb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shlw_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shll_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shlb_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shlw_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shll_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shlb_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shlw_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shll_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shrb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shrw_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shrl_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_shrb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shrw_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shrl_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_shrb_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shrw_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shrl_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_shrb_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shrw_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_shrl_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_sarb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_sarw_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_sarl_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_sarb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_sarw_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_sarl_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_sarb_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_sarw_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_sarl_imm_reg (COMMON_ARGS, int32 shift_const, int32 dst_reg); +extern int i386_sarb_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_sarw_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_sarl_imm_abs (COMMON_ARGS, int32 shift_const, int32 dst_addr); +extern int i386_sahf (COMMON_ARGS); +extern int i386_setc_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setc_ind (COMMON_ARGS, int32 addr); +extern int i386_setc_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setc_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setbe_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setbe_ind (COMMON_ARGS, int32 addr); +extern int i386_setbe_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setbe_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setz_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setz_ind (COMMON_ARGS, int32 addr); +extern int i386_setz_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setz_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setl_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setl_ind (COMMON_ARGS, int32 addr); +extern int i386_setl_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setl_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setle_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setle_ind (COMMON_ARGS, int32 addr); +extern int i386_setle_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setle_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setnb_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setnb_ind (COMMON_ARGS, int32 addr); +extern int i386_setnb_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setnb_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setnc_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setnc_ind (COMMON_ARGS, int32 addr); +extern int i386_setnc_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setnc_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setnbe_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setnbe_ind (COMMON_ARGS, int32 addr); +extern int i386_setnbe_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setnbe_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setnz_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setnz_ind (COMMON_ARGS, int32 addr); +extern int i386_setnz_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setnz_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setge_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setge_ind (COMMON_ARGS, int32 addr); +extern int i386_setge_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setge_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setnle_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setnle_ind (COMMON_ARGS, int32 addr); +extern int i386_setnle_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setnle_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setno_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setno_ind (COMMON_ARGS, int32 addr); +extern int i386_setno_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setno_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_seto_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_seto_ind (COMMON_ARGS, int32 addr); +extern int i386_seto_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_seto_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_setns_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_setns_ind (COMMON_ARGS, int32 addr); +extern int i386_setns_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_setns_abs (COMMON_ARGS, int32 dst_addr); +extern int i386_sets_reg (COMMON_ARGS, int32 dst_reg); +extern int i386_sets_ind (COMMON_ARGS, int32 addr); +extern int i386_sets_indoff (COMMON_ARGS, int32 offset, int32 addr); +extern int i386_sets_abs (COMMON_ARGS, int32 dst_addr); +#endif /* GENERATE_NATIVE_CODE */ + +#endif /* !_I386_ISA_H_ */ diff --git a/runtime/native/i386/main.c b/runtime/native/i386/main.c new file mode 100644 index 0000000..b5e3edf --- /dev/null +++ b/runtime/native/i386/main.c @@ -0,0 +1,89 @@ +#include "template.h" +#include "process.h" +#include + + +int +main (int argc, char *argv[]) +{ +#ifdef GENERATE_NATIVE_CODE + FILE *fp, *header_fp; + int i, success, swapop_p; + + success = SUCCESS; /* default */ + + if (argc != 2) + { + fprintf (stderr, "Usage: %s \n", argv[0]); + exit (EXIT_FAILURE); + } + + header_fp = fopen ("i386-isa.h", "w"); + if (header_fp == NULL) + { + fprintf (stderr, "Unable to open \"i386-isa.h\" for writing.\n"); + exit (-1); + } + fputs ("/* This file is machine-generated; DO NOT EDIT! */\n" + "\n" + "#ifndef _I386_ISA_H_\n" + "#define _I386_ISA_H_\n" + "\n" + "#ifdef GENERATE_NATIVE_CODE\n" + "\n", + header_fp); + + swapop_p = FALSE; + for (i = 0; success == SUCCESS && template[i].macro_name != NULL; + i += swapop_p, swapop_p = !swapop_p) + { + char cmd[1024], c_file[1024], o_file[1024]; + + /* Only bother swapping those that have exactly two operands. */ + /* Swapop hack is no longer useful. */ + if (swapop_p /* && count_operands (template[i].code) != 2 */) + continue; + + if (!swapop_p) + { + printf ("Processing %s...", template[i].macro_name); + fflush (stdout); + } + + sprintf (c_file, "i386_stubs/_%s.c", template[i].macro_name); + sprintf (o_file, "_i386_%d.o", i * 2 + swapop_p);/* Short for archive. */ + fp = fopen (c_file, "w"); + if (fp == NULL) + { + fprintf (stderr, "Unable to open file \"%s\" for writing.\n", + c_file); + exit (EXIT_FAILURE); + } + if (process_template (fp, header_fp, &template[i], argv[1], swapop_p) + == FAILURE) + success = FAILURE; + if (!swapop_p) + puts ("done."); + if (template[i + 1].macro_name != NULL) + putc ('\n', fp); /* Add an extra blank line. */ + fclose (fp); + + sprintf (cmd, "%s -s nextobj NEW_C_FILE=%s NEW_O_FILE=%s > /dev/null", + argv[1], c_file, o_file); + if (system (cmd)) + { + fprintf (stderr, "Unable to make \"%s\".\n", c_file); + success = FAILURE; + } + } + + fputs ("#endif /* GENERATE_NATIVE_CODE */\n" + "\n" + "#endif /* !_I386_ISA_H_ */\n", header_fp); + fclose (header_fp); + + return (success == SUCCESS) ? EXIT_SUCCESS : EXIT_FAILURE; +#else /* !GENERATE_NATIVE_CODE */ + return EXIT_SUCCESS; +#endif /* !GENERATE_NATIVE_CODE */ +} diff --git a/runtime/native/i386/process.c b/runtime/native/i386/process.c new file mode 100644 index 0000000..3f361ec --- /dev/null +++ b/runtime/native/i386/process.c @@ -0,0 +1,494 @@ +/* $Id: process.c 82 2005-05-11 23:41:32Z ctm $ */ + +#include "template.h" +#include "process.h" +#include +#include +#include +#include + +static int create_asmdata (const template_t *t, int num_operands); +static void dump_m68k_cc (char *s, const char *i386_cc); + +static boolean_t +is_operand_holder (const char *p, int *operand_nump, boolean_t *pc_relative_pp) +{ + boolean_t retval; + + if (p[0] != '%') + retval = FALSE; + else + { + boolean_t unused; + + if (!pc_relative_pp) + pc_relative_pp = &unused; + + *pc_relative_pp = p[1] == 'P'; + if (*pc_relative_pp) + ++p; + retval = isdigit (p[1]); + if (retval) + if (operand_nump) + *operand_nump = atoi (&p[1]); + } + return retval; +} + +static void +operand_replace (const char *old_code, char *new_code, int operand_num, + const char *new_operand, int end_num) +{ + const char *s; + char *d; + + for (s = old_code, d = new_code; *s != '\0'; ) + { + int num; + boolean_t pc_p; + + if (!is_operand_holder (s, &num, &pc_p) || num != operand_num) + *d++ = *s++; + else + { + if (pc_p) + { + sprintf (d, "code_end_%d+", end_num); + d+= strlen (d); + ++s; /* to skip over the P */ + } + strcpy (d, new_operand); + d += strlen (d); + for (s++; isdigit (*s); s++) + ; + } + } + + *d = '\0'; +} + +int +process_template (FILE *fp, FILE *header_fp, const template_t *t, + const char *make, int swapop_p) +{ + int i, num_operands; + char cc[128], cmd[1024], buf[2048]; + static char last_code_generated[32767]; + FILE *bits; + + /* Count the operands. */ + num_operands = count_operands (t->code); + + /* Generate the C code for all the operand combinations. It's the + * same for the case where our operands are swapped, so just reuse + * the old information if swapop_p is true. + */ + if (!swapop_p) + { + long size; + + if (create_asmdata (t, num_operands) == FAILURE) + return 0; + + /* Build the program to analyze it. If the make failed, we fail too. */ + system ("rm -f analyze analyze.o"); + sprintf (cmd, "%s -s analyze > /dev/null", make); + if (system (cmd) != 0) + return FAILURE; + + /* Get the output of the analyzing program. */ + sprintf (cmd, "./analyze"); + bits = popen (cmd, "r"); + if (bits == NULL) + return FAILURE; + + /* Copy everything from our input pipe to our buffer. */ + size = fread (last_code_generated, 1, sizeof last_code_generated, bits); + assert (size >= 0 && size < sizeof last_code_generated); + last_code_generated[size] = '\0'; + if (pclose (bits) != 0) + return FAILURE; + } + else + abort (); + + /* Output the code. */ + sprintf (buf, + "/* Temporary machine-generated file. Delete me. */\n" + "\n" + "#include \"syn68k_private.h\"\n" + "#include \"native.h\"\n" + "\n" + "\n" + "int\n" + "%s%s (COMMON_ARGS", + t->macro_name, swapop_p ? "_swapop" : ""); + fputs (buf, fp); + + /* Output the prototype for this function to the haeder. */ + sprintf (buf, "extern int %s%s (COMMON_ARGS", + t->macro_name, swapop_p ? "_swapop" : ""); + fputs (buf, header_fp); + + if (swapop_p) + { + for (i = num_operands - 1; i >= 0; i--) + { + fprintf (fp, ", int32 %s", t->operand_name[i]); + fprintf (header_fp, ", int32 %s", t->operand_name[i]); + } + } + else /* !swapop_p */ + { + for (i = 0; i < num_operands; i++) + { + assert (t->operand_name[i] != NULL); + fprintf (fp, ", int32 %s", t->operand_name[i]); + fprintf (header_fp, ", int32 %s", t->operand_name[i]); + } + } + fputs (");\n", header_fp); + + fputs (")\n" + "{\n" + " host_code_t *code;\n", + fp); + + dump_m68k_cc (cc, t->i386_cc_out); + if (cc[0] != '-') + { + if (!strcmp (cc, "CNVXZ")) + fprintf (fp, " SPILL_CC_BITS (c, codep, cc_spill_if_changed);\n"); + else + { + int b; + fprintf (fp, " SPILL_CC_BITS (c, codep, cc_spill_if_changed " + "& ("); + for (b = 0; cc[b] != '\0'; b++) + fprintf (fp, "%sM68K_CC%c", (b > 0) ? "| " : "", cc[b]); + fputs ("));\n", fp); + } + + /* Note which CC bits we just made valid. */ + if (strcmp (cc, "CNVXZ")) + { + int b; + fprintf (fp, + " {\n" + " uint8 newly_valid_cc = (cc_to_compute & ("); + for (b = 0; cc[b] != '\0'; b++) + fprintf (fp, "%sM68K_CC%c", (b > 0) ? "| " : "", cc[b]); + fputs ("));\n", fp); + fprintf (fp, + "\n" + " c->cached_cc |= newly_valid_cc;\n" + " c->dirty_cc |= newly_valid_cc;\n" + " }\n"); + } + else + { + fputs (" c->cached_cc |= cc_to_compute;\n" + " c->dirty_cc |= cc_to_compute;\n", + fp); + } + } + + fputs (" code = *codep;\n", fp); + fputs (last_code_generated, fp); + fputs (" *codep = code;\n" + " return 0;\n" + "}\n", + fp); + + /* Just so I can watch its progress more easily, flush stuff. */ + fflush (fp); + fflush (header_fp); + + return SUCCESS; +} + + +static void +dump_m68k_cc (char *d, const char *i386_cc) +{ + cc_mask_t m68k_cc; + const char *s; + + m68k_cc = M68K_CC_NONE; + for (s = i386_cc; *s != '\0'; s++) + switch (*s) + { + case 'c': + m68k_cc |= (M68K_CCC | M68K_CCX); + break; + case 'o': + m68k_cc |= M68K_CCV; + break; + case 's': + m68k_cc |= M68K_CCN; + break; + case 'z': + m68k_cc |= M68K_CCZ; + break; + case 'a': + case 'p': + case 'd': + case 'i': + break; + default: + fprintf (stderr, "Unknown i386 cc bit specifier \"%c\".\n", *s); + break; + } + + if (m68k_cc == M68K_CC_NONE) + *d++ = '-'; + else + { + if (m68k_cc & M68K_CCC) + *d++ = 'C'; + if (m68k_cc & M68K_CCN) + *d++ = 'N'; + if (m68k_cc & M68K_CCV) + *d++ = 'V'; + if (m68k_cc & M68K_CCX) + *d++ = 'X'; + if (m68k_cc & M68K_CCZ) + *d++ = 'Z'; + } + + *d = '\0'; +} + +int +count_operands (const char *s) +{ + int num_operands; + + for (num_operands = 0; ; num_operands++) + { + const char *p; + for (p = s; *p != '\0'; p++) + { + int num; + + if (is_operand_holder (p, &num, NULL) && num == num_operands) + break; + } + /* If we failed to find the operand, we're done. */ + if (*p == '\0') + break; + } + + return num_operands; +} + + +#define MAX_VALUE_SET_ENTRIES 35 + +typedef struct +{ + int num_values; + long value[MAX_VALUE_SET_ENTRIES]; +} value_set_t; + + +static int +create_asmdata (const template_t *t, int num_operands) +{ + static const value_set_t immediate_values[3] = + { { 12, { 0, 1, 2, -1, -2, 127, -128, -127, 0x37, -100, 0x12, -97 } }, + { 23, { 0, 1, 2, 0xFF, 0xFE, 127, -129, -128, -127, 128, 0x37, + -100, 0x12, -97, 32767, -32768, -32767, -1, -2, 0x871, + -1234, 0x1234, -561 } }, + { 33, { 0, 1, 2, 0xFF, 0xFE, 128, -129, 127, -128, -127, 0x37, -100, + 0x12, -97, + 32767, -32768, -32767, -1, 0xFFFE, 0x871, 0xFA03, + 0x1234, 0x8765, 0x7FFFFFFF, 0x80000000, 0x80000001, + 0xFFFFFFFF, 0xFFFFFFFE, 0x871529, 0x392332, 0xFA034433, + 0x12345678, 0x87654321 } } + }; +#if 0 + /* Explanation of this warning: + * The i386 has slightly more compact opcode sequences in some situations + * when %al/%ax/%eax is involved in an operation. The register specifier + * byte is omitted and the register is implicit in the special case opcode. + * Unfortunately, this can cause: + * addw $0x1234,%ax ; Using %ax shaves off a byte + * addw $1,%bx ; small immediate shaves off one byte + * to both require the same number of compiled bytes. analyze.c isn't + * yet smart enough to make fine distinctions between two different + * bit patterns of the same size which don't accept the same operands into + * the same bit offsets. + */ +#warning "Intentionally overlooking compact special cases for %al/%ax/%eax" +#endif + + static const value_set_t register_values[3] = + { + { 8, { 0, 1, 2, 3, 4, 5, 6, 7 } }, + { 6, { 0, 1, 2, 3, /* skip %bp,%sp */ 6, 7 } }, + { 6, { 0, 1, 2, 3, /* skip %ebp,%esp */ 6, 7 } } + }; + static const char *register_name[3][8] = + { + /* We don't consider %esp and %ebp here because they are "escape" + * registers in some circumstances to indicate different addressing + * modes, and we don't allocate anything into them anyway. + * It's best to not confuse our software by allowing escape sequences. + */ + { "%al", "%cl", "%dl", "%bl", "%ah", "%ch", "%dh", "%bh" }, + { "%ax", "%cx", "%dx", "%bx", NULL, NULL, "%si", "%di" }, + { "%eax", "%ecx", "%edx", "%ebx", NULL, NULL, "%esi", "%edi" } + }; + int current, n, op; + int which[MAX_OPERANDS + 1]; + const value_set_t *value[MAX_OPERANDS]; + boolean_t done_p; + long v; + FILE *fp; + + memset (which, 0, sizeof which); + memset (value, 0xff, sizeof value); /* help us detect uninitialized use */ + + fp = fopen ("asmdata.h", "w"); + if (fp == NULL) + { + fprintf (stderr, "Unable to open asmdata.c for writing.\n"); + return FAILURE; + } + + fputs ("/* This file is machine-generated and ephemeral. DO NOT EDIT! */\n" + "\n" + "extern void asmdata (void); /* Avoid compiler warnings. */\n" + "void asmdata ()\n" + "{\n", + fp); + + /* Determine which test value sets we will use for each operand. */ + for (n = 0; n < num_operands; n++) + { + if (t->operand[n].type == REGISTER) + value[n] = ®ister_values[t->operand[n].size]; + else + value[n] = &immediate_values[t->operand[n].size]; + } + + for (current = 0, done_p = FALSE; !done_p; current++) + { + char code[2][1024]; + int new_code = 0; + + strcpy (&code[new_code][0], t->code); + for (op = 0; op < num_operands; op++) + { + char buf[100]; + + v = value[op]->value[which[op]]; + if (t->operand[op].type == REGISTER) + strcpy (buf, register_name[t->operand[op].size][v]); + else + sprintf (buf, "%ld", v); + operand_replace (code[new_code], code[!new_code], op, buf, current); + new_code = !new_code; + } + + fprintf (fp, + " asm volatile (\"\\n\"\n" + " \"code_start_%d:\\n\\t\"\n" + " \"%s\\n\"\n" + " \"code_end_%d:\");\n", + current, code[new_code], current); + + /* Try the next combination of operands. */ + for (op = num_operands - 1; op >= 0; op--) + { + if (++which[op] >= value[op]->num_values) + { + which[op] = 0; + if (op == 0) + done_p = TRUE; + } + else + break; + } + + if (num_operands == 0) + done_p = TRUE; + } + + fputs ("}\n", fp); + + fprintf (fp, + "\n" + "#define NUM_SAMPLES %d\n" + "#define NUM_OPERANDS %d\n" + "#define TEMPLATE template[%d]\n" + "\n", + current, num_operands, t - &template[0]); + + fputs ("static const long value[NUM_SAMPLES][NUM_OPERANDS + 1] =\n" + "{\n", + fp); + + memset (which, 0, sizeof which); + for (n = 0; n < current; n++) + { + fprintf (fp, " {"); + for (op = 0; op < num_operands; op++) + fprintf (fp, "%s 0x%lX", op == 0 ? "" : ",", + (unsigned long) value[op]->value[which[op]]); + fputs (" },\n", fp); + + /* Try the next combination of operands. */ + for (op = num_operands - 1; op >= 0; op--) + { + if (++which[op] >= value[op]->num_values) + which[op] = 0; + else + break; + } + } + fputs ("};\n", fp); + + for (n = 0; n < current; n++) + { + fprintf (fp, + "extern uint8 code_start_%d;\n" + "extern uint8 code_end_%d;\n", + n, n); + } + + fputs ("\n" + "typedef struct\n" + "{\n" + " const uint8 *start, *end;\n" + "} sample_t;\n" + "\n", + fp); + fputs ("static const sample_t sample[NUM_SAMPLES] =\n" + "{\n", fp); + + memset (which, 0, sizeof which); + for (n = 0; n < current; n++) + { + fprintf (fp, + " { &code_start_%d, &code_end_%d }", + n, n); + /* Try the next combination of operands. */ + for (op = num_operands - 1; op >= 0; op--) + { + if (++which[op] >= value[op]->num_values) + which[op] = 0; + else + break; + } + + if (n < current - 1) + fputs (",\n", fp); + } + fputs ("};\n", fp); + + fclose (fp); + + return SUCCESS; +} diff --git a/runtime/native/i386/process.h b/runtime/native/i386/process.h new file mode 100644 index 0000000..9987e5d --- /dev/null +++ b/runtime/native/i386/process.h @@ -0,0 +1,10 @@ +#ifndef _PROCESS_H_INCLUDED_ +#define _PROCESS_H_INCLUDED_ + +#include + +extern int process_template (FILE *fp, FILE *header_fp, const template_t *t, + const char *make, int swapop_p); +extern int count_operands (const char *s); + +#endif /* !_PROCESS_H_INCLUDED_ */ diff --git a/runtime/native/i386/template.c b/runtime/native/i386/template.c new file mode 100644 index 0000000..82676bd --- /dev/null +++ b/runtime/native/i386/template.c @@ -0,0 +1,1557 @@ +#include "template.h" + +/* $Id: template.c 61 2004-12-21 23:44:50Z ctm $ */ + +const template_t template[] = +{ +#define BINARY_OP(op, dstio, memout) \ + { "i386_" op "b_reg_reg", "", "acopsz", "", "", "uv", \ + op "b %0,%1", \ + { "src", "dst" }, \ + { { SIZE_8, REGISTER, IN }, { SIZE_8, REGISTER, dstio } } }, \ + { "i386_" op "w_reg_reg", "", "acopsz", "", "", "u", \ + op "w %0,%1", \ + { "src", "dst" }, \ + { { SIZE_16, REGISTER, IN }, { SIZE_16, REGISTER, dstio } } }, \ + { "i386_" op "l_reg_reg", "", "acopsz", "", "", "uv", \ + op "l %0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, dstio } } }, \ + \ + { "i386_" op "b_imm_reg", "", "acopsz", "", "", "uv", \ + op "b $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_8, REGISTER, dstio } } }, \ + { "i386_" op "w_imm_reg", "", "acopsz", "", "", "u", \ + op "w $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_16, REGISTER, dstio } } }, \ + { "i386_" op "l_imm_reg", "", "acopsz", "", "", "uv", \ + op "l $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, dstio } } }, \ + \ + { "i386_" op "b_imm_abs", "", "acopsz", "memory", memout, "uv", \ + op "b $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_imm_abs", "", "acopsz", "memory", memout, "u", \ + op "w $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_imm_abs", "", "acopsz", "memory", memout, "uv", \ + op "l $%0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, \ + \ + { "i386_" op "b_reg_abs", "", "acopsz", "memory", memout, "uv", \ + op "b %0,%1", \ + { "src", "dst" }, \ + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_reg_abs", "", "acopsz", "memory", memout, "u", \ + op "w %0,%1", \ + { "src", "dst" }, \ + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_reg_abs", "", "acopsz", "memory", memout, "uv", \ + op "l %0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, \ + \ + { "i386_" op "b_abs_reg", "", "acopsz", "memory", memout, "uv", \ + op "b %0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_8, REGISTER, dstio } } }, \ + { "i386_" op "w_abs_reg", "", "acopsz", "memory", memout, "uv", \ + op "w %0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_16, REGISTER, dstio } } }, \ + { "i386_" op "l_abs_reg", "", "acopsz", "memory", memout, "uv", \ + op "l %0,%1", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, dstio } } }, \ + \ + { "i386_" op "b_reg_ind", "", "acopsz", "memory", memout, "uv", \ + op "b %0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_reg_ind", "", "acopsz", "memory", memout, "u", \ + op "w %0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_reg_ind", "", "acopsz", "memory", memout, "uv", \ + op "l %0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_ind_reg", "", "acopsz", "memory", memout, "uv", \ + op "b (%0),%1", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, dstio } } }, \ + { "i386_" op "w_ind_reg", "", "acopsz", "memory", memout, "u", \ + op "w (%0),%1", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, dstio } } }, \ + { "i386_" op "l_ind_reg", "", "acopsz", "memory", memout, "uv", \ + op "l (%0),%1", \ + { "src", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, dstio } } }, \ + \ + { "i386_" op "b_reg_indoff", "", "acopsz", "memory", memout, "uv", \ + op "b %0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_reg_indoff", "", "acopsz", "memory", memout, "u", \ + op "w %0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_reg_indoff", "", "acopsz", "memory", memout, "uv", \ + op "l %0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indoff_reg", "", "acopsz", "memory", memout, "uv", \ + op "b %0(%1),%2", \ + { "offset", "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_8, REGISTER, dstio } } }, \ + { "i386_" op "w_indoff_reg", "", "acopsz", "memory", memout, "u", \ + op "w %0(%1),%2", \ + { "offset", "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_16, REGISTER, dstio } } }, \ + { "i386_" op "l_indoff_reg", "", "acopsz", "memory", memout, "uv", \ + op "l %0(%1),%2", \ + { "offset", "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, dstio } } }, \ + \ + { "i386_" op "b_imm_ind", "", "acopsz", "memory", memout, "uv", \ + op "b $%0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_ind", "", "acopsz", "memory", memout, "u", \ + op "w $%0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_ind", "", "acopsz", "memory", memout, "uv", \ + op "l $%0,(%1)", \ + { "src", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indoff", "", "acopsz", "memory", memout, "uv", \ + op "b $%0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indoff", "", "acopsz", "memory", memout, "u", \ + op "w $%0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indoff", "", "acopsz", "memory", memout, "uv", \ + op "l $%0,%1(%2)", \ + { "src", "offset", "dst" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } } + + BINARY_OP ("add", INOUT, "memory"), + BINARY_OP ("sub", INOUT, "memory"), + BINARY_OP ("and", INOUT, "memory"), + BINARY_OP ("or", INOUT, "memory"), + BINARY_OP ("xor", INOUT, "memory"), + BINARY_OP ("cmp", IN, ""), + BINARY_OP ("test", IN, ""), + + { "i386_adcb_reg_reg", "c", "acopsz", "", "", "u", + "adcb %0,%1", + { "src", "dst" }, + { { SIZE_8, REGISTER, IN }, { SIZE_8, REGISTER, INOUT } } }, + { "i386_adcw_reg_reg", "c", "acopsz", "", "", "u", + "adcw %0,%1", + { "src", "dst" }, + { { SIZE_16, REGISTER, IN }, { SIZE_16, REGISTER, INOUT } } }, + { "i386_adcl_reg_reg", "c", "acopsz", "", "", "u", + "adcl %0,%1", + { "src", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, INOUT } } }, + +#define BINARY_OP_INDIX(op, memout) \ + { "i386_" op "b_imm_indix", "", "acopsz", "memory", memout, "uv", \ + op "b $%0,%1(%2,%3)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix", "", "acopsz", "memory", memout, "uv", \ + op "w $%0,%1(%2,%3)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix", "", "acopsz", "memory", memout, "uv", \ + op "l $%0,%1(%2,%3)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,(%1,%2)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "w $%0,(%1,%2)", \ + { "src", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "l $%0,(%1,%2)", \ + { "src", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale2", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,2)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale2", "", "acopsz", "memory", memout, "uv",\ + op "w $%0,%1(%2,%3,2)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale2", "", "acopsz", "memory", memout, "uv",\ + op "l $%0,%1(%2,%3,2)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,2)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w $%0,(%1,%2,2)", \ + { "src", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l $%0,(%1,%2,2)", \ + { "src", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale4", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,4)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale4", "", "acopsz", "memory", memout, "uv",\ + op "w $%0,%1(%2,%3,4)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale4", "", "acopsz", "memory", memout, "uv",\ + op "l $%0,%1(%2,%3,4)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,4)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w $%0,(%1,%2,4)", \ + { "src", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l $%0,(%1,%2,4)", \ + { "src", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale8", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,8)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale8", "", "acopsz", "memory", memout, "uv",\ + op "w $%0,%1(%2,%3,8)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale8", "", "acopsz", "memory", memout, "uv",\ + op "l $%0,%1(%2,%3,8)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,8)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_imm_indix_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w $%0,(%1,%2,8)", \ + { "src", "dst", "index" }, \ + { { SIZE_16, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_imm_indix_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l $%0,(%1,%2,8)", \ + { "src", "dst", "index" }, \ + { { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg", "", "acopsz", "memory", memout, "uv", \ + op "b %0(%1,%2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg", "", "acopsz", "memory", memout, "uv", \ + op "w %0(%1,%2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg", "", "acopsz", "memory", memout, "uv", \ + op "l %0(%1,%2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "b (%0,%1),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "w (%0,%1),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "l (%0,%1),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale2", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale2", "", "acopsz", "memory", memout, "uv",\ + op "w %0(%1,%2,2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale2", "", "acopsz", "memory", memout, "uv",\ + op "l %0(%1,%2,2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,2),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w (%0,%1,2),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l (%0,%1,2),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale4", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,4),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale4", "", "acopsz", "memory", memout, "uv",\ + op "w %0(%1,%2,4),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale4", "", "acopsz", "memory", memout, "uv",\ + op "l %0(%1,%2,4),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,4),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w (%0,%1,4),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l (%0,%1,4),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale8", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,8),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale8", "", "acopsz", "memory", memout, "uv",\ + op "w %0(%1,%2,8),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale8", "", "acopsz", "memory", memout, "uv",\ + op "l %0(%1,%2,8),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,8),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w_indix_reg_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "w (%0,%1,8),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l_indix_reg_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "l (%0,%1,8),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } } + + + BINARY_OP_INDIX ("cmp", ""), + +#define BYTE_ARITH_OP_INDIX(op, memout) \ + { "i386_" op "b_imm_indix", "", "acopsz", "memory", memout, "uv", \ + op "b $%0,%1(%2,%3)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,(%1,%2)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale2", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,2)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,2)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale4", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,4)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,4)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale8", "", "acopsz", "memory", memout, "uv",\ + op "b $%0,%1(%2,%3,8)", \ + { "src", "offset", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_imm_indix_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b $%0,(%1,%2,8)", \ + { "src", "dst", "index" }, \ + { { SIZE_8, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg", "", "acopsz", "memory", memout, "uv", \ + op "b %0(%1,%2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_no_offset", "", "acopsz", "memory", memout, "uv",\ + op "b (%0,%1),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale2", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,2),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale2_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,2),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale4", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,4),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale4_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,4),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale8", "", "acopsz", "memory", memout, "uv",\ + op "b %0(%1,%2,8),%3", \ + { "offset", "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } }, \ + \ + { "i386_" op "b_indix_reg_scale8_no_offset", "", "acopsz", "memory", \ + memout, "uv", \ + op "b (%0,%1,8),%2", \ + { "base_addr_reg", "index", "dst_val" }, \ + { { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, IN } } } + + BYTE_ARITH_OP_INDIX ("add", "memory"), + BYTE_ARITH_OP_INDIX ("sub", "memory"), + + +#define UNARY_OP(op, flags, pipe) \ + { "i386_" op "b_reg", "", flags, "", "", pipe, \ + op "b %0", \ + { "dst" }, \ + { { SIZE_8, REGISTER, INOUT } } }, \ + { "i386_" op "w_reg", "", flags, "", "", pipe, \ + op "w %0", \ + { "dst" }, \ + { { SIZE_16, REGISTER, INOUT } } }, \ + { "i386_" op "l_reg", "", flags, "", "", pipe, \ + op "l %0", \ + { "dst" }, \ + { { SIZE_32, REGISTER, INOUT } } }, \ + { "i386_" op "b_abs", "", flags, "", "" " memory", pipe, \ + op "b %0", \ + { "dst" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_abs", "", flags, "memory", "memory", pipe, \ + op "w %0", \ + { "dst" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_abs", "", flags, "memory", "memory", pipe, \ + op "l %0", \ + { "dst" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "b_ind", "", flags, "", "" " memory", pipe, \ + op "b (%0)", \ + { "dst_addr_reg" }, \ + { { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_ind", "", flags, "memory", "memory", pipe, \ + op "w (%0)", \ + { "dst_addr_reg" }, \ + { { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_ind", "", flags, "memory", "memory", pipe, \ + op "l (%0)", \ + { "dst_addr_reg" }, \ + { { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "b_indoff", "", flags, "", "" " memory", pipe, \ + op "b %0(%1)", \ + { "offset", "dst_addr_reg" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "w_indoff", "", flags, "memory", "memory", pipe, \ + op "w %0(%1)", \ + { "offset", "dst_addr_reg" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "l_indoff", "", flags, "memory", "memory", pipe, \ + op "l %0(%1)", \ + { "offset", "dst_addr_reg" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } } + + UNARY_OP ("neg", "acopsz", "-"), + UNARY_OP ("not", "", "-"), + UNARY_OP ("inc", "aopsz", "uv"), + UNARY_OP ("dec", "aopsz", "uv"), + + { "i386_bswap", "", "", "", "", "-", + "bswap %0", + { "dst_reg" }, + { { SIZE_32, REGISTER, INOUT } } }, + + { "i386_call_abs", "", "", "", "volatile", "v", + "call %P0", + { "addr" }, + { { SIZE_32, CONSTANT, IN } } }, + + { "i386_cbtw", "", "", "(reg8 AL)", "(reg16 AX)", "-", + "cbtw", + { }, + { } }, + + { "i386_cwtl", "", "", "(reg16 AX)", "(reg32 EAX)", "-", + "cwtl", + { }, + { } }, + + { "i386_cltd", "", "", "(reg32 EAX)", "(reg32 EDX)", "-", + "cltd", /* EAX sext -> EDX:EAX */ + { }, + { } }, + + { "i386_clc", "", "c", "", "", "-", + "clc", + { }, + { } }, + + { "i386_stc", "", "c", "", "", "-", + "stc", + { }, + { } }, + + { "i386_cld", "", "d", "", "", "-", + "cld", + { }, + { } }, + + { "i386_std", "", "d", "", "", "-", + "std", + { }, + { } }, + + { "i386_cli", "", "i", "", "volatile", "-", + "cli", + { }, + { } }, + + { "i386_sti", "", "i", "", "volatile", "-", + "sti", + { }, + { } }, + +#define DIV(op) \ + { "i386_" op "b", "", "acopsz", "(reg16 AX)", "(reg16 AX) ", "-", \ + op "b %0", \ + { "divisor" }, \ + { { SIZE_8, REGISTER, IN } } }, \ + { "i386_" op "w", "", "acopsz", "(reg16 AX DX)", "(reg16 AX DX)", "-", \ + op "w %0", \ + { "divisor" }, \ + { { SIZE_16, REGISTER, IN } } }, \ + { "i386_" op "l", "", "acopsz", "(reg32 EAX EDX)", "(reg32 EAX EDX)", "-", \ + op "l %0", \ + { "divisor" }, \ + { { SIZE_32, REGISTER, IN } } }, \ + \ + { "i386_" op "b_abs", "", "acopsz", "memory (reg16 AX)", "(reg16 AX) ", "-",\ + op "b %0", \ + { "divisor" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_abs", "", "acopsz", "memory (reg16 AX DX)", \ + "(reg16 AX DX)", "-", \ + op "w %0", \ + { "divisor" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_abs", "", "acopsz", "memory (reg32 EAX EDX)", \ + "(reg32 EAX EDX)", "-", \ + op "l %0", \ + { "divisor" }, \ + { { SIZE_32, CONSTANT, IN } } } + + DIV ("div"), + DIV ("idiv"), + +#define CONDL_BRANCH(op, flags) \ + { "i386_" op, flags, "", "", "volatile", "v", \ + op " %P0", \ + { "target" }, \ + { { SIZE_32, CONSTANT, IN } } } + + CONDL_BRANCH ("jc", "c"), + CONDL_BRANCH ("jbe", "cz"), + CONDL_BRANCH ("jz", "z"), + CONDL_BRANCH ("jl", "os"), + CONDL_BRANCH ("jle", "osz"), + CONDL_BRANCH ("jnc", "c"), + CONDL_BRANCH ("jnbe", "cz"), + CONDL_BRANCH ("jnz", "z"), + CONDL_BRANCH ("jge", "os"), + CONDL_BRANCH ("jnle", "osz"), + CONDL_BRANCH ("jno", "o"), + CONDL_BRANCH ("jo", "o"), + CONDL_BRANCH ("jns", "s"), + CONDL_BRANCH ("js", "s"), + + { "i386_jmp", "", "", "", "volatile", "v", + "jmp %P0", + { "target" }, + { { SIZE_32, CONSTANT, IN } } }, + { "i386_jmp_reg", "", "", "", "volatile", "-", + "jmp *%0", + { "target" }, + { { SIZE_32, REGISTER, IN } } }, + + { "i386_lahf", "acpsz", "", "", "(reg8 4)", "-", + "lahf", + { }, + { } }, + + { "i386_leaw_indoff", "", "", "", "", "-", + "leal %0(%1),%2", + { "offset", "base", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + { "i386_leal_indoff", "", "", "", "", "-", + "leal %0(%1),%2", + { "offset", "base", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + +#if 0 + { "i386_leaw_indix_reg", "", "", "", "", "-", + "leaw %0(%1,%2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale2", "", "", "", "", "-", + "leaw %0(%1,%2,2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale4", "", "", "", "", "-", + "leaw %0(%1,%2,4),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale8", "", "", "", "", "-", + "leaw %0(%1,%2,8),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, +#endif + + { "i386_leal_indix_reg", "", "", "", "", "-", + "leal %0(%1,%2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale2", "", "", "", "", "-", + "leal %0(%1,%2,2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale4", "", "", "", "", "-", + "leal %0(%1,%2,4),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale8", "", "", "", "", "-", + "leal %0(%1,%2,8),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + +#if 0 + { "i386_leaw_indix_reg_no_offset", "", "", "", "", "-", + "leaw (%0,%1),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale2_no_offset", "", "", "", "", "-", + "leaw (%0,%1,2),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale4_no_offset", "", "", "", "", "-", + "leaw (%0,%1,4),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_leaw_indix_reg_scale8_no_offset", "", "", "", "", "-", + "leaw (%0,%1,8),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, +#endif + + { "i386_leal_indix_reg_no_offset", "", "", "", "", "-", + "leal (%0,%1),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale2_no_offset", "", "", "", "", "-", + "leal (%0,%1,2),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale4_no_offset", "", "", "", "", "-", + "leal (%0,%1,4),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + { "i386_leal_indix_reg_scale8_no_offset", "", "", "", "", "-", + "leal (%0,%1,8),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + +#define MOVE_EXT(op) \ + { "i386_" op "wl_abs_reg", "", "", "memory", "", "-", \ + op "wl %0,%1", \ + { "src_addr", "dst_reg" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, OUT } } }, \ + \ + { "i386_" op "wl_indoff_reg", "", "", "memory", "", "-", \ + op "wl %0(%1),%2", \ + { "offset", "src_addr", "dst_reg" }, \ + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, \ + { SIZE_32, REGISTER, OUT } } }, \ + \ + { "i386_" op "bl_reg_reg", "", "", "", "", "-", \ + op "bl %0,%1", \ + { "src_reg", "dst_reg" }, \ + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, \ + \ + { "i386_" op "wl_reg_reg", "", "", "", "", "-", \ + op "wl %0,%1", \ + { "src_reg", "dst_reg" }, \ + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } } + + MOVE_EXT ("movs"), + MOVE_EXT ("movz"), + + { "i386_movb_reg_reg", "", "", "", "", "uv", + "movb %0,%1", + { "src", "dst" }, + { { SIZE_8, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_reg_reg", "", "", "", "", "uv", + "movw %0,%1", + { "src", "dst" }, + { { SIZE_16, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_reg_reg", "", "", "", "", "uv", + "movl %0,%1", + { "src", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_reg_abs", "", "", "", "memory", "uv", + "movb %0,%1", + { "src", "dst_addr" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, + { "i386_movw_reg_abs", "", "", "", "memory", "uv", + "movw %0,%1", + { "src", "dst_addr" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, + { "i386_movl_reg_abs", "", "", "", "memory", "uv", + "movl %0,%1", + { "src", "dst_addr" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN } } }, + + { "i386_movb_abs_reg", "", "", "memory", "", "uv", + "movb %0,%1", + { "src_addr", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_abs_reg", "", "", "memory", "", "uv", + "movw %0,%1", + { "src_addr", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_abs_reg", "", "", "memory", "", "uv", + "movl %0,%1", + { "src_addr", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_imm_reg", "", "", "", "", "uv", + "movb $%0,%1", + { "src", "dst" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_imm_reg", "", "", "", "", "uv", + "movw $%0,%1", + { "src", "dst" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_imm_reg", "", "", "", "", "uv", + "movl $%0,%1", + { "src", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_imm_abs", "", "", "", "memory", "uv", + "movb $%0,%1", + { "src", "dst_addr" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, + { "i386_movw_imm_abs", "", "", "", "memory", "uv", + "movw $%0,%1", + { "src", "dst_addr" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, + { "i386_movl_imm_abs", "", "", "", "memory", "uv", + "movl $%0,%1", + { "src", "dst_addr" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, + + { "i386_movb_imm_indoff", "", "", "", "memory", "uv", + "movb $%0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indoff", "", "", "", "memory", "uv", + "movw $%0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indoff", "", "", "", "memory", "uv", + "movl $%0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_ind", "", "", "", "memory", "uv", + "movb $%0,(%1)", + { "src", "dst_addr" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_ind", "", "", "", "memory", "uv", + "movw $%0,(%1)", + { "src", "dst_addr" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_ind", "", "", "", "memory", "uv", + "movl $%0,(%1)", + { "src", "dst_addr" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indoff", "", "", "", "memory", "uv", + "movb %0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indoff", "", "", "", "memory", "uv", + "movw %0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indoff", "", "", "", "memory", "uv", + "movl %0,%1(%2)", + { "src", "offset", "dst_addr" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_ind", "", "", "", "memory", "uv", + "movb %0,(%1)", + { "src", "dst_addr" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_ind", "", "", "", "memory", "uv", + "movw %0,(%1)", + { "src", "dst_addr" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_ind", "", "", "", "memory", "uv", + "movl %0,(%1)", + { "src", "dst_addr" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_indoff_reg", "", "", "memory", "", "uv", + "movb %0(%1),%2", + { "offset", "src", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indoff_reg", "", "", "memory", "", "uv", + "movw %0(%1),%2", + { "offset", "src", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indoff_reg", "", "", "memory", "", "uv", + "movl %0(%1),%2", + { "offset", "src", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_ind_reg", "", "", "memory", "", "uv", + "movb (%0),%1", + { "src_addr", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_ind_reg", "", "", "memory", "", "uv", + "movw (%0),%1", + { "src_addr", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_ind_reg", "", "", "memory", "", "uv", + "movl (%0),%1", + { "src_addr", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_imm_indix", "", "", "", "memory", "uv", + "movb $%0,%1(%2,%3)", + { "const_val", "offset", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix", "", "", "", "memory", "uv", + "movw $%0,%1(%2,%3)", + { "const_val", "offset", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix", "", "", "", "memory", "uv", + "movl $%0,%1(%2,%3)", + { "const_val", "offset", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale2", "", "", "", "memory", "uv", + "movb $%0,%1(%2,%3,2)", + { "const_val", "offset", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale2", "", "", "", "memory", "uv", + "movw $%0,%1(%2,%3,2)", + { "const_val", "offset", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale2", "", "", "", "memory", "uv", + "movl $%0,%1(%2,%3,2)", + { "const_val", "offset", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale4", "", "", "", "memory", "uv", + "movb $%0,%1(%2,%3,4)", + { "const_val", "offset", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale4", "", "", "", "memory", "uv", + "movw $%0,%1(%2,%3,4)", + { "const_val", "offset", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale4", "", "", "", "memory", "uv", + "movl $%0,%1(%2,%3,4)", + { "const_val", "offset", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale8", "", "", "", "memory", "uv", + "movb $%0,%1(%2,%3,8)", + { "const_val", "offset", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale8", "", "", "", "memory", "uv", + "movw $%0,%1(%2,%3,8)", + { "const_val", "offset", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale8", "", "", "", "memory", "uv", + "movl $%0,%1(%2,%3,8)", + { "const_val", "offset", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_no_offset", "", "", "", "memory", "uv", + "movb $%0,(%1,%2)", + { "const_val", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_no_offset", "", "", "", "memory", "uv", + "movw $%0,(%1,%2)", + { "const_val", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_no_offset", "", "", "", "memory", "uv", + "movl $%0,(%1,%2)", + { "const_val", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movb $%0,(%1,%2,2)", + { "const_val", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movw $%0,(%1,%2,2)", + { "const_val", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movl $%0,(%1,%2,2)", + { "const_val", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movb $%0,(%1,%2,4)", + { "const_val", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movw $%0,(%1,%2,4)", + { "const_val", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movl $%0,(%1,%2,4)", + { "const_val", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_imm_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movb $%0,(%1,%2,8)", + { "const_val", "base", "index" }, + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_imm_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movw $%0,(%1,%2,8)", + { "const_val", "base", "index" }, + { { SIZE_16, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_imm_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movl $%0,(%1,%2,8)", + { "const_val", "base", "index" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix", "", "", "", "memory", "uv", + "movb %0,%1(%2,%3)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix", "", "", "", "memory", "uv", + "movw %0,%1(%2,%3)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix", "", "", "", "memory", "uv", + "movl %0,%1(%2,%3)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale2", "", "", "", "memory", "uv", + "movb %0,%1(%2,%3,2)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale2", "", "", "", "memory", "uv", + "movw %0,%1(%2,%3,2)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale2", "", "", "", "memory", "uv", + "movl %0,%1(%2,%3,2)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale4", "", "", "", "memory", "uv", + "movb %0,%1(%2,%3,4)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale4", "", "", "", "memory", "uv", + "movw %0,%1(%2,%3,4)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale4", "", "", "", "memory", "uv", + "movl %0,%1(%2,%3,4)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale8", "", "", "", "memory", "uv", + "movb %0,%1(%2,%3,8)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale8", "", "", "", "memory", "uv", + "movw %0,%1(%2,%3,8)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale8", "", "", "", "memory", "uv", + "movl %0,%1(%2,%3,8)", + { "src_reg", "offset", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, CONSTANT, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_no_offset", "", "", "", "memory", "uv", + "movb %0,(%1,%2)", + { "src_reg", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_no_offset", "", "", "", "memory", "uv", + "movw %0,(%1,%2)", + { "src_reg", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_no_offset", "", "", "", "memory", "uv", + "movl %0,(%1,%2)", + { "src_reg", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movb %0,(%1,%2,2)", + { "src_reg", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movw %0,(%1,%2,2)", + { "src_reg", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale2_no_offset", "", "", "", "memory", "uv", + "movl %0,(%1,%2,2)", + { "src_reg", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movb %0,(%1,%2,4)", + { "src_reg", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movw %0,(%1,%2,4)", + { "src_reg", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale4_no_offset", "", "", "", "memory", "uv", + "movl %0,(%1,%2,4)", + { "src_reg", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_reg_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movb %0,(%1,%2,8)", + { "src_reg", "base", "index" }, + { { SIZE_8, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movw_reg_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movw %0,(%1,%2,8)", + { "src_reg", "base", "index" }, + { { SIZE_16, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + { "i386_movl_reg_indix_scale8_no_offset", "", "", "", "memory", "uv", + "movl %0,(%1,%2,8)", + { "src_reg", "base", "index" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN } } }, + + { "i386_movb_indix_reg", "", "", "memory", "", "uv", + "movb %0(%1,%2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg", "", "", "memory", "", "uv", + "movw %0(%1,%2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg", "", "", "memory", "", "uv", + "movl %0(%1,%2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale2", "", "", "memory", "", "uv", + "movb %0(%1,%2,2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale2", "", "", "memory", "", "uv", + "movw %0(%1,%2,2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale2", "", "", "memory", "", "uv", + "movl %0(%1,%2,2),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale4", "", "", "memory", "", "uv", + "movb %0(%1,%2,4),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale4", "", "", "memory", "", "uv", + "movw %0(%1,%2,4),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale4", "", "", "memory", "", "uv", + "movl %0(%1,%2,4),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale8", "", "", "memory", "", "uv", + "movb %0(%1,%2,8),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale8", "", "", "memory", "", "uv", + "movw %0(%1,%2,8),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale8", "", "", "memory", "", "uv", + "movl %0(%1,%2,8),%3", + { "offset", "base", "index", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_no_offset", "", "", "memory", "", "uv", + "movb (%0,%1),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_no_offset", "", "", "memory", "", "uv", + "movw (%0,%1),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_no_offset", "", "", "memory", "", "uv", + "movl (%0,%1),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale2_no_offset", "", "", "memory", "", "uv", + "movb (%0,%1,2),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale2_no_offset", "", "", "memory", "", "uv", + "movw (%0,%1,2),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale2_no_offset", "", "", "memory", "", "uv", + "movl (%0,%1,2),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale4_no_offset", "", "", "memory", "", "uv", + "movb (%0,%1,4),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale4_no_offset", "", "", "memory", "", "uv", + "movw (%0,%1,4),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale4_no_offset", "", "", "memory", "", "uv", + "movl (%0,%1,4),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + { "i386_movb_indix_reg_scale8_no_offset", "", "", "memory", "", "uv", + "movb (%0,%1,8),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_8, REGISTER, OUT } } }, + { "i386_movw_indix_reg_scale8_no_offset", "", "", "memory", "", "uv", + "movw (%0,%1,8),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_16, REGISTER, OUT } } }, + { "i386_movl_indix_reg_scale8_no_offset", "", "", "memory", "", "uv", + "movl (%0,%1,8),%2", + { "base", "index", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, IN }, + { SIZE_32, REGISTER, OUT } } }, + + + { "i386_imull_imm_reg", "", "acopsz", "", "", "-", + "imull $%0,%1", + { "src", "dst" }, + { { SIZE_32, CONSTANT, IN }, { SIZE_32, REGISTER, INOUT } } }, + { "i386_imull_reg_reg", "", "acopsz", "", "", "-", + "imull %0,%1", + { "src", "dst" }, + { { SIZE_32, REGISTER, IN }, { SIZE_32, REGISTER, INOUT } } }, + + { "i386_popw", "", "", "(reg32 ESP) memory", "(reg32 ESP)", "u", + "popw %0", + { "dst_reg" }, + { { SIZE_16, REGISTER, OUT } } }, + { "i386_popl", "", "", "(reg32 ESP) memory", "(reg32 ESP)", "uv", + "popl %0", + { "dst_reg" }, + { { SIZE_32, REGISTER, OUT } } }, + + { "i386_pushw", "", "", "(reg32 ESP) memory", "(reg32 ESP)", "u", + "pushw %0", + { "src_reg" }, + { { SIZE_16, REGISTER, IN } } }, + { "i386_pushl", "", "", "(reg32 ESP)", "(reg32 ESP) memory", "uv", + "pushl %0", + { "src_reg" }, + { { SIZE_32, REGISTER, IN } } }, + + { "i386_pushw_imm", "", "", "(reg32 ESP)", "(reg32 ESP) memory", "u", + "pushw $%0", + { "const_val" }, + { { SIZE_16, CONSTANT, IN } } }, + { "i386_pushl_imm", "", "", "(reg32 ESP)", "(reg32 ESP) memory", "uv", + "pushl $%0", + { "const_val" }, + { { SIZE_32, CONSTANT, IN } } }, + + { "i386_pushfl", "acdiopsz", "", "(reg32 ESP)", "(reg32 ESP) memory", "-", + "pushfl", + { }, + { } }, + + /* We'll omit the push mem versions, because my docs say that doing a + * load into a register followed by a push is faster. + */ + +#define SHIFT(op, flags_in, flags_out) \ + { "i386_" op "b_reg", flags_in, flags_out, "(reg8 CL)", "", "-", \ + op "b %cl,%0", \ + { "dst_reg" }, \ + { { SIZE_8, REGISTER, INOUT } } }, \ + { "i386_" op "w_reg", flags_in, flags_out, "(reg8 CL)", "", "-", \ + op "w %cl,%0", \ + { "dst_reg" }, \ + { { SIZE_16, REGISTER, INOUT } } }, \ + { "i386_" op "l_reg", flags_in, flags_out, "(reg8 CL)", "", "-", \ + op "l %cl,%0", \ + { "dst_reg" }, \ + { { SIZE_32, REGISTER, INOUT } } }, \ + \ + { "i386_" op "b_abs", flags_in, flags_out, "(reg8 CL) memory", \ + "memory", "-", \ + op "b %cl,%0", \ + { "dst_addr" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_abs", flags_in, flags_out, "(reg8 CL) memory", \ + "memory", "-", \ + op "w %cl,%0", \ + { "dst_addr" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_abs", flags_in, flags_out, "(reg8 CL) memory", \ + "memory", "-", \ + op "l %cl,%0", \ + { "dst_addr" }, \ + { { SIZE_32, CONSTANT, IN } } }, \ + \ + { "i386_" op "b_imm_reg", flags_in, flags_out, "", "", "u", \ + op "b $%0,%1", \ + { "shift_const", "dst_reg" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_8, REGISTER, INOUT } } }, \ + { "i386_" op "w_imm_reg", flags_in, flags_out, "", "", "u", \ + op "w $%0,%1", \ + { "shift_const", "dst_reg" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_16, REGISTER, INOUT } } }, \ + { "i386_" op "l_imm_reg", flags_in, flags_out, "", "", "u", \ + op "l $%0,%1", \ + { "shift_const", "dst_reg" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, REGISTER, INOUT } } }, \ + \ + { "i386_" op "b_imm_abs", flags_in, flags_out, "memory", "memory", "u", \ + op "b $%0,%1", \ + { "shift_const", "dst_addr" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "w_imm_abs", flags_in, flags_out, "memory", "memory", "u", \ + op "w $%0,%1", \ + { "shift_const", "dst_addr" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } }, \ + { "i386_" op "l_imm_abs", flags_in, flags_out, "memory", "memory", "u", \ + op "l $%0,%1", \ + { "shift_const", "dst_addr" }, \ + { { SIZE_8, CONSTANT, IN }, { SIZE_32, CONSTANT, IN } } } + +#if 0 + SHIFT ("rcl", "c", "co"), + SHIFT ("rcr", "c", "co"), +#endif + SHIFT ("rol", "", "co"), + SHIFT ("ror", "", "co"), + SHIFT ("shl", "", "acopsz"), + SHIFT ("shr", "", "acopsz"), + SHIFT ("sar", "", "acopsz"), + + { "i386_sahf", "", "acpsz", "(reg8 4)", "", "-", + "sahf", + { }, + { } }, + +#define SET(op, flags) \ + { "i386_" op "_reg", flags, "", "", "", "-", \ + op " %0", \ + { "dst_reg" }, \ + { { SIZE_8, REGISTER, OUT } } }, \ + { "i386_" op "_ind", flags, "", "", "", "-", \ + op " (%0)", \ + { "addr" }, \ + { { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "_indoff", flags, "", "", "", "-", \ + op " %0(%1)", \ + { "offset", "addr" }, \ + { { SIZE_32, CONSTANT, IN }, \ + { SIZE_32, REGISTER, IN } } }, \ + { "i386_" op "_abs", flags, "", "", "memory", "-", \ + op " %0", \ + { "dst_addr" }, \ + { { SIZE_32, CONSTANT, IN } } } + + SET ("setc", "c"), + SET ("setbe", "cz"), + SET ("setz", "z"), + SET ("setl", "os"), + SET ("setle", "osz"), + SET ("setnb", "c"), + SET ("setnc", "c"), + SET ("setnbe", "cz"), + SET ("setnz", "z"), + SET ("setge", "os"), + SET ("setnle", "osz"), + SET ("setno", "o"), + SET ("seto", "o"), + SET ("setns", "s"), + SET ("sets", "s"), + + { NULL } +}; diff --git a/runtime/native/i386/template.h b/runtime/native/i386/template.h new file mode 100644 index 0000000..851a59b --- /dev/null +++ b/runtime/native/i386/template.h @@ -0,0 +1,51 @@ +#ifndef _TEMPLATE_H_INCLUDED_ +#define _TEMPLATE_H_INCLUDED_ + +#include "syn68k_private.h" + +#define FAILURE 1 +#define SUCCESS 0 + +typedef enum +{ + REGISTER, CONSTANT +} i386_op_type_t; + +typedef enum +{ + IN, OUT, INOUT +} io_t; + +typedef enum { SIZE_8, SIZE_16, SIZE_32 } byte_size_t; + +typedef struct +{ + byte_size_t size; + i386_op_type_t type; + io_t inout; +} operand_t; + +#define MAX_OPERANDS 6 + +typedef BOOL boolean_t; + +typedef uint8 cc_mask_t; + +typedef struct +{ + const char *macro_name; + const char *i386_cc_in, *i386_cc_out; + const char *i386_in, *i386_out; /* All non-cc inputs and outputs. */ + const char *pipe; + const char *code; + const char *operand_name[MAX_OPERANDS]; + operand_t operand[MAX_OPERANDS]; +} template_t; + +extern const template_t template[]; + +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + +#endif /* !_TEMPLATE_H_INCLUDED_ */ diff --git a/runtime/native/i386/xlate-aux.c b/runtime/native/i386/xlate-aux.c new file mode 100644 index 0000000..c528a77 --- /dev/null +++ b/runtime/native/i386/xlate-aux.c @@ -0,0 +1,1697 @@ +#ifndef RUNTIME +#define RUNTIME /* So stuff gets typedefed properly. */ +#endif +#include "syn68k_private.h" + +#ifdef GENERATE_NATIVE_CODE + +#include "native.h" +#include "host-xlate.h" +#include "i386-isa.h" +#include "xlate-aux.h" +#include "i386-aux.h" + + +const guest_code_descriptor_t xlate_cmpmb_postinc_postinc_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_cmpmb_postinc_postinc, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_cmpmw_postinc_postinc_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_cmpmw_postinc_postinc, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_cmpml_postinc_postinc_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_cmpml_postinc_postinc, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_bclr_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK, + REQUEST_REG, ROS_UNTOUCHED_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_bclr_imm_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_bset_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK, + REQUEST_REG, ROS_UNTOUCHED_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_bset_imm_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_bchg_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK, + REQUEST_REG, ROS_UNTOUCHED_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_bchg_imm_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_btst_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK, + REQUEST_REG, ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCZ, 0, + { + { host_btst_imm_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +#define CONDL_BRANCH(name, cc) \ +const guest_code_descriptor_t xlate_ ## name = \ +{ \ + { \ + { FALSE }, \ + }, \ + (cc), M68K_CC_NONE, 0, \ + { \ + { host_ ## name, {{ USE_BLOCK }} }, \ + }, \ + NULL \ +} + + +/* Some of these we can handle even without the CC bits being cached. */ +CONDL_BRANCH (bcc, M68K_CC_NONE); +CONDL_BRANCH (bcs, M68K_CC_NONE); +CONDL_BRANCH (beq, M68K_CC_NONE); +CONDL_BRANCH (bge, M68K_CCN | M68K_CCV); +CONDL_BRANCH (bgt, M68K_CCN | M68K_CCV | M68K_CCZ); +CONDL_BRANCH (bhi, M68K_CC_NONE); +CONDL_BRANCH (ble, M68K_CCN | M68K_CCV | M68K_CCZ); +CONDL_BRANCH (bls, M68K_CC_NONE); +CONDL_BRANCH (blt, M68K_CCN | M68K_CCV); +CONDL_BRANCH (bmi, M68K_CC_NONE); +CONDL_BRANCH (bne, M68K_CC_NONE); +CONDL_BRANCH (bpl, M68K_CC_NONE); +CONDL_BRANCH (bvc, M68K_CC_NONE); +CONDL_BRANCH (bvs, M68K_CC_NONE); + + +#define SET_CC(name, i386_op, cc) \ +const guest_code_descriptor_t xlate_ ## name ## _reg_0 = \ +{ \ + { \ + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, \ + ROS_NATIVE_DIRTY, REGSET_BYTE }, \ + { FALSE }, \ + }, \ + (cc), M68K_CC_NONE, 0, \ + { \ + { i386_op, {{ 0 }} }, \ + { i386_negb_reg, {{ 0 }} }, \ + }, \ + NULL \ +} + + +SET_CC (scc, i386_setnc_reg, M68K_CCC); +SET_CC (scs, i386_setc_reg, M68K_CCC); +SET_CC (seq, i386_setz_reg, M68K_CCZ); +SET_CC (sge, i386_setge_reg, M68K_CCN | M68K_CCV); +SET_CC (sgt, i386_setnle_reg, M68K_CCN | M68K_CCV | M68K_CCZ); +SET_CC (shi, i386_setnbe_reg, M68K_CCC | M68K_CCZ); +SET_CC (sle, i386_setle_reg, M68K_CCN | M68K_CCV | M68K_CCZ); +SET_CC (sls, i386_setbe_reg, M68K_CCC | M68K_CCZ); +SET_CC (slt, i386_setl_reg, M68K_CCN | M68K_CCV); +SET_CC (smi, i386_sets_reg, M68K_CCN); +SET_CC (sne, i386_setnz_reg, M68K_CCZ); +SET_CC (spl, i386_setns_reg, M68K_CCN); +SET_CC (svc, i386_setno_reg, M68K_CCV); +SET_CC (svs, i386_seto_reg, M68K_CCV); + + +const guest_code_descriptor_t xlate_st_reg_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { i386_movb_imm_reg, {{ USE_MINUS_ONE, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_sf_reg_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { i386_movb_imm_reg, {{ USE_ZERO, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_jmp = +{ + { + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_jmp, {{ USE_BLOCK }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_dbra = +{ + { + /* Even though this takes a register, we pretend like it doesn't. + * If the register is in memory, just leave it there...since this + * is the last instruction in the block, there's no sense in + * hauling it into memory only to spill it back again. + */ + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_dbra, {{ 0, USE_BLOCK }} }, + }, + NULL +}; + + +static const guest_code_descriptor_t xlate_swap_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { host_swap, {{ 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_swap = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_swap, {{ 0 }} }, + }, + &xlate_swap_N1 +}; + + +const guest_code_descriptor_t xlate_extbl = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { host_extbl, {{ 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_extbw = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { host_extbw, {{ 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_extwl = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { host_extwl, {{ 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_unlk = +{ + { + { TRUE, TRUE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, ROS_NATIVE_DIRTY, + REGSET_ALL }, /* a7 */ + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_SWAP32_DIRTY, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_unlk, {{ 1, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_link = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_OFFSET_DIRTY, REGSET_ALL }, /* a7 */ + { TRUE, TRUE, 1, MAP_SWAP32_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_link, {{ 2, 1, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_moveml_reg_predec_0_1 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_moveml_reg_predec, {{ 0, 1 }} } + }, + NULL +}; + +const guest_code_descriptor_t xlate_moveml_postinc_reg_0_1 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_moveml_postinc_reg, {{ 0, 1 }} } + }, + NULL +}; + +const guest_code_descriptor_t xlate_pea_indoff = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, /* Always a7 */ + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_pea_indoff, {{ 2, 1, 0 }} } + }, + NULL +}; + + +const guest_code_descriptor_t xlate_leal_indoff_areg_2_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, + ROS_NATIVE_DIRTY, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_leal_indoff_areg, {{ 2, 1, 0 }} } + }, + NULL +}; + + +const guest_code_descriptor_t xlate_rts = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_rts, {{ USE_BLOCK, 0 }} }, + }, + NULL +}; + + +static const guest_code_descriptor_t xlate_mulsw_imm_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_imull_imm_reg, {{ 1, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, 0, + { + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_imull_imm_reg, {{ 1, 0 }} }, + }, + &xlate_mulsw_imm_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_reg_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_reg_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_abs_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_abs_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_abs_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { host_movew_abs_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_abs_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_ind_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_ind_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_ind_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { host_movew_ind_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_ind_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_indoff_reg_2_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_indoff_reg_swap, {{ 2, 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_indoff_reg_2_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { host_movew_indoff_reg_swap, {{ 2, 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_indoff_reg_2_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_predec_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_predec_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_predec_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { host_movew_predec_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_predec_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_mulsw_postinc_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_postinc_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_mulsw_postinc_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCV, REGSET_ALL, + { + { host_movew_postinc_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ 0, 0 }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_mulsw_postinc_reg_1_0_N1 +}; + +static const guest_code_descriptor_t xlate_muluw_imm_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, 0, + { + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { i386_imull_imm_reg, {{ 1, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { i386_imull_imm_reg, {{ 1, 0 }} }, + }, + &xlate_muluw_imm_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_reg_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { i386_movzwl_reg_reg, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { i386_movzwl_reg_reg, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_reg_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_abs_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_abs_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_abs_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_abs_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_abs_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_ind_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_ind_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_ind_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_ind_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_ind_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_indoff_reg_2_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_indoff_reg_swap, {{ 2, 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_indoff_reg_2_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_indoff_reg_swap, {{ 2, 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_indoff_reg_2_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_predec_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_predec_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_predec_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_predec_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_predec_reg_1_0_N1 +}; + + +static const guest_code_descriptor_t xlate_muluw_postinc_reg_1_0_N1 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_postinc_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + { i386_testl_reg_reg, {{ 0, 0 }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_muluw_postinc_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { i386_xorl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { i386_andl_imm_reg, {{ USE_0xFFFF, 0 }} }, + { host_movew_postinc_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_imull_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + &xlate_muluw_postinc_reg_1_0_N1 +}; + + +const guest_code_descriptor_t xlate_jsr_abs_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, /* Always a7 */ + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_jsr_abs, {{ 0, 1, USE_BLOCK, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_jsr_pcd16_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, /* Always a7 */ + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_jsr_pcd16, {{ 0, USE_BLOCK, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_jsr_d16_0_1 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, /* Always a7 */ + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_jsr_d16, {{ 0, 1, USE_BLOCK, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_bsr = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, /* Always a7 */ + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, 0, + { + { host_bsr, {{ 0, USE_BLOCK, USE_M68K_PC }} }, + }, + NULL +}; + +#if 0 +const guest_code_descriptor_t xlate_moveb_imm_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_moveb_imm_indix, { 1, 0, USE_M68K_PC_PLUS_TWO } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movew_imm_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_imm_indix, { 1, 0, USE_M68K_PC_PLUS_TWO } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movel_imm_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movel_imm_indix, { 1, 0, USE_M68K_PC_PLUS_FOUR } }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_moveb_reg_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_moveb_reg_indix, { 1, 0, USE_M68K_PC } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movew_reg_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 1, MAP_SWAP16_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_movew_reg_indix, { 1, 0, USE_M68K_PC } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movel_reg_indix_1_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 1, MAP_SWAP32_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_movel_reg_indix, { 1, 0, USE_M68K_PC } }, + }, + NULL +}; + + +static const guest_code_descriptor_t xlate_moveb_indix_reg_1_0_N1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_moveb_indix_reg, { 1, 0, USE_M68K_PC } }, + { i386_testb_reg_reg, { 0, 0 } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_moveb_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_BYTE, + { + { host_moveb_indix_reg, { 1, 0, USE_M68K_PC } }, + }, + &xlate_moveb_indix_reg_1_0_N1 +}; + +static const guest_code_descriptor_t xlate_movew_indix_reg_1_0_N1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_movew_indix_reg, { 1, 0, USE_M68K_PC } }, + { host_swap16, { 0 } }, + { i386_testw_reg_reg, { 0, 0 } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movew_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK | MAP_SWAP16_MASK, REQUEST_REG, + ROS_SWAP16_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_BYTE, + { + { host_movew_indix_reg, { 1, 0, USE_M68K_PC } }, + }, + &xlate_movew_indix_reg_1_0_N1 +}; + +static const guest_code_descriptor_t xlate_movel_indix_reg_1_0_N1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_movel_indix_reg, { 1, 0, USE_M68K_PC } }, + { host_swap32, { 0 } }, + { i386_testl_reg_reg, { 0, 0 } }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movel_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, + ROS_SWAP32_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_BYTE, + { + { host_movel_indix_reg, { 1, 0, USE_M68K_PC } }, + }, + &xlate_movel_indix_reg_1_0_N1 +}; + +const guest_code_descriptor_t xlate_movel_indix_areg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, + ROS_SWAP32_DIRTY, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_BYTE, + { + { host_movel_indix_reg, { 1, 0, USE_M68K_PC } }, + }, + NULL +}; + +#endif + + +const guest_code_descriptor_t xlate_moveb_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_moveb_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movew_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_movel_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movel_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_cmpb_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_cmpb_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_cmpw_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCZ | M68K_CCC | M68K_CCV, REGSET_ALL, + { + { host_cmpw_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_cmpl_zero_indix_0 = +{ + { + { TRUE, TRUE, 0, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCZ | M68K_CCC | M68K_CCV, REGSET_ALL, + { + { host_cmpl_imm_indix, {{ USE_ZERO, 0, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_addb_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_addb_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_addw_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_addw_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_addl_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_addl_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_subb_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_subb_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_subw_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_subw_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_subl_imm_indix_0_1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVXZ, REGSET_ALL, + { + { host_subl_imm_indix, {{ 0, 1, USE_M68K_PC }} }, + }, + NULL +}; + + +const guest_code_descriptor_t xlate_cmpb_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_BYTE, + { + { host_cmpb_indix_reg, {{ 1, 0, USE_M68K_PC }} }, + }, + NULL +}; + +static const guest_code_descriptor_t xlate_cmpw_indix_reg_1_0_N1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movew_indix_reg, {{ 1, USE_SCRATCH_REG, USE_M68K_PC }} }, + { host_swap16, {{ USE_SCRATCH_REG }} }, + { i386_cmpw_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_cmpw_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_SWAP16_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCZ, REGSET_ALL, + { + { host_cmpw_indix_reg, {{ 1, 0, USE_M68K_PC }} }, + }, + &xlate_cmpw_indix_reg_1_0_N1 +}; + +static const guest_code_descriptor_t xlate_cmpl_indix_reg_1_0_N1 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, REGSET_ALL, + { + { host_movel_indix_reg, {{ 1, USE_SCRATCH_REG, USE_M68K_PC }} }, + { host_swap32, {{ USE_SCRATCH_REG }} }, + { i386_cmpl_reg_reg, {{ USE_SCRATCH_REG, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_cmpl_indix_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, FALSE, 0, MAP_SWAP32_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CCZ, REGSET_ALL, + { + { host_cmpl_indix_reg, {{ 1, 0, USE_M68K_PC }} }, + }, + &xlate_cmpl_indix_reg_1_0_N1 +}; + + +const guest_code_descriptor_t xlate_leal_indix_areg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_ALL }, + { TRUE, TRUE, 0, MAP_ALL_MASK, REQUEST_SPARE_REG, + ROS_NATIVE_DIRTY, REGSET_ALL }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_NONE, REGSET_ALL, + { + { host_leal_indix_reg, {{ 1, 0, USE_M68K_PC }} } + }, + NULL +}; + + +const guest_code_descriptor_t xlate_divsw_imm_reg_1_0 = +{ + { + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { host_divsw_imm_reg, {{ 1 }} }, + } +}; + + +const guest_code_descriptor_t xlate_divsw_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, + REGSET_BYTE & ~((1L << REG_EDX) | (1L << REG_EAX)) }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { i386_movswl_reg_reg, {{ 1, USE_SCRATCH_REG }} }, + { host_divsw, {{ USE_M68K_PC, USE_M68K_PC_PLUS_TWO, + USE_BLOCK, USE_MINUS_ONE }} }, + } +}; + + +const guest_code_descriptor_t xlate_divsw_ind_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, + REGSET_ALL & ~((1L << REG_EDX) | (1L << REG_EAX)) }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { host_movew_ind_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { host_divsw, {{ USE_M68K_PC, USE_M68K_PC_PLUS_TWO, + USE_BLOCK, USE_MINUS_ONE }} }, + } +}; + + +const guest_code_descriptor_t xlate_divsw_predec_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, + REGSET_ALL & ~((1L << REG_EDX) | (1L << REG_EAX)) }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { host_movew_predec_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { host_divsw, {{ USE_M68K_PC, USE_M68K_PC_PLUS_TWO, + USE_BLOCK, USE_MINUS_ONE }} }, + } +}; + + +const guest_code_descriptor_t xlate_divsw_postinc_reg_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, + REGSET_ALL & ~((1L << REG_EDX) | (1L << REG_EAX)) }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { host_movew_postinc_reg_swap, {{ 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { host_divsw, {{ USE_M68K_PC, USE_M68K_PC_PLUS_TWO, + USE_BLOCK, USE_MINUS_ONE }} }, + } +}; + + +const guest_code_descriptor_t xlate_divsw_indoff_reg_2_1_0 = +{ + { + { TRUE, TRUE, 1, MAP_NATIVE_MASK | MAP_OFFSET_MASK, REQUEST_REG, + ROS_UNTOUCHED, + REGSET_ALL & ~((1L << REG_EDX) | (1L << REG_EAX)) }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, ROS_NATIVE_DIRTY, + 1L << REG_EAX }, + { FALSE }, + }, + M68K_CC_NONE, M68K_CC_CNVZ, + REGSET_ALL & ~((1L << REG_EAX) | (1L << REG_EDX)), + { + { host_movew_indoff_reg_swap, {{ 2, 1, USE_SCRATCH_REG }} }, + { i386_movswl_reg_reg, {{ USE_SCRATCH_REG, USE_SCRATCH_REG }} }, + { host_divsw, {{ USE_M68K_PC, USE_M68K_PC_PLUS_FOUR, + USE_BLOCK, USE_MINUS_ONE }} }, + } +}; + + +const guest_code_descriptor_t xlate_addxb_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CCX, M68K_CCC | M68K_CCN | M68K_CCV | M68K_CCX, 0, + { + { i386_adcb_reg_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_addxw_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CCX, M68K_CCC | M68K_CCN | M68K_CCV | M68K_CCX, 0, + { + { i386_adcw_reg_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + +const guest_code_descriptor_t xlate_addxl_reg_reg_1_0 = +{ + { + { TRUE, FALSE, 1, MAP_NATIVE_MASK, REQUEST_REG, + ROS_UNTOUCHED, REGSET_BYTE }, + { TRUE, FALSE, 0, MAP_NATIVE_MASK, REQUEST_REG, + ROS_NATIVE_DIRTY, REGSET_BYTE }, + { FALSE }, + }, + M68K_CCX, M68K_CCC | M68K_CCN | M68K_CCV | M68K_CCX, 0, + { + { i386_adcl_reg_reg, {{ 1, 0, 0, 0 }} }, + }, + NULL +}; + + +#endif /* GENERATE_NATIVE_CODE */ diff --git a/runtime/native/i386/xlate-aux.h b/runtime/native/i386/xlate-aux.h new file mode 100644 index 0000000..c81c86c --- /dev/null +++ b/runtime/native/i386/xlate-aux.h @@ -0,0 +1,138 @@ +#ifndef _xlate_aux_h_ +#define _xlate_aux_h_ + +#ifdef GENERATE_NATIVE_CODE + +extern const guest_code_descriptor_t xlate_cmpmb_postinc_postinc_1_0; +extern const guest_code_descriptor_t xlate_cmpmw_postinc_postinc_1_0; +extern const guest_code_descriptor_t xlate_cmpml_postinc_postinc_1_0; + +extern const guest_code_descriptor_t xlate_bclr_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_bset_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_bchg_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_btst_imm_reg_1_0; + +extern const guest_code_descriptor_t xlate_bcc; +extern const guest_code_descriptor_t xlate_bcs; +extern const guest_code_descriptor_t xlate_beq; +extern const guest_code_descriptor_t xlate_bge; +extern const guest_code_descriptor_t xlate_bgt; +extern const guest_code_descriptor_t xlate_bhi; +extern const guest_code_descriptor_t xlate_ble; +extern const guest_code_descriptor_t xlate_bls; +extern const guest_code_descriptor_t xlate_blt; +extern const guest_code_descriptor_t xlate_bmi; +extern const guest_code_descriptor_t xlate_bne; +extern const guest_code_descriptor_t xlate_bpl; +extern const guest_code_descriptor_t xlate_bvc; +extern const guest_code_descriptor_t xlate_bvs; + +extern const guest_code_descriptor_t xlate_st_reg_0; +extern const guest_code_descriptor_t xlate_sf_reg_0; +extern const guest_code_descriptor_t xlate_scc_reg_0; +extern const guest_code_descriptor_t xlate_scs_reg_0; +extern const guest_code_descriptor_t xlate_seq_reg_0; +extern const guest_code_descriptor_t xlate_sge_reg_0; +extern const guest_code_descriptor_t xlate_sgt_reg_0; +extern const guest_code_descriptor_t xlate_shi_reg_0; +extern const guest_code_descriptor_t xlate_sle_reg_0; +extern const guest_code_descriptor_t xlate_sls_reg_0; +extern const guest_code_descriptor_t xlate_slt_reg_0; +extern const guest_code_descriptor_t xlate_smi_reg_0; +extern const guest_code_descriptor_t xlate_sne_reg_0; +extern const guest_code_descriptor_t xlate_spl_reg_0; +extern const guest_code_descriptor_t xlate_svc_reg_0; +extern const guest_code_descriptor_t xlate_svs_reg_0; + +extern const guest_code_descriptor_t xlate_jmp; + +extern const guest_code_descriptor_t xlate_dbra; + +extern const guest_code_descriptor_t xlate_swap; + +extern const guest_code_descriptor_t xlate_extbw; +extern const guest_code_descriptor_t xlate_extbl; +extern const guest_code_descriptor_t xlate_extwl; + +extern const guest_code_descriptor_t xlate_unlk; +extern const guest_code_descriptor_t xlate_link; + +extern const guest_code_descriptor_t xlate_moveml_reg_predec_0_1; +extern const guest_code_descriptor_t xlate_moveml_postinc_reg_0_1; + +extern const guest_code_descriptor_t xlate_pea_indoff; + +extern const guest_code_descriptor_t xlate_leal_indoff_areg_2_1_0; + +extern const guest_code_descriptor_t xlate_rts; + +extern const guest_code_descriptor_t xlate_mulsw_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_mulsw_abs_reg_1_0; +extern const guest_code_descriptor_t xlate_mulsw_reg_reg_1_0; +extern const guest_code_descriptor_t xlate_mulsw_ind_reg_1_0; +extern const guest_code_descriptor_t xlate_mulsw_indoff_reg_2_1_0; +extern const guest_code_descriptor_t xlate_mulsw_postinc_reg_1_0; +extern const guest_code_descriptor_t xlate_mulsw_predec_reg_1_0; + +extern const guest_code_descriptor_t xlate_muluw_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_muluw_abs_reg_1_0; +extern const guest_code_descriptor_t xlate_muluw_reg_reg_1_0; +extern const guest_code_descriptor_t xlate_muluw_ind_reg_1_0; +extern const guest_code_descriptor_t xlate_muluw_indoff_reg_2_1_0; +extern const guest_code_descriptor_t xlate_muluw_postinc_reg_1_0; +extern const guest_code_descriptor_t xlate_muluw_predec_reg_1_0; + +extern const guest_code_descriptor_t xlate_jsr_abs_0; +extern const guest_code_descriptor_t xlate_jsr_pcd16_0; +extern const guest_code_descriptor_t xlate_jsr_d16_0_1; +extern const guest_code_descriptor_t xlate_bsr; + +extern const guest_code_descriptor_t xlate_moveb_imm_indix_1_0; +extern const guest_code_descriptor_t xlate_movew_imm_indix_1_0; +extern const guest_code_descriptor_t xlate_movel_imm_indix_1_0; + +extern const guest_code_descriptor_t xlate_moveb_zero_indix_0; +extern const guest_code_descriptor_t xlate_movew_zero_indix_0; +extern const guest_code_descriptor_t xlate_movel_zero_indix_0; + +extern const guest_code_descriptor_t xlate_cmpb_zero_indix_0; +extern const guest_code_descriptor_t xlate_cmpw_zero_indix_0; +extern const guest_code_descriptor_t xlate_cmpl_zero_indix_0; + +extern const guest_code_descriptor_t xlate_moveb_reg_indix_1_0; +extern const guest_code_descriptor_t xlate_movew_reg_indix_1_0; +extern const guest_code_descriptor_t xlate_movel_reg_indix_1_0; + +extern const guest_code_descriptor_t xlate_moveb_indix_reg_1_0; +extern const guest_code_descriptor_t xlate_movew_indix_reg_1_0; +extern const guest_code_descriptor_t xlate_movel_indix_reg_1_0; +extern const guest_code_descriptor_t xlate_movel_indix_areg_1_0; + +extern const guest_code_descriptor_t xlate_cmpb_indix_reg_1_0; +extern const guest_code_descriptor_t xlate_cmpw_indix_reg_1_0; +extern const guest_code_descriptor_t xlate_cmpl_indix_reg_1_0; + +extern const guest_code_descriptor_t xlate_leal_indix_areg_1_0; + +extern const guest_code_descriptor_t xlate_addb_imm_indix_0_1; +extern const guest_code_descriptor_t xlate_addw_imm_indix_0_1; +extern const guest_code_descriptor_t xlate_addl_imm_indix_0_1; + +extern const guest_code_descriptor_t xlate_subb_imm_indix_0_1; +extern const guest_code_descriptor_t xlate_subw_imm_indix_0_1; +extern const guest_code_descriptor_t xlate_subl_imm_indix_0_1; + +extern const guest_code_descriptor_t xlate_divsw_imm_reg_1_0; +extern const guest_code_descriptor_t xlate_divsw_reg_reg_1_0; +extern const guest_code_descriptor_t xlate_divsw_ind_reg_1_0; +extern const guest_code_descriptor_t xlate_divsw_predec_reg_1_0; +extern const guest_code_descriptor_t xlate_divsw_postinc_reg_1_0; +extern const guest_code_descriptor_t xlate_divsw_indoff_reg_2_1_0; + +extern const guest_code_descriptor_t xlate_addxb_reg_reg_1_0; +extern const guest_code_descriptor_t xlate_addxw_reg_reg_1_0; +extern const guest_code_descriptor_t xlate_addxl_reg_reg_1_0; + +#endif /* GENERATE_NATIVE_CODE */ + +#endif /* !_xlate_aux_h_ */ diff --git a/runtime/native/i386/xlate.c b/runtime/native/i386/xlate.c new file mode 100644 index 0000000..2f21a89 --- /dev/null +++ b/runtime/native/i386/xlate.c @@ -0,0 +1,1396 @@ +#include "xlate.h" +#include +#include +#include +#include + + +/* This file builds some of the lookup tables used at runtime for + * native code generation. It takes the contents of xlatetable.c + * as input. + */ + +static guest_code_descriptor_t *alloc_gcd (void); +#ifndef linux +static char *strdup (const char *c); +#endif +static char *create_name (const char *n, int size, int src_amode, + int dst_amode, int which); +static guest_code_descriptor_t *process_move (const xlate_descriptor_t *x); +static guest_code_descriptor_t *process_binary (const xlate_descriptor_t *x); +static guest_code_descriptor_t *process_unary (const xlate_descriptor_t *x); +static void default_desc (const xlate_descriptor_t *x, size_mask_t size, + guest_code_descriptor_t *g); +static int compare_regops (const void *p1, const void *p2); + + +guest_code_descriptor_t * +process_xlate_descriptor (const xlate_descriptor_t *x) +{ + guest_code_descriptor_t *g, *gd; + + switch (x->type) + { + case OP_UNARY: + g = process_unary (x); + break; + case OP_BINARY: + g = process_binary (x); + break; + case OP_MOVE: + g = process_move (x); + break; + default: + g = NULL; + abort (); + } + + /* Sort the regop arrays for correctness and efficiency. */ + for (gd = g; gd != NULL; gd = gd->next) + { + int i; + + /* Count the number of legitmate reg operands. */ + for (i = 0; gd->reg_op_info[i].legitimate_p; i++) + ; + qsort (&gd->reg_op_info, i, sizeof gd->reg_op_info[0], compare_regops); + } + + return g; +} + + +static int +bits (unsigned n) +{ + int b; + for (b = 0; n != 0; n &= n - 1) + b++; + return b; +} + + +static int +compare_regops (const void *p1, const void *p2) +{ + const reg_operand_info_t *r1, *r2; + + r1 = (const reg_operand_info_t *)p1; + r2 = (const reg_operand_info_t *)p2; + + /* We _must_ put all REQUEST_SPARE_REG operands last! */ + if (r1->request_type != r2->request_type) + return r1->request_type - r2->request_type; + + /* Put all address registers first, to tend to avoid AGI delays + * on the x86 (this is a free optimization, so why not?) + */ + if (r1->add8_p != r2->add8_p) + return r2->add8_p - r1->add8_p; + + /* Put the most restrictive allowable host regsets first. */ + if (bits (r1->regset) != bits (r2->regset)) + return bits (r1->regset) - bits (r2->regset); + + /* Put the most restrictive mappings first. */ + if (bits (r1->acceptable_mapping) != bits (r2->acceptable_mapping)) + return bits (r1->acceptable_mapping) - bits (r2->acceptable_mapping); + + /* Default to sorting by operand number, highest first. Higher operands + * tend to be source operands, so we might as well put them first to + * avoid AGI delays. + */ + return r2->operand_num - r1->operand_num; +} + + +/* Returns TRUE if the operation is a bitwise one, in which case we + * don't need to byteswap quite so often (or we can byteswap the + * constant). We can't do this sort of tomfoolery when we need + * certain cc bits, though. + */ +static int +bitwise_op_p (const char *i386_op) +{ + static const char *known_bitwise_ops[] = { "and", "or", "xor", "not" }; + int i; + + for (i = 0; i < NELEM (known_bitwise_ops); i++) + if (!strcmp (i386_op, known_bitwise_ops[i])) + return TRUE; + return FALSE; +} + + +static int +compare_op_p (const char *i386_op) +{ + static const char *known_compare_ops[] = { "cmp", "test" }; + int i; + + for (i = 0; i < NELEM (known_compare_ops); i++) + if (!strcmp (i386_op, known_compare_ops[i])) + return TRUE; + return FALSE; +} + + +static int +shift_op_p (const char *i386_op) +{ + static const char *known_shift_ops[] = { "sal", "sar", "shl", "shr" }; + int i; + + for (i = 0; i < NELEM (known_shift_ops); i++) + if (!strcmp (i386_op, known_shift_ops[i])) + return TRUE; + return FALSE; +} + + +#ifdef __GNUC__ +#define G(x) x +#else +#define G(x) +#endif + + +/* This table maps an addressing mode to how many registers it uses. */ +static const int amode_reg_operands[] = +{ + G ([AMODE_NONE]=) 0, + G ([AMODE_IMM]=) 0, + G ([AMODE_REG]=) 1, + G ([AMODE_AREG]=) 1, + G ([AMODE_IND]=) 1, + G ([AMODE_POSTINC]=) 1, + G ([AMODE_PREDEC]=) 1, + G ([AMODE_INDOFF]=) 1, + G ([AMODE_ABS]=) 0, + G ([AMODE_INDIX]=) 1 +}; + + +static const int amode_operands[] = +{ + G ([AMODE_NONE]=) 0, + G ([AMODE_IMM]=) 1, + G ([AMODE_REG]=) 1, + G ([AMODE_AREG]=) 1, + G ([AMODE_IND]=) 1, + G ([AMODE_POSTINC]=) 1, + G ([AMODE_PREDEC]=) 1, + G ([AMODE_INDOFF]=) 2, + G ([AMODE_ABS]=) 1, + G ([AMODE_INDIX]=) 1 +}; + + +static const char *amode_name[] = +{ + G ([AMODE_NONE]=) "", + G ([AMODE_IMM]=) "imm", + G ([AMODE_REG]=) "reg", + G ([AMODE_AREG]=) "reg", + G ([AMODE_IND]=) "ind", + G ([AMODE_POSTINC]=) "postinc", + G ([AMODE_PREDEC]=) "predec", + G ([AMODE_INDOFF]=) "indoff", + G ([AMODE_ABS]=) "abs", + G ([AMODE_INDIX]=) "indix", +}; + + +static const value_mapping_t swap_map_for_size[] = +{ + -1, + G ([B]=) MAP_NATIVE, + G ([W]=) MAP_SWAP16, + -1, + G ([L]=) MAP_SWAP32 +}; + + +static const char char_for_size[] = +{ + '?', + G ([B]=) 'b', + G ([W]=) 'w', + '?', + G ([L]=) 'l' +}; + +#undef G + + +static guest_code_descriptor_t * +process_unary (const xlate_descriptor_t *x) +{ + guest_code_descriptor_t *retval; + BOOL bitwise_p, compare_p; + size_mask_t size; + char buf[1024]; /* For scratch stuff. */ + + /* Note if this operation is a bitwise one. If so, we have a little + * more freedom doing things to memory when we don't need the N bit. + * These ops are assumed to clear CV and set NZ appropriately. + */ + bitwise_p = bitwise_op_p (x->i386_op); + + /* Is it a compare? If so, we don't write any result value back. */ + compare_p = compare_op_p (x->i386_op); + + retval = NULL; + + for (size = B; size <= L; size <<= 1) + if (x->sizes & size) + { + int dst_amode = x->value[0].amode; + guest_code_descriptor_t def, *with_cc, *without_cc; + + if (dst_amode == AMODE_AREG && size == B) + abort (); + + /* Compute some reasonable defaults. */ + default_desc (x, size, &def); + + /* We have two cases: computing cc's, and not computing cc's. */ + with_cc = alloc_gcd (); + without_cc = alloc_gcd (); + *with_cc = *without_cc = def; /* Set to default values. */ + + /* Insert them into the chain. */ + with_cc->next = retval; + without_cc->next = with_cc; + retval = without_cc; + + /* Set up their names and special attributes. */ + with_cc->static_p = TRUE; + without_cc->name = create_name (x->name, size, + AMODE_NONE, dst_amode, 0); + with_cc->name = create_name (x->name, size, + AMODE_NONE, dst_amode, 1); + + if (bitwise_p || compare_p) + { + /* We still get CVZ for free when we do a bitwise op, regardless + * of endianness. We also get CVZ for free when doing tst + * instructions, since they always clear C and V (this wouldn't + * work for general compares). + */ + if (size == B) + without_cc->cc_out = M68K_CC_CNVZ; + else + without_cc->cc_out = (M68K_CCC | M68K_CCV | M68K_CCZ); + + if (REGISTER_AMODE_P (dst_amode)) + { + /* For not/tst when we don't need the N bit, we can + * tolerate a wider range of initial mappings, since + * bit order is irrelevant. + */ + if (size == W) + without_cc->reg_op_info[0].acceptable_mapping + = MAP_NATIVE_MASK | MAP_SWAP16_MASK; + else if (size == L) + without_cc->reg_op_info[0].acceptable_mapping + = MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK; + + without_cc->reg_op_info[0].output_state + = compare_p ? ROS_UNTOUCHED : ROS_UNTOUCHED_DIRTY; + } + } + else + without_cc->cc_out = M68K_CCZ; + + /* See if we need a scratch register. */ + if (MEMORY_AMODE_P (dst_amode) && size != B) + { + with_cc->scratch_reg = REGSET_ALL; + if (!bitwise_p && !compare_p) + without_cc->scratch_reg = REGSET_ALL; + } + + if (REGISTER_AMODE_P (dst_amode)) + { + if (!strcmp (x->i386_op, "test")) + { + sprintf (buf, "i386_test%c_reg_reg", char_for_size[size]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] + = with_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[0]; + } + else if (!strcmp (x->i386_op, "not")) + { + /* Use "xorl %-1,%eax" instead of "notl %eax"; not only + * does this give us CC bits, it's also UV pairable + * where not is not pairable at all. + */ + sprintf (buf, "i386_xor%c_imm_reg", char_for_size[size]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] + = USE_MINUS_ONE; + with_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[0]; + } + else + { + sprintf (buf, "i386_%s%c_reg", x->i386_op, + char_for_size[size]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] + = x->value[0].operand_num[0]; + } + with_cc->reg_op_info[0].output_state + = without_cc->reg_op_info[0].output_state + = compare_p ? ROS_UNTOUCHED : ROS_UNTOUCHED_DIRTY; + + memcpy (&without_cc->compile_func, &with_cc->compile_func, + sizeof without_cc->compile_func); + } + else if (MEMORY_AMODE_P (dst_amode)) + { + if (size == B) + { + if (!strcmp (x->i386_op, "test")) + { + sprintf (buf, "host_cmpb_imm_%s", + amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] = USE_ZERO; + with_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[0]; + with_cc->compile_func[0].order.operand_num[2] + = x->value[0].operand_num[1]; + } + else if (!strcmp (x->i386_op, "not")) + { + /* Use "xorl %-1,mem" instead of "notl mem"; not only + * does this give us CC bits, it's also UV pairable + * where "not" is not pairable at all. + */ + sprintf (buf, "host_xorb_imm_%s", + amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] + = USE_MINUS_ONE; + with_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[0]; + with_cc->compile_func[0].order.operand_num[2] + = x->value[0].operand_num[1]; + } + else + { + sprintf (buf, "host_%sb_%s", + x->i386_op, amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order.operand_num[0] + = x->value[0].operand_num[0]; + with_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[1]; + } + + memcpy (&without_cc->compile_func, &with_cc->compile_func, + sizeof without_cc->compile_func); + } + else /* size != B */ + { + assert (with_cc->scratch_reg != 0); + + /* First load up the value into a scratch reg. */ + sprintf (buf, "host_move%c_%s_reg_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_POSTINC && !compare_p) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + + /* Get up to two operands needed to specify the + * source address. We may overwrite the second + * operand below if it's not used. + */ + with_cc->compile_func[0].order.operand_num[0] = + x->value[0].operand_num[0]; + with_cc->compile_func[0].order.operand_num[1] = + x->value[0].operand_num[1]; + + /* Put the destination scratch register in the + * appropriate operand (either 1 or 2). + */ + with_cc->compile_func[0].order + .operand_num[amode_operands[dst_amode]] + = USE_SCRATCH_REG; + + /* Now perform the operation. */ + if (!strcmp (x->i386_op, "test")) + { + sprintf (buf, "i386_test%c_reg_reg", char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = with_cc->compile_func[1].order.operand_num[1] + = USE_SCRATCH_REG; + } + else if (!strcmp (x->i386_op, "not")) + { + /* Use "xorl %-1,%eax" instead of "notl %eax"; not only + * does this give us CC bits, it's also UV pairable + * where not is not pairable at all. + */ + sprintf (buf, "i386_xor%c_imm_reg", char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = USE_MINUS_ONE; + with_cc->compile_func[1].order.operand_num[1] + = USE_SCRATCH_REG; + } + else + { + sprintf (buf, "i386_%s%c_reg", x->i386_op, + char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = USE_SCRATCH_REG; + } + + /* If it's not a compare, swap the value and write it back. */ + if (!compare_p) + { + sprintf (buf, "host_move%c_reg_%s_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_PREDEC) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[2].func = strdup (buf); + with_cc->compile_func[2].order.operand_num[0] + = USE_SCRATCH_REG; + with_cc->compile_func[2].order.operand_num[1] + = x->value[0].operand_num[0]; + with_cc->compile_func[2].order.operand_num[2] + = x->value[0].operand_num[1]; + } + + if (compare_p || bitwise_p) + { + assert (!compare_p || !strcmp (x->i386_op, "test")); + assert (!bitwise_p || !strcmp (x->i386_op, "not")); + + sprintf (buf, "host_%s%c_imm_%s", + compare_p ? "cmp" : "xor", + char_for_size[size], amode_name[dst_amode]); + without_cc->compile_func[0].func = strdup (buf); + without_cc->compile_func[0].order.operand_num[0] + = compare_p ? USE_ZERO : USE_MINUS_ONE; + without_cc->compile_func[0].order.operand_num[1] + = x->value[0].operand_num[0]; + without_cc->compile_func[0].order.operand_num[2] + = x->value[0].operand_num[1]; + } + else + { + /* without_cc looks the same as the with_cc case. */ + memcpy (without_cc->compile_func, + with_cc->compile_func, + sizeof without_cc->compile_func); + } + } + } + else + abort (); + + assert (!(with_cc->cc_out & ~x->cc_to_compute)); + assert (!(without_cc->cc_out & ~x->cc_to_compute)); + } + + return retval; +} + + +/* Binary ops can have at most one operand in memory. Supported binary ops: + * Bitwise: and, or, xor + * Arithmetic: add, sub + * Compare: cmp + * Shift: lsl, asr, lsr (not all cc bits computed) + */ +static guest_code_descriptor_t * +process_binary (const xlate_descriptor_t *x) +{ + guest_code_descriptor_t *retval; + BOOL bitwise_p, compare_p, shift_p; + size_mask_t size; + char buf[1024]; /* For scratch stuff. */ + + /* Note if this operation is a bitwise one. If so, we have a little + * more freedom doing things to memory when we don't need the N bit. + * These ops are assumed to clear CV and set NZ appropriately. + */ + bitwise_p = bitwise_op_p (x->i386_op); + + /* Is it a compare? If so, we don't write any result value back. */ + compare_p = compare_op_p (x->i386_op); + + /* Is it a shift? */ + shift_p = shift_op_p (x->i386_op); + + retval = NULL; + + for (size = B; size <= L; size <<= 1) + if (x->sizes & size) + { + int src_amode = x->value[0].amode; + int dst_amode = x->value[MAX_XLATE_VALUES - 1].amode; + guest_code_descriptor_t def, *with_cc, *without_cc; + + /* Compute some reasonable defaults. */ + default_desc (x, size, &def); + + /* We have two cases: computing cc's, and not computing cc's. */ + with_cc = alloc_gcd (); + without_cc = alloc_gcd (); + *with_cc = *without_cc = def; /* Set to default values. */ + + /* Insert them into the chain. */ + with_cc->next = retval; + without_cc->next = with_cc; + retval = without_cc; + + /* Set up their names and special attributes. */ + with_cc->static_p = TRUE; + without_cc->name = create_name (x->name, size, + src_amode, dst_amode, 0); + with_cc->name = create_name (x->name, size, + src_amode, dst_amode, 1); + + if (bitwise_p || compare_p) + { + /* We still get CVZ for free when we do a bitwise op, regardless + * of endianness. We get Z for free for compares. + */ + if (size == B) + without_cc->cc_out = M68K_CC_CNVZ; + else if (bitwise_p) + without_cc->cc_out = (M68K_CCC | M68K_CCV | M68K_CCZ); + else + without_cc->cc_out = M68K_CCZ; + + if (bitwise_p + && src_amode == AMODE_IMM + && REGISTER_AMODE_P (dst_amode)) + { + /* For bitwise ops when we don't need the N bit, we can + * tolerate a wider range of initial mappings. + */ + if (size != L) + without_cc->reg_op_info[0].acceptable_mapping + = MAP_NATIVE_MASK | MAP_SWAP16_MASK; + else + without_cc->reg_op_info[0].acceptable_mapping + = MAP_NATIVE_MASK | MAP_SWAP16_MASK | MAP_SWAP32_MASK; + without_cc->reg_op_info[0].output_state = ROS_UNTOUCHED_DIRTY; + + } + else if (REGISTER_AMODE_P (src_amode) + && MEMORY_AMODE_P (dst_amode)) + { + if (size == W) + without_cc->reg_op_info[0].acceptable_mapping + = MAP_SWAP16_MASK; + else if (size == L) + without_cc->reg_op_info[0].acceptable_mapping + = MAP_SWAP32_MASK; + } + else if (MEMORY_AMODE_P (src_amode) + && REGISTER_AMODE_P (dst_amode) + && (dst_amode != AMODE_AREG || size != W) + && size != B) + { + without_cc->reg_op_info[amode_reg_operands[src_amode]] + .acceptable_mapping = ((size == W) + ? MAP_SWAP16_MASK + : MAP_SWAP32_MASK); + + if (compare_p) + without_cc->reg_op_info[amode_reg_operands[src_amode]] + .output_state = ROS_UNTOUCHED; + else + without_cc->reg_op_info[amode_reg_operands[src_amode]] + .output_state = ROS_UNTOUCHED_DIRTY; + } + } + else + without_cc->cc_out = M68K_CC_NONE; + + /* For add, sub, and cmp with immediate constants, we allow + * offset registers, but only when we don't care about + * the overflow bit. + */ + if (src_amode == AMODE_IMM + && REGISTER_AMODE_P (dst_amode) + && !bitwise_p + && !shift_p) + { + without_cc->reg_op_info[0].acceptable_mapping + = (MAP_NATIVE_MASK | MAP_OFFSET_MASK); + without_cc->cc_out = ((M68K_CCC | M68K_CCN | M68K_CCX | M68K_CCZ) + & x->cc_to_compute); + } + + /* add/sub to address register never affect cc bits. */ + if (dst_amode == AMODE_AREG && !compare_p) + { + if (bitwise_p) + abort (); + with_cc->cc_out = without_cc->cc_out = M68K_CC_NONE; + } + + /* See if we need a scratch register. */ + if (((MEMORY_AMODE_P (src_amode) || MEMORY_AMODE_P (dst_amode)) + && size != B) + || (size == W + && dst_amode == AMODE_AREG + && src_amode != AMODE_IMM)) + { + with_cc->scratch_reg = REGSET_ALL; + if ((size == W && dst_amode == AMODE_AREG) + || (!bitwise_p && !compare_p)) + without_cc->scratch_reg = REGSET_ALL; + } + + /* Compares do not affect the destination register, unlike other + * binary ops. + */ + if (compare_p && REGISTER_AMODE_P (dst_amode)) + { + without_cc->reg_op_info[amode_reg_operands[src_amode]] + .output_state = ROS_UNTOUCHED; + with_cc->reg_op_info[amode_reg_operands[src_amode]] + .output_state = ROS_UNTOUCHED; + } + + if (src_amode == AMODE_IMM) + { + if (REGISTER_AMODE_P (dst_amode)) + { + if (bitwise_p) + sprintf (buf, "host_%s%c_imm_reg", x->i386_op, + char_for_size[size]); + else if (size == L && !shift_p) + sprintf (buf, "host_%sl_imm_reg", x->i386_op); + else + sprintf (buf, "i386_%s%c_imm_reg", x->i386_op, + (dst_amode == AMODE_AREG) + ? 'l' : char_for_size[size]); + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = strdup (buf); + } + else if (MEMORY_AMODE_P (dst_amode)) + { + if (size == B) + { + sprintf (buf, "host_%s%c_imm_%s", + x->i386_op, + char_for_size[size], amode_name[dst_amode]); + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = strdup (buf); + } + else /* size != B */ + { + /* First load up the value into a scratch reg. */ + sprintf (buf, "host_move%c_%s_reg_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_POSTINC && !compare_p) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + + /* Get up to two operands needed to specify the + * source address. We may overwrite the second + * operand below if it's not used. + */ + with_cc->compile_func[0].order.operand_num[0] = + x->value[1].operand_num[0]; + with_cc->compile_func[0].order.operand_num[1] = + x->value[1].operand_num[1]; + + /* Put the destination scratch register in the + * appropriate operand (either 1 or 2). + */ + with_cc->compile_func[0].order + .operand_num[amode_operands[dst_amode]] + = USE_SCRATCH_REG; + + /* Now perform the operation. */ + sprintf (buf, "i386_%s%c_imm_reg", x->i386_op, + char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = x->value[0].operand_num[0]; + with_cc->compile_func[1].order.operand_num[1] + = USE_SCRATCH_REG; + + /* If it's not a compare, swap the value and write + * it back. + */ + if (!compare_p) + { + sprintf (buf, "host_move%c_reg_%s_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_PREDEC) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[2].func = strdup (buf); + with_cc->compile_func[2].order.operand_num[0] + = USE_SCRATCH_REG; + /* defaults are acceptable for other operand_nums. */ + } + + if (!bitwise_p && !compare_p) + { + /* without_cc looks the same as the with_cc case. */ + memcpy (without_cc->compile_func, + with_cc->compile_func, + sizeof without_cc->compile_func); + } + else /* SIZE != B && bitwise_p */ + { + /* When we don't need the N bit we can do a much + * faster sequence for bitwise ops. For example, + * when the 68k program says: "andw #0x001F,_addr" + * we say (in i386-speak) "andw $0x1F00,_addr" + * When we are doing a cmp and only need the Z bit, + * we can just cmp with the swapped value. + */ + sprintf (buf, "host_%s%c_imm_%s", + x->i386_op, char_for_size[size], + amode_name[dst_amode]); + without_cc->compile_func[0].func = strdup (buf); + without_cc->compile_func[1].func = NULL; + } + } + } + else + abort (); + } + else if (REGISTER_AMODE_P (src_amode)) + { + if (dst_amode == AMODE_AREG && size == W) + { + assert (with_cc->scratch_reg); + assert (without_cc->scratch_reg); + + /* Sign extend the source register to a long. */ + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = "i386_movswl_reg_reg"; + with_cc->compile_func[0].order.operand_num[1] + = without_cc->compile_func[0].order.operand_num[1] + = USE_SCRATCH_REG; + + /* Perform the actual operation. */ + sprintf (buf, "i386_%sl_reg_reg", x->i386_op); + with_cc->compile_func[1].func = + without_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] = + without_cc->compile_func[1].order.operand_num[0] = + USE_SCRATCH_REG; + } + else if (REGISTER_AMODE_P (dst_amode)) + { + sprintf (buf, "i386_%s%c_reg_reg", x->i386_op, + char_for_size[size]); + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = strdup (buf); + } + else if (MEMORY_AMODE_P (dst_amode)) + { + if (size == B) + { + sprintf (buf, "host_%sb_reg_%s", + x->i386_op, amode_name[dst_amode]); + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = strdup (buf); + } + else + { + /* First load up the value into a scratch reg. */ + sprintf (buf, "host_move%c_%s_reg_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_POSTINC && !compare_p) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[0].func = strdup (buf); + + /* Get up to two operands needed to specify the + * source address. We may overwrite the second + * operand below if it's not used. + */ + with_cc->compile_func[0].order.operand_num[0] = + x->value[1].operand_num[0]; + with_cc->compile_func[0].order.operand_num[1] = + x->value[1].operand_num[1]; + + /* Put the destination scratch register in the + * appropriate operand (either 1 or 2). + */ + with_cc->compile_func[0].order + .operand_num[amode_operands[dst_amode]] + = USE_SCRATCH_REG; + + /* Now perform the operation. */ + sprintf (buf, "i386_%s%c_reg_reg", x->i386_op, + char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = x->value[0].operand_num[0]; + with_cc->compile_func[1].order.operand_num[1] + = USE_SCRATCH_REG; + + /* If it's not a compare, swap the value and write + * it back. + */ + if (!compare_p) + { + sprintf (buf, "host_move%c_reg_%s_swap", + char_for_size[size], + /* don't offset twice. */ + (dst_amode == AMODE_PREDEC) + ? "ind" : amode_name[dst_amode]); + with_cc->compile_func[2].func = strdup (buf); + with_cc->compile_func[2].order.operand_num[0] + = USE_SCRATCH_REG; + /* defaults are acceptable for other operand_nums. */ + } + + if (!bitwise_p && !compare_p) + { + /* without_cc looks the same as the with_cc case. */ + memcpy (without_cc->compile_func, + with_cc->compile_func, + sizeof without_cc->compile_func); + } + else + { + sprintf (buf, "host_%s%c_reg_%s", + x->i386_op, char_for_size[size], + amode_name[dst_amode]); + without_cc->compile_func[0].func = strdup (buf); + } + } + } + else + abort (); + } + else if (MEMORY_AMODE_P (src_amode)) + { + /* Destination must be a register. */ + if (!REGISTER_AMODE_P (dst_amode)) + abort (); + + if (size == W && dst_amode == AMODE_AREG) + { + assert (with_cc->scratch_reg); + assert (without_cc->scratch_reg); + + /* First load up the value into a scratch reg. */ + sprintf (buf, "host_move%c_%s_reg_swap", + char_for_size[size], amode_name[src_amode]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order + .operand_num[amode_operands[src_amode]] + = USE_SCRATCH_REG; + + /* Sign extend the scratch value. */ + with_cc->compile_func[1].func + = "i386_movswl_reg_reg"; + with_cc->compile_func[1].order.operand_num[0] + = USE_SCRATCH_REG; + with_cc->compile_func[1].order.operand_num[1] + = USE_SCRATCH_REG; + + /* Now perform the operation. We need to call the + * host version here if the src was a predec or a postinc, + * since that might have offset the register to which + * we are comparing, e.g. "cmpw a0@-,a0". + */ + sprintf (buf, "%s_%sl_reg_reg", + ((src_amode == AMODE_PREDEC + || src_amode == AMODE_POSTINC) + ? "host" : "i386"), + x->i386_op); + with_cc->compile_func[2].func = strdup (buf); + with_cc->compile_func[2].order.operand_num[0] + = USE_SCRATCH_REG; + with_cc->compile_func[2].order.operand_num[1] + = x->value[1].operand_num[0]; + + /* Make with and without cases identical. */ + memcpy (&without_cc->compile_func, + &with_cc->compile_func, + sizeof with_cc->compile_func); + } + else if (size == B) + { + /* Since it's only a byte op, we don't need a temp + * register. + */ + sprintf (buf, "host_%sb_%s_reg", + x->i386_op, amode_name[src_amode]); + without_cc->compile_func[0].func + = with_cc->compile_func[0].func = strdup (buf); + } + else + { + assert (with_cc->scratch_reg); + + /* First load up the value into a scratch reg. */ + sprintf (buf, "host_move%c_%s_reg_swap", + char_for_size[size], amode_name[src_amode]); + with_cc->compile_func[0].func = strdup (buf); + with_cc->compile_func[0].order + .operand_num[amode_operands[src_amode]] + = USE_SCRATCH_REG; + + /* Now perform the operation. */ + if (size == L + && dst_amode == AMODE_AREG + && (src_amode == AMODE_PREDEC + || src_amode == AMODE_POSTINC) + && (!strcmp (x->i386_op, "add") + || !strcmp (x->i386_op, "sub") + || !strcmp (x->i386_op, "cmp"))) + { + sprintf (buf, "host_%sl_reg_reg", x->i386_op); + } + else + { + sprintf (buf, "i386_%s%c_reg_reg", x->i386_op, + char_for_size[size]); + } + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] + = USE_SCRATCH_REG; + with_cc->compile_func[1].order.operand_num[1] + = x->value[1].operand_num[0]; + + if (!bitwise_p && !compare_p) + { + assert (without_cc->scratch_reg); + + /* without_cc looks the same as the with_cc case. */ + memcpy (without_cc->compile_func, + with_cc->compile_func, + sizeof without_cc->compile_func); + } + else + { + sprintf (buf, "host_%s%c_%s_reg", + x->i386_op, char_for_size[size], + amode_name[src_amode]); + without_cc->compile_func[0].func = strdup (buf); + } + } + } + else + abort (); + + assert (!(with_cc->cc_out & ~x->cc_to_compute)); + assert (!(without_cc->cc_out & ~x->cc_to_compute)); + } + + return retval; +} + + +static guest_code_descriptor_t * +process_move (const xlate_descriptor_t *x) +{ + guest_code_descriptor_t *retval; + int i, op; + size_mask_t size; + char buf[1024]; /* For scratch stuff. */ + + retval = NULL; + for (size = B; size <= L; size <<= 1) + if (x->sizes & size) + { + int src_amode = x->value[0].amode; + int dst_amode = x->value[MAX_XLATE_VALUES - 1].amode; + guest_code_descriptor_t def, *with_cc, *without_cc; + + default_desc (x, size, &def); + + for (i = 0, op = 0; i < MAX_XLATE_VALUES; i++) + { + int amode; + reg_operand_info_t *r; + + amode = x->value[i].amode; + if (amode_reg_operands[amode] == 0) + continue; + + r = &def.reg_op_info[op]; + + /* See if the destination value is a register. */ + if (i == MAX_XLATE_VALUES - 1 && REGISTER_AMODE_P (amode)) + { + /* Figure out which byte orders are acceptable. */ + if (size == B) + r->acceptable_mapping = MAP_NATIVE_MASK; + else if (size == W && amode != AMODE_AREG) + r->acceptable_mapping = + (MAP_NATIVE_MASK | MAP_SWAP16_MASK); + else /* size == L */ + r->acceptable_mapping = MAP_ALL_MASK; + + /* Figure out if we can just use a spare reg. */ + if (size == L || amode == AMODE_AREG) + r->request_type = REQUEST_SPARE_REG; + + /* Compute a likely default for the register + * output state. + */ + if (size == B || !MEMORY_AMODE_P (src_amode) + || (size == W && dst_amode == AMODE_AREG)) + r->output_state = ROS_NATIVE_DIRTY; + else if (size == W) + r->output_state = ROS_SWAP16_DIRTY; + else if (size == L) + r->output_state = ROS_SWAP32_DIRTY; + } + else if (i == 0 /* Source operand for reg->mem? */ + && REGISTER_AMODE_P (amode) + && MEMORY_AMODE_P (dst_amode)) + { + /* Force it to come in swapped. */ + r->acceptable_mapping = 1L << swap_map_for_size[size]; + } + else if (i == 0 /* Source operand for reg->reg? */ + && REGISTER_AMODE_P (amode) + && REGISTER_AMODE_P (dst_amode)) + { + r->acceptable_mapping = MAP_NATIVE_MASK; + } + else /* Generic memory operand (address register). */ + { + r->acceptable_mapping = MAP_NATIVE_MASK | MAP_OFFSET_MASK; + } + op++; + } + + /* We have two cases: computing cc's, and not computing cc's. */ + with_cc = alloc_gcd (); + without_cc = alloc_gcd (); + *with_cc = *without_cc = def; /* Set to default values. */ + + /* Insert them into the chain. */ + with_cc->next = retval; + without_cc->next = with_cc; + retval = without_cc; + + /* Set up their names and special attributes. */ + without_cc->cc_out = M68K_CC_NONE; + with_cc->static_p = TRUE; + without_cc->name = create_name (x->name, size, + src_amode, dst_amode, 0); + with_cc->name = create_name (x->name, size, + src_amode, dst_amode, 1); + + /* Memory->memory moves require a scratch register. imm->memory + * moves require a scratch register if we're interested in CC bits. + * *->memory moves require a scratch register if we need cc bits + * and we're not doing a byte move. If we're doing a non-byte + * move from memory to a register and we want cc's then we also + * need a scratch register. We will demand REGSET_BYTE for the + * with_cc case, because if they don't want the Z bit we can compute + * CNV by testing the low byte of the temporary swapped value + * (instead of swapping the value, testing, and swapping it back). + */ + if ((MEMORY_AMODE_P (dst_amode) + && (MEMORY_AMODE_P (src_amode) + || src_amode == AMODE_IMM + || size != B)) + || (MEMORY_AMODE_P (src_amode) && size != B) + || src_amode == AMODE_INDIX + || dst_amode == AMODE_INDIX) + { + with_cc->scratch_reg = REGSET_BYTE; + } + if ((MEMORY_AMODE_P (src_amode) && MEMORY_AMODE_P (dst_amode)) + || src_amode == AMODE_INDIX || dst_amode == AMODE_INDIX) + without_cc->scratch_reg = (size == B) ? REGSET_BYTE : REGSET_ALL; + + if (src_amode == AMODE_IMM) + { + if (size != B && MEMORY_AMODE_P (dst_amode)) + assert (with_cc->scratch_reg); + + /* e.g. movw #5,d0, movl #19,a0@+ */ + sprintf (buf, "host_move%c_imm_%s", + dst_amode == AMODE_AREG ? 'l' : char_for_size[size], + amode_name[dst_amode]); + without_cc->compile_func[0].func = + with_cc->compile_func[0].func = strdup (buf); + + if (dst_amode == AMODE_INDIX) + { + int t = amode_operands[src_amode] + amode_operands[dst_amode]; + without_cc->compile_func[0].order.operand_num[t] + = with_cc->compile_func[0].order.operand_num[t] + = ((x->value[0].operand_num[0] == 0) + ? USE_M68K_PC : ((size == L) + ? USE_M68K_PC_PLUS_FOUR + : USE_M68K_PC_PLUS_TWO)); + } + } + else if (REGISTER_AMODE_P (src_amode)) + { + if (REGISTER_AMODE_P (dst_amode)) + { + if (dst_amode == AMODE_AREG && size == W) + { + without_cc->compile_func[0].func = + with_cc->compile_func[0].func = + "i386_movswl_reg_reg"; + with_cc->compile_func[1].func = "host_testl_reg"; + with_cc->compile_func[1].order.operand_num[0] + = x->value[1].operand_num[0]; + } + else + { + sprintf (buf, "i386_mov%c_reg_reg", char_for_size[size]); + without_cc->compile_func[0].func = + with_cc->compile_func[0].func = strdup (buf); + sprintf (buf, "host_test%c_reg", char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + } + } + else /* dst is a memory amode. */ + { + sprintf (buf, "host_move%c_reg_%s", + char_for_size[size], + amode_name[dst_amode]); + without_cc->compile_func[0].func = + with_cc->compile_func[0].func = strdup (buf); + + if (dst_amode == AMODE_INDIX) + { + int t = (amode_operands[src_amode] + + amode_operands[dst_amode]); + without_cc->compile_func[0].order.operand_num[t] + = with_cc->compile_func[0].order.operand_num[t] + = USE_M68K_PC; + } + + sprintf (buf, "host_test%c_swapped_reg", char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + } + } + else /* src is a memory amode. */ + { + if (REGISTER_AMODE_P (dst_amode)) + { + sprintf (buf, "host_move%c_%s_reg", + char_for_size[size], + amode_name[src_amode]); + + if (src_amode == AMODE_INDIX) + { + int t = (amode_operands[src_amode] + + amode_operands[dst_amode]); + without_cc->compile_func[0].order.operand_num[t] + = with_cc->compile_func[0].order.operand_num[t] + = USE_M68K_PC; + } + + with_cc->compile_func[0].func = + without_cc->compile_func[0].func = strdup (buf); + + if (size == W && dst_amode == AMODE_AREG) + { + with_cc->compile_func[1].func = + without_cc->compile_func[1].func = + "host_swap16_sext_test_reg"; + with_cc->compile_func[1].order.operand_num[0] = + without_cc->compile_func[1].order.operand_num[0] = + x->value[1].operand_num[0]; + } + else + { + /* Create a call to the test function. */ + sprintf (buf, "host_test%c_swapped_reg", + char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + with_cc->compile_func[1].order.operand_num[0] = + x->value[1].operand_num[0]; + } + } + else /* Memory -> memory transfer. */ + { + compile_func_t comp; + + assert (with_cc->scratch_reg); + assert (without_cc->scratch_reg); + + sprintf (buf, "host_move%c_%s_reg", + char_for_size[size], + amode_name[src_amode]); + + /* Move from memory to a scratch register. */ + comp.func = strdup (buf); + comp.order = def.compile_func[0].order; + comp.order.operand_num[amode_operands[src_amode]] + = USE_SCRATCH_REG; + if (src_amode == AMODE_INDIX) + { + int t = amode_operands[src_amode] + 1; + comp.order.operand_num[t] = USE_M68K_PC; + } + with_cc->compile_func[0] = without_cc->compile_func[0] = comp; + + /* Test the scratch register, when we need cc bits. */ + sprintf (buf, "host_test%c_swapped_reg", char_for_size[size]); + with_cc->compile_func[1].func = strdup (buf); + memset (&with_cc->compile_func[1].order, 0, + sizeof with_cc->compile_func[1].order); + with_cc->compile_func[1].order.operand_num[0] + = USE_SCRATCH_REG; + + /* Move from scratch register to memory. */ + sprintf (buf, "host_move%c_reg_%s", + char_for_size[size], + amode_name[dst_amode]); + + comp.func = strdup (buf); + comp.order.operand_num[0] = USE_SCRATCH_REG; + comp.order.operand_num[1] = x->value[1].operand_num[0]; + comp.order.operand_num[2] = x->value[1].operand_num[1]; + if (dst_amode == AMODE_INDIX) + { + int t = 1 + amode_operands[dst_amode]; + + /* We don't know how many m68k words to skip to get + * to the indix info if it's an ABS amode (could + * be absw or absl). + */ + if (src_amode == AMODE_ABS) + abort (); + + if (src_amode == AMODE_INDOFF || src_amode == AMODE_INDIX) + comp.order.operand_num[t] = USE_M68K_PC_PLUS_TWO; + else + comp.order.operand_num[t] = USE_M68K_PC; + } + with_cc->compile_func[2] = without_cc->compile_func[1] = comp; + } + } + } + + return retval; +} + + +static void +default_desc (const xlate_descriptor_t *x, size_mask_t size, + guest_code_descriptor_t *g) +{ + oporder_t default_oporder; + int i, j, op; + + /* Set up a reasonable default order for our operands. */ + memset (&default_oporder, 0, sizeof default_oporder); + for (i = op = 0; i < 2; i++) + for (j = 0; j < amode_operands[x->value[i].amode]; j++) + default_oporder.operand_num[op++] = x->value[i].operand_num[j]; + + /* Set up a default descriptor for all the cases. */ + memset (g, 0, sizeof *g); + for (i = 0; i < MAX_COMPILE_FUNCS; i++) + g->compile_func[i].order = default_oporder; + g->cc_in = M68K_CC_NONE; + g->cc_out = x->cc_to_compute; + + for (i = 0, op = 0; i < MAX_XLATE_VALUES; i++) + { + int amode; + reg_operand_info_t *r; + + amode = x->value[i].amode; + if (amode_reg_operands[amode] == 0) + continue; + + r = &g->reg_op_info[op]; + r->legitimate_p = TRUE; + r->add8_p = (MEMORY_AMODE_P (amode) || amode == AMODE_AREG); + if (amode == AMODE_INDOFF) + r->operand_num = x->value[i].operand_num[1]; /* offset,reg */ + else + r->operand_num = x->value[i].operand_num[0]; + + if (r->add8_p) /* Address registers can go anywhere. */ + r->regset = REGSET_ALL; + else + r->regset = REGSET_BYTE; + + if (MEMORY_AMODE_P (amode)) + r->acceptable_mapping = MAP_NATIVE_MASK | MAP_OFFSET_MASK; + else + r->acceptable_mapping = MAP_NATIVE_MASK; + r->request_type = REQUEST_REG; + + /* If we're a destination register, we're dirty. Otherwise, + * we're untouched. + */ + if (i == MAX_XLATE_VALUES - 1 && REGISTER_AMODE_P (amode)) + r->output_state = ROS_NATIVE_DIRTY; + else + r->output_state = ROS_UNTOUCHED; + + op++; + } + + g->reg_op_info[op].legitimate_p = FALSE; + assert (op < NELEM (g->reg_op_info)); +} + + +static guest_code_descriptor_t * +alloc_gcd () +{ + guest_code_descriptor_t *g; + g = (guest_code_descriptor_t *)malloc (sizeof *g); + memset (g, 0, sizeof *g); + return g; +} + + +#ifndef linux +static char * +strdup (const char *c) +{ + char *n; + n = (char *)malloc (strlen (c) + 1); + strcpy (n, c); + return n; +} +#endif + + +static char * +create_name (const char *n, int size, int src_amode, int dst_amode, int which) +{ + char buf[1024]; + char *s; + + sprintf (buf, "xlate_%s", n); +#if 0 + if (src_amode != AMODE_NONE) + sprintf (buf + strlen (buf), "_%s", amode_name[src_amode]); + if (dst_amode != AMODE_NONE) + sprintf (buf + strlen (buf), "_%s", amode_name[dst_amode]); +#endif + if (which != 0) + sprintf (buf + strlen (buf), "_N%d", which); + for (s = buf; *s != '\0'; s++) + if (*s == '@') + *s = char_for_size[size]; + return strdup (buf); +} diff --git a/runtime/native/i386/xlate.h b/runtime/native/i386/xlate.h new file mode 100644 index 0000000..3bbfa81 --- /dev/null +++ b/runtime/native/i386/xlate.h @@ -0,0 +1,61 @@ +#ifndef _xlate_h_ +#define _xlate_h_ + +#include "syn68k_private.h" +#include "native.h" + + +typedef enum { NA=0, B=1, W=2, L=4, BW=3, BL=5, WL=6, BWL=7 } size_mask_t; + +typedef enum +{ + AMODE_NONE, + AMODE_IMM, + AMODE_REG, + AMODE_AREG, + AMODE_IND, + AMODE_POSTINC, + AMODE_PREDEC, + AMODE_INDOFF, + AMODE_ABS, + AMODE_INDIX, +} amode_t; + +#define MEMORY_AMODE_P(a) ((a) >= AMODE_IND && (a) <= AMODE_INDIX) +#define REGISTER_AMODE_P(a) ((a) == AMODE_REG || (a) == AMODE_AREG) + +typedef enum +{ + OP_UNARY, /* e.g. negw a0@ */ + OP_BINARY, /* e.g. addl d0,a5 */ + OP_MOVE /* e.g. movel a0@(124),d0 */ +} op_type_t; + +typedef struct +{ + amode_t amode; /* Addressing mode for how to grab this value. */ + int operand_num[2]; /* Which ops specify this value (may not use all). */ +} value_t; + +#define MAX_XLATE_VALUES 2 + +typedef struct +{ + const char *name; + op_type_t type; + size_mask_t sizes; + int cc_to_compute; + const char *i386_op; + value_t value[MAX_XLATE_VALUES]; /* For binops & moves, 2nd is the dest. */ +} xlate_descriptor_t; + +#ifndef NELEM +#define NELEM(a) ((sizeof (a)) / sizeof ((a)[0])) +#endif + +extern guest_code_descriptor_t +*process_xlate_descriptor (const xlate_descriptor_t *x); + +extern const xlate_descriptor_t xlate_table[]; + +#endif /* !_xlate_h_ */ diff --git a/runtime/native/i386/xlatemain.c b/runtime/native/i386/xlatemain.c new file mode 100644 index 0000000..54fa686 --- /dev/null +++ b/runtime/native/i386/xlatemain.c @@ -0,0 +1,187 @@ +#include "xlate.h" +#include +#include +#include +#include + + +static void output_desc_list (FILE *table_fp, FILE *header_fp, + guest_code_descriptor_t *g); +static BOOL gcd_equal_p (const guest_code_descriptor_t *g1, + const guest_code_descriptor_t *g2); + + +int +main (void) +{ + const xlate_descriptor_t *x; + FILE *table_fp, *header_fp; + + table_fp = fopen ("host-xlate.c", "w"); + assert (table_fp); + header_fp = fopen ("host-xlate.h", "w"); + assert (header_fp); + + fputs ("/* This file is machine-generated; DO NOT EDIT! */\n" + "\n" + "#ifndef _host_xlate_h_\n" + "#define _host_xlate_h_\n" + "\n", + header_fp); + + fputs ("/* This file is machine-generated; DO NOT EDIT! */\n" + "\n" + "#ifndef RUNTIME\n" + "#define RUNTIME /* So stuff gets typedefed properly. */\n" + "#endif\n" + "#include \"syn68k_private.h\"\n" + "#include \"native.h\"\n" + "#include \"host-xlate.h\"\n" + "#include \"i386-isa.h\"\n" + "#include \"i386-aux.h\"\n" + "\n" + "\n", + table_fp); + + for (x = xlate_table; x->name != NULL; x++) + output_desc_list (table_fp, header_fp, process_xlate_descriptor (x)); + + fputs ("\n" + "#endif /* _host_xlate_h */\n", + header_fp); + + fclose (table_fp); + fclose (header_fp); + + return EXIT_SUCCESS; +} + + +static void +output_desc (FILE *table_fp, FILE *header_fp, guest_code_descriptor_t *g) +{ + int i; + guest_code_descriptor_t *next; + + if (g->static_p) + fputs ("static ", table_fp); + else + fprintf (header_fp, "extern const guest_code_descriptor_t %s;\n", g->name); + fprintf (table_fp, "const guest_code_descriptor_t %s =\n" + "{\n", g->name); + + fputs (" {\n", table_fp); + for (i = 0; g->reg_op_info[i].legitimate_p; i++) + { + const reg_operand_info_t *r = &g->reg_op_info[i]; + fprintf (table_fp, " { TRUE, %s, %d, 0x%X, %d, %d, 0x%X },\n", + r->add8_p ? "TRUE" : "FALSE", r->operand_num, + (unsigned) r->acceptable_mapping, r->request_type, + r->output_state, (unsigned) r->regset); + } + fputs (" { FALSE },\n" + " },\n", + table_fp); + + fprintf (table_fp, " 0x%X, 0x%X, 0x%X,\n" + " {\n", + (unsigned) g->cc_in, (unsigned) g->cc_out, + (unsigned) g->scratch_reg); + + + for (i = 0; i < MAX_COMPILE_FUNCS && g->compile_func[i].func; i++) + { + fprintf (table_fp, " { %s, { { %d, %d, %d, %d } } },\n", + g->compile_func[i].func, + g->compile_func[i].order.operand_num[0], + g->compile_func[i].order.operand_num[1], + g->compile_func[i].order.operand_num[2], + g->compile_func[i].order.operand_num[3]); + } + + next = g->next; + if (next && !g->next->static_p) + next = NULL; + fprintf (table_fp, + " },\n" + " %s%s\n" + "};\n" + "\n", next ? "&" : "", next ? next->name : "NULL"); +} + + +/* Prints out the list in reverse order. */ +static void +output_desc_list (FILE *table_fp, FILE *header_fp, + guest_code_descriptor_t *g) +{ + if (g == NULL) + return; + + /* Filter out two adjacent desc's that are equal except for the + * cc bits they claim to compute. If we hit this situation, we might + * as well only bother with the guy who claims to compute the most + * cc bits. + */ + if (!g->static_p && g->next != NULL && g->next->static_p + && (g->cc_out & g->next->cc_out) == g->cc_out) + { + int equal_p; + unsigned save_cc_out; + + /* See if the two are essentially identical. */ + save_cc_out = g->cc_out; + g->cc_out = g->next->cc_out; + equal_p = gcd_equal_p (g, g->next); + g->cc_out = save_cc_out; + + if (equal_p) + { + g->next->name = g->name; + g->next->static_p = FALSE; + output_desc_list (table_fp, header_fp, g->next); + return; + } + } + + output_desc_list (table_fp, header_fp, g->next); + output_desc (table_fp, header_fp, g); +} + + +static BOOL +gcd_equal_p (const guest_code_descriptor_t *g1, + const guest_code_descriptor_t *g2) +{ + int i; + + if (g1->cc_in != g2->cc_in + || g1->cc_out != g2->cc_out + || g1->scratch_reg != g2->scratch_reg) + return FALSE; + + if (memcmp (g1->reg_op_info, g2->reg_op_info, sizeof g1->reg_op_info)) + return FALSE; + + for (i = 0; i < MAX_COMPILE_FUNCS; i++) + { + int g1n, g2n; + + g1n = (g1->compile_func[i].func == NULL); + g2n = (g2->compile_func[i].func == NULL); + if (g1n || g2n) + { + if (g1n ^ g2n) + return FALSE; + break; + } + + if (strcmp (g1->compile_func[i].func, g2->compile_func[i].func)) + return FALSE; + if (memcmp (&g1->compile_func[i].order, &g2->compile_func[i].order, + sizeof g1->compile_func[i].order)) + return FALSE; + } + + return TRUE; +} diff --git a/runtime/native/i386/xlatetable.c b/runtime/native/i386/xlatetable.c new file mode 100644 index 0000000..f207313 --- /dev/null +++ b/runtime/native/i386/xlatetable.c @@ -0,0 +1,383 @@ +#include "xlate.h" + + +const xlate_descriptor_t xlate_table[] = +{ + /* For moves, watch out! word moves into address reg are sign extended. + * Moves into address regs never touch the cc bits. + */ + + /* move imm, */ + { "move@_imm_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_imm_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_imm_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_imm_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_imm_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_imm_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_imm_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_imm_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move imm,, with earlier imm */ + { "move@_imm_reg_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_REG, { 1, } } } }, + { "move@_imm_areg_0_1", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_AREG, { 1, } } } }, + { "move@_imm_ind_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_IND, { 1, } } } }, + { "move@_imm_predec_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_PREDEC, { 1, } } } }, + { "move@_imm_postinc_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_POSTINC, { 1, } } } }, + { "move@_imm_indoff_0_2_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_INDOFF, { 2, 1 } } } }, + { "move@_imm_indix_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IMM, { 0, } }, { AMODE_INDIX, { 1, } } } }, + + /* move reg, */ + { "move@_reg_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_reg_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_REG, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_reg_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_reg_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_reg_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_reg_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_reg_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_reg_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_REG, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move areg, */ + { "move@_areg_reg_1_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_areg_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_areg_abs_0_1", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_areg_ind_1_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_areg_predec_1_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_areg_postinc_1_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_areg_indoff_1_2_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_areg_indix_1_0", OP_MOVE, WL, M68K_CC_CNVZ, "mov", + { { AMODE_AREG, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move ind, */ + { "move@_ind_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_ind_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_IND, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_ind_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_ind_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_ind_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_ind_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_ind_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_ind_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_IND, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move postinc, */ + { "move@_postinc_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_postinc_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_postinc_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_postinc_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_postinc_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_postinc_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_postinc_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_postinc_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_POSTINC, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move predec, */ + { "move@_predec_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_predec_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_predec_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_predec_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_predec_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_predec_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_predec_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_predec_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_PREDEC, { 1, } }, { AMODE_INDIX, { 0, } } } }, + + /* move abs, */ + { "move@_abs_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_abs_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_abs_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_abs_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_abs_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_abs_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_abs_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_ABS, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + + /* move indoff, */ + { "move@_indoff_reg_2_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_REG, { 0, } } } }, + { "move@_indoff_areg_2_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_AREG, { 0, } } } }, + { "move@_indoff_abs_1_0_2", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 1, 0 } }, { AMODE_ABS, { 2, } } } }, + { "move@_indoff_ind_2_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_IND, { 0, } } } }, + { "move@_indoff_predec_2_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_indoff_postinc_2_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_indoff_indoff_2_1_3_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_INDOFF, { 3, 0 } } } }, + { "move@_indoff_indix_2_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_INDIX, { 0, } } } }, + + /* move indix, */ + { "move@_indix_reg_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_REG, { 0, } } } }, + { "move@_indix_areg_1_0", OP_MOVE, WL, M68K_CC_NONE, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_AREG, { 0, } } } }, + { "move@_indix_abs_0_1", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 0, } }, { AMODE_ABS, { 1, } } } }, + { "move@_indix_ind_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_IND, { 0, } } } }, + { "move@_indix_predec_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_PREDEC, { 0, } } } }, + { "move@_indix_postinc_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_POSTINC, { 0, } } } }, + { "move@_indix_indoff_1_2_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, + { "move@_indix_indix_1_0", OP_MOVE, BWL, M68K_CC_CNVZ, "mov", + { { AMODE_INDIX, { 1, } }, { AMODE_INDIX, { 0, } } } }, + +#define BITWISE(op) \ + /* op imm, */ \ + { #op "@_imm_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_imm_abs_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_ABS, { 1, } } } }, \ + { #op "@_imm_ind_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_IND, { 0, } } } }, \ + { #op "@_imm_predec_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_PREDEC, { 0, } } } }, \ + { #op "@_imm_postinc_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_POSTINC, { 0, } } } }, \ + { #op "@_imm_indoff_1_2_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, \ + \ + /* op reg, */ \ + { #op "@_reg_abs_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_ABS, { 1, } } } }, \ + { #op "@_reg_ind_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_IND, { 1, } } } }, \ + { #op "@_reg_predec_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_PREDEC, { 1, } } } }, \ + { #op "@_reg_postinc_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_POSTINC, { 1, } } } }, \ + { #op "@_reg_indoff_0_2_1", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_INDOFF, { 2, 1 } } } } + +#define BITWISE_DST_REG(op) \ + /* op ,reg */ \ + { #op "@_reg_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_REG, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_abs_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_ABS, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_ind_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_IND, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_predec_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_PREDEC, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_postinc_reg_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_POSTINC, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_indoff_reg_2_1_0", OP_BINARY, BWL, M68K_CC_CNVZ, #op, \ + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_REG, { 0 } } } } + + BITWISE (and), + BITWISE_DST_REG (and), + BITWISE (or), + BITWISE_DST_REG (or), + + /* xor is different than AND and OR. It can only do XOR dn,, + * and it has the added ability for the to be a data register. + */ + { "xor@_reg_reg_0_1", OP_BINARY, BWL, M68K_CC_CNVZ, "xor", + { { AMODE_REG, { 0, } }, { AMODE_REG, { 1, } } } }, + BITWISE (xor), + +#define ARITHMETIC(op, cc, areg_cc) \ + { #op "@_imm_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_imm_areg_1_0", OP_BINARY, L, areg_cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_imm_abs_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_ABS, { 1, } } } }, \ + { #op "@_imm_ind_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_IND, { 0, } } } }, \ + { #op "@_imm_predec_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_PREDEC, { 0, } } } }, \ + { #op "@_imm_postinc_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_POSTINC, { 0, } } } }, \ + { #op "@_imm_indoff_1_2_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 1, } }, { AMODE_INDOFF, { 2, 0 } } } }, \ + \ + /* op ,reg */ \ + { #op "@_reg_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_areg_reg_1_0", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_abs_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_ABS, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_ind_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IND, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_predec_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_PREDEC, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_postinc_reg_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_POSTINC, { 1, } }, { AMODE_REG, { 0, } } } }, \ + { #op "@_indoff_reg_2_1_0", OP_BINARY, BWL, cc, #op, \ + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_REG, { 0 } } } }, \ + \ + /* op ,areg */ \ + { #op "@_reg_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_REG, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_areg_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_AREG, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_abs_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_ABS, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_ind_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_IND, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_predec_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_PREDEC, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_postinc_areg_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_POSTINC, { 1, } }, { AMODE_AREG, { 0, } } } }, \ + { #op "@_indoff_areg_2_1_0", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_INDOFF, { 2, 1 } }, { AMODE_AREG, { 0 } } } } + + +#define ARITHMETIC_DST_EA(op, cc, areg_cc) \ + /* op reg, */ \ + { #op "@_reg_reg_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_REG, { 1, } } } }, \ + { #op "@_reg_areg_0_1", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_AREG, { 1, } } } }, \ + { #op "@_reg_abs_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_ABS, { 1, } } } }, \ + { #op "@_reg_ind_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_IND, { 1, } } } }, \ + { #op "@_reg_predec_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_PREDEC, { 1, } } } }, \ + { #op "@_reg_postinc_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_POSTINC, { 1, } } } }, \ + { #op "@_reg_indoff_0_2_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_REG, { 0, } }, { AMODE_INDOFF, { 2, 1 } } } }, \ + \ + /* op areg, */ \ + { #op "@_areg_reg_0_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_REG, { 1, } } } }, \ + { #op "@_areg_areg_0_1", OP_BINARY, WL, areg_cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_AREG, { 1, } } } }, \ + { #op "@_areg_abs_0_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_ABS, { 1, } } } }, \ + { #op "@_areg_ind_0_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_IND, { 1, } } } }, \ + { #op "@_areg_predec_0_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_PREDEC, { 1, } } } }, \ + { #op "@_areg_postinc_0_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_POSTINC, { 1, } } } }, \ + { #op "@_areg_indoff_0_2_1", OP_BINARY, WL, cc, #op, \ + { { AMODE_AREG, { 0, } }, { AMODE_INDOFF, { 2, 1 } } } } + +#define ARITHMETIC_IMM_FIRST(op, cc, areg_cc) \ + /* op imm, */ \ + { #op "@_imm_reg_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_REG, { 1, } } } }, \ + { #op "@_imm_areg_0_1", OP_BINARY, BWL, areg_cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_AREG, { 1, } } } }, \ + { #op "@_imm_ind_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_IND, { 1, } } } }, \ + { #op "@_imm_predec_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_PREDEC, { 1, } } } }, \ + { #op "@_imm_postinc_0_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_POSTINC, { 1, } } } }, \ + { #op "@_imm_indoff_0_2_1", OP_BINARY, BWL, cc, #op, \ + { { AMODE_IMM, { 0, } }, { AMODE_INDOFF, { 2, 1 } } } } + + + ARITHMETIC (add, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC_DST_EA (add, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC_IMM_FIRST (add, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC (sub, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC_DST_EA (sub, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC_IMM_FIRST (sub, M68K_CC_CNVXZ, M68K_CC_NONE), + ARITHMETIC (cmp, M68K_CC_CNVZ, M68K_CC_CNVZ), + + /* You must not call these with a shift count of 0! Not normally + * a problem since the m68k shift-by-constants allow constants + * in the range of 1-8 only. + */ + { "lsl@_imm_reg_0_1", OP_BINARY, BWL, + M68K_CCC | M68K_CCN | M68K_CCX | M68K_CCZ, "shl", + { { AMODE_IMM, { 0 } }, { AMODE_REG, { 1 } } } }, + { "lsr@_imm_reg_0_1", OP_BINARY, BWL, + M68K_CCC | M68K_CCN | M68K_CCX | M68K_CCZ, "shr", + { { AMODE_IMM, { 0 } }, { AMODE_REG, { 1 } } } }, + { "asr@_imm_reg_0_1", OP_BINARY, BWL, + M68K_CCC | M68K_CCN | M68K_CCX | M68K_CCZ, "sar", + { { AMODE_IMM, { 0 } }, { AMODE_REG, { 1 } } } }, + + +#define UNARY(op, cc, i386_name) \ + { #op "@_reg_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_REG, { 0, } } } }, \ + { #op "@_abs_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_ABS, { 1, } } } }, \ + { #op "@_ind_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_IND, { 0, } } } }, \ + { #op "@_predec_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_PREDEC, { 0, } } } }, \ + { #op "@_postinc_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_POSTINC, { 0, } } } }, \ + { #op "@_indoff_1_0", OP_UNARY, BWL, cc, i386_name, \ + { { AMODE_INDOFF, { 1, 0 } } } } + + UNARY (tst, M68K_CC_CNVZ, "test"), + UNARY (neg, M68K_CC_CNVXZ, "neg"), + UNARY (not, M68K_CC_CNVZ, "not"), + + { "tst@_areg_0", OP_UNARY, WL, M68K_CC_CNVZ, "test", + { { AMODE_AREG, { 0, } } } }, + + { NULL } +}; diff --git a/runtime/native/null/Makefile b/runtime/native/null/Makefile new file mode 100644 index 0000000..aca4125 --- /dev/null +++ b/runtime/native/null/Makefile @@ -0,0 +1,5 @@ +all: + +clean: + +obj/i486-linux-glibc-nonnative/subdir-stmp: diff --git a/runtime/native/null/host-native.h b/runtime/native/null/host-native.h new file mode 100644 index 0000000..e69de29 diff --git a/runtime/profile.c b/runtime/profile.c new file mode 100644 index 0000000..d296a92 --- /dev/null +++ b/runtime/profile.c @@ -0,0 +1,73 @@ +#ifdef PROFILE + +#include "profile.h" +#include "mapping.h" +#include "blockinfo.h" +#include + +static uint32 instruction_frequency[65536]; + +/* Global variable to tweak with gdb to turn profiling on and off. */ +int should_profile = 1; + +void +profile_block (Block *b) +{ + syn68k_addr_t addr = b->m68k_start_address; + + if ((addr < MAGIC_ADDRESS_BASE || addr > 0x00FFFFFF) + && should_profile) + { + while (addr < b->m68k_start_address + b->m68k_code_length) + { + uint16 m68kop = READUW (addr); + ++instruction_frequency[m68kop]; + addr += 2 * (instruction_size + (SYN68K_TO_US (addr), + &opcode_map_info[opcode_map_index[m68kop]])); + } + } +} + + +void +dump_profile (const char *file) +{ + FILE *fp; +#ifdef LITTLEENDIAN + int i; + uint32 *p; +#endif + + /* Choose default filename. */ + if (file == NULL) + file = "/tmp/instrfreq"; + + fp = fopen (file, "wb"); + if (fp == NULL) + { + fprintf (stderr, "Unable to write to %s", file); + perror (""); + return; + } + + /* Assure that we always write out the profiling info in big endian order. */ +#ifdef LITTLEENDIAN + for (i = 65535, p = instruction_frequency; i >= 0; p++, i--) + *p = SWAPUL (*p); +#endif + + fwrite (instruction_frequency, sizeof instruction_frequency[0], + sizeof instruction_frequency / sizeof instruction_frequency[0], + fp); + + /* Undo byte swaps and put it back into native order. */ +#ifdef LITTLEENDIAN + for (i = 65535, p = instruction_frequency; i >= 0; p++, i--) + *p = SWAPUL (*p); +#endif + + fclose (fp); +} + +#endif /* PROFILE */ diff --git a/runtime/rangetree.c b/runtime/rangetree.c new file mode 100644 index 0000000..ba44266 --- /dev/null +++ b/runtime/rangetree.c @@ -0,0 +1,637 @@ +/* + * rangetree.c - Routines for manipulating a red-black tree data structure + * that maps 68k addresses to the Block that address is contained + * in. It is generally slower than the hash table in hash.c, but + * more powerful because it can find the block corresponding + * to an address even when that address is not the address of + * the first byte in the block. The tree is sorted by the + * low address of the range, and these routines work because + * any two overlapping blocks must have the same ending + * address; whatever m68k code caused one block to end will + * also cause the other to end. There exist pathological + * exceptions where operands are used as opcodes. + * + * Algorithms taken from Cormen/Leiserson/Rivest's _Introduction to + * Algorithms_. + */ + + +#include +#include + +#if 0 +#include +#endif + +#include +#include "block.h" +#include "rangetree.h" + +typedef Block * Tree; + +static Tree root = NULL; +static Block null_tree_block; /* NULL sentry. */ + +#define NULL_TREE (&null_tree_block) +#define BLACK 0 +#define RED 1 +#define BLOCK_TO_TREE(b) ((Tree) (b)) +#define TREE_TO_BLOCK(t) ((Block *) (t)) +#define LEFT(t) ((t)->range_tree_left) +#define RIGHT(t) ((t)->range_tree_right) +#define PARENT(t) ((t)->range_tree_parent) +#define GRANDPARENT(t) (PARENT (PARENT (t))) +#define IS_RED(t) ((t)->range_tree_color != BLACK) +#define IS_BLACK(t) ((t)->range_tree_color == BLACK) +#define COLOR(t) ((t)->range_tree_color) +#define SET_COLOR(t,c) ((t)->range_tree_color = (c)) + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +/* Initializes the range tree. Call this before calling any other range tree + * functions, and call it exactly once. + */ +void +range_tree_init () +{ + SET_COLOR (NULL_TREE, BLACK); + NULL_TREE->m68k_start_address = 666999666; + root = NULL_TREE; +} + + +/* Helper function for range_tree_destroy(). */ +static void +range_tree_destroy_aux (Tree t) +{ + if (t == NULL_TREE) + return; + range_tree_destroy_aux (LEFT (t)); + range_tree_destroy_aux (RIGHT (t)); + LEFT (t) = NULL_TREE; + RIGHT (t) = NULL_TREE; +} + + +/* Frees all memory associated with the range tree and NULLifies all + * range tree pointers in the Blocks that were in the tree. + */ +void +range_tree_destroy () +{ + range_tree_destroy_aux (root); + root = NULL_TREE; +} + + +#if 0 +/* No longer used. */ + +/* Given a 68k address, this attempts to locate some Block that contains + * it. No guarantess are made about which such Block will be returned if + * there is more than one which intersects the specified address. If such + * a Block is found that Block is returned, else NULL. + */ +Block * +range_tree_lookup (syn68k_addr_t addr) +{ + Tree t = root; + + while (t != NULL_TREE) + { + if (addr >= (TREE_TO_BLOCK (t))->m68k_start_address) + { + if (addr < (TREE_TO_BLOCK (t))->m68k_start_address + + (TREE_TO_BLOCK (t))->m68k_code_length) + break; + t = RIGHT (t); + } + else t = LEFT (t); + } + + return (t == NULL_TREE) ? NULL : TREE_TO_BLOCK (t); +} +#endif + + +/* Given a 68k address, returns a pointer to the Block with the lowest + * m68k_start_address such that the m68k_start_address is >= addr. + * Returns NULL if no such Block exists. + */ +Block * +range_tree_find_first_at_or_after (syn68k_addr_t addr) +{ + Tree t = root, best = NULL; + + while (t != NULL_TREE) + { + if ((TREE_TO_BLOCK (t))->m68k_start_address >= addr) + { + best = t; + t = LEFT (t); /* Only lesser children can beat us. */ + } + else + t = RIGHT (t); /* Our address isn't high enough. */ + } + + return TREE_TO_BLOCK (best); +} + + +/* Given a 68k address, returns a pointer to the Block with the lowest + * m68k_start_address such that its m68k addresses intersect the range + * [low, high]. Returns NULL if no such Block exists. This assumes that + * overlapping blocks will have the same ending address. + */ +Block * +range_tree_first_to_intersect (syn68k_addr_t low, syn68k_addr_t high) +{ + Tree t = root, best = NULL; + + while (t != NULL_TREE) + { + syn68k_addr_t l, h; + + l = (TREE_TO_BLOCK (t))->m68k_start_address; + h = l + (TREE_TO_BLOCK (t))->m68k_code_length - 1; + + if (l > high) + t = LEFT (t); + else if (h < low) + t = RIGHT (t); + else /* l <= high && h >= low */ + { + best = t; + t = LEFT (t); /* Only lesser children can beat us. */ + } + } + + return TREE_TO_BLOCK (best); +} + + +static void +left_rotate (Tree x) +{ + Tree y = RIGHT (x); + +#ifdef DEBUG + assert (y != NULL_TREE); +#endif + + /* Turn y's left subtree into x's right subtree. */ + RIGHT (x) = LEFT (y); + if (LEFT (y) != NULL_TREE) + PARENT (LEFT (y)) = x; + + /* Link x's parent to y. */ + PARENT (y) = PARENT (x); + if (PARENT (x) == NULL_TREE) + root = y; + else if (x == LEFT (PARENT (x))) + LEFT (PARENT (x)) = y; + else RIGHT (PARENT (x)) = y; + + /* Put x on y's left. */ + LEFT (y) = x; + PARENT (x) = y; +} + + +static void +right_rotate (Tree y) +{ + Tree x = LEFT (y); + +#ifdef DEBUG + assert (x != NULL_TREE); +#endif + + /* Turn x's right subtree into y's left subtree. */ + LEFT (y) = RIGHT (x); + if (RIGHT (x) != NULL_TREE) + PARENT (RIGHT (x)) = y; + + /* Link y's parent to x. */ + PARENT (x) = PARENT (y); + if (PARENT (y) == NULL_TREE) + root = x; + else if (y == RIGHT (PARENT (y))) + RIGHT (PARENT (y)) = x; + else LEFT (PARENT (y)) = x; + + /* Put y on x's RIGHT. */ + RIGHT (x) = y; + PARENT (y) = x; +} + + +/* Private helper function. Inserts a given block into the range tree based + * on the address range of the 68k code it occupies. Does *NOT* attempt + * to keep the tree balanced, and will happily violate the red-black + * constraints. Returns the one-node subtree it creates. + */ +static Tree +simple_tree_insert (Block *b) +{ + Tree t, *tp, parent = root; + const syn68k_addr_t addr = b->m68k_start_address; + + /* First insert the block into the tree normally. */ + if (root == NULL_TREE) + tp = &root; + else + { + while (1) + { + if (addr > (TREE_TO_BLOCK (parent))->m68k_start_address) + tp = &RIGHT (parent); + else tp = &LEFT (parent); + if (*tp == NULL_TREE) + { + *tp = BLOCK_TO_TREE (b); + break; + } + else parent = *tp; + } + } + + *tp = t = BLOCK_TO_TREE (b); + PARENT (t) = parent; + LEFT (t) = RIGHT (t) = NULL_TREE; + + return t; +} + + +/* Inserts a given block into the range tree based on the address range of + * the 68k code it occupies. + */ +void +range_tree_insert (Block *b) +{ + Tree x = simple_tree_insert (b), y; + + SET_COLOR (x, RED); + + while (x != root && IS_RED (PARENT (x))) + { + if (PARENT (x) == LEFT (GRANDPARENT (x))) + { + y = RIGHT (GRANDPARENT (x)); + if (IS_RED (y)) + { + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (y, BLACK); + SET_COLOR (GRANDPARENT (x), RED); + x = GRANDPARENT (x); + } + else + { + if (x == RIGHT (PARENT (x))) + { + x = PARENT (x); + left_rotate (x); + } + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (GRANDPARENT (x), RED); + right_rotate (GRANDPARENT (x)); + } + } + else + { + y = LEFT (GRANDPARENT (x)); + if (IS_RED (y)) + { + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (y, BLACK); + SET_COLOR (GRANDPARENT (x), RED); + x = GRANDPARENT (x); + } + else + { + if (x == LEFT (PARENT (x))) + { + x = PARENT (x); + right_rotate (x); + } + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (GRANDPARENT (x), RED); + left_rotate (GRANDPARENT (x)); + } + } + } + + SET_COLOR (root, BLACK); +} + + +/* Helper function. Finds the Tree element with the smallest key + * greater than x's, or NULL_TREE if no such element exists. + */ +static Tree +tree_successor (Tree x) +{ + Tree y; + + if (RIGHT (x) != NULL_TREE) + { + x = RIGHT (x); + while (LEFT (x) != NULL_TREE) + x = LEFT (x); + return x; + } + + y = PARENT (x); + while (y != NULL_TREE && x == RIGHT (y)) + { + x = y; + y = PARENT (y); + } + + return y; +} + + +/* Removes a given Block from the range tree. */ +void +range_tree_remove (Block *b) +{ + Tree w, x, y, z = BLOCK_TO_TREE (b); + int y_color; + + if (LEFT (z) == NULL_TREE || RIGHT (z) == NULL_TREE) + y = z; + else + y = tree_successor (z); + + if (LEFT (y) != NULL_TREE) + x = LEFT (y); + else x = RIGHT (y); + + PARENT (x) = PARENT (y); + if (PARENT (y) == NULL_TREE) + root = x; + else if (y == LEFT (PARENT (y))) + LEFT (PARENT (y)) = x; + else RIGHT (PARENT (y)) = x; + + y_color = COLOR (y); + if (y != z) + { + if (PARENT (z) == NULL_TREE) + root = y; + else if (z == LEFT (PARENT (z))) + LEFT (PARENT (z)) = y; + else RIGHT (PARENT (z)) = y; + + LEFT (y) = LEFT (z); + RIGHT (y) = RIGHT (z); + PARENT (y) = PARENT (z); + SET_COLOR (y, COLOR (z)); + + if (LEFT (y) != NULL_TREE) + PARENT (LEFT (y)) = y; + if (RIGHT (y) != NULL_TREE) + PARENT (RIGHT (y)) = y; + if (PARENT (NULL_TREE) == z) + PARENT (NULL_TREE) = y; + } + + if (y_color == BLACK) + { + while (x != root && IS_BLACK (x)) + { + if (x == LEFT (PARENT (x))) + { + w = RIGHT (PARENT (x)); + + assert (w != NULL && w != NULL_TREE); + + if (IS_RED (w)) + { + SET_COLOR (w, BLACK); + SET_COLOR (PARENT (x), RED); + left_rotate (PARENT (x)); + w = RIGHT (PARENT (x)); + } + if (IS_BLACK (LEFT (w)) && IS_BLACK (RIGHT (w))) + { + SET_COLOR (w, RED); + x = PARENT (x); + } + else + { + if (IS_BLACK (RIGHT (w))) + { + SET_COLOR (LEFT (w), BLACK); + SET_COLOR (w, RED); + right_rotate (w); + w = RIGHT (PARENT (x)); + } + + SET_COLOR (w, COLOR (PARENT (x))); + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (RIGHT (w), BLACK); + left_rotate (PARENT (x)); + x = root; + } + } + else + { + w = LEFT (PARENT (x)); + + assert (w != NULL && w != NULL_TREE); + + if (IS_RED (w)) + { + SET_COLOR (w, BLACK); + SET_COLOR (PARENT (x), RED); + right_rotate (PARENT (x)); + w = LEFT (PARENT (x)); + } + if (IS_BLACK (RIGHT (w)) && IS_BLACK (LEFT (w))) + { + SET_COLOR (w, RED); + x = PARENT (x); + } + else + { + if (IS_BLACK (LEFT (w))) + { + SET_COLOR (RIGHT (w), BLACK); + SET_COLOR (w, RED); + left_rotate (w); + w = LEFT (PARENT (x)); + } + + SET_COLOR (w, COLOR (PARENT (x))); + SET_COLOR (PARENT (x), BLACK); + SET_COLOR (LEFT (w), BLACK); + right_rotate (PARENT (x)); + x = root; + } + } + } + + SET_COLOR (x, BLACK); + } +} + + +#ifdef DEBUG +static BOOL +range_tree_verify_aux (Tree t) +{ + BOOL ok = YES; + + if (t == NULL_TREE) + return YES; + if (IS_RED (t)) + { + if (!IS_BLACK (LEFT (t)) || !IS_BLACK (RIGHT (t))) + { + fprintf (stderr, "Internal inconsistency: red node does not have " + "two black children!\n"); + ok = NO; + } + } + + if ((LEFT (t) != NULL_TREE && PARENT (LEFT (t)) != t) + || (RIGHT (t) != NULL_TREE && PARENT (RIGHT (t)) != t)) + fprintf (stderr, "Internal inconsistency: child does not have the correct " + "parent.\n"); + + if (LEFT (t) != NULL_TREE && ((TREE_TO_BLOCK (LEFT (t)))->m68k_start_address + >= (TREE_TO_BLOCK (t))->m68k_start_address)) + fprintf (stderr, "Internal inconsistency: Left node has key >= to that " + "of its parent.\n"); + + if (RIGHT (t) != NULL_TREE + && (TREE_TO_BLOCK (RIGHT (t))->m68k_start_address + <= (TREE_TO_BLOCK (t))->m68k_start_address)) + fprintf (stderr, "Internal inconsistency: Right node has key <= to that " + "of its parent.\n"); + + if (!range_tree_verify_aux (LEFT (t))) + ok = 0; + if (!range_tree_verify_aux (RIGHT (t))) + ok = 0; + + return ok; +} + + +static void +path_length_extrema (Tree t, uint32 *longest, uint32 *shortest) +{ + uint32 l1, l2, s1, s2; + + if (t == NULL_TREE) + { + *longest = 0; + *shortest = 0; + } + else + { + path_length_extrema (LEFT (t), &l1, &s1); + path_length_extrema (RIGHT (t), &l2, &s2); + + *longest = MAX (l1, l2) + 1; + *shortest = MIN (s1, s2) + 1; + } + +} + + +static uint32 +black_length (Tree t) +{ + uint32 l, r; + + if (t == NULL_TREE) + return 1; + + l = black_length (LEFT (t)); + r = black_length (RIGHT (t)); + + if (l != r) + { + fprintf (stderr, "Internal inconsistency: black lengths don't match " + "(%lu/%lu).\n", l, r); + } + + return l + (IS_BLACK (t) ? 1 : 0); +} + + +BOOL +range_tree_verify () +{ + BOOL ok = range_tree_verify_aux (root); + uint32 longest = 0, shortest = 0; + + path_length_extrema (root, &longest, &shortest); + + if (longest > 5 * shortest / 2) + { + fprintf (stderr, "Internal inconsistency: longest path in range tree " + "is more than 2.5 x as long as the shortest path (%lu/%lu)\n", + longest, shortest); + ok = NO; + } +#if 0 + printf ("Longest path = %lu, shortest path = %lu, ratio = %f\n", + longest, shortest, shortest == 0 ? 0 : (double) longest / shortest); +#endif + + black_length (root); + + if (!IS_BLACK (NULL_TREE)) + { + fprintf (stderr, "Internal inconsistency: NULL_TREE color is " + "not black!\n"); + ok = NO; + } + + /* FIXME - check for overlapping ranges here. */ + + return ok; +} +#endif + + +#ifdef DEBUG +static void +dump_tree_aux (Tree t) +{ + if (t == NULL_TREE) + return; + printf ("Node %lu\t%c\t", (TREE_TO_BLOCK (t))->m68k_start_address, + IS_BLACK(t) ? 'B' : 'R'); + if (PARENT (t) == NULL_TREE) + fputs ("p:\t", stdout); + else printf ("p:%lu\t", (TREE_TO_BLOCK (PARENT (t)))->m68k_start_address); + if (LEFT (t) == NULL_TREE) + fputs ("l:\t", stdout); + else printf ("l:%lu\t", (TREE_TO_BLOCK (LEFT (t)))->m68k_start_address); + if (RIGHT (t) == NULL_TREE) + fputs ("r:\n", stdout); + else printf ("r:%lu\n", (TREE_TO_BLOCK (RIGHT (t)))->m68k_start_address); + + dump_tree_aux (LEFT (t)); + dump_tree_aux (RIGHT (t)); +} + + +void +range_tree_dump () +{ + dump_tree_aux (root); +} +#endif diff --git a/runtime/recompile.c b/runtime/recompile.c new file mode 100644 index 0000000..ac60627 --- /dev/null +++ b/runtime/recompile.c @@ -0,0 +1,195 @@ +#include "syn68k_private.h" + +#ifdef GENERATE_NATIVE_CODE + +#include "recompile.h" +#include "translate.h" +#include "destroyblock.h" +#include "hash.h" +#include "alloc.h" +#include "native.h" +#include +#include +#include +#include + + +static void find_blocks_to_recompile (Block *b, syn68k_addr_t **bad_blocks, + unsigned long *num_bad_blocks, + unsigned long *max_bad_blocks); + + +static int +compare_m68k_addrs (const void *p1, const void *p2) +{ + return *(syn68k_addr_t *)p1 - *(syn68k_addr_t *)p2; +} + +void +recompile_block_as_native (Block *b) +{ + syn68k_addr_t *bad_blocks, orig_address; + long n; + unsigned long num_bad_blocks, max_bad_blocks; + int old_sigmask; + + BLOCK_INTERRUPTS (old_sigmask); + + orig_address = b->m68k_start_address; + +#if 0 + fprintf (stderr, + "recompiling block %p at address 0x%X. Block ptr in code is %p.\n", + (void *)b, (unsigned)b->m68k_start_address, + *(void **)(b->compiled_code + PTR_WORDS)); +#endif + + /* Allocate some space for the blocks to recompile. */ + max_bad_blocks = 256; + num_bad_blocks = 0; + bad_blocks = (syn68k_addr_t *)xmalloc (max_bad_blocks + * sizeof bad_blocks[0]); + + /* Find a bunch of blocks to smash. */ + find_blocks_to_recompile (b, &bad_blocks, &num_bad_blocks, &max_bad_blocks); + + assert (num_bad_blocks != 0); + + /* Sort the blocks by address. Hopefully this will require fewer + * passes when recompiling below. + */ + qsort (bad_blocks, num_bad_blocks, sizeof bad_blocks[0], compare_m68k_addrs); + +#if 0 + for (n = 0; n < num_bad_blocks; n++) + fprintf (stderr, "\t0x%X\n", + (unsigned)(hash_lookup (bad_blocks[n])->m68k_start_address)); +#endif + + /* Destroy them all. */ + for (n = num_bad_blocks - 1; n >= 0; n--) + { + /* We need to do a hash check since this block may have been + * recursively destroyed on some previous call to destroy_block(). + * That's why we don't just keep an array of Block *'s. + */ + Block *b = hash_lookup (bad_blocks[n]); + if (b != NULL) + destroy_block (b); + } + + /* Recompile them all with native code enabled. */ + for (n = 0; n < num_bad_blocks; n++) + { + Block *junk; + generate_block (NULL, bad_blocks[n], &junk, TRUE); + } + + free (bad_blocks); + + /* Smash the jsr stack to be safe. */ + memset (&cpu_state.jsr_stack, -1, sizeof cpu_state.jsr_stack); + + assert ((b = hash_lookup (orig_address)) && NATIVE_CODE_TRIED (b)); + + RESTORE_INTERRUPTS (old_sigmask); + +#if 0 + fprintf (stderr, + " done compiling. New block == %p, new block pointer == %p\n", + (void *)b, *(void **)(b->compiled_code + PTR_WORDS)); +#endif +} + + +static void +find_parents (Block *b, syn68k_addr_t **bad_blocks, + unsigned long *num_bad_blocks, + unsigned long *max_bad_blocks) +{ + while (b != NULL && !b->recompile_me) + { + int i; + + b->recompile_me = TRUE; + + if (*num_bad_blocks >= *max_bad_blocks) + { + *max_bad_blocks *= 2; + *bad_blocks = (syn68k_addr_t *) + xrealloc (*bad_blocks, (*max_bad_blocks + * sizeof (*bad_blocks)[0])); + } + + /* Append this block to the list of blocks to smash. */ + (*bad_blocks)[(*num_bad_blocks)++] = b->m68k_start_address; + b->recompile_me = TRUE; + + for (i = b->num_parents - 1; i > 0; i--) + { + Block *p = b->parent[i]; + if (!p->recompile_me) /* Check now for speed. */ + find_parents (p, bad_blocks, num_bad_blocks, max_bad_blocks); + } + + /* Iterate on the last one, for speed. */ + if (b->num_parents) + b = b->parent[0]; + } +} + + +static void +find_blocks_to_recompile (Block *b, syn68k_addr_t **bad_blocks, + unsigned long *num_bad_blocks, + unsigned long *max_bad_blocks) +{ + while (b != NULL + && !b->recompile_me + && b->num_times_called >= RECOMPILE_CHILD_CUTOFF + && !NATIVE_CODE_TRIED (b)) + { + find_parents (b, bad_blocks, num_bad_blocks, max_bad_blocks); + + if (b->child[1] != NULL) + find_blocks_to_recompile (b->child[1], bad_blocks, num_bad_blocks, + max_bad_blocks); + + /* Iterate, for speed. */ + b = b->child[0]; + } +} + + +/* Just to give us interesting statistics on what fraction was actually + * recompiled as native. + */ +double +native_fraction () +{ + Block *b; + unsigned long native, nonnative; + double ratio; + + native = nonnative = 0; + for (b = death_queue_head; b != NULL; b = b->death_queue_next) + { + if (NATIVE_CODE_TRIED (b)) + ++native; + else + ++nonnative; + } + + if (native + nonnative == 0) + ratio = 0.0; + else + ratio = (double)native / (native + nonnative); + + printf ("%lu/%lu native (%.2f%%)\n", native, native + nonnative, + ratio * 100.0); + + return ratio; +} + + +#endif /* GENERATE_NATIVE_CODE */ diff --git a/runtime/reg b/runtime/reg new file mode 100644 index 0000000..c2b1ec2 --- /dev/null +++ b/runtime/reg @@ -0,0 +1,64 @@ +eax l reg_a_hh reg_a_hl reg_a_lh reg_a_ll +eax w reg_a_lh reg_a_ll +eax b reg_a_ll +ax l reg_a_hh reg_a_hl reg_a_lh reg_a_ll +ax w reg_a_lh reg_a_ll +ax b reg_a_ll +ah l reg_a_hh reg_a_hl reg_a_lh reg_a_ll +ah w reg_a_lh reg_a_ll +ah b reg_a_lh +al l reg_a_hh reg_a_hl reg_a_lh reg_a_ll +al w reg_a_lh reg_a_ll +al b reg_a_ll +ebx l reg_b_hh reg_b_hl reg_b_lh reg_b_ll +ebx w reg_b_lh reg_b_ll +ebx b reg_b_ll +bx l reg_b_hh reg_b_hl reg_b_lh reg_b_ll +bx w reg_b_lh reg_b_ll +bx b reg_b_ll +bh l reg_b_hh reg_b_hl reg_b_lh reg_b_ll +bh w reg_b_lh reg_b_ll +bh b reg_b_lh +bl l reg_b_hh reg_b_hl reg_b_lh reg_b_ll +bl w reg_b_lh reg_b_ll +bl b reg_b_ll +ecx l reg_c_hh reg_c_hl reg_c_lh reg_c_ll +ecx w reg_c_lh reg_c_ll +ecx b reg_c_ll +cx l reg_c_hh reg_c_hl reg_c_lh reg_c_ll +cx w reg_c_lh reg_c_ll +cx b reg_c_ll +ch l reg_c_hh reg_c_hl reg_c_lh reg_c_ll +ch w reg_c_lh reg_c_ll +ch b reg_c_lh +cl l reg_c_hh reg_c_hl reg_c_lh reg_c_ll +cl w reg_c_lh reg_c_ll +cl b reg_c_ll +edx l reg_d_hh reg_d_hl reg_d_lh reg_d_ll +edx w reg_d_lh reg_d_ll +edx b reg_d_ll +dx l reg_d_hh reg_d_hl reg_d_lh reg_d_ll +dx w reg_d_lh reg_d_ll +dx b reg_d_ll +dh l reg_d_hh reg_d_hl reg_d_lh reg_d_ll +dh w reg_d_lh reg_d_ll +dh b reg_d_lh +dl l reg_d_hh reg_d_hl reg_d_lh reg_d_ll +dl w reg_d_lh reg_d_ll +dl b reg_d_ll +esi l reg_si_hh reg_si_hl reg_si_lh reg_si_ll +esi w reg_si_lh reg_si_ll +si l reg_si_hh reg_si_hl reg_si_lh reg_si_ll +si w reg_si_lh reg_si_ll +edi l reg_di_hh reg_di_hl reg_di_lh reg_di_ll +edi w reg_di_lh reg_di_ll +di l reg_di_hh reg_di_hl reg_di_lh reg_di_ll +di w reg_di_lh reg_di_ll +ebp l reg_bp_hh reg_bp_hl reg_bp_lh reg_bp_ll +ebp w reg_bp_lh reg_bp_ll +bp l reg_bp_hh reg_bp_hl reg_bp_lh reg_bp_ll +bp w reg_bp_lh reg_bp_ll +esp l reg_sp_hh reg_sp_hl reg_sp_lh reg_sp_ll +esp w reg_sp_lh reg_sp_ll +sp l reg_sp_hh reg_sp_hl reg_sp_lh reg_sp_ll +sp w reg_sp_lh reg_sp_ll diff --git a/runtime/sched.pl b/runtime/sched.pl new file mode 100755 index 0000000..903cfd9 --- /dev/null +++ b/runtime/sched.pl @@ -0,0 +1,319 @@ +#!/usr/bin/perl + +require "x86_recog.pl"; + +sub intersect { + local (@sets) = @_; + local ($set, $elem); + local (%mark); + + foreach $set (@sets) { + foreach $elem (split (' ', $set)) + { + local (@keys); + $mark{$elem} = $mark{$elem}; + @keys = keys %mark; + grep (do { $mark{$_}++ if /$elem/; }, @keys); + grep (do { $mark{$elem}++ if $elem =~ /$_/; }, @keys); + $mark{$elem}--; + # grep (do { $mark{$elem}-- if $elem eq $_; }, @keys); + } + } + + return &union (join (' ', grep ($mark{$_} >= @sets, keys (%mark)))); +} + +sub union { + local (@sets) = @_; + local (@from, @to); + local ($elem); + + @from = split (' ', join (' ', @sets)); + + while ($elem = shift @from) + { + next if grep ($elem =~ /$_/, @from); + next if grep ($elem =~ /$_/, @to); + push (@to, $elem); + } + return join (' ', sort (@to)); +} + +sub is_subset { + local ($little, $big) = @_; + + return ($little eq &intersect ($little, $big)); +} + +sub make_parents { + local($lineno, $earlier); + local($seeking, $not_seeking, $found); + + foreach $lineno ($first_line .. $last_line) + { + local (*par_ref) = 'parents' . $lineno; + @par_ref = (); + undef $not_seeking; + $seeking = $inputs[$lineno]; + next if (!$seeking); + + foreach $earlier (reverse ($first_line .. $lineno-1)) + { + $found = &intersect ($seeking, $outputs[$earlier]); + next if (&is_subset ($found, $not_seeking)); + $not_seeking = &union ($not_seeking, $found); + if ($found) { +#print $lineno . " " . $earlier . "\n"; + push (@par_ref, $earlier); + } + } + } +} + +sub bad_order { + local ($first, $middle, $last) = @_; + + if (($first < $middle) && ($middle < $last)) { + return 0; + } + + if (!defined ($cached_bad{$first, $middle, $last})) { + if (&intersect ($outputs[$first], + &intersect($outputs[$middle], + $inputs[$last]))) + { + $cached_bad{$first, $middle, $last} = 1; + } + else + { + $cached_bad{$first, $middle, $last} = 0; + } + } + + return $cached_bad{$first, $middle, $last}; +} + +sub max +{ + local (@values) = @_; + local ($result); + + grep (do { $result = $_ if $result < $_ } && 0, @values); + + return $result; +} + +sub static_eval { + return ($start_time[$schedule[$#schedule]] + 1 + $last_line - + $first_line + 1 - @schedule); +} + +sub push_schedule { + local ($lineno) = @_; + local (@parents_times); + local ($parent); + + if ($lineno == 0) + { + $start_time[$lineno] = 0; + } + else + { + local (*par_ref) = 'parents' . $lineno; + foreach $parent (@par_ref) + { + push (@parents_times, $start_time[$parent] + $latency[$parent]); + } + + $start_time[$lineno] = &max ($start_time[$schedule[$#schedule]] + 1, + @parents_times); + } + push (@schedule, $lineno); +} + +sub pop_schedule { + pop (@schedule); +} + +sub dump_schedule +{ + local ($lineno); + foreach $lineno (@_) + { + print "$lines[$lineno]\t; $start_time[$lineno]\n" + } +} + +sub create_greedy_lookup +{ + local (@which_lines) = @_; + local ($lineno); + + foreach $lineno (@which_lines) + { + &push_schedule ($lineno); + $greedy_lookup[$lineno] = &static_eval (); + &pop_schedule (); + } +} + +sub bygreed +{ + local ($foo); + + $foo = $greedy_lookup[$a] <=> $greedy_lookup[$b]; + + return ($a <=> $b) if (!$foo); + return $foo; +} + +sub parents_scheduled +{ + local ($lineno) = @_; + local (*par_ref) = 'parents' . $lineno; + + return !grep (!$scheduled[$_], @par_ref); +} + +sub create_schedule { + local ($lineno, $unscheduled_line); + local ($static_value); + local (@valid_next_lines); + local (@unscheduled); + local (@possible_problems); + + return if ($best_so_far == $last_line - $first_line + 1); + + $static_value = &static_eval(); + + return if ($static_value >= $best_so_far); + + if (@schedule == $last_line - $first_line + 1) + { +# &dump_schedule (@schedule); +# print " Value: $static_value\n"; + if ($static_value <= $best_so_far) + { + @best_schedule = @schedule; + $best_so_far = $static_value; + } + return; + } + + @unscheduled = grep (!$scheduled[$_], ($first_line .. $last_line)); + + @valid_next_lines = grep (&parents_scheduled ($_), @unscheduled); + + &create_greedy_lookup (@valid_next_lines); + foreach $lineno (sort bygreed (@valid_next_lines)) + { + local ($bad); + $bad = 0; + + foreach $unscheduled_line (@unscheduled) + { + local ($possible_problem); + local (*par_ref) = 'parents' . $unscheduled_line; + + next if $unscheduled_line == $lineno; + + @possible_problems = grep ($scheduled[$_], @par_ref); + + foreach $possible_problem (@possible_problems) + { + next if (!&bad_order ($possible_problem, $lineno, + $unscheduled_line)); + $bad = 1; + last; + } + + last if $bad; + } + next if $bad; + + &push_schedule ($lineno); + $scheduled[$lineno] = 1; + &create_schedule (); + &pop_schedule (); + $scheduled[$lineno] = 0; + } +} + +@parents0 = @parents1 = @parents2 = @parents3 = (); +@parents4 = @parents5 = @parents6 = @parents7 = (); +@parents8 = @parents9 = @parents10 = @parents11 = (); + +while (<>) { + next if /^\s*$/; + next if /^#(NO_)?APP/; + + if (!@lines && /^\s*\./) + { + print; + next; + } + + chop; + + if (!@lines) { + # Prepend a dummy instruction + push (@lines, '@@@@bogo@@@@'); + $inputs[$#lines] = ""; + $outputs[$#lines] = ""; + $latency[$#lines] = 0; + } + + push (@lines, $_); + + ($inputs[$#lines], $outputs[$#lines], $latency[$#lines]) = + &recognize ($_); + + if (@lines >= 10 || eof() || $inputs[$#lines] eq '.*' + || $outputs[$#lines] =~ /eip/) + { + local ($saved_outputs); + $saved_outputs = $outputs[0]; + $outputs[0] = '.*'; + + # Append a dummy instruction + push (@lines, '@@@@bogo@@@@'); + $inputs[$#lines] = ".*"; + $outputs[$#lines] = ".*"; + $latency[$#lines] = 0; + + $first_line = 0; + $last_line = $#lines; + + &make_parents (); + + $best_so_far = 999999; + undef %cached_bad; + undef @schedule; + undef @start_time; + undef @best_schedule; + undef @scheduled; + +# print "\nInput block:\n", join ("\n", @lines), "\n"; + &create_schedule (); +# print "\nOutput block:\n", join ("\n", @lines[@best_schedule]), "\n\n"; + + $outputs[0] = $saved_outputs; + # Renumber everything + @lines = @lines[@best_schedule]; + @inputs = @inputs[@best_schedule]; + @outputs = @outputs[@best_schedule]; + @latency = @latency[@best_schedule]; + + while ($line = shift @lines) + { + local ($foo, $bar); + $foo = shift @inputs; + $bar = shift @outputs; + shift @latency; + print "$line\n" if ($line !~ /\@\@\@\@bogo\@\@\@\@/); + print STDERR "$line\n" if ($line =~ /^\w*:\s*$/); +# print " Inputs: $foo\n Outputs: $bar\n"; +# last if ((@lines <= 5) && !eof() && !($inputs[$#lines] eq '.*')); + } + } +} diff --git a/runtime/syn68k_header.c b/runtime/syn68k_header.c new file mode 100644 index 0000000..6fedb30 --- /dev/null +++ b/runtime/syn68k_header.c @@ -0,0 +1,1059 @@ +/* Global register to hold the PC. We put this up here so that + * the global register will be defined before any of the inline functions + * in syn68k_public.h are hit, but after uint16 is typedef'd. + */ +#ifdef i386 +# ifdef __CHECKER__ +# define GLOBAL_REGISTER_DECLS \ + register const uint16 *code asm ("%si"); +# else /* !__CHECKER__ */ +# define GLOBAL_REGISTER_DECLS \ + register const uint16 *code asm ("%si"); \ + register CPUState *cpu_state_ptr asm ("%bp"); +# endif /* !__CHECKER__ */ +#elif defined (mc68000) +# define GLOBAL_REGISTER_DECLS register const uint16 *code asm ("a4"); +#elif defined (__alpha__) +# define GLOBAL_REGISTER_DECLS register const uint16 *code asm ("$9"); +#elif defined (powerpc) || defined (__ppc__) +# define GLOBAL_REGISTER_DECLS register const uint16 *code asm ("%r13"); +#else +# error "Choose a global register to hold the current synthetic PC. Make sure it is saved by the normal calling convention." +#endif + + +/* #define this value so headers can detect that syn68k.c is including them. */ +#define SYN68K_C + + +#include "syn68k_private.h" +#include "interrupt.h" +#include "hash.h" +#include "trap.h" +#include "profile.h" +#include +#include +#include +#include "rangetree.h" +#include "native.h" +#include "translate.h" +#include "recompile.h" +#include + +#if defined (i386) && !defined (__CHECKER__) +#define cpu_state (*cpu_state_ptr) /* To provide more concise code. */ +#endif +#include "ccfuncs.h" +#undef cpu_state + +#ifdef DEBUG +# define IFDEBUG(x) x +#else +# define IFDEBUG(x) +#endif + + + +#ifdef USE_BIOS_TIMER +# define RESTORE_FS() asm volatile ("movw %0,%%fs" \ + : : "g" (dos_memory_selector)) +#else +# define RESTORE_FS() +#endif + + +/* Do an efficient inline code lookup. Whenever we get a hit on a hash table + * entry, we move it to the head of the linked list. We can just check the + * head here; if that fails, we can do the slower check and possible compile. + */ +static __inline__ const uint16 * +code_lookup (uint32 addr) +{ + Block *b = block_hash_table[BLOCK_HASH (addr)]; + const uint16 *c; + if (b != NULL && b->m68k_start_address == addr) + c = b->compiled_code; + else + { + c = hash_lookup_code_and_create_if_needed (addr); + RESTORE_FS (); + } + return c; +} + +/* #define FREQUENCY(n) do { if (profile_p) ++frequency[n].freq; } while (0) */ + +#ifdef FREQUENCY +#warning "Frequency counting code in place; expect a performance hit." +int profile_p = 0; + +struct _freq +{ + unsigned long freq; + int opcode; +} frequency[65536]; + +static int +compare_freq (const void *p1, const void *p2) +{ + int diff = (((const struct _freq *)p2)->freq + - ((const struct _freq *)p1)->freq); + if (diff != 0) + return diff; + + /* Break ties with the opcode. */ + return (((const struct _freq *)p1)->opcode + - ((const struct _freq *)p2)->opcode); +} + + +static int +compare_opcode (const void *p1, const void *p2) +{ + return (((const struct _freq *)p1)->opcode + - ((const struct _freq *)p2)->opcode); +} + + +void +dump_frequency () +{ + int i; + double total_freq; + + total_freq = 0.0; + for (i = 0; i < 65536; i++) + { + frequency[i].opcode = i; + total_freq += frequency[i].freq; + } + qsort (frequency, 65536, sizeof frequency[0], compare_freq); + for (i = 0; i < 65536 && frequency[i].freq != 0; i++) + printf ("0x%04X\t%lu\t%.2f%%\n", (unsigned)frequency[i].opcode, + frequency[i].freq, frequency[i].freq * 100.0 / total_freq); + qsort (frequency, 65536, sizeof frequency[0], compare_opcode); +} + + +void +reset_frequency () +{ + memset (frequency, 0, sizeof frequency); +} + + +#else +#define FREQUENCY(n) +#endif + + +#ifdef SYNCHRONOUS_INTERRUPTS +# define CHECK_FOR_INTERRUPT(pc) \ +do \ +{ \ + if (INTERRUPT_PENDING ()) \ + { \ + syn68k_addr_t __pc; \ + syn68k_addr_t new_addr; \ + \ + __pc = (pc); \ + new_addr = interrupt_process_any_pending (__pc); \ + if (new_addr != (__pc)) \ + { \ + code = code_lookup (new_addr); \ + NEXT_INSTRUCTION (PTR_WORDS); \ + } \ + } \ +} while (0) +#else /* !SYNCHRONOUS_INTERRUPTS */ +# define CHECK_FOR_INTERRUPT(pc) +#endif /* !SYNCHRONOUS_INTERRUPTS */ + + +#ifdef USE_DIRECT_DISPATCH + +#define INSTR_DEBUG_HOLD_SIZE 0 /* DO NOT CHECK IN WITH NON-ZERO VALUE */ + +#if INSTR_DEBUG_HOLD_SIZE > 0 + +#warning "Instructing tracing code in place; expect a performance hit." + +void *instr_debug_addr[INSTR_DEBUG_HOLD_SIZE]; +void *instr_debug_hold[INSTR_DEBUG_HOLD_SIZE]; +int instr_debug_index; + +static void next_instruction_hook(const void *vp) +{ + ++instr_debug_index; + instr_debug_addr[instr_debug_index % INSTR_DEBUG_HOLD_SIZE] = vp; + instr_debug_hold[instr_debug_index % INSTR_DEBUG_HOLD_SIZE] = + * (void **) vp; +} + +#define NEXT_INSTRUCTION_HOOK(n) next_instruction_hook(code + (n) - PTR_WORDS) + +#else + +#define NEXT_INSTRUCTION_HOOK(n) + +#endif + +# define CASE(n) \ +void \ +s68k_handle_opcode_ ## n () \ +{ \ + asm volatile ("\n_S68K_HANDLE_" #n ":"); \ + FREQUENCY (n); +# define CASE_PREAMBLE(name,bits,ms,mns,n) { +extern void s68k_handle_opcode_dummy (void); +# ifdef i386 +# define NEXT_INSTRUCTION(words_to_inc) \ +{ \ + register void *next_code asm ("%edi"); /* Little-used register. */ \ + NEXT_INSTRUCTION_HOOK(words_to_inc); \ + asm volatile ("movl %3,%0\n\t" \ + "addl %4,%1\n\t" \ + "jmp *%0\n" \ + "_S68K_DONE_WITH_THIS:" \ + : "=r" (next_code), "=r" (code) : "1" (code), \ + "g" (*(void **)(code + (words_to_inc) - PTR_WORDS)), \ + "g" (words_to_inc * sizeof (uint16))); \ + s68k_handle_opcode_dummy (); \ +} + +# else /* !i386 */ + +# define NEXT_INSTRUCTION(words_to_inc) \ +{ \ + void *next_code; \ + NEXT_INSTRUCTION_HOOK(words_to_inc); \ + next_code = *(void **)(code + (words_to_inc) - PTR_WORDS); \ + INCREMENT_CODE (words_to_inc); \ + goto *next_code; \ +} +# endif /* !i386 */ +# define CASE_POSTAMBLE(words_to_inc) } NEXT_INSTRUCTION (words_to_inc); } +#else +# define CASE(n) case n: +# define NEXT_INSTRUCTION(ignored) break +# define CASE_PREAMBLE(name,bits,ms,mns,n) { +# define CASE_POSTAMBLE(words_to_inc) } NEXT_INSTRUCTION (words_to_inc); +#endif + + +#if defined(__GNUC__) && !defined(__alpha) && __GNUC__ < 3 +/* Work around poor gcc code generated when adding to a global reg var. */ + +/* NOTE: if we want to use this trick on the alpha, we'll need to cast + v up to 64 bits, first, but this trick may not be needed on + the alpha, so we don't hassle with changes yet */ + +/* NOTE: I hope we don't need this trick with GCC 3 or greater. I certainly + haven't timed the change though. I just put the test for __GNUC__ + in above to get rid of some warnings */ + +# define INCREMENT_CODE(n) (++((typeof (*code) (*)[n])code)) + +/* It seems that gcc is generating poor code for ++'s to memory as well. */ +# define INC_VAR(v, n) ((typeof (v)) ++((char (*)[n])(v))) +# define DEC_VAR(v, n) ((typeof (v)) --((char (*)[n])(v))) +#else +# define INCREMENT_CODE(n) (code += (n)) +# define INC_VAR(v, n) ((v) += (n)) +# define DEC_VAR(v, n) ((v) -= (n)) +#endif + + +/* This macro rounds a size up to some integral multiple of PTR_WORDS. */ +#define ROUND_UP(n) ((((n) + (PTR_WORDS - 1)) / PTR_WORDS) * PTR_WORDS) + + +#if 0 && !defined(GO32) +extern void abort (void); +#endif + + +#ifdef M68K_REGS_IN_ARRAY +# define LOAD_CPU_STATE() +#define SAVE_CPU_STATE() +#else /* !M68K_REGS_IN_ARRAY */ +# define LOAD_CPU_STATE() \ + d0 = cpu_state.regs[0], d1 = cpu_state.regs[1], \ + d2 = cpu_state.regs[2], d3 = cpu_state.regs[3], \ + d4 = cpu_state.regs[4], d5 = cpu_state.regs[5], \ + d6 = cpu_state.regs[6], d7 = cpu_state.regs[7], \ + a0 = cpu_state.regs[8], a1 = cpu_state.regs[9], \ + a2 = cpu_state.regs[10], a3 = cpu_state.regs[11], \ + a4 = cpu_state.regs[12], a5 = cpu_state.regs[13], \ + a6 = cpu_state.regs[14], a7 = cpu_state.regs[15] +#define SAVE_CPU_STATE() \ + cpu_state.regs[0] = d0, cpu_state.regs[1] = d1, \ + cpu_state.regs[2] = d2, cpu_state.regs[3] = d3, \ + cpu_state.regs[4] = d4, cpu_state.regs[5] = d5, \ + cpu_state.regs[6] = d6, cpu_state.regs[7] = d7, \ + cpu_state.regs[8] = a0, cpu_state.regs[9] = a1, \ + cpu_state.regs[10] = a2, cpu_state.regs[11] = a3, \ + cpu_state.regs[12] = a4, cpu_state.regs[13] = a5, \ + cpu_state.regs[14] = a6, cpu_state.regs[15] = a7 +#endif /* !M68K_REGS_IN_ARRAY */ + +#ifdef M68K_REGS_IN_ARRAY +#define GENERAL_REGISTER(n,TYPE) (cpu_state.regs[n] TYPE) +#define DATA_REGISTER(n,TYPE) (cpu_state.regs[n] TYPE) +#define ADDRESS_REGISTER(n,TYPE) (cpu_state.regs[8 + (n)] TYPE) + +/* We use these macros to compensate for gcc brain damage when referencing + * arrays of structs on the i386. + */ +#ifndef offsetof +# define offsetof(s, t) ((int) &((s *) 0)->t) +#endif + +#define GENERAL_REGISTER_SB(reg) \ +(*((int8 *)((int32 *)&cpu_state.regs[0] + (reg)) + offsetof (M68kReg, ub.n))) +#define GENERAL_REGISTER_UB(reg) \ +(*((uint8 *)((int32 *)&cpu_state.regs[0] + (reg)) + offsetof (M68kReg, sb.n))) +#define GENERAL_REGISTER_SW(reg) \ +(*(int16 *)((int8 *)((int32 *)&cpu_state.regs[0] + (reg)) \ + + offsetof (M68kReg, sw.n))) +#define GENERAL_REGISTER_UW(reg) \ +(*(uint16 *)((int8 *)((int32 *)&cpu_state.regs[0] + (reg)) \ + + offsetof (M68kReg, uw.n))) +#define GENERAL_REGISTER_SL(reg) (*((int32 *)&cpu_state.regs[0] + (reg))) +#define GENERAL_REGISTER_UL(reg) (*((uint32 *)&cpu_state.regs[0] + (reg))) + +#define DATA_REGISTER_UB(n) GENERAL_REGISTER_UB (n) +#define DATA_REGISTER_SB(n) GENERAL_REGISTER_SB (n) +#define DATA_REGISTER_UW(n) GENERAL_REGISTER_UW (n) +#define DATA_REGISTER_SW(n) GENERAL_REGISTER_SW (n) +#define DATA_REGISTER_UL(n) GENERAL_REGISTER_UL (n) +#define DATA_REGISTER_SL(n) GENERAL_REGISTER_SL (n) + +#define ADDRESS_REGISTER_UB(n) GENERAL_REGISTER_UB ((n) + 8) +#define ADDRESS_REGISTER_SB(n) GENERAL_REGISTER_SB ((n) + 8) +#define ADDRESS_REGISTER_UW(n) GENERAL_REGISTER_UW ((n) + 8) +#define ADDRESS_REGISTER_SW(n) GENERAL_REGISTER_SW ((n) + 8) +#define ADDRESS_REGISTER_UL(n) GENERAL_REGISTER_UL ((n) + 8) +#define ADDRESS_REGISTER_SL(n) GENERAL_REGISTER_SL ((n) + 8) + +#else +# define GENERAL_REGISTER(n,TYPE) \ + ((n) >= 8 ? ADDRESS_REGISTER ((n) - 8, TYPE) : DATA_REGISTER (n, TYPE)) +# ifdef __GNUC__ +# define DATA_REGISTER(n,TYPE) \ + ({ int _tmp = (n); \ + (((_tmp) > 3) \ + ? (((_tmp) > 5) \ + ? (((_tmp) > 6) ? d7 TYPE : d6 TYPE) \ + : (((_tmp) < 5) ? d4 TYPE : d5 TYPE)) \ + : (((_tmp) > 1) \ + ? (((_tmp) > 2) ? d3 TYPE : d2 TYPE) \ + : (((_tmp) < 1) ? d0 TYPE : d1 TYPE))); }) +# define ADDRESS_REGISTER(n,TYPE) \ + ({ int _tmp = (n); \ + (((_tmp) > 3) \ + ? (((_tmp) > 5) \ + ? (((_tmp) > 6) ? a7 TYPE : a6 TYPE) \ + : (((_tmp) < 5) ? a4 TYPE : a5 TYPE)) \ + : (((_tmp) > 1) \ + ? (((_tmp) > 2) ? a3 TYPE : a2 TYPE) \ + : (((_tmp) < 1) ? a0 TYPE : a1 TYPE))); }) + +# else /* Not M68K_REGS_IN_ARRAY and Not __GNUC__ */ + +# define DATA_REGISTER(n,TYPE) \ + (((n) > 3) \ + ? (((n) > 5) \ + ? (((n) > 6) ? d7 TYPE : d6 TYPE) \ + : (((n) < 5) ? d4 TYPE : d5 TYPE)) \ + : (((n) > 1) \ + ? (((n) > 2) ? d3 TYPE : d2 TYPE) \ + : (((n) < 1) ? d0 TYPE : d1 TYPE))) + +# define ADDRESS_REGISTER(n,TYPE) \ + (((n) > 3) \ + ? (((n) > 5) \ + ? (((n) > 6) ? a7 TYPE : a6 TYPE) \ + : (((n) < 5) ? a4 TYPE : a5 TYPE)) \ + : (((n) > 1) \ + ? (((n) > 2) ? a3 TYPE : a2 TYPE) \ + : (((n) < 1) ? a0 TYPE : a1 TYPE))) + +# endif /* Not __GNUC__ */ +#endif /* Not M68K_REGS_IN_ARRAY */ + +#ifdef M68K_REGS_IN_ARRAY +typedef struct { + uint32 reg; /* Could make these uint8/int8, but that requires */ + int32 delta; /* movzbl/movsbl, which are slow and non-pairable. */ +} AmodeCleanupInfo; +#endif + + +static const uint8 neg_bcd_table[16] = { + 0x9A, -6, -6, -6, -6, -6, -6, -6, -6, -6, 0xFA, -6, -6, -6, -6, -6 +}; +#define NEGBCD_TABLE(n) neg_bcd_table[n] + + +#ifdef M68K_REGS_IN_ARRAY + static const AmodeCleanupInfo amode_cleanup_info[3][64] = { + { {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {8, 1}, {9, 1}, {10, 1},{11, 1},{12, 1},{13, 1},{14, 1},{15, 2}, + {8,-1}, {9,-1}, {10,-1},{11,-1},{12,-1},{13,-1},{14,-1},{15,-2}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0} }, + { {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {8, 2}, {9, 2}, {10, 2},{11, 2},{12, 2},{13, 2},{14, 2},{15,2}, + {8,-2}, {9,-2}, {10,-2},{11,-2},{12,-2},{13,-2},{14,-2},{15,-2}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0} }, + { {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {8, 4}, {9, 4}, {10, 4},{11, 4},{12, 4},{13, 4},{14, 4},{15, 4}, + {8,-4}, {9,-4}, {10,-4},{11,-4},{12,-4},{13,-4},{14,-4},{15,-4}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0} } + }; +#endif + + +#if defined (__GNUC__) && __GNUC__ > 2 +# define NOINLINE __attribute__((noinline)) +#else +# define NOINLINE +#endif + +static void threaded_gateway (void) NOINLINE; + + +void +interpret_code (const uint16 *start_code) +{ + jmp_buf setjmp_buf; + char *saved_amode_p, *saved_reversed_amode_p; /* Used in interpreter. */ + jmp_buf *saved_setjmp_buf; + const uint16 *saved_code; +#if defined (i386) && !defined (__CHECKER__) + CPUState *saved_cpu_state_ptr; +#endif +#ifdef USE_BIOS_TIMER + volatile uint16 saved_fs; +#endif + +/* #define CODE_HISTORY 10 */ +#if defined(CODE_HISTORY) + uint16 lastcodes[CODE_HISTORY]; + uint16 *lastcodeps[CODE_HISTORY]; +#endif + +#ifndef M68K_REGS_IN_ARRAY +#error "Regs need to be in an array; this is totally broken right now." +#endif + +#define d0 cpu_state.regs[0] +#define d1 cpu_state.regs[1] +#define d2 cpu_state.regs[2] +#define d3 cpu_state.regs[3] +#define d4 cpu_state.regs[4] +#define d5 cpu_state.regs[5] +#define d6 cpu_state.regs[6] +#define d7 cpu_state.regs[7] +#define a0 cpu_state.regs[8] +#define a1 cpu_state.regs[9] +#define a2 cpu_state.regs[10] +#define a3 cpu_state.regs[11] +#define a4 cpu_state.regs[12] +#define a5 cpu_state.regs[13] +#define a6 cpu_state.regs[14] +#define a7 cpu_state.regs[15] + + /* Save stuff so we are reentrant and don't smash registers illegally. */ +#if defined (i386) && !defined (__CHECKER__) + saved_cpu_state_ptr = cpu_state_ptr; + cpu_state_ptr = &cpu_state; +#define cpu_state (*cpu_state_ptr) /* To provide more concise code. */ +#endif + saved_amode_p = cpu_state.amode_p; + saved_reversed_amode_p = cpu_state.reversed_amode_p; + saved_setjmp_buf = cpu_state.setjmp_buf; + saved_code = code; + +#ifdef USE_BIOS_TIMER + asm volatile ("movw %%fs,%0\n\t" + "movw %1,%%fs" + : "=m" (saved_fs) + : "g" (dos_memory_selector)); +#endif /* USE_BIOS_TIMER */ + + /* Note that we are currently busy. */ + ++emulation_depth; + + /* Grab all information from the CPUState. */ + LOAD_CPU_STATE (); + + code = start_code; + + /* Skip over various hacks. */ + goto main_loop; + +#ifndef M68K_REGS_IN_ARRAY + cleanup_amode_for_size_1: + switch (amode) { + case 24: a0.ul.n += 1; break; + case 25: a1.ul.n += 1; break; + case 26: a2.ul.n += 1; break; + case 27: a3.ul.n += 1; break; + case 28: a4.ul.n += 1; break; + case 29: a5.ul.n += 1; break; + case 30: a6.ul.n += 1; break; + case 31: a7.ul.n += 2; break; + case 32: a0.ul.n -= 1; break; + case 33: a1.ul.n -= 1; break; + case 34: a2.ul.n -= 1; break; + case 35: a3.ul.n -= 1; break; + case 36: a4.ul.n -= 1; break; + case 37: a5.ul.n -= 1; break; + case 38: a6.ul.n -= 1; break; + case 39: a7.ul.n -= 2; break; + } + goto main_loop; + + cleanup_amode_for_size_2: + switch (amode) { + case 24: a0.ul.n += 2; break; + case 25: a1.ul.n += 2; break; + case 26: a2.ul.n += 2; break; + case 27: a3.ul.n += 2; break; + case 28: a4.ul.n += 2; break; + case 29: a5.ul.n += 2; break; + case 30: a6.ul.n += 2; break; + case 31: a7.ul.n += 2; break; + case 32: a0.ul.n -= 2; break; + case 33: a1.ul.n -= 2; break; + case 34: a2.ul.n -= 2; break; + case 35: a3.ul.n -= 2; break; + case 36: a4.ul.n -= 2; break; + case 37: a5.ul.n -= 2; break; + case 38: a6.ul.n -= 2; break; + case 39: a7.ul.n -= 2; break; + } + goto main_loop; + + cleanup_amode_for_size_4: + switch (amode) { + case 24: a0.ul.n += 4; break; + case 25: a1.ul.n += 4; break; + case 26: a2.ul.n += 4; break; + case 27: a3.ul.n += 4; break; + case 28: a4.ul.n += 4; break; + case 29: a5.ul.n += 4; break; + case 30: a6.ul.n += 4; break; + case 31: a7.ul.n += 4; break; + case 32: a0.ul.n -= 4; break; + case 33: a1.ul.n -= 4; break; + case 34: a2.ul.n -= 4; break; + case 35: a3.ul.n -= 4; break; + case 36: a4.ul.n -= 4; break; + case 37: a5.ul.n -= 4; break; + case 38: a6.ul.n -= 4; break; + case 39: a7.ul.n -= 4; break; + } + goto main_loop; + +#define CLEANUP_AMODE(mode, size) goto cleanup_amode_for_size_ ## size +#else /* M68K_REGS_IN_ARRAY */ + +/* We use ugly, idiotic code here to compensate for gcc 2.6.0 brain damage + * when referencing arrays of structs on the i386. + */ +#define CLEANUP_REG(mode, ix) \ + (*(uint32 *) ((int8 *) &amode_cleanup_info[ix][0] \ + + (sizeof amode_cleanup_info[0][0] * (mode)) \ + + offsetof (AmodeCleanupInfo, reg))) +#define CLEANUP_DELTA(mode, ix) \ + (*(int32 *) ((int8 *) &amode_cleanup_info[ix][0] \ + + (sizeof amode_cleanup_info[0][0] * (mode)) \ + + offsetof (AmodeCleanupInfo, delta))) +#define CLEANUP_AMODE(mode, size) \ + { \ + /* C compiler should do good things here since "size" is a constant. */ \ + if ((size) == 1) \ + GENERAL_REGISTER_SL (CLEANUP_REG (mode, 0)) \ + += CLEANUP_DELTA (mode, 0); \ + else if ((size) == 2) \ + GENERAL_REGISTER_SL (CLEANUP_REG (mode, 1)) \ + += CLEANUP_DELTA (mode, 1); \ + else \ + GENERAL_REGISTER_SL (CLEANUP_REG (mode, 2)) \ + += CLEANUP_DELTA (mode, 2); \ + } +#endif + + /* Extract out increment of code and put it before the loop; this + * should save some memory as arms of the switch that used to increment + * this and branch back to the top can now just branch back to the top. + * Will probably also help instruction cache hits. Falls through to + * the main loop... + */ + main_loop: +#ifdef USE_DIRECT_DISPATCH + cpu_state.setjmp_buf = &setjmp_buf; + if (!setjmp (setjmp_buf)) + threaded_gateway (); + + SAVE_CPU_STATE (); + + /* Restore stuff so (for reentrancy). */ + cpu_state.amode_p = saved_amode_p; + cpu_state.reversed_amode_p = saved_reversed_amode_p; + cpu_state.setjmp_buf = saved_setjmp_buf; + code = saved_code; + +#ifdef USE_BIOS_TIMER + asm volatile ("movw %0,%%fs" + : : "m" (saved_fs)); +#endif + +#if defined (i386) && !defined (__CHECKER__) + cpu_state_ptr = saved_cpu_state_ptr; +#endif +} +#else + + while (1) + { + /* This can't be used with USE_DIRECT_DISPATCH enabled. */ +#if defined(CODE_HISTORY) + memmove(lastcodes +1, lastcodes , + sizeof(lastcodes ) - sizeof(lastcodes [0])); + memmove(lastcodeps+1, lastcodeps, + sizeof(lastcodeps) - sizeof(lastcodeps[0])); + lastcodes [0] = (int) *(void **)code; + lastcodeps[0] = code; +#endif + + switch ((int) *(((void **)code)++)) + { +#endif + +#ifndef USE_DIRECT_DISPATCH + /* Default to printing error message. */ + default: + fprintf (stderr, "Internal error: unknown synthetic opcode 0x%04X; " + "code = %p\n", (unsigned) (((void **) code)[-1]), + (void *) code); + abort (); + break; +#endif /* !USE_DIRECT_DISPATCH */ + + /* Reserved - exit emulator. */ + CASE (0x0000) + CASE_PREAMBLE ("Reserved - exit emulator", "", "", "", "") +#ifdef USE_DIRECT_DISPATCH + --emulation_depth; + assert (emulation_depth >= 0); + longjmp (*cpu_state.setjmp_buf, 1); +#else + SAVE_CPU_STATE (); + /* Restore stuff (for reentrancy). */ + cpu_state.amode_p = saved_amode_p; + cpu_state.reversed_amode_p = saved_reversed_amode_p; + cpu_state.setjmp_buf = saved_setjmp_buf; + code = saved_code; + --emulation_depth; + assert (emulation_depth >= 0); + return; +#endif + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS)); + + /* Reserved - one word NOP. */ + CASE (0x0001) +#ifdef GENERATE_NATIVE_CODE + CASE_PREAMBLE ("Reserved: skip native preamble NOP", "", "", "", "") +#ifdef SYNCHRONOUS_INTERRUPTS + { + /* Each block's code is prefaced by its address in big + * endian order. Since we know we're at the beginning of + * a block, we can check for the interrupt here. + */ +#if !defined (__alpha) /* FIXME -- TODO -- just use __alpha case for everyone */ + syn68k_addr_t addr = READUL (US_TO_SYN68K (code - PTR_WORDS - PTR_WORDS)); +#else + syn68k_addr_t addr = READUL_US (code - PTR_WORDS - PTR_WORDS); +#endif + CHECK_FOR_INTERRUPT (addr); + } +#endif /* SYNCHRONOUS_INTERRUPTS */ + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + PTR_WORDS + + NATIVE_PREAMBLE_WORDS)); +#else /* !GENERATE_NATIVE_CODE */ + /* Historical cruft. */ + CASE_PREAMBLE ("Reserved: 1 word NOP", "", "", "", "") + abort (); + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 1)); +#endif /* !GENERATE_NATIVE_CODE */ + + /* Reserved - two word NOP. */ + CASE (0x0002) + /* Historical cruft. */ + CASE_PREAMBLE ("Reserved: 2 word NOP", "", "", "", "") + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 1)); + + /* Reserved - skip stub NOP. */ + CASE (0x0003) +#ifdef GENERATE_NATIVE_CODE + CASE_PREAMBLE ("Reserved: count block freq NOP", "", "", "", "") + { + Block *b = *((Block **)code); + if (b != NULL) + { + syn68k_addr_t addr = b->m68k_start_address; + + CHECK_FOR_INTERRUPT (addr); + + if (native_code_p + && ++b->num_times_called >= RECOMPILE_CUTOFF + && emulation_depth == 1) + { + recompile_block_as_native (b); + code = (hash_lookup_code_and_create_if_needed (addr) + /* Compensate for the add we do below. */ + - ROUND_UP (PTR_WORDS + PTR_WORDS + + NATIVE_PREAMBLE_WORDS) + + OPCODE_WORDS); + } + } + } + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + PTR_WORDS + + NATIVE_PREAMBLE_WORDS)); +#else /* !GENERATE_NATIVE_CODE */ + /* Historical cruft. */ + CASE_PREAMBLE ("Reserved: 3 word NOP", "", "", "", "") + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 2)); +#endif /* !GENERATE_NATIVE_CODE */ + +#define AMODE_2_3(casenum, reg, p) \ + CASE (casenum) \ + CASE_PREAMBLE ("Reserved - compute " #p " for mode == 2/3, reg == " \ + #reg, "", "", "", "") \ + p = (char *) SYN68K_TO_US (CLEAN (reg)); \ + IFDEBUG (printf ("\t" #p " == %p\n", p)); \ + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS)) + + AMODE_2_3 (0x0004, a0.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x0005, a1.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x0006, a2.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x0007, a3.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x0008, a4.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x0009, a5.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x000A, a6.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x000B, a7.ul.n, cpu_state.amode_p); + AMODE_2_3 (0x000C, a0.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x000D, a1.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x000E, a2.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x000F, a3.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x0010, a4.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x0011, a5.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x0012, a6.ul.n, cpu_state.reversed_amode_p); + AMODE_2_3 (0x0013, a7.ul.n, cpu_state.reversed_amode_p); + +#undef AMODE_2_3 +#define AMODE_4(casenum, reg, size, p) \ + CASE (casenum) \ + CASE_PREAMBLE ("Reserved - compute " #p " for mode == 4, reg == " \ + #reg ", size == " #size, "", "", "", "") \ + p = (char *) SYN68K_TO_US (CLEAN (reg - size)); \ + IFDEBUG (printf ("\t" #p " == %p\n", p)); \ + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS)) + + AMODE_4 (0x0014, a0.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x0015, a1.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x0016, a2.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x0017, a3.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x0018, a4.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x0019, a5.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x001A, a6.ul.n, 1, cpu_state.amode_p); + AMODE_4 (0x001B, a7.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x001C, a0.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x001D, a1.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x001E, a2.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x001F, a3.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x0020, a4.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x0021, a5.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x0022, a6.ul.n, 1, cpu_state.reversed_amode_p); + AMODE_4 (0x0023, a7.ul.n, 2, cpu_state.reversed_amode_p); + + AMODE_4 (0x0024, a0.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x0025, a1.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x0026, a2.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x0027, a3.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x0028, a4.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x0029, a5.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x002A, a6.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x002B, a7.ul.n, 2, cpu_state.amode_p); + AMODE_4 (0x002C, a0.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x002D, a1.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x002E, a2.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x002F, a3.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x0030, a4.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x0031, a5.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x0032, a6.ul.n, 2, cpu_state.reversed_amode_p); + AMODE_4 (0x0033, a7.ul.n, 2, cpu_state.reversed_amode_p); + + AMODE_4 (0x0034, a0.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x0035, a1.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x0036, a2.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x0037, a3.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x0038, a4.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x0039, a5.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x003A, a6.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x003B, a7.ul.n, 4, cpu_state.amode_p); + AMODE_4 (0x003C, a0.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x003D, a1.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x003E, a2.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x003F, a3.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x0040, a4.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x0041, a5.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x0042, a6.ul.n, 4, cpu_state.reversed_amode_p); + AMODE_4 (0x0043, a7.ul.n, 4, cpu_state.reversed_amode_p); + +#undef AMODE_4 +#define AMODE_5(casenum, reg, p) \ + CASE (casenum) \ + CASE_PREAMBLE ("Reserved - compute " #p " for mode == 5, "\ + "reg == " #reg, "", "", "", "") \ + p = (char *) SYN68K_TO_US (CLEAN (reg + (*(int32 *)code))); \ + IFDEBUG (printf ("\t" #p " == %p\n", p)); \ + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 2)) + + AMODE_5 (0x0044, a0.ul.n, cpu_state.amode_p); + AMODE_5 (0x0045, a1.ul.n, cpu_state.amode_p); + AMODE_5 (0x0046, a2.ul.n, cpu_state.amode_p); + AMODE_5 (0x0047, a3.ul.n, cpu_state.amode_p); + AMODE_5 (0x0048, a4.ul.n, cpu_state.amode_p); + AMODE_5 (0x0049, a5.ul.n, cpu_state.amode_p); + AMODE_5 (0x004A, a6.ul.n, cpu_state.amode_p); + AMODE_5 (0x004B, a7.ul.n, cpu_state.amode_p); + AMODE_5 (0x004C, a0.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x004D, a1.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x004E, a2.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x004F, a3.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x0050, a4.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x0051, a5.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x0052, a6.ul.n, cpu_state.reversed_amode_p); + AMODE_5 (0x0053, a7.ul.n, cpu_state.reversed_amode_p); + +#undef AMODE_5 + + CASE (0x0054) + CASE_PREAMBLE ("Reserved - compute cpu_state.amode_p for (xxx).W", + "", "", "", "") + cpu_state.amode_p = (char *) SYN68K_TO_US (CLEAN (*(int32 *)code)); +#ifdef DEBUG + printf ("\tcpu_state.amode_p = %p\n", (void *) cpu_state.amode_p); +#endif + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 2)); + + CASE (0x0055) + CASE_PREAMBLE ("Reserved - compute cpu_state.reversed_amode_p for (xxx).W", + "", "", "", "") + cpu_state.reversed_amode_p = (char *) SYN68K_TO_US (CLEAN (*(int32 *)code)); +#ifdef DEBUG + printf ("\tcpu_state.reversed_amode_p = %p\n", (void *) cpu_state.reversed_amode_p); +#endif + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 2)); + + CASE (0x0056) + CASE_PREAMBLE ("Reserved - compute cpu_state.amode_p for (xxx).L", + "", "", "", "") + cpu_state.amode_p = (char *) *(signed char **)code; +#ifdef DEBUG + printf ("\tcpu_state.amode_p = %p\n", (void *) cpu_state.amode_p); +#endif + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + PTR_WORDS)); + + CASE (0x0057) + CASE_PREAMBLE ("Reserved - compute cpu_state.reversed_amode_p for (xxx).L", + "", "", "", "") + cpu_state.reversed_amode_p = (char *) *(signed char **)code; +#ifdef DEBUG + printf ("\tcpu_state.reversed_amode_p = %p\n", + (void *) cpu_state.reversed_amode_p); +#endif + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + PTR_WORDS)); + +#define AMODE_6_SIMPLE(casenum, areg, ixreg, size, p) \ + CASE (casenum) \ + CASE_PREAMBLE ("Reserved - compute " #p " for mode == 6, areg == " \ + #areg ", ixreg == " #ixreg, "", "", "", "") \ + p = (char *) (CLEAN ((areg) + (((int32) (ixreg)) << \ + *(uint32 *)(code + PTR_WORDS + 2)) \ + + *(signed char **)code)); \ + IFDEBUG (printf ("\t" #p " = %p\n", (void *) p)); \ + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + (size))) + +#define ALL_AREG_AMODE_6_SIMPLE(base0, base1, base2, base3, \ + base4, base5, base6, base7, \ + base8, base9, base10, base11, \ + base12, base13, base14, base15, \ + base16, base17, ixreg, size) \ + AMODE_6_SIMPLE (base0, a0.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base1, a1.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base2, a2.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base3, a3.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base4, a4.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base5, a5.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base6, a6.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base7, a7.ul.n, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base8, 0, ixreg, size, cpu_state.amode_p); \ + AMODE_6_SIMPLE (base9, a0.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base10, a1.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base11, a2.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base12, a3.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base13, a4.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base14, a5.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base15, a6.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base16, a7.ul.n, ixreg, size, \ + cpu_state.reversed_amode_p); \ + AMODE_6_SIMPLE (base17, 0, ixreg, size, \ + cpu_state.reversed_amode_p) + + /* Actual case statements. */ + ALL_AREG_AMODE_6_SIMPLE (0x0058, 0x0059, 0x005A, 0x005B, 0x005C, + 0x005D, 0x005E, 0x005F, 0x0060, 0x0061, + 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, + 0x0067, 0x0068, 0x0069, + DATA_REGISTER_SW (*(uint32 *)(code + + PTR_WORDS)), + 4 + PTR_WORDS); + ALL_AREG_AMODE_6_SIMPLE (0x006A, 0x006B, 0x006C, 0x006D, 0x006E, + 0x006F, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007A, 0x007B, + ADDRESS_REGISTER_SW (*(uint32 *)(code + + PTR_WORDS)), + 4 + PTR_WORDS); + ALL_AREG_AMODE_6_SIMPLE (0x007C, 0x007D, 0x007E, 0x007F, 0x0080, + 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, + 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, + 0x008B, 0x008C, 0x008D, + DATA_REGISTER_UL (*(uint32 *)(code + PTR_WORDS)), + 4 + PTR_WORDS); + ALL_AREG_AMODE_6_SIMPLE (0x008E, 0x008F, 0x0090, 0x0091, 0x0092, + 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, + 0x009D, 0x009E, 0x009F, + ADDRESS_REGISTER_UL (*(uint32 *)(code + + PTR_WORDS)), + 4 + PTR_WORDS); + ALL_AREG_AMODE_6_SIMPLE (0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, + 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, + 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, + 0x00AF, 0x00B0, 0x00B1, + 0, PTR_WORDS);/* ixreg suppressed */ + +#undef ALL_AREG_AMODE_6_SIMPLE +#undef AMODE_6_SIMPLE + + /* These addressing modes (memory indirect pre- and post-indexed) + * are ridiculous so I don't care about performance. There is only + * one case for all variants of this addressing mode, and only one + * variant for amode_p and reversed_amode_p. It wouldn't be difficult + * to speed this up by expanding out this case and doing more work at + * translation time. + */ + CASE (0x00B2) + CASE_PREAMBLE ("Reserved - compute [reversed_]amode_p for memory " + "indirect pre/post-indexed", "", "", "", "") + int32 base_displacement, outer_displacement; + uint32 flags = *(uint32 *)(code + 4); + uint32 areg = ((flags & 0x80) ? 0 + : ADDRESS_REGISTER_UL (*(uint32 *)(code + 6))); + int32 index; + char *temp; + + if (flags & 0x40) /* Index suppress? */ + index = 0; + else + { + if (flags & (1 << 11)) + index = GENERAL_REGISTER_SL (flags >> 12); + else + index = GENERAL_REGISTER_SW (flags >> 12); + index <<= (flags >> 9) & 3; + } + + base_displacement = ((int32 *)code)[0]; + outer_displacement = ((int32 *)code)[1]; + + if (flags & 2) + temp = (char *) SYN68K_TO_US (READSL (areg + base_displacement + + index) + + outer_displacement); + else + temp = (char *) SYN68K_TO_US (READSL (areg + base_displacement) + + index + outer_displacement); + + if (flags & 1) + { + cpu_state.reversed_amode_p = temp; +#ifdef DEBUG + printf ("\tcpu_state.reversed_amode_p = %p\n", + (void *) reversed_amode_p); +#endif + } + else + { + cpu_state.amode_p = temp; +#ifdef DEBUG + printf ("\tcpu_state.amode_p = %p\n", (void *) cpu_state.amode_p); +#endif + } + + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS + 8)); + + CASE (0x00B3) + CASE_PREAMBLE ("Reserved - callback", "", "", "", "") + SAVE_CPU_STATE (); + code = code_lookup ((*((uint32 (**)(uint32, void *)) code)) + (*(uint32 *)(code + PTR_WORDS + PTR_WORDS), + *(void **)(code + PTR_WORDS))); + LOAD_CPU_STATE (); + RESTORE_FS (); + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS)); + + CASE (0x00B4) + CASE_PREAMBLE ("Reserved - fast jsr", "", "", "", "") + unsigned ix; + jsr_stack_elt_t *j; + syn68k_addr_t retaddr; + + ix = ((cpu_state.jsr_stack_byte_index - sizeof (jsr_stack_elt_t)) + % sizeof (cpu_state.jsr_stack)); + cpu_state.jsr_stack_byte_index = ix; + /* Note: retaddr is in big-endian byte order. */ + retaddr = *(const uint32 *)(code + PTR_WORDS + PTR_WORDS); + j = (jsr_stack_elt_t *)((char *)&cpu_state.jsr_stack + ix); + j->tag = retaddr; + j->code = *(const uint16 **)(code + PTR_WORDS); + code = *(const uint16 **)code; + a7.ul.n -= 4; + WRITEUL_UNSWAPPED (SYN68K_TO_US (CLEAN (a7.ul.n)), retaddr); + CASE_POSTAMBLE (ROUND_UP (PTR_WORDS)); + diff --git a/runtime/translate.c b/runtime/translate.c new file mode 100644 index 0000000..4aada9d --- /dev/null +++ b/runtime/translate.c @@ -0,0 +1,1279 @@ +#include "syn68k_private.h" +#include "block.h" +#include "mapping.h" +#include "rangetree.h" +#include "translate.h" +#include "alloc.h" +#include "blockinfo.h" +#include "hash.h" +#include "diagnostics.h" +#include "destroyblock.h" +#include "callback.h" +#include "deathqueue.h" +#include "checksum.h" +#include "native.h" +#include +#include +#include +#include +#include "safe_alloca.h" + +/* If != NULL, we call this function periodically while we are busy. We + * pass it a 1 if we are busy, and a 0 when we are done. + */ +void (*call_while_busy_func)(int); + +#ifdef GENERATE_NATIVE_CODE +/* Boolean: generate native code? */ +int native_code_p; +#else +#define native_code_p FALSE +#endif + +/* This keeps track of how nested our executions have gotten. We don't + * want to recompile code if we're nested, since that might involve + * destroying code being run by the interrupted task. + */ +int emulation_depth = 0; + + +static void compute_child_code_pointers (Block *b); +static void generate_code (Block *b, TempBlockInfo *tbi +/* #ifdef GENERATE_NATIVE_CODE */ + , BOOL try_native_p +/* #endif */ /* GENERATE_NATIVE_CODE */ + ); +static int translate_instruction (const uint16 *m68k_code, + uint16 *synthetic_code, + const OpcodeMappingInfo *map, + int ccbits_live, + int ccbits_to_compute, + AmodeFetchInfo amf[2], + const TempBlockInfo *tbi, + Block *block, + int32 *backpatch_request_index +#ifdef GENERATE_NATIVE_CODE + , cache_info_t *cache_info, + BOOL *prev_native_p, BOOL try_native_p +#endif + ); +static int generate_amode_fetch (uint16 *scode, const uint16 *m68koperand, + int amode, BOOL reversed, int size); + +typedef struct +{ + const OpcodeMappingInfo *map; + int live_cc; +} MapAndCC; + +static void compute_maps_and_ccs (Block *b, MapAndCC *m, + const TempBlockInfo *tbi); + + +/* Compiles a block at a specified address and returns a mask indicating + * which cc bits must be valid on entry to this block. The block is placed + * in the hashtable and the rangetree. The block just created is + * returned by reference in *new. If a block already exists at the specified + * address, a new block is not created; cc bit information from the already + * existing block is returned. + */ +int +generate_block (Block *parent, uint32 m68k_address, Block **new +/* #ifdef GENERATE_NATIVE_CODE */ + , BOOL try_native_p +/* #endif */ /* GENERATE_NATIVE_CODE */ + ) +{ + Block *b, *old_block; + TempBlockInfo tbi; + int cc_needed_by_this_block, cc_needed_by_children; + int i; + + /* Call a user-defined function periodically while doing stuff. */ + if (call_while_busy_func != NULL) + call_while_busy_func (1); + + /* If a block already exists there, just return its info. */ + old_block = hash_lookup (m68k_address); + if (old_block != NULL) + { + *new = old_block; + if (parent != NULL) + block_add_parent (old_block, parent); + return old_block->cc_needed; + } + + /* See if this is really a magical callback address; if so, compile + * it as such. + */ + if (IS_CALLBACK (m68k_address)) + { + int tmp_cc = callback_compile (parent, m68k_address, new); + if (*new != NULL) + return tmp_cc; + } + + /* Create an entirely new block & gather info about it. */ + b = *new = block_new (); + + compute_block_info (b, SYN68K_TO_US (m68k_address), &tbi); + if (parent != NULL) + block_add_parent (b, parent); + + /* Temporarily, additionally demand that all cc bits we might not set + * be valid on entry into this block. We'll get a better idea what + * bits need to be set, but we need to assume the worst for this recursion. + */ + cc_needed_by_this_block = b->cc_needed; + b->cc_needed |= b->cc_may_not_set; + + /* Add this block to the universe of blocks. */ + hash_insert (b); + range_tree_insert (b); + + /* Generate all child blocks & determine what cc bits they need. If this + * block has itself as a child, we ignore what cc bits it needs (since + * it needs exactly what we are now computing and can't add any new bits). + * Hopefully this should help tight loops compute fewer cc bits. + */ + b->num_children = tbi.num_child_blocks; + if (tbi.num_child_blocks == 0) /* No children -> next_block_dynamic. */ + cc_needed_by_children = ALL_CCS; + else + for (i = 0, cc_needed_by_children = 0; i < b->num_children; i++) + { + if (tbi.child[i] != m68k_address) + cc_needed_by_children |= generate_block (b, US_TO_SYN68K (tbi.child[i]), + &b->child[i], + try_native_p); + else + { + block_add_parent (b, b); + b->child[i] = b; + } + } + + /* Compute exactly what cc bits must be valid on block entry. */ + b->cc_needed = (cc_needed_by_this_block + | (cc_needed_by_children & b->cc_may_not_set)); + + /* Generate code for this block. */ + generate_code (b, &tbi, + native_code_p && (try_native_p || emulation_depth != 1)); + + /* Free up the scratch memory for tbi. */ + free (tbi.next_instr_offset); + + /* Finally, fill in all pointers, offsets, etc. to our children's code. */ + compute_child_code_pointers (b); + + /* Add this block to the end of the death queue. */ + death_queue_enqueue (b); + + return b->cc_needed; +} + + +/* This function fills in the synthetic operands that point to subsequent + * blocks with pointers to the compiled code in the child blocks. Because + * we have to compile loops, it may not always be possible to get the + * desired information about the child. However, we are guaranteed that + * when that child _does_ get filled in, it will recurse back to us + * and we'll get our child code pointers filled in then. + */ +static void +compute_child_code_pointers (Block *b) +{ + int i; + backpatch_t *p, *next; + + /* Loop over all of our backpatches and fill in what we can. */ + for (p = b->backpatch; p != NULL; p = next) + { + next = p->next; + if (p->target == NULL || p->target->compiled_code != NULL) + backpatch_apply_and_free (b, p); + } + + /* Only recurse on those parents interested in our new code location. */ + for (i = b->num_parents - 1; i >= 0; i--) + { + for (p = b->parent[i]->backpatch; p != NULL; p = p->next) + if (p->target == b) + break; + + /* Is this parent block still interested in where our code ended up? */ + if (p != NULL) + compute_child_code_pointers (b->parent[i]); + } +} + + +#ifdef GENERATE_NATIVE_CODE +/* We use these to keep track of where we need to backpatch transitions + * from native to synthetic code. + */ +typedef struct +{ + unsigned long stub_offset; + unsigned long synth_offset; +} ntos_cleanup_t; +#endif /* GENERATE_NATIVE_CODE */ + + +/* The function generates the synthetic code for a given block. It does + * not fill in the pointers to the code in subsequent blocks (if they + * are even known at translation time). + */ +static void +generate_code (Block *b, TempBlockInfo *tbi, BOOL try_native_p) +{ + const uint16 *m68k_code; + AmodeFetchInfo amf[2]; + uint8 *code; + int i; + MapAndCC *map_and_cc; + unsigned long max_code_bytes, num_code_bytes; + uint32 instr_code[256]; /* Space for one instruction. */ +#ifdef GENERATE_NATIVE_CODE + cache_info_t cache_info; + BOOL prev_native_p; + ntos_cleanup_t *ntos_cleanup; + int num_ntos_cleanup; +#ifdef SYNCHRONOUS_INTERRUPTS + int check_int_stub_offset = -1; +#endif +#endif /* GENERATE_NATIVE_CODE */ + SAFE_DECL(); + + instr_code[(sizeof instr_code / sizeof instr_code[0]) - 1] = 0xFEEBFADE; + +#ifdef GENERATE_NATIVE_CODE + /* Set up appropriate stuff for generating native code. */ + cache_info = empty_cache_info; + + ntos_cleanup = SAFE_alloca ((tbi->num_68k_instrs + 2) + * sizeof ntos_cleanup[0]); + num_ntos_cleanup = 0; +#endif + + /* Allocate space for code. We'll skip over PTR_BYTES because that + * space is reserved. + */ + max_code_bytes = (tbi->num_68k_instrs * 32 + 512); + code = (uint8 *) xmalloc (PTR_BYTES + max_code_bytes) + PTR_BYTES; + num_code_bytes = 0; + + /* Start with no backpatches. */ + b->backpatch = NULL; + + /* Compute exactly which cc bits and OpcodeMappingInfo *'s we should + * use for each m68k instruction in this block. + */ + map_and_cc = (MapAndCC *) SAFE_alloca ((tbi->num_68k_instrs + 1) + * sizeof map_and_cc[0]); + compute_maps_and_ccs (b, map_and_cc, tbi); + +#ifdef GENERATE_NATIVE_CODE + /* Output the block preamble. We have separate entry points for + * incoming native code and incoming synthetic code. Why? Incoming + * native code will not have bothered to update the synthetic PC, and + * it shouldn't until we actually hit a synthetic opcode. + * + * The block preamble looks like this: + * [OPCODE_WORDS] synthetic opcode + * [] native code + * + * If the first m68k instruction in the block was translated to native + * code, the synthetic opcode will point to the native code (which + * follows it immediately). The native code will correspond to that + * m68k instruction. + * + * If the first m68k instruction was translated as synthetic code, + * the synthetic opcode will be a "skip n words" NOP which skips over + * the native code stub. The native code will properly set up the + * synthetic PC and then start executing the synthetic code, which + * will immediately follow the native code. + */ + + /* Write out the default preamble. */ + if (try_native_p) + { + *(const void **)&code[0] = direct_dispatch_table[0x1]; + *(Block **)&code[sizeof (const void *)] = NULL; + } + else + { + *(const void **)&code[0] = direct_dispatch_table[0x3]; + *(Block **)&code[sizeof (const void *)] = b; + } + num_code_bytes += NATIVE_START_BYTE_OFFSET; + + /* No need to write out the native code preamble here; this will + * automatically happen if necessary since we'll pretend the previous + * instruction was native code + */ +#endif + + /* Loop over all instructions, in forwards order, and compile them. */ + m68k_code = SYN68K_TO_US (b->m68k_start_address); +#ifdef GENERATE_NATIVE_CODE + prev_native_p = TRUE; /* So n->s stub will be generated if necessary. */ +#endif /* GENERATE_NATIVE_CODE */ + for (i = 0; i < tbi->num_68k_instrs; i++) + { + int j, main_size; + int32 backpatch_request_index; + const OpcodeMappingInfo *map = map_and_cc[i].map; +#ifdef GENERATE_NATIVE_CODE + BOOL native_p = FALSE; + backpatch_t *old_backpatch, *native_backpatch; + + old_backpatch = b->backpatch; + b->backpatch = NULL; +#endif /* GENERATE_NATIVE_CODE */ + + main_size = translate_instruction (m68k_code, (uint16 *)instr_code, + map, map_and_cc[i].live_cc, + (map_and_cc[i].live_cc + & map->cc_may_set), + amf, tbi, b, + &backpatch_request_index +#ifdef GENERATE_NATIVE_CODE + , &cache_info, &native_p, + try_native_p +#endif + ); + + /* Make sure we didn't overrun our temp array. */ + assert (instr_code[sizeof instr_code / sizeof instr_code[0] - 1] + == 0xFEEBFADE); + +#ifdef GENERATE_NATIVE_CODE + + if (native_p) + { + native_backpatch = b->backpatch; + b->backpatch = old_backpatch; + + if (num_code_bytes == NATIVE_START_BYTE_OFFSET) + { + /* Smash first synthetic opcode so that it now points + * to the native code. + */ + backpatch_add (b, 0, OPCODE_BYTES * 8, FALSE, + NATIVE_START_BYTE_OFFSET, b); + +#ifdef SYNCHRONOUS_INTERRUPTS + memcpy (&code[num_code_bytes], check_interrupt_stub, + CHECK_INTERRUPT_STUB_BYTES); + check_int_stub_offset = num_code_bytes; + num_code_bytes += CHECK_INTERRUPT_STUB_BYTES; +#endif + } + else if (!prev_native_p) + { + /* Since the previous instruction wasn't native, and this one + * is, we need to throw in a synthetic opcode that will + * jump us to the native code. + */ + backpatch_add (b, num_code_bytes * 8, + OPCODE_BYTES * 8, FALSE, + OPCODE_BYTES + num_code_bytes, b); + num_code_bytes += OPCODE_BYTES; + } + } + else /* Can only generate amode fetches for non-native code. */ +#endif /* GENERATE_NATIVE_CODE */ + { +#ifdef GENERATE_NATIVE_CODE + assert (b->backpatch == NULL); /* They shouldn't have added any. */ + native_backpatch = NULL; + b->backpatch = old_backpatch; + + if (prev_native_p) + { + host_code_t *host_code; + BOOL first_p = (num_code_bytes == NATIVE_START_BYTE_OFFSET); + + /* If the previous code was native, but this isn't, + * Generate a stub to pop us back into synthetic code. + */ + host_code = (host_code_t *)&code[num_code_bytes]; + if (!first_p) + { + host_spill_cc_bits (&cache_info, &host_code, + cache_info.cached_cc); + host_spill_regs (&cache_info, &host_code, M68K_CC_NONE); + cache_info = empty_cache_info; + } +#ifdef SYNCHRONOUS_INTERRUPTS + else + { + /* Write out the check for interrupt stub since this is + * the initial native code entry point. + */ + memcpy (host_code, check_interrupt_stub, + CHECK_INTERRUPT_STUB_BYTES); + check_int_stub_offset = num_code_bytes; + host_code = (host_code_t *)((char *)host_code + + CHECK_INTERRUPT_STUB_BYTES); + } +#endif /* SYNCHRONOUS_INTERRUPTS */ + + /* Write out the transition stub. */ + memcpy (host_code, native_to_synth_stub, + NATIVE_TO_SYNTH_STUB_BYTES); + + /* Compute the next synthetic opcode address. It has + * to follow the stub, but be aligned mod 4 bytes. + */ + num_code_bytes = (((char *)host_code + NATIVE_TO_SYNTH_STUB_BYTES + - (char *)code) + 3) & ~3; + + /* Add a backpatch to clean up the stub. */ + ntos_cleanup[num_ntos_cleanup].stub_offset + = (char *)host_code - (char *)code; + + /* If we aren't allowed to use native code, and this is the + * first instruction, then jump back to the first synthetic + * opcode that counts how many times this block has been hit. + * Otherwise, gateway directly to the next instruction. + */ + if (!try_native_p && first_p) + ntos_cleanup[num_ntos_cleanup].synth_offset = 0; + else + ntos_cleanup[num_ntos_cleanup].synth_offset = num_code_bytes; + + ++num_ntos_cleanup; + } +#endif + /* Generate instructions to fetch pointer to amode, if necessary. */ + for (j = 0; j < 2; j++) + if (amf[j].valid) + { + int afetch_size; + afetch_size = generate_amode_fetch (((uint16 *) + &code[num_code_bytes]), + amf[j].m68koperand, + amf[j].amode, + amf[j].reversed, + amf[j].size); + num_code_bytes += afetch_size * sizeof (uint16); + } + + /* Set up backpatches for next block pointers, if necessary. */ + if (backpatch_request_index != -1) + { + int bln; + for (bln = 0; bln < tbi->num_child_blocks; bln++) + { + backpatch_add (b, + (backpatch_request_index + num_code_bytes + + bln * PTR_BYTES) * 8, + PTR_BYTES * 8, FALSE, 0, b->child[bln]); + } + } + } + +#ifdef GENERATE_NATIVE_CODE + /* If the native code requested any backpatches, correct them now + * that we know exactly where the native code goes. + */ + if (native_backpatch != NULL) + { + backpatch_t *n, *next; + + /* Correct each one and add it to the real backpatch list. */ + for (n = native_backpatch; n != NULL; n = next) + { + next = n->next; + n->offset_location += 8 * num_code_bytes; + n->next = b->backpatch; + b->backpatch = n; + } + } +#endif /* GENERATE_NATIVE_CODE */ + + + /* Now write out the real code, after any necessary amode fetches. */ + memcpy (&code[num_code_bytes], instr_code, main_size); + num_code_bytes += main_size; + + /* If we are dangerously close to the end of our allocated code space, + * xrealloc it to make it bigger. + */ + if (max_code_bytes - num_code_bytes < 512) + { + max_code_bytes *= 2; + code = (uint8 *) xrealloc (code - PTR_BYTES, + max_code_bytes + PTR_BYTES); + code += PTR_BYTES; /* Skip over reserved space again. */ + } + + /* Move on to the next instruction. */ + m68k_code += tbi->next_instr_offset[i]; +#ifdef GENERATE_NATIVE_CODE + prev_native_p = native_p; +#endif /* GENERATE_NATIVE_CODE */ + } + + /* Copy the code we just created over to the block. We allocate a little + * extra space because we prepend all compiled code with the big-endian + * 68k PC of the first instruction, in case we hit an interrupt when + * we are about to start the block. NOTE: to preserve alignment we + * allocate PTR_WORDS to hold the 68k PC even though we only need to + * use 2 (shorts). + */ + b->compiled_code = (((uint16 *) xrealloc (code - PTR_BYTES, + PTR_BYTES + num_code_bytes)) + + PTR_WORDS); + b->malloc_code_offset = PTR_WORDS; + + WRITE_LONG (&b->compiled_code[-2], b->m68k_start_address); + +#ifdef GENERATE_NATIVE_CODE + /* Now that the block's code is at a fixed address, patch up any + * native->synthetic stubs so they do the right thing. + */ + for (i = 0; i < num_ntos_cleanup; i++) + { + host_backpatch_native_to_synth_stub (b, + ((host_code_t *) + ((char *)b->compiled_code + + ntos_cleanup[i].stub_offset)), + ((uint32 *) + ((char *)b->compiled_code + + ntos_cleanup[i].synth_offset))); + } + +#ifdef SYNCHRONOUS_INTERRUPTS + if (check_int_stub_offset >= 0) + { + host_backpatch_check_interrupt_stub (b, ((host_code_t *) + ((char *)b->compiled_code + + check_int_stub_offset))); + } +#endif + +#endif /* GENERATE_NATIVE_CODE */ + + /* Checksum the code upon which this was based. */ +#ifdef CHECKSUM_BLOCKS + b->checksum = compute_block_checksum (b); +#endif + + ASSERT_SAFE (map_and_cc); + +#ifdef GENERATE_NATIVE_CODE + ASSERT_SAFE (ntos_cleanup); +#endif +} + + +/* Helper function; writes out the magic bits for an opcode. */ +static inline uint16 * +output_opcode (uint16 *code, uint32 opcode) +{ +#ifdef USE_DIRECT_DISPATCH + *(const void **)code = direct_dispatch_table[opcode]; +#else + *(const void **)code = (void *) opcode; +#endif + code += OPCODE_WORDS; + return code; +} + + +#define ROUND_UP(n) ((((n) + (PTR_WORDS - 1)) / PTR_WORDS) * PTR_WORDS) + +#define IS_UNEXPANDABLE_AMODE(n) \ + (((n) >> 3) == 6 || (n) == 0x3A || (n) == 0x3B) + +/* Generates synthetic code for the m68k instruction pointed to by m68k_code, + * placing the synthetic code at the location pointed to by synthetic_code. + * On entry, ccbits_to_compute specifies a bitmask for the cc bits this + * instruction must compute (if it can), and ccbits_live specifies all + * CC bits known to be live at this point (which should be a superset of + * the bits to compute); the bits are specified CNVXZ, with Z being bit 0 of + * the mask and so on. Returns the number of _bytes_ of code generated. + */ +static int +translate_instruction (const uint16 *m68k_code, uint16 *synthetic_code, + const OpcodeMappingInfo *map, + int ccbits_live, + int ccbits_to_compute, + AmodeFetchInfo amf[2], + const TempBlockInfo *tbi, + Block *block, + int32 *backpatch_request_index +#ifdef GENERATE_NATIVE_CODE + , cache_info_t *cache_info, BOOL *prev_native_p, + BOOL try_native_p +#endif + ) +{ + uint16 *scode = synthetic_code; + const BitfieldInfo *bf; + const uint16 *opp; + uint16 m68kop = READUW (US_TO_SYN68K (m68k_code)); + uint16 synop; + int amode = m68kop & 63; + int revmode = ((m68kop >> 9) & 7) | ((m68kop >> 3) & 0x38); + int32 operand[MAX_BITFIELDS]; + int i; + + *backpatch_request_index = -1; /* default */ + + /* Grab all of the operands and stick them in our operand array in + * native endian byte order. If we generate native code, this is + * what the native code routines expect. Otherwise, if we go to + * synthetic code, we'll later end up byte swapping and so on as + * necessary. + */ + for (bf = map->bitfield, i = 0; + i < MAX_BITFIELDS && !IS_TERMINATING_BITFIELD (bf); + i++, bf++) + { + int index = bf->index, length = bf->length + 1; + syn68k_addr_t p = (syn68k_addr_t) US_TO_SYN68K (&m68k_code[index >> 4]); + uint32 val; + + /* A length of 16 or 32 bits implies that the operand is aligned on a + * word boundary. + */ + if (length == 16) + { + if (bf->sign_extend) + val = READSW (p); /* Sign extend. */ + else + val = READUW (p); /* Zero extend. */ + } + else if (length == 32) + { + val = READUL (p); + } + else /* It's not a nicely aligned word or long. */ + { + val = READUW (p) >> (16 - ((index & 0xF) + length)); + + if (bf->rev_amode) + { + val = ((val >> 3) & 0x7) | ((val & 0x7) << 3); + } + else + { + if (bf->sign_extend && (val & (1 << (length - 1)))) + val |= ~((1 << length) - 1); /* Ones extend. */ + else + val &= ((1 << length) - 1); /* Zero extend. */ + } + } + + operand[i] = val; + } + +#ifdef GENERATE_NATIVE_CODE + { + host_code_t *hc_scode; + + hc_scode = (host_code_t *) scode; + if (map->guest_code_descriptor != NULL + && try_native_p + && generate_native_code (map->guest_code_descriptor, cache_info, + operand, &hc_scode, + map->cc_needed, ccbits_live, ccbits_to_compute, + map->ends_block, block, m68k_code)) + { + *prev_native_p = TRUE; + return (char *)hc_scode - (char *)synthetic_code; + } + } +#endif + + /* If we have an unexpanded amode, insert an opcode to compute a pointer + * to the addressing mode. + */ + opp = m68k_code + map->instruction_words; /* Point to 1st amode operand */ + + if (map->amode_size != 0 + && (!map->amode_expanded || IS_UNEXPANDABLE_AMODE (amode))) + { + amf[0].valid = TRUE; + amf[0].reversed = FALSE; + amf[0].m68koperand = opp; + amf[0].amode = amode; + amf[0].size = 1 << (map->amode_size - 1); + opp += amode_size (amode, opp, map->amode_size); /* Skip to next oper */ + } + else + amf[0].valid = FALSE; + + /* If we have an unexpanded reversed amode, insert an opcode to compute a + * pointer to the addressing mode. + */ + if (map->reversed_amode_size != 0 + && (!map->reversed_amode_expanded || IS_UNEXPANDABLE_AMODE (revmode))) + { + amf[1].valid = TRUE; + amf[1].reversed = TRUE; + amf[1].m68koperand = opp; + amf[1].amode = revmode; + amf[1].size = 1 << (map->reversed_amode_size - 1); + } + else + amf[1].valid = FALSE; + + /* Compute synthetic opcode and place it in synthetic instruction stream. */ + synop = (((m68kop & map->opcode_and_bits) >> map->opcode_shift_count) + + map->opcode_add_bits); + scode = output_opcode (scode, synop); + +#ifdef DEBUG + if (synop == 0 +#ifdef USE_DIRECT_DISPATCH + || direct_dispatch_table[synop] == NULL +#endif + ) + fprintf (stderr, "Unknown 68k opcode 0x%04X\n", (unsigned) m68kop); +#endif + + /* Reserve space for pointers to next blocks and set up backpatches. */ + if (map->ends_block && !map->next_block_dynamic) + { + *backpatch_request_index = (char *)scode - (char *)synthetic_code; + if (tbi->num_child_blocks > 0) + { + ((uint32 *)scode)[0] = 0x56784321; + if (tbi->num_child_blocks > 1) + ((uint32 *)scode)[1] = 0x57684321; + } + scode += tbi->num_child_blocks * PTR_WORDS; + } + + /* If we are processing an instruction that requires the big-endian address + * of the next instruction in the instr stream, do it. Also insert computed + * subroutine target for bsr. + */ + if ((m68kop >> 6) == 0x13A /* jsr? */ + || (m68kop >> 8) == 0x61 /* bsr? */ + ) + { + uint32 addr; + + /* Write out the big endian return address. */ + addr = SWAPUL_IFLE (US_TO_SYN68K (m68k_code + + instruction_size (m68k_code, map))); + WRITEUL_UNSWAPPED (scode, addr); + scode += 2; + + /* If it's a bsr, compute the target address. */ + if ((m68kop >> 8) == 0x61) /* bsr? */ + { + /* Write out the target address. */ + WRITEUL_UNSWAPPED (scode, tbi->child[0]); + scode += 2; + } + } + + /* If we need to insert the address of the next instruction in native + * byte order, do it. FIXME - when looking for chk or div instructions, + * we are masking out the addressing mode field. It's possible that + * some of the impossible amode combinations actually correspond to + * entirely different instructions; this would cause the wrong results! + */ + else if ((m68kop & 0xF0C0) == 0x80C0 /* divs/divu ditto */ + || (m68kop & 0xFFC0) == 0x4C40 /* divsl/divul ditto */ + || (map->next_block_dynamic + && (m68kop == 0x4E76 /* trapv? */ + || (m68kop >> 4) == 0x4E4 /* trap #n? */ + || ((m68kop & 0xF0FF) >= 0x50FA + && (m68kop & 0xF0FF) <= 0x50FC) /* trapcc? */ + || (m68kop & 0xF140) == 0x4100 /* chk? Not all amodes ok*/ + || (m68kop & 0xF9C0) == 0x00C0 /* chk2? ditto */ + ))) + { + uint32 addr = US_TO_SYN68K (m68k_code + instruction_size (m68k_code, + map)); + WRITEUL_UNSWAPPED (scode, addr); + scode += 2; + } + + /* If we are processing something that might trap where we need a ptr to + * the trapping instruction, insert the PC into the instruction stream. + * See impossible amode warning in previous comment. + */ + if ((m68kop & 0xF0C0) == 0x80C0 /* divs/divu ditto */ + || (m68kop & 0xFFC0) == 0x4C40 /* divsl/divul ditto */ + || (m68kop & 0xFF28) == 0xF428 + || (map->next_block_dynamic + && ((m68kop >> 12) == 0xA /* a-line trap? */ + || m68kop == 0x4E73 /* rte? */ + || m68kop == 0x4AFC /* explicit ILLEGAL? */ + || synop == 0 /* REAL illegal instruction? */ + || (m68kop >> 3) == (0x4848 >> 3) /* bkpt? */ + || (m68kop >> 12) == 0xF /* f-line trap? */ + || (m68kop & 0xF140) == 0x4100 /* chk? Not all amodes ok! */ + || (m68kop & 0xF9C0) == 0x00C0 /* chk2? ditto */ + ))) + { + WRITEUL_UNSWAPPED (scode, US_TO_SYN68K (m68k_code)); + scode += 2; + } + + + /* Extract operands from m68k stream, process them, and place + * them in the synthetic stream. 16- and 32-bit bitfields must be + * word-aligned in the 68k stream. Only 32-bit bitfields are allowed to + * span multiple words. + */ + for (bf = map->bitfield, i = 0; + i < MAX_BITFIELDS && !IS_TERMINATING_BITFIELD (bf); + i++, bf++) + { + int words; + uint32 val; + + /* Fetch the value (which we already extracted above). */ + val = operand[i]; + + /* Put the value back to big endian ordering if we need to. */ + words = bf->words + 1; +#ifdef LITTLEENDIAN + if (!bf->make_native_endian) + { + if (words == 1) + val = SWAPUW (val); + else + val = SWAPUL (val); + } +#endif + + /* Write the operand out to the instruction stream. */ + if (words == 1) + { + scode[0] = val; /* Ideally everything would be a long. */ + scode[1] = 0; /* Avoid uninitialized memory complaints. */ + } + else + WRITEUL_UNSWAPPED (scode, val); + scode += 2; + } + + /* Round the size up to occupy an integral number of PTR_WORDS. */ + return ROUND_UP (scode - synthetic_code) * sizeof (uint16); +} + + +/* Generates synthetic code to compute the value for an addressing mode + * and store it in cpu_state.amode_p or cpu_state.reversed_amode_p; + * Returns the number of 16-bit words generated (historical; should be + * bytes). + */ +static int +generate_amode_fetch (uint16 *code, const uint16 *m68koperand, int amode, + BOOL reversed, int size) +{ + int mode = amode >> 3, reg = amode & 7; + uint16 *scode = code; + + switch (mode) { + case 2: + case 3: + scode = output_opcode (scode, 0x4 + (reversed * 8) + reg); + return ROUND_UP (scode - code); + case 4: + { + static const unsigned char amode_4_base[] = + { 0x00, 0x14, 0x24, 0x00, 0x34 }; + scode = output_opcode (scode, amode_4_base[size] + (reversed * 8) + reg); + return ROUND_UP (scode - code); + } + case 5: + scode = output_opcode (scode, 0x44 + (reversed * 8) + reg); + *(int32 *)scode = READSW (US_TO_SYN68K (m68koperand)); + scode += 2; + return ROUND_UP (scode - code); + case 6: + { + uint16 extword = READUW (US_TO_SYN68K (m68koperand)); + if ((extword & 0x100) == 0) + { + scode = output_opcode (scode, (0x58 - 0x12 - 0x24 + + (0x12 << (extword >> 15)) + + (0x24 << ((extword >> 11) & 1)) + + (reversed * 9) + reg)); + + WRITE_PTR (scode, SYN68K_TO_US ((ptr_sized_uint) + (((int8 *) m68koperand)[1]))); + scode += PTR_WORDS; + *(uint32 *)(scode ) = (extword >> 12) & 7; + *(uint32 *)(scode + 2) = (extword >> 9) & 3; + return ROUND_UP (scode + 4 - code); + } + else if ((extword & 0xF) == 0x0) + { + int32 disp; + uint16 synop; + + /* Base suppress? Pretend they are using "a8" (== 0 here). */ + if (extword & 0x80) + reg = 8; + + /* Index suppress? */ + if (extword & 0x40) + synop = 0xA0 + (reversed * 9) + reg; + else + synop = (0x58 + - 0x12 - 0x24 + (0x12 << (extword >> 15)) + + (0x24 << ((extword >> 11) & 1)) + + (reversed * 9) + reg); + + scode = output_opcode (scode, synop); + + switch ((extword >> 4) & 0x3) { + case 2: + disp = READSW (US_TO_SYN68K (m68koperand + 1)); + break; + case 3: + disp = READSL (US_TO_SYN68K (m68koperand + 1)); + break; + default: + disp = 0; + break; + } + WRITE_PTR (scode, SYN68K_TO_US (disp)); + scode += PTR_WORDS; + + if (!(extword & 0x40)) + { + *(uint32 *)(scode ) = (extword >> 12) & 7; + *(uint32 *)(scode + 2) = (extword >> 9) & 3; + return ROUND_UP (scode + 4 - code); + } + return ROUND_UP (scode - code); + } + else /* Memory indirect pre-indexed or memory indirect post-indexed. */ + { + int32 base_displacement, outer_displacement; + + /* Memory indirect pre- or post-indexed. */ + scode = output_opcode (scode, 0xB2); + + /* Get base displacement size. */ + switch ((extword >> 4) & 0x3) { + case 2: + base_displacement = READSW (US_TO_SYN68K (m68koperand + 1)); + m68koperand += 1; + break; + case 3: + base_displacement = READSL (US_TO_SYN68K (m68koperand + 1)); + m68koperand += 2; + break; + default: + base_displacement = 0; + break; + } + + /* Get outer displacement size. */ + switch (extword & 0x3) { + case 2: + outer_displacement = READSW (US_TO_SYN68K (m68koperand + 1)); + break; + case 3: + outer_displacement = READSL (US_TO_SYN68K (m68koperand + 1)); + break; + default: + outer_displacement = 0; + break; + } + + WRITEUL_UNSWAPPED (scode, base_displacement); + WRITEUL_UNSWAPPED (scode + 2, outer_displacement); + + /* Toss two magical flags into the flags word. If the low bit + * is set, we are computing reversed_amode_p instead of amode_p. + * If the next lowest bit is set, we are in memory indirect + * pre-indexed mode instead of memory indirect post-indexed mode. + */ + extword &= ~3; + extword |= reversed; + if (!(extword & 0x4)) /* Memory indirect pre-indexed? */ + extword |= 2; + *(uint32 *)(scode + 4) = extword; + *(uint32 *)(scode + 6) = reg; + return ROUND_UP (scode + 8 - code); + } + } + break; + case 7: + switch (reg) { + case 0: + scode = output_opcode (scode, 0x54 + reversed); + *(uint32 *)scode = READUW (US_TO_SYN68K (m68koperand)); + return ROUND_UP (scode + 2 - code); + case 1: + { + char *val = (char *) SYN68K_TO_US (CLEAN + (READUL + (US_TO_SYN68K (m68koperand)))); + + /* Specify absolute long address. Give a real pointer in our space. */ + scode = output_opcode (scode, 0x56 + reversed); + WRITE_PTR (scode, val); + return ROUND_UP (scode + PTR_WORDS - code); + } + case 2: + { + char *val = (READSW (US_TO_SYN68K (m68koperand)) + + (char *) m68koperand); + + /* Specify absolute long address. Give a real ptr in our space. */ + scode = output_opcode (scode, 0x56 + reversed); + WRITE_PTR (scode, val); + return ROUND_UP (scode + PTR_WORDS - code); + } + case 3: /* 111/011 (d8,PC,Xn), (bd,PC,Xn), ([bd,PC,Xn],od) */ + /* ([bd,PC],Xn,od) */ + { + uint16 extword = READUW (US_TO_SYN68K (m68koperand)); + reg = (extword >> 12) & 0x7; + if ((extword & 0x100) == 0) + { + scode = output_opcode (scode, (0x58 - 0x12 - 0x24 + + (0x12 << (extword >> 15)) + + (0x24 << ((extword >> 11) & 1)) + + (reversed * 9) + 8)); + + WRITE_PTR (scode, + (char *) ((long) m68koperand + + (((int8 *) m68koperand)[1]))); + scode += PTR_WORDS; + *(uint32 *)(scode ) = reg; + *(uint32 *)(scode + 2) = (extword >> 9) & 3; + return ROUND_UP (scode + 4 - code); + } + else if ((extword & 0xF) == 0x0) + { + int32 disp; + uint16 synop; + + /* Index suppress? */ + if (extword & 0x40) + synop = 0xA0 + (reversed * 9) + 8; + else + synop = (0x58 - 0x12 - 0x24 + (0x12 << (extword >> 15)) + + (0x24 << ((extword >> 11) & 1)) + + (reversed * 9) + 8); + + scode = output_opcode (scode, synop); + + switch ((extword >> 4) & 0x3) { + case 2: + disp = READSW (US_TO_SYN68K (m68koperand + 1)); + break; + case 3: + disp = READSL (US_TO_SYN68K (m68koperand + 1)); + break; + default: + disp = 0; + break; + } + disp += US_TO_SYN68K (m68koperand);/* Add in PC to displacement. */ + WRITE_PTR (scode, SYN68K_TO_US (disp)); + scode += PTR_WORDS; + + if (!(extword & 0x40)) + { + *(uint32 *)(scode ) = (extword >> 12) & 7; + *(uint32 *)(scode + 2) = (extword >> 9) & 3; + return ROUND_UP (scode + 4 - code); + } + return ROUND_UP (scode - code); + } + else /* PC relative mem indir pre-indexed or mem indir post-indexed. */ + { + int32 base_displacement, outer_displacement; + + /* Memory indirect pre- or post-indexed. */ + scode = output_opcode (scode, 0xB2); + + if (extword & 0x80) + base_displacement = 0; /* Suppress PC base */ + else + base_displacement = US_TO_SYN68K (m68koperand); /* PC is base. */ + + /* Get base displacement size. */ + switch ((extword >> 4) & 0x3) { + case 2: + base_displacement += READSW (US_TO_SYN68K (m68koperand + 1)); + m68koperand += 1; + break; + case 3: + base_displacement += READSL (US_TO_SYN68K (m68koperand + 1)); + m68koperand += 2; + break; + default: + break; + } + + /* Get outer displacement size. */ + switch (extword & 0x3) { + case 2: + outer_displacement = READSW (US_TO_SYN68K (m68koperand + 1)); + break; + case 3: + outer_displacement = READSL (US_TO_SYN68K (m68koperand + 1)); + break; + default: + outer_displacement = 0; + break; + } + + WRITEUL_UNSWAPPED (scode, base_displacement); + WRITEUL_UNSWAPPED (scode + 2, outer_displacement); + scode += 4; + + /* Toss two magical flags into the flags word. If the low bit + * is set, we are computing reversed_amode_p instead of amode_p. + * If the next lowest bit is set, we are in memory indirect + * pre-indexed mode instead of memory indirect post-indexed mode. + */ + extword &= ~3; + extword |= reversed; + if (!(extword & 0x4)) /* Memory indirect pre-indexed? */ + extword |= 2; + + /* Pretend like base suppress is set. */ + extword |= 0x80; + + *(uint32 *)(scode ) = extword; + *(uint32 *)(scode + 2) = reg; + return ROUND_UP (scode + 4 - code); + } + } + break; + } + } + + return 0; +} + + +static void +compute_maps_and_ccs (Block *b, MapAndCC *m, const TempBlockInfo *tbi) +{ + const uint16 *m68k_code; + int cc_needed; + int i; + + /* Determine what cc bits must be valid after the last instruction. */ + if (b->num_children == 0) + cc_needed = ALL_CCS; + else + { + cc_needed = b->child[0]->cc_needed; + if (b->num_children > 1) + cc_needed |= b->child[1]->cc_needed; + } + + /* Loop over all instructions, in backwards order, and compute + * their live cc bits and optimal OcpodeMappingInfo *'s. + */ + m68k_code = (SYN68K_TO_US (b->m68k_start_address) + + (b->m68k_code_length / sizeof (uint16))); + + /* Save the cc bits live at the end at the end of the array. */ + m[tbi->num_68k_instrs].map = NULL; + m[tbi->num_68k_instrs].live_cc = cc_needed; + + for (i = tbi->num_68k_instrs - 1; i >= 0; i--) + { + const OpcodeMappingInfo *map; + int parity, best_cc; + + m68k_code -= tbi->next_instr_offset[i]; + + /* Grab first struct in opcode mapping sequence. */ + map = &opcode_map_info[opcode_map_index[READUW (US_TO_SYN68K (m68k_code))]]; + + /* Grab the parity of this sequence and max cc bits computable. */ + parity = map->sequence_parity; + best_cc = cc_needed & map->cc_may_set; + + /* Locate the mapping that computes as few cc bits as we legally can. */ + while (map[1].sequence_parity == parity + && (cc_needed & map[1].cc_may_set) == best_cc) + map++; + + /* Record the best map and the cc bits we need here. */ + m[i].map = map; + m[i].live_cc = cc_needed; + + cc_needed = (cc_needed & map->cc_may_not_set) | map->cc_needed; + } +} + + +/* We use artificial blocks when we need to do something for which there + * is no m68k opcode, like exit the emulator or call a callback routine. + */ +Block * +make_artificial_block (Block *parent, syn68k_addr_t m68k_address, + int extra_words, uint16 **extra_start) +{ + Block *b; + uint16 *code; + + b = block_new (); + b->m68k_start_address = m68k_address; + b->m68k_code_length = 1; + b->cc_may_not_set = ALL_CCS; + b->cc_needed = ALL_CCS; + b->immortal = TRUE; + if (parent != NULL) + block_add_parent (b, parent); + + b->malloc_code_offset = PTR_WORDS; + code = (((uint16 *) xcalloc (PTR_WORDS +#ifdef GENERATE_NATIVE_CODE + + NATIVE_START_BYTE_OFFSET / sizeof (uint16) + + NATIVE_PREAMBLE_WORDS +#endif + + extra_words, + sizeof (uint16))) + + PTR_WORDS); /* Skip over prepended m68k address. */ + WRITE_LONG (&code[-2], m68k_address); + b->compiled_code = code; + b->checksum = compute_block_checksum (b); + +#ifdef GENERATE_NATIVE_CODE + *(const void **)code = direct_dispatch_table[0x1]; + *(Block **)(code + sizeof (const void *)) = NULL; + *extra_start = (uint16 *) ((char *)code + + NATIVE_START_BYTE_OFFSET + + NATIVE_PREAMBLE_WORDS * sizeof (uint16)); + + /* Write out the transition stub. It will just jump back to the + * synthetic NOP, which will skip over this. Fun, huh? + */ +#ifdef SYNCHRONOUS_INTERRUPTS + memcpy ((char *)code + NATIVE_START_BYTE_OFFSET, check_interrupt_stub, + CHECK_INTERRUPT_STUB_BYTES); +#endif + memcpy ((char *)code + NATIVE_START_BYTE_OFFSET + CHECK_INTERRUPT_STUB_BYTES, + native_to_synth_stub, NATIVE_TO_SYNTH_STUB_BYTES); + host_backpatch_check_interrupt_stub (b, ((host_code_t *) + ((char *)code + + NATIVE_START_BYTE_OFFSET))); + host_backpatch_native_to_synth_stub (b, + ((host_code_t *) + ((char *)code + + NATIVE_START_BYTE_OFFSET + + CHECK_INTERRUPT_STUB_BYTES)), + (uint32 *)code); +#else /* !GENERATE_NATIVE_CODE */ + *extra_start = code; +#endif /* !GENERATE_NATIVE_CODE */ + + return b; +} diff --git a/runtime/trap.c b/runtime/trap.c new file mode 100644 index 0000000..ea80a3c --- /dev/null +++ b/runtime/trap.c @@ -0,0 +1,213 @@ +#include "trap.h" +#include "callback.h" +#include +#include + +/* Pointer to the array of trap vectors. */ +uint32 *trap_vector_array; + +void +trap_init () +{ + volatile TrapHandlerInfo *thi; + int i; + + cpu_state.vbr = US_TO_SYN68K (trap_vector_array); + for (i = 63, thi = &cpu_state.trap_handler_info[63]; i >= 0; thi--, i--) + { + thi->callback_address = callback_install (trap_forwarded, (void *) thi); + WRITE_LONG (&trap_vector_array[i], thi->callback_address); + thi->func = NULL; + thi->arg = NULL; + } +} + + +void +trap_install_handler (unsigned trap_number, callback_handler_t func, + void *arbitrary_argument) +{ + cpu_state.trap_handler_info[trap_number].func = func; + cpu_state.trap_handler_info[trap_number].arg = arbitrary_argument; +} + + +void +trap_remove_handler (unsigned trap_number) +{ + cpu_state.trap_handler_info[trap_number].func = NULL; +} + + +uint32 +trap_forwarded (uint32 m68k_address, void *arg) +{ + const TrapHandlerInfo *thi = (TrapHandlerInfo *) arg; + + if (thi->func == NULL) /* If no handler installed, just rte. */ + { + static const char *trap_description[] = { + /* I've only put the really interesting ones in. */ + NULL, NULL, NULL, NULL, + "Illegal instruction", + "Integer divide by zero", + "CHK/CHK2", + "FTRAPcc, TRAPcc, TRAPV", + "Privilege violation", + "Trace", + "A-line", + "F-line", + NULL, + NULL, + "Format error" + }; + int which_trap = thi - cpu_state.trap_handler_info; + + fprintf (stderr, "Unhandled trap %d!", which_trap); + if (which_trap >= 0 + && which_trap < sizeof trap_description / sizeof trap_description[0] + && trap_description[which_trap] != NULL) + fprintf (stderr, " (%s)", trap_description[which_trap]); + putc ('\n', stderr); + + return MAGIC_RTE_ADDRESS; + } + return thi->func (READUL (EM_A7 + 2), thi->arg); +} + + +uint32 +trap_direct (uint32 trap_number, uint32 exception_pc, + uint32 exception_address) +{ + const volatile TrapHandlerInfo *thi; + uint16 *p, old_sr; + uint32 trap_addr; + uint32 retval; + + /* Fetch trap address from vector table. */ + trap_addr = READUL (cpu_state.vbr + (trap_number << 2)); + + switch (trap_number) { + case 4: /* Illegal instruction. */ + case 8: /* Privilege violation. */ + case 10: /* A-line. */ + case 11: /* F-line. */ + case 14: /* Format error. */ + case 15: /* Uninitialized interrupt. */ + case 24: /* Spurious interrupt. */ + case 25: /* Level 1 interrupt autovector. */ + case 26: /* Level 2 interrupt autovector. */ + case 27: /* Level 3 interrupt autovector. */ + case 28: /* Level 4 interrupt autovector. */ + case 29: /* Level 5 interrupt autovector. */ + case 30: /* Level 6 interrupt autovector. */ + case 31: /* Level 7 interrupt autovector. */ + case 32: /* TRAP #0 vector. */ + case 33: /* TRAP #1 vector. */ + case 34: /* TRAP #2 vector. */ + case 35: /* TRAP #3 vector. */ + case 36: /* TRAP #4 vector. */ + case 37: /* TRAP #5 vector. */ + case 38: /* TRAP #6 vector. */ + case 39: /* TRAP #7 vector. */ + case 40: /* TRAP #8 vector. */ + case 41: /* TRAP #9 vector. */ + case 42: /* TRAP #10 vector. */ + case 43: /* TRAP #11 vector. */ + case 44: /* TRAP #12 vector. */ + case 45: /* TRAP #13 vector. */ + case 46: /* TRAP #14 vector. */ + case 47: /* TRAP #15 vector. */ + /* Save away the old SR. */ + old_sr = COMPUTE_SR_FROM_CPU_STATE (); + + /* Clear TR0 and TR1. */ + cpu_state.sr &= 0x3FFF; + + /* If this is an actual interrupt, adjust the SR appropriately. */ + if (trap_number >= 15 && trap_number <= 31) + { + /* Bump up interrupt mask priority. */ + if (trap_number >= 24 && trap_number <= 31) + cpu_state.sr = ((cpu_state.sr & ~(7 << 8)) + | ((trap_number - 24) << 8)); + + /* Switch into interrupt mode. */ + cpu_state.sr &= ~SR_MASTER_BIT; + } + + cpu_state.sr |= SR_SUPERVISOR_BIT; + + /* Switch stacks appropriately. */ + SWITCH_A7 (old_sr, cpu_state.sr); + + /* Push the exception frame. */ + EM_A7 -= 8; + p = SYN68K_TO_US (CLEAN (EM_A7)); + WRITE_WORD (p, old_sr); + WRITE_LONG (p + 1, exception_pc); + WRITE_WORD (p + 3, 0x0000 | (trap_number << 2)); + break; + + case 3: /* Address error. */ + case 6: /* CHK/CHK2 instruction. */ + case 7: /* FTRAPcc, TRAPcc, TRAPV instructions. */ + case 9: /* Trace. */ + case 5: /* Integer divide by zero. */ + /* Save away the old SR. */ + old_sr = COMPUTE_SR_FROM_CPU_STATE (); + + /* Clear TR0 and TR1. */ + cpu_state.sr &= 0x3FFF; + + /* Switch into supervisor mode. */ + cpu_state.sr |= SR_SUPERVISOR_BIT; + + /* Switch stacks. */ + SWITCH_A7 (old_sr, cpu_state.sr); + + EM_A7 -= 12; + p = SYN68K_TO_US (CLEAN (EM_A7)); + WRITE_WORD (p, old_sr); + WRITE_LONG (p + 1, exception_pc); + WRITE_WORD (p + 3, 0x2000 | (trap_number << 2)); + WRITE_LONG (p + 4, exception_address); + break; + + /* I don't know how to handle these or they can't happen. */ + case 0: /* Reset initial interrupt stack pointer. */ + case 1: /* Reset initial program counter. */ + case 2: /* Access fault */ + case 13: /* ? */ + case 48: /* FP Branch or Set on Unordered Condition. */ + case 49: /* FP Inexact result. */ + case 50: /* FP Divide by zero. */ + case 51: /* FP Underflow. */ + case 52: /* FP Operand error. */ + case 53: /* FP Overflow. */ + case 54: /* FP Signaling NAN. */ + case 55: /* FP Unimplemented Data Type. */ + default: + abort (); + } + + /* See if they haven't set up their own vector. If they haven't, + * and we are interested in the trap, dispatch it directly to the handling + * function. + */ + thi = &cpu_state.trap_handler_info[trap_number]; + + if (trap_addr == thi->callback_address && thi->func != NULL) + retval = thi->func (exception_pc, thi->arg); + else /* Otherwise, trap back to m68k space. */ + retval = trap_addr; + +#ifdef USE_BIOS_TIMER + /* Just to be safe, guarantee that %fs points to conventional memory. */ + asm volatile ("movw %0,%%fs" + : : "g" (dos_memory_selector)); +#endif /* USE_BIOS_TIMER */ + + return retval; +} diff --git a/runtime/x86_recog.pl b/runtime/x86_recog.pl new file mode 100755 index 0000000..c410370 --- /dev/null +++ b/runtime/x86_recog.pl @@ -0,0 +1,357 @@ +#!/usr/bin/perl + +sub mem_range +{ + local ($base, $offset, $size) = @_; + local ($result, $real_size); + + $real_size = 1 if ($size eq "b"); + $real_size = 2 if ($size eq "w"); + $real_size = 4 if ($size eq "l"); + + foreach (0 .. $real_size-1) + { + $result .= $base . ($offset + $_) . ' '; + } + + chop $result; + return $result; +} + +sub break_it_down +{ + local($operand, $size) = @_; + local ($result); + + # No operand + if (!$operand) + { + return ""; + } + + # _cpu_state+offset + if ($operand =~ /^_cpu_state(\+\d+)?$/) + { + return &mem_range ("mem_cs_", $1, $size); + } + + # _cpu_state... + if ($operand =~ /^_cpu_state/) + { + return "mem_cs_.*"; + } + + # %reg + if ($operand =~ /^%(.*)$/) + { + die "No info for $1, $size" + if (!defined ($register_info{$1, $size})); + return $register_info{$1, $size}; + } + + # Memory ref + if ($operand =~ /^[_A-Za-z]/) + { + return "mem_.*"; + } + + # offset(%reg) + if ($operand =~ /^([^%()]*)\(%(e[a-z][a-z])\)$/) + { + return &mem_range ("mem_code_", $1, $size) if ($2 eq 'esi'); + return &mem_range ("mem_bp_", $1, $size) if ($2 eq 'ebp'); + + return "mem_.*"; + } + + # ($reg, $reg, n) + if ($operand =~ /$\(%e[a-z][a-z],%e[a-z][a-z],[24])\)/) + { + return ("mem_.* "); + } + + # ($reg, $reg) + if ($operand =~ /$\(%e[a-z][a-z],%e[a-z][a-z])\)/) + { + return ("mem_.*"); + } + + # $constant + if ($operand =~ /^\$.*$/) + { + return ""; + } + + # offset(,$reg,const) + if ($operand =~ /^(-?\d+)?\(,%e[a-z][a-z],\d+\)$/) + { + return "mem_.*"; + } + + die "Unrecognized operand $operand\n"; +} + +# Recognize an instruction. Returns (inputs, outputs, latency). +sub recognize +{ + local ($insn) = @_; + local ($operand_regexp) = '((.*\(.*\).*)|([^\(\)]+))'; + local ($mnem, @operands); + local ($inputs, $outputs, $latency, $reg); + local ($no_union_inputs); + + $_ = $insn; + $no_union_inputs = 0; + +# First, grab the mnemonic and the operand(s) + grab: + { + if (/^\t([a-z]+) $operand_regexp,\s*$operand_regexp$/) + { + $mnem = $1; + @operands = ($2, $5); + +# print "$insn\n"; +# print " Operand 1: $operands[0] Operand 2: $operands[1]\n"; + last grab; + } + + elsif (/^\t([a-z]+) $operand_regexp$/) + { + $mnem = $1; + @operands = ($2); +# print "$insn\n"; +# print " Operand: $2\n"; + last grab; + } + + elsif (/^\t([a-z]+)$/) + { + $mnem = $1; +# print " No operands\n"; + last grab; + } + + elsif (/^([^\t]|\t\.)/) + { + last grab; + } + + die "Unable to figure out $insn\n"; + } + + # Barrier if we couldn't find the mnemonic. + return (".*", ".*", 1) if (!$mnem); + + $inputs .= "eip "; # everyone takes program counter as input + + # Find registers in parens and add to inputs + foreach $reg (keys %regs) + { + if (/\([^\)]*%$reg[^\)]*\)/) + { + $inputs .= &break_it_down ("%$reg", "l") . " "; + } + } + + + $_ = $mnem; + +the_switch: + { + local ($op, $len, $srclen, $dstlen); + + # Easy binops + if (($op, $len) = /^(adc|add|cmp|sbb|sub|test|and|or|xor)([bwl])$/) { + die if (@operands != 2); + $inputs .= "reg_ccc " if ($op = /^adc/); + $outputs .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc "; + $inputs .= &break_it_down ($operands[0], $len) . " "; + $inputs .= &break_it_down ($operands[1], $len) . " "; + if ($op !~ /^cmp|test$/) + { + $outputs .= &break_it_down ($operands[1], $len) . " "; + } + last the_switch; + } + + # Easy uniops + if (($op, $len) = /^(dec|inc|neg|not|bswap)([bwl])?$/) { + die if (@operands != 1); + $len = "l" if (!$len); + $outputs .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc " + if ($op =~ /^neg$/); + $outputs .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp " + if ($op =~ /^dec|inc/); + $inputs .= &break_it_down ($operands[0], $len) . " "; + $outputs .= &break_it_down ($operands[0], $len) . " "; + last the_switch; + } + + # Set + if (($op) = /^(set.*)$/) { + die if (@operands != 1); + $inputs .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc "; + $outputs .= &break_it_down ($operands[0], "b") . " "; + last the_switch; + } + + # When we jmp to the next instruction, note that nearly everything + # is dead. + if ((/^jmp$/) && (@operands == 1) && ($operands[0] =~ /^\*%edi$/)) { + $inputs .= "reg_di_.* "; + $outputs .= "eip reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc " + . "reg_a_.* reg_b_.* reg_c_.* reg_d_.* reg_di_.* "; + $no_union_inputs = 1; + last the_switch; + } + + # Barriers + if (/^[j.].*|call|ret|leave$/) { + $inputs .= ".* "; + $outputs .= "eip "; # program counter + last the_switch; + } + + # Shifts + if (($op, $len) = /^(rc|ro|sa|sh)[rl]([bwl])$/) { + die if (@operands != 2); + $inputs .= "reg_ccc " + if ($op =~ /^rc/); #FIXME - not sure if this is right + $outputs .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc "; + $inputs .= &break_it_down ($operands[0], "b") . " "; + $inputs .= &break_it_down ($operands[1], $len) . " "; + $outputs .= &break_it_down ($operands[1], $len) . " "; + last the_switch; + } + + # Divide + if (($op, $len) = /^(div|idiv|mul|imul)([bwl])$/) { + local ($inout); + die if (@operands != 1 && @operands != 2); + $inout .= "reg_cco reg_ccs reg_ccz reg_cca reg_ccp reg_ccc "; + if (@operands == 1) + { + if ($len eq "b") + { + $inout .= &break_it_down ("%ax", "w") . " "; + } + elsif ($len eq "w") + { + $inout .= (&break_it_down ("%ax", "w") . " " + . &break_it_down ("%dx", "w") . " "); + } + elsif ($len eq "l") + { + $inout .= (&break_it_down ("%eax", "l") . " " + . &break_it_down ("%edx", "l") . " "); + } + } + else + { + $inout .= ".* "; # be paranoid, who cares. + } + $inputs .= $inout; + $outputs .= $inout; + last the_switch; + } + + # LEA and MOV + if (($op, $len) = /^(lea|mov)([bwl])$/) { + die if (@operands != 2); + if ($op eq "mov") + { + $inputs .= &break_it_down ($operands[0], $len) . " "; + } + $outputs .= &break_it_down ($operands[1], $len) . " "; + last the_switch; + } + + # Move and extend + if (($op, $srclen, $dstlen) = /^(mov[sz])([bwl])([bwl])$/) { + die if (@operands != 2); + $inputs .= &break_it_down ($operands[0], $srclen) . " "; + $outputs .= &break_it_down ($operands[1], $dstlen) . " "; + last the_switch; + } + + # Push and pop + if (($op, $len) = /^(push|pop)([bwl])$/) { + die if (@operands != 1); + $inputs .= &break_it_down ("%esp", "l") . " "; + $outputs .= &break_it_down ("%esp", "l") . " "; + if ($op eq "push") + { + $inputs .= &break_it_down ($operands[0], $len) . " "; + $outputs .= &break_it_down ("(%esp)", $len) . " "; + } + else + { + $inputs .= &break_it_down ("(%esp)", $len) . " "; + $outputs .= &break_it_down ($operands[0], $len) . " "; + } + last the_switch; + } + + # LODS +# if (($op, $len) = /^(lods)([bwl])$/) { +# die if (@operands != 0); +# $inputs .= &break_it_down ("%esi", "l") . " "; +# $outputs .= &break_it_down ("%esi", "l") . " "; +# $inputs .= &break_it_down ("(%esi)", $len) . " "; +# $outputs .= &break_it_down ("%eax", $len) . " "; +# $inputs .= "reg_ccd"; +# last the_switch; +# } + + # CWTL + if (($op, $len) = /^(cwt)(l)$/) { + die if (@operands != 0); + $inputs .= &break_it_down ("%ax", "w") . " "; + $outputs .= &break_it_down ("%eax", "l") . " "; + last the_switch; + } + + # CLTD + if (/^cltd$/) { + die if (@operands != 0); + $inputs .= &break_it_down ("%eax", "l") . " "; + $outputs .= &break_it_down ("%edx", "l") . " "; + last the_switch; + } + + die "Unrecognized instruction $insn\n"; + } + + if (!$no_union_inputs) { + $inputs .= join (' ', grep (/\*/, split (' ', $outputs))) . " "; + } + + chop $inputs; + chop $outputs; + $inputs = &union ($inputs); + $outputs = &union ($outputs); +# print "$insn\n Inputs: $inputs\n Outputs: $outputs\n"; + return ($inputs, $outputs, 2); +} + +sub compute_info +{ + local($lineno) = @_; + + ($inputs[$lineno], $outputs[$lineno], $latency[$lineno]) = + &recognize ($lines[$lineno]); +} + +open (REG, "reg") || die; + +while () +{ + local ($reg, $len, $info); + chop; + ($reg, $len, $info) = split (/\t+/); + $register_info{$reg, $len} = $info; + $regs{$reg}++; +} + +close (REG); diff --git a/syngen/CAVEATS b/syngen/CAVEATS new file mode 100644 index 0000000..4c8f72c --- /dev/null +++ b/syngen/CAVEATS @@ -0,0 +1,16 @@ +1) CC bits may not be valid during an interrupt +2) We don't support supervisor mode properly + a) We have only one SP (no MSP, ISP, USP) + b) You cannot leave supervisor mode +3) The interrupt stack space is in a static array which may not look + like a valid address from the Mac's point of view. +4) Interrupt/trap handlers we write are responsible for performing their + own RTE. +5) Flushing the cache during an interrupt can have bad effects; the compiled + code being interpreted would get destroyed, and on return back to the + compiled code bad things would happen. +6) Expanding multiple CC variants of the same opcode won't work properly. + It will only expand the piecewise intersections of the specified addressing + modes. Instead, it should go through and do all the intersections, and then + run through each variant's expansion pattern with "----------------" as the + expansion pattern for all other variants. diff --git a/syngen/INSTALL b/syngen/INSTALL new file mode 100644 index 0000000..1333ed7 --- /dev/null +++ b/syngen/INSTALL @@ -0,0 +1 @@ +TODO diff --git a/syngen/Makefile.am b/syngen/Makefile.am new file mode 100644 index 0000000..cb8854d --- /dev/null +++ b/syngen/Makefile.am @@ -0,0 +1,12 @@ +CC=@CC_FOR_BUILD@ +noinst_PROGRAMS = syngen + +syngen_CPPFLAGS = -DSYNGEN + +syngen_SOURCES = main.c token.c hash.c parse.c list.c reduce.c macro.c \ + boolean.c error.c defopcode.c bitstring.c generatecode.c \ + uniquestring.c byteorder.c + +INCLUDES = -I$(srcdir)/include -I$(srcdir)/../include -I../include + +EXEEXT = diff --git a/syngen/SYNOP_LAYOUT b/syngen/SYNOP_LAYOUT new file mode 100644 index 0000000..7fc6ea4 --- /dev/null +++ b/syngen/SYNOP_LAYOUT @@ -0,0 +1,16 @@ +Synthetic opcodes are composed of a 16 bit opcode followed by +operands. All operands will be aligned appropriately. Operands taking 16 or +fewer bits in the 68k instruction stream will NEVER be extended to 32 bits +in the synthetic stream. + +If this instruction ends a block and has one or more known destination +blocks, the synthetic opcode is immediately followed by pointers to +the synthetic code in those blocks. + +Next come any 32 bit operands not mentioned in the 68k description +file (eg, return addresses for jsrs). + +Next come all 32 bit operands explicitly mentioned in the 68k +description file, in "field number" order (eg, $2.u precedes $4.s, etc.) + +Finally we have all 16 bit operands, also in "field number" order. diff --git a/syngen/TODO b/syngen/TODO new file mode 100644 index 0000000..8014be6 --- /dev/null +++ b/syngen/TODO @@ -0,0 +1,55 @@ +6) Fold amodes 6 and 7 together, ignoring the reg field of the amode. + Some amode 7 (abs short, abs long, imm) should not be folded if the + amode as a whole is being expanded. +7) Grab unexpanded regs at the beginning of the case? Saves code iff + the reg is referred to more than once. Watch out for lvalues and + aliases... +14) Table builder should be more aggressive about using OpcodeMappingInfo + sequences from similar instructions +20) Look into changing beq et al: + (if (not ccnz) + (assign code (deref "uint16 **" code 1)) + (assign code (deref "uint16 **" code 0))))) + To: + (assign code (deref "uint16 **" code (not ccnz))) +22) Handle assigns to dollar registers not in the first instruction word + (happens now for bitfields, cas2...) +23) Don't generate switch to correct for postinc/predec when that amode isn't + possible. +25) Right now VBR points to a static array in trap.c; make it point + to real m68k memory. +27) Rewrite movemw/moveml #ifdef'd for the case where our regs are in an + array. It should be possible to write it as a nice tight loop. +33) Expanding two different cc variants of the same instruction won't work. + Instead, it will only expand bit patterns in the intersection of the two + bits_to_expand's as it marches along the list, or something like that. +36) Add a new operand type for 3 bit numbers where 0 is really 8. These + are common in instructions that specify small constants, and this should + let us cut down the number of synthetic opcodes we need, thus + reducing the size of 68k.scm and syn68k.c. +37) Rewrite parts of byteorder.c to better handle assigning expressions of + unknown size to memory. As it is, it doesn't know what size of byte + swapping macro to use when, for example, doing: + (assign $1.muw (| (<> ccc 0) (<> ccx 0))) + The current heuristic is to swap based on the size of the smaller of the + LHS and RHS. This doesn't work in the above example. For now, I've + worked around this in 68k.scm by inserting native order temp variables of + the appropriate size, like: + (assign tmp1.uw (| (<> ccc 0) (<> ccx 0))) + (assign $1.muw tmp1.uw) + Here it is straightforward for byteorder.c to figure out what size + the data to be swapped (tmp1.uw) is. I think this only comes up + in the ccr/sr instructions. +38) Test move16 +39) gcc isn't clever about: + (d0.ub.n = (*(uint8 *) CLEAN ((a0.ul.n - 1) )) ) ; + a0.ul.n -= 1; + It computes a0.ul.n - 1 twice! It would be nice to replace this + with: + (d0.ub.n = (*(uint8 *) CLEAN ((--a0.ul.n)))); + but it's tricky to do this because, if the dereference of the + predecremented a0 is used more than once, we want to avoid decrementing + it more than once. +40) Separate arrays for the two fields of amode_cleanup_info might be + faster on the 486; if we are clever, we can possibly get the compiler to + use the "xlatb" instruction, although perhaps this isn't a win. diff --git a/syngen/bitstring.c b/syngen/bitstring.c new file mode 100644 index 0000000..af526af --- /dev/null +++ b/syngen/bitstring.c @@ -0,0 +1,215 @@ +#include "bitstring.h" +#include "error.h" +#include + + +/* This takes a 16 bit number and a bitset (described by a lisp-style + * expression) and returns TRUE iff the number is a member of that set. + * A bitset would be described by an expression like: + * + * (union "00001111xx0011xx" "mmmm00111011xxx1" + * (intersect "1001xxxx0011nnn1" (not "0110001111000101"))) + * + * The number will be in the set if the usual union, intersect and not + * properties are met. A number matches a simple string if each literal + * '0' and '1' in the string matches a 0 or 1 bit in the number, respectively. + * All non-'0' and non-'1' characters in the string are assumed to be + * wildcards; anything in the corresponding bit position in the number will + * be considered a match. + */ + +BOOL +is_member_of_set (unsigned short n, List *set) +{ + List *tmp; + char buf[512]; + + /* If we are looking for a match against a quoted string, efficiently + * determine if all of the literal bits match. This could be vastly + * faster if the quoted string were replaced with a mask of bits that must + * be valid and a set of values for those bits, but speed just doesn't + * matter here, and it's handy to deal with the original string (which + * can contain other information via the specific choice of non-'0' + * and non-'1' characters). + */ + if (set->token.type == TOK_QUOTED_STRING) + { + const char *s = set->token.u.string; + int mask; + + + for (mask = 1 << 15; mask != 0; s++, mask >>= 1) + if ((*s == '0' && (n & mask)) || (*s == '1' && !(n & mask))) + { + return FALSE; + } + + return TRUE; + } + + if (set->token.type != TOK_LIST) + { + /* This error will get printed a zillion times, but who cares. */ + parse_error (set, "Malformed bit set; expecting quoted string of bits, " + "union, intersect, or not, found %s\n", + unparse_token (&set->token, buf)); + return FALSE; + } + + /* Not a member of the empty list. */ + if (set->car == NULL) + return FALSE; + + /* See what type of operation we are performing, and do the appropriate + * thing. + */ + switch (set->car->token.type) { + case TOK_UNION: + if (list_length (set->car) < 2) + parse_error (set->car, "Missing arguments to union.\n"); + for (tmp = CDAR (set); tmp != NULL; tmp = tmp->cdr) + if (is_member_of_set (n, tmp)) + return TRUE; + return FALSE; + case TOK_INTERSECT: + if (list_length (set->car) < 2) + parse_error (set->car, "Missing arguments to intersect.\n"); + for (tmp = CDAR (set); tmp != NULL; tmp = tmp->cdr) + if (!is_member_of_set (n, tmp)) + return FALSE; + return TRUE; + case TOK_NOT: + if (list_length (set->car) != 2) + { + parse_error (set->car, "Must have exactly one argument to not.\n"); + return FALSE; + } + return !is_member_of_set (n, CDAR (set)); + default: + /* This error will get printed a zillion times, but who cares. */ + parse_error (set, "Malformed bit set; expecting quoted string of bits, " + "union, intersect, or not.\n"); + return FALSE; + } +} + + +BOOL +empty_set (List *set, int literal_bits_mask, int literal_bits) +{ + int i; + + for (i = 0; i < 65536; i++) + if ((i & literal_bits_mask) == literal_bits && is_member_of_set (i, set)) + return FALSE; + return TRUE; +} + + +/* Given a bit pattern like "0010ddd0000ddd001xxx001ppp" and a field number, + * returns by reference the low index and length of the nth field, where + * the first field (in this case the first string of 3 d's) is # 1. Returns + * TRUE if such a field exists, else FALSE. + */ +BOOL +pattern_range (const char *pattern, int which, PatternRange *range) +{ + const char *p = pattern, *p2; + + do + { + if (*p == '\0') + return FALSE; + + /* Skip to first sequence. */ + for (; *p != '\0' && (*p == '0' || *p == '1'); p++) + ; + + /* Remember where the pattern started. */ + range->index = p - pattern; + p2 = p; + + /* Find the end of the sequence. */ + for (; *p != '\0' && *p == *p2; p++) + ; + + /* Remember the length of the pattern. */ + range->length = p - p2; + } + while (--which > 0); + + return TRUE; +} + + +int +field_with_index (const char *opcode_bits, int index) +{ + PatternRange range; + int i; + + for (i = 1; pattern_range (opcode_bits, i, &range); i++) + { + if (range.index == index) + return i; + } + return 0; +} + + +BOOL +field_expanded (int field_number, const char *opcode_bits, + const char *bits_to_expand) +{ + PatternRange range; + int i; + + /* If there is no such field, return FALSE. */ + if (!pattern_range (opcode_bits, field_number, &range)) + return FALSE; + + /* If the field falls outside the first 16 bits, it can't be expanded. */ + if (range.index >= 16) + return FALSE; + + for (i = range.index; i < range.index + range.length; i++) + if (bits_to_expand[i] == '-' && opcode_bits[i] != '0' + && opcode_bits[i] != '1') + return FALSE; + + return TRUE; +} + + +int +num_fields (const char *opcode_bits) +{ + PatternRange range; + int i; + + for (i = 1; pattern_range (opcode_bits, i, &range); i++) + ; + return i - 1; +} + + +void +make_unique_field_of_width (const char *opcode_bits, char *where, int width) +{ + int i, x; + for (x = 'A'; strchr (opcode_bits, x) != NULL; x++) + ; + for (i = 0; i < width; i++) + *where++ = x; + *where = '\0'; +} + + +/* Handy utility function. */ +void +print_16_bits (FILE *stream, unsigned short n) +{ + int shift; + for (shift = 15; shift >= 0; shift--) + putc ('0' + ((n >> shift) & 1), stream); +} diff --git a/syngen/boolean.c b/syngen/boolean.c new file mode 100644 index 0000000..93243e1 --- /dev/null +++ b/syngen/boolean.c @@ -0,0 +1,412 @@ +/* + * boolean.c + */ + +#include +#include +#include +#include "token.h" +#include "boolean.h" +#include "error.h" + + +static BoolExpr *create_bool_expr (BoolExprType type, BoolExpr *subexpr); + +typedef BoolExpr * (BoolOpHandler)(const List *); +static BoolOpHandler BO_equal, BO_greater_than, BO_less_than, BO_not_equal, + BO_gr_or_equal, BO_less_or_equal, + BO_not, BO_and, BO_or, BO_xor; +typedef struct { + TokenType type; + BoolOpHandler *func; +} BoolDispatchEntry; + +static BoolExpr true_bool_expr = { E_TRUE, NULL, NULL }, + false_bool_expr = { E_FALSE, NULL, NULL }; + +BoolExpr * +make_boolean_expr (const List *ls) +{ + char buf[128]; + int i; + static const BoolDispatchEntry boolop[] = { + { TOK_EQUAL, BO_equal }, + { TOK_GREATER_THAN, BO_greater_than }, + { TOK_LESS_THAN, BO_less_than }, + { TOK_LESS_OR_EQUAL, BO_less_or_equal }, + { TOK_GREATER_OR_EQUAL, BO_gr_or_equal }, + { TOK_NOT_EQUAL, BO_not_equal }, + { TOK_NOT, BO_not }, + { TOK_AND, BO_and }, + { TOK_OR, BO_or }, + { TOK_XOR, BO_xor } }; + + if (ls == NULL) + parse_error(ls, "Invalid boolean expression.\n"); + else if (ls->car == NULL) + { + switch (ls->token.type) { + case TOK_TRUE: + return &true_bool_expr; + case TOK_FALSE: + case TOK_NIL: + return &false_bool_expr; + default: + break; + } + parse_error (ls, "Unknown boolean expression \"%s\".\n", + unparse_token (&ls->token, buf)); + } + else + { + for (i = (sizeof boolop / sizeof boolop[0]) - 1; i >= 0; i--) + if (boolop[i].type == ls->car->token.type) + return boolop[i].func (ls->car); + parse_error (ls, "Unknown boolean operator: \"%s\"\n", + unparse_token (&ls->car->token, buf)); + } + + return &false_bool_expr; /* Default to FALSE, keep compiling */ +} + + +/* = This can either compare two numerical expressions or two strings */ +static BoolExpr * +BO_equal (const List *ls) +{ + if (ls->cdr == NULL || CDDR (ls) == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, "= takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return tokens_equal (&ls->cdr->token, &(CDDR (ls))->token) + ? &true_bool_expr : &false_bool_expr; +} + + +/* <> This can either compare two numerical expressions or two strings */ +static BoolExpr * +BO_not_equal(const List *ls) +{ + if (ls->cdr == NULL || ls->cdr->cdr == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, "<> takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return !tokens_equal (&ls->cdr->token, &(CDDR (ls))->token) + ? &true_bool_expr : &false_bool_expr; +} + + +/* > Valid only for numerical expressions */ +static BoolExpr * +BO_greater_than (const List *ls) +{ + if (ls->cdr == NULL || ls->cdr->cdr == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, "> takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + if (ls->cdr->token.type != TOK_NUMBER || CDDR (ls)->token.type != TOK_NUMBER) + { + parse_error (ls,"> can only be used to compare numerical quantities!\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return (ls->cdr->token.u.n > CDDR (ls)->token.u.n) + ? &true_bool_expr : &false_bool_expr; +} + + +/* < Valid only for numerical expressions */ +static BoolExpr * +BO_less_than (const List *ls) +{ + if (ls->cdr == NULL || ls->cdr->cdr == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, "< takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + if (ls->cdr->token.type != TOK_NUMBER || CDDR (ls)->token.type != TOK_NUMBER) + { + parse_error (ls,"< can only be used to compare numerical quantities!\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return (ls->cdr->token.u.n < CDDR (ls)->token.u.n) + ? &true_bool_expr : &false_bool_expr; +} + + +/* >= Valid only for numerical expressions */ +static BoolExpr * +BO_gr_or_equal (const List *ls) +{ + if (ls->cdr == NULL || ls->cdr->cdr == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, ">= takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + if (ls->cdr->token.type != TOK_NUMBER || CDDR (ls)->token.type != TOK_NUMBER) + { + parse_error (ls, + ">= can only be used to compare numerical quantities!\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return (ls->cdr->token.u.n >= CDDR (ls)->token.u.n) + ? &true_bool_expr : &false_bool_expr; +} + + +/* <= Valid only for numerical expressions */ +static BoolExpr * +BO_less_or_equal (const List *ls) +{ + if (ls->cdr == NULL || CDDR (ls) == NULL || CDDDR (ls) != NULL) + { + parse_error (ls, "<= takes two arguments.\n"); + return &false_bool_expr; /* default = FALSE */ + } + if (ls->cdr->token.type != TOK_NUMBER || CDDR (ls)->token.type != TOK_NUMBER) + { + parse_error (ls, + "<= can only be used to compare numerical quantities!\n"); + return &false_bool_expr; /* default = FALSE */ + } + + return (ls->cdr->token.u.n <= CDDR (ls)->token.u.n) + ? &true_bool_expr : &false_bool_expr; +} + + +/* not */ +static BoolExpr * +BO_not (const List *ls) +{ + BoolExpr *subexpr = make_boolean_expr (ls->cdr); + + if (subexpr == NULL) + { + parse_error(ls, "not takes an argument!\n"); + return &false_bool_expr; /* default = FALSE */ + } + if (subexpr->type == E_FALSE) return &true_bool_expr; + if (subexpr->type == E_TRUE ) return &false_bool_expr; + return create_bool_expr (E_NOT, subexpr); +} + +/* and */ +static BoolExpr * +BO_and(const List *ls) +{ + BoolExpr *subexpr, *ret; + BOOL hit_true = FALSE; + + ret = create_bool_expr (E_AND, NULL); + while ((ls = ls->cdr)) + { + subexpr = make_boolean_expr (ls); + if (subexpr->type == E_FALSE) /* If we ever hit FALSE, expr is FALSE */ + return &false_bool_expr; + if (subexpr->type != E_TRUE) /* No sense adding in TRUE statements */ + { + subexpr->next = ret->subexpr; + ret->subexpr = subexpr; + } + else hit_true = TRUE; + } + if (ret->subexpr == NULL) + { + if (hit_true) /* If we hit nothing but TRUE's return TRUE */ + return &true_bool_expr; + parse_error(ls, "and takes arguments!\n"); + return &false_bool_expr; /* default = FALSE */ + } + + if (ret->subexpr->next == NULL) /* (and a) == a */ + return ret->subexpr; + + return ret; +} + + +/* or */ +static BoolExpr * +BO_or (const List *ls) +{ + BOOL hit_false = FALSE; + BoolExpr *subexpr, *ret; + + ret = create_bool_expr (E_OR, NULL); + while ((ls = ls->cdr)) + { + subexpr = make_boolean_expr (ls); + if (subexpr->type == E_TRUE) + return &true_bool_expr; + if (subexpr->type == E_FALSE) /* No sense adding in FALSE statements*/ + hit_false = TRUE; + else + { + subexpr->next = ret->subexpr; + ret->subexpr = subexpr; + } + } + if (ret->subexpr == NULL) + { + if (hit_false) /* If we hit nothing but FALSE's return FALSE */ + return &false_bool_expr; + parse_error(ls, "or takes arguments!\n"); + return &false_bool_expr; /* Default = FALSE */ + } + + if (ret->subexpr->next == NULL) /* (or a) == a */ + return ret->subexpr; + + return ret; +} + +/* xor */ +static BoolExpr * +BO_xor (const List *ls) +{ + BoolExpr *subexpr, *ret; + BoolExprType answer = E_FALSE; + BOOL odd_trues = NO; + + ret = create_bool_expr (E_XOR, NULL); + while ((ls = ls->cdr)) + { + subexpr = make_boolean_expr (ls); + if (subexpr->type == E_TRUE) + { + odd_trues = !odd_trues; + + if (answer == E_TRUE) answer = E_FALSE; + else if (answer == E_FALSE) answer = E_TRUE; + else + { + subexpr->next = ret->subexpr; + ret->subexpr = subexpr; + } + } + else if (subexpr->type != E_FALSE) + { + subexpr->next = ret->subexpr; + ret->subexpr = subexpr; + answer = E_UNKNOWN; + } + } + + if (ret->subexpr == NULL) + { + parse_error(ls, "xor takes arguments!\n"); + return &false_bool_expr; /* Default = FALSE */ + } + + if (answer == E_TRUE) + return &true_bool_expr; + else if (answer == E_FALSE) + return &false_bool_expr; + + if (ret->subexpr->next == NULL && !odd_trues) /* (xor a) == a */ + return ret->subexpr; + if (odd_trues) /* If there were an odd number of TRUE's, toss one in. */ + { + subexpr = create_bool_expr (E_TRUE, NULL); + subexpr->next = ret->subexpr; + ret->subexpr = subexpr; + } + + return ret; +} + +static BoolExpr * +create_bool_expr (BoolExprType type, BoolExpr *subexpr) +{ + BoolExpr *be = (BoolExpr *) malloc (sizeof (BoolExpr)); + + be->type = type; + be->subexpr = subexpr; + be->next = NULL; + + return be; +} + + +/* Given a boolean expression and (un)known ifull and ofull conditions, this + * function returns E_FALSE, E_TRUE or E_UNKNOWN reflecting the truth or + * falsity of the boolean expression. + */ + +BoolExprType +eval_bool_expr (const BoolExpr *be) +{ + BoolExprType deflt; + + switch (be->type) { + case E_TRUE: return E_TRUE; + case E_FALSE: return E_FALSE; + case E_NOT: + switch (eval_bool_expr (be->subexpr)) { + case E_TRUE: return E_FALSE; + case E_FALSE: return E_TRUE; + default: return E_UNKNOWN; + } + case E_AND: + deflt = E_TRUE; + for (be=be->subexpr; be != NULL; be=be->next) + switch (eval_bool_expr (be)) { + case E_FALSE: return E_FALSE; + case E_UNKNOWN: deflt = E_UNKNOWN; break; /* Could still be E_FALSE */ + default: break; + } + return deflt; + case E_OR: + deflt = E_FALSE; + for (be=be->subexpr; be != NULL; be=be->next) + switch (eval_bool_expr (be)) { + case E_TRUE: return E_TRUE; + case E_UNKNOWN: deflt = E_UNKNOWN; break; /* Could still be E_TRUE */ + default: break; + } + return deflt; + default: return E_UNKNOWN; + } +} + + +void +print_boolean_expr (const BoolExpr *be) +{ + switch (be->type) { + case E_TRUE: printf ("true "); break; + case E_FALSE: printf ("false "); break; + case E_UNKNOWN: printf ("? "); break; + case E_NOT: + printf ("(not "); + print_boolean_expr (be->subexpr); + printf (") "); + break; + case E_AND: + printf ("(and "); + for (be=be->subexpr; be != NULL; be=be->next) + print_boolean_expr (be); + printf (") "); + break; + case E_OR: + printf ("(or "); + for (be=be->subexpr; be != NULL; be=be->next) + print_boolean_expr (be); + printf (") "); + break; + case E_XOR: + printf ("(xor "); + for (be=be->subexpr; be != NULL; be=be->next) + print_boolean_expr (be); + printf (") "); + break; + } +} diff --git a/syngen/byteorder.c b/syngen/byteorder.c new file mode 100644 index 0000000..a605900 --- /dev/null +++ b/syngen/byteorder.c @@ -0,0 +1,869 @@ +#include "common.h" +#include "list.h" +#include "byteorder.h" +#include "uniquestring.h" +#include "error.h" +#include "bitstring.h" +#include "syn68k_private.h" +#include +#include +#include + +typedef enum { + BO_UNKNOWN, BO_DONT_CARE, BO_NATIVE, BO_BIG_ENDIAN, BO_UNKNOWABLE + } ByteOrder; + +typedef enum { + BS_UNKNOWN, BS_BYTE, BS_WORD, BS_LONG=4, BS_LONG_LONG=8 +} ByteSize; + +typedef struct { + ByteOrder order; + ByteSize size; + BOOL sgnd; +} ExprInfo; + +static ExprInfo expr_info (const List *expr, ByteOrder hint, + ExprInfo *field_info); +static ByteSize expr_list_max_size (List *ls, ByteSize hint, + ExprInfo *field_info); +static BOOL expr_list_any_are_unsigned (List *ls, ByteSize hint, + ExprInfo *field_info); +static void endianness (List *code, ByteSize desired_size, ByteOrder hint, + BOOL strong_hint, ExprInfo *field_info); +static Token *has_tok_dollar (List *ls, TokenType type, int number); +static BOOL has_tok_dollar_reg (List *ls, int number); + + +/* + * NOTE: the code for sorting operands has been "#if 0"'d out for a long time. + * I only changed the #if 0 to if defined (SORT_OPERANDS) to make it so + * we don't get complaints about compare_bitfields being defined but not + * used. It's not clear that SORT_OPERANDS should ever be defined. + * Certainly it shouldn't be turned on by anyone who isn't up to speed + * on the workings of Syn68k, and at this date (2003-12-15) nobody fits + * that description. + */ + +#if defined (SORT_OPERANDS) +static int compare_bitfields (const void *bp1, const void *bp2); +#endif + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +/* This function computes information about all unexpanded operands, placing + * information needed to extract them into op. It also determines appropriate + * byte ordering information and modifies v's code to swap bytes when + * appropriate. Returns the number of words of operands. + */ +int +compute_operand_info (OperandInfo *op, const ParsedOpcodeInfo *p, + const CCVariant *v) +{ + PatternRange range; + ExprInfo field_info[16]; + char decls[2048]; + int words_in = p->operand_words_to_skip; + int i; + + /* Zero out everything by default. */ + memset (op, 0, sizeof *op); + + /* Start out with the endianness/size of all operands unknown. */ + memset (field_info, 0, sizeof field_info); + + /* Figure out whatever we can about various fields. */ + for (i = 1; pattern_range (p->opcode_bits, i, &range); i++) + { + /* Was this field expanded? */ + if (field_expanded (i, p->opcode_bits, v->bits_to_expand)) + { + /* Yep; it's going to expand to a constant number, + * so specify the byte order as NATIVE. + */ + field_info[i].order = BO_NATIVE; + break; + } + } + + /* Loop through unexpanded fields and nail down their size + signedness. */ + for (i = 1; pattern_range (p->opcode_bits, i, &range); i++) + { + Token *dollartok; + + /* If this field was expanded, no need to save it as an operand. */ + if (field_expanded (i, p->opcode_bits, v->bits_to_expand)) + continue; + + /* See if this field was actually used as a numeric constant. */ + if ((dollartok = has_tok_dollar (v->code, TOK_DOLLAR_NUMBER, i)) != NULL) + { + field_info[i].sgnd = dollartok->u.dollarinfo.sgnd; + field_info[i].size = dollartok->u.dollarinfo.size; + } + else if (has_tok_dollar_reg (v->code, i)) + { + /* Make register numbers be 32 bit uints, since this seems to + * make most compilers the happiest when doing array references. + */ + field_info[i].sgnd = FALSE; + field_info[i].size = BS_LONG; + field_info[i].order = BO_NATIVE; + } + } + + /* Recursively set/determine the endianness of all expressions and + * add in swap's where appropriate. + */ + endianness (v->code, BO_UNKNOWN, BO_NATIVE, FALSE, field_info); + + /* For all of the fields that weren't expanded, create bitfield + * information for them and create a declaration. + */ + for (i = 1; pattern_range (p->opcode_bits, i, &range); i++) + { + BitfieldInfo *b; + + /* If this field was expanded, no need to save it as an operand. */ + if (field_expanded (i, p->opcode_bits, v->bits_to_expand)) + continue; + + /* See if this field was actually used as a numeric constant, + * or as a register number... + */ + if (has_tok_dollar (v->code, TOK_DOLLAR_NUMBER, i) == NULL + && !has_tok_dollar_reg (v->code, i)) + continue; + + /* If we just don't care about byte order for a numeric constant, + * make it default to BO_NATIVE. + */ + if (field_info[i].order == BO_UNKNOWN + && has_tok_dollar (v->code, TOK_DOLLAR_NUMBER, i) != NULL) + field_info[i].order = BO_NATIVE; + + /* It wasn't expanded, so create a bitfield for it. */ + if (field_info[i].order == BO_UNKNOWN + || field_info[i].size == BS_UNKNOWN) + { + parse_error (v->code, "Error: Unable to determine best byte order " + "or size of operand field %d. " + "(order == %d, size == %d)\n", i, field_info[i].order, + field_info[i].size); + print_list (stderr, v->code); + putc ('\n', stderr); + } + else + { + b = &op->bitfield[op->num_bitfields++]; + b->rev_amode = (has_tok_dollar (v->code, TOK_DOLLAR_REVERSED_AMODE,i) + != NULL); + b->index = range.index; + b->length = range.length - 1; + b->sign_extend = field_info[i].sgnd; + b->make_native_endian = (field_info[i].order == BO_NATIVE + || field_info[i].size == BS_BYTE); + +#if 0 + /* We prefer to translate 16 bit operands to the synthetic + * instruction stream as 16 bit operands. However, if the operand + * is to be sign- or zero-extended to 32 bits, and it is not to be + * native endian, we extend it at translation time. The logic + * behind this is that extending a 16 bit number is a free + * operation on the 386 (movesx/movezx) and a cheap operation on + * other CPU's, but this will only work for operands in native + * format. Also, since 32 bit operands force operand alignment for + * QUADALIGN machines, using 16 bit operands can avoid alignment + * NOPs. + */ + if (b->make_native_endian && range.length <= 16) + b->words = 1 - 1; /* 1 word. */ + else + b->words = ((field_info[i].size == BS_LONG) ? 2 : 1) - 1; +#else + /* We now prefer to use BS_LONG operands. These are generally + * faster on RISC chips, and on the Pentium movswl, etc. are + * apparently not pairable. + */ + if (b->make_native_endian) + field_info[i].size = BS_LONG; + b->words = ((field_info[i].size == BS_LONG) ? 2 : 1) - 1; +#endif + + if (b->index == MAGIC_END_INDEX && b->length == MAGIC_END_LENGTH) + fatal_error ("Illegal bitfield index/length (%d/%d). This " + "combination is used as a magic value and shouldn't " + "show up in real code!", MAGIC_END_INDEX, + MAGIC_END_LENGTH); + } + } + + if (op->num_bitfields > MAX_BITFIELDS) + fatal_error ("Too many operand bitfields (%d) for OpcodeMappingInfo " + "struct.\n", op->num_bitfields); + +#if defined (SORT_OPERANDS) + /* Sort operands by size and then by field number. */ + { +#ifdef GENERATE_NATIVE_CODE + BitfieldInfo *save; + int size = op->num_bitfields * sizeof op->bitfield[0]; + save = (BitfieldInfo *) alloca (size); + memcpy (save, op->bitfield, size); +#endif + qsort (op->bitfield, op->num_bitfields, sizeof op->bitfield[0], + compare_bitfields); +#ifdef GENERATE_NATIVE_CODE + if (v->native_code_info != NULL && memcmp (save, op->bitfield, size)) + parse_error (v->code, "byteorder.c insists on reordering your operands!" + " This is incompatible with native code generation."); +#endif + } +#endif /* defined (SORT_OPERANDS) */ + + /* Create decls string. */ + decls[0] = '\0'; + for (i = 0; i < op->num_bitfields; i++) + { + int field = field_with_index (p->opcode_bits, op->bitfield[i].index); + + /* Output declaration. */ +#if 1 || !defined(TEMPS_AT_TOP) + sprintf (decls + strlen (decls), " %sint%d operand_%d = ", + op->bitfield[i].sign_extend ? "" : "u", + field_info[field].size * 8, field); +#else /* defined(TEMPS_AT_TOP) */ + sprintf (decls + strlen (decls), " operand_%s%d_%d = ", + op->bitfield[i].sign_extend ? "" : "u", + field_info[field].size * 8, field); +#endif /* defined(TEMPS_AT_TOP) */ + + /* Fetch initial value. */ + if (op->bitfield[i].words == 1 - 1 /* One 16 bit word. */ ) + { + if (op->bitfield[i].sign_extend) + strcat (decls, "(int16) "); + sprintf (decls + strlen (decls), "code[%d];", words_in); + /* We leave a gap here. We used to pack all the 16 bit + * operands together, but they have largely been abandoned + * in favor of 32 bit operands. They only crop up occasionally + * when we're doing byte swapping of immediate constants. + * We leave a gap here so everything stays aligned. + */ + words_in += 2; + } + else /* Two 16 bit words. */ + { + strcat (decls, "*(("); + if (!op->bitfield[i].sign_extend) + strcat (decls, "u"); + if (words_in != 0) + sprintf (decls + strlen (decls), "int32 *) (code + %d));", + words_in); + else + sprintf (decls + strlen (decls), "int32 *) code);"); + words_in += 2; + } + + /* Add comment indicating swappedness. */ + if (op->bitfield[i].make_native_endian) + strcat (decls, " /* Native endian */\n"); + else + strcat (decls, " /* Big endian */\n"); + } + + op->operand_decls = unique_string (decls); + return words_in; +} + + +static void +swap (List *ls, ByteSize size, BOOL sgnd) +{ + List *swap, *new; + + /* Pointless to swap bytes, assuming they aren't trying to use + * swapsb or swapub as a cast! + */ + if (size == BS_BYTE) + return; + + /* Verify that we have a legal size. */ + if (size == BS_UNKNOWN) + { + parse_error (ls, "Internal error, byteorder.c: Attempting to swap with " + "size == BS_UNKNOWN!\n"); + return; + } + + swap = alloc_list (); + new = alloc_list (); + + /* Copy the specified list. */ + *new = *ls; + new->cdr = NULL; + + /* Create swap expr. */ + swap->token.type = TOK_SWAP; + + assert (size == 1 || size == 2 || size == 4); + + swap->token.u.swapinfo.size = size; + swap->token.u.swapinfo.sgnd = sgnd; + swap->cdr = new; + + /* Make the specified list be a real list that contains (swap expr). */ + ls->token.type = TOK_LIST; + ls->car = swap; + + propagate_fileinfo (&ls->token, ls); +} + + +/* This magic function marches through a list of code and makes everything + * a workable endianness by either inserting swaps or requesting that + * operands be translated with a certain endianness. If strong_hint + * is TRUE, the expression is forced to assume the endianness specified + * by hint. + */ +static void +endianness (List *code, ByteSize desired_size, ByteOrder hint, + BOOL strong_hint, ExprInfo *field_info) +{ + ExprInfo info = expr_info (code, hint, field_info); + Token *t = &code->token; + char buf[256]; + + if (code == NULL) + return; + +#if 0 + printf ("Endianness: desired_size = %d, hint = %d, strong_hint = %d\n", + desired_size, hint, strong_hint); + print_list (stdout, code); + putchar ('\n'); +#endif + + if (strong_hint && t->type == TOK_DOLLAR_NUMBER) + { + field_info[t->u.dollarinfo.which].order = hint; + return; + } + + if (t->type == TOK_LIST) + { + List *l2; + + t = &code->car->token; + switch (t->type) { + case TOK_SHIFT_RIGHT: + case TOK_SHIFT_LEFT: + case TOK_PLUS: + case TOK_MINUS: + case TOK_MULTIPLY: + case TOK_DIVIDE: + case TOK_MOD: + case TOK_BITWISE_AND: + case TOK_BITWISE_OR: + case TOK_BITWISE_XOR: + case TOK_BITWISE_NOT: + /* Force all operands to be the same endianness... */ + for (l2 = CDAR (code); l2 != NULL; l2 = l2->cdr) + { + endianness (l2, ((info.size == BS_UNKNOWN) + ? desired_size : info.size), + info.order, TRUE, field_info); + } + break; + + case TOK_EXPLICIT_LIST: + for (l2 = CDAR (code); l2 != NULL; l2 = l2->cdr) + { + /* Just process everything else. */ + endianness (l2, desired_size, hint, strong_hint, field_info); + } + break; + + case TOK_LIST: + endianness (code->car, desired_size, hint, strong_hint, field_info); + break; + + case TOK_ASSIGN: + if (IS_CCBIT_TOKEN (CDAR (code)->token.type)) + { +#ifdef CCR_ELEMENT_8_BITS + endianness (CDDAR (code), BS_UNKNOWN, BO_NATIVE, TRUE, + field_info); +#else /* !CCR_ELEMENT_8_BITS */ + endianness (CDDAR (code), desired_size, hint, strong_hint, + field_info); +#endif /* !CCR_ELEMENT_8_BITS */ + } + else + { + if (info.size == BS_UNKNOWN) + { + parse_error (CDAR (code), "Attempting to assign to object " + "of unknown size!\n"); + print_list (stderr, code); + putc ('\n', stderr); + } + + /* Process LHS. */ + endianness (CDAR (code), info.size, hint, FALSE, field_info); + + /* Force RHS to have same type as LHS. */ + endianness (CDDAR (code), info.size, info.order, TRUE, field_info); + } + break; + + case TOK_SWAP: + /* Process operand. */ + endianness (CDAR (code), t->u.swapinfo.size, + (hint == BO_NATIVE) ? BO_BIG_ENDIAN : BO_NATIVE, + strong_hint, field_info); + break; + + case TOK_DEREF: + /* Force address to be native. */ + if (t->u.derefinfo.size != 0) + endianness (CDAR (code), BS_LONG, BO_NATIVE, TRUE, field_info); + else + endianness (CDDAR (code), BS_LONG, BO_NATIVE, TRUE, field_info); + break; + + case TOK_EQUAL: + case TOK_NOT_EQUAL: + { + /* Force both operands to be the same endianness (don't + * care which since we are testing equality). + */ + ExprInfo info2 = expr_info (CDAR (code), BO_NATIVE, field_info); + endianness (CDAR (code), expr_list_max_size (CDAR (code), + BO_NATIVE, + field_info), + info2.order, TRUE, field_info); + } + break; + + case TOK_GREATER_THAN: + case TOK_GREATER_OR_EQUAL: + case TOK_LESS_THAN: + case TOK_LESS_OR_EQUAL: + /* Force all operands to be BO_NATIVE. */ + for (l2 = CDAR (code); l2 != NULL; l2 = l2->cdr) + { + endianness (l2, expr_list_max_size (CDAR (code), BO_NATIVE, + field_info), + BO_NATIVE, TRUE, field_info); + } + break; + + case TOK_AND: + case TOK_OR: + case TOK_XOR: + case TOK_NOT: + /* Process all of the boolean things. Don't care about endianness. */ + for (l2 = CDAR (code); l2 != NULL; l2 = l2->cdr) + { + endianness (l2, BO_UNKNOWN, BO_NATIVE, FALSE, field_info); + } + break; + + case TOK_IF: + for (l2 = CDAR (code); l2 != NULL; l2 = l2->cdr) + { + /* Just process everything. */ + endianness (l2, BS_UNKNOWN, BO_NATIVE, FALSE, field_info); + } + break; + + case TOK_SWITCH: + /* Force switch value to be native. */ + endianness (CDAR (code), BS_WORD, BO_NATIVE, TRUE, field_info); + for (l2 = CDDAR (code); l2 != NULL; l2 = l2->cdr) + { + /* Force case value to be native. */ + endianness (l2->car, BS_WORD, BO_NATIVE, TRUE, field_info); + + /* Process case code. */ + endianness (CDAR (l2), BS_UNKNOWN, BO_NATIVE, FALSE, field_info); + } + break; + + case TOK_FUNC_CALL: + for (l2 = CDDAR (code); l2 != NULL; l2 = l2->cdr) + { + /* Force everything to be native */ + endianness (l2, BS_UNKNOWN, BO_NATIVE, TRUE, field_info); + } + break; + + case TOK_CAST: + for (l2 = CDDAR (code); l2 != NULL; l2 = l2->cdr) + { + /* Just process everything. */ + endianness (l2, BS_UNKNOWN, BO_NATIVE, TRUE, field_info); + } + break; + + default: + parse_error (code->car, "Unhandled operator %s in endianness().\n", + unparse_token (t, buf)); + break; + } + } + + /* If we are backwards and this upsets someone, swap! */ + info = expr_info (code, hint, field_info); + if (strong_hint && info.order != hint) + { + ByteSize s; + + if (desired_size == BS_UNKNOWN) + s = info.size; + else if (info.size == BS_UNKNOWN) + s = desired_size; + else + s = MIN (desired_size, info.size); + + swap (code, s, info.sgnd); + } +} + + + +static ExprInfo +expr_info (const List *expr, ByteOrder hint, ExprInfo *field_info) +{ + ExprInfo info = { BO_UNKNOWN, BS_UNKNOWN, FALSE }; /* Defaults. */ + const Token *t; + char buf[256]; + + if (expr == NULL) + return info; + + t = &expr->token; + switch (t->type) { + case TOK_DATA_REGISTER: + case TOK_ADDRESS_REGISTER: + case TOK_TEMP_REGISTER: + info.order = BO_NATIVE; + info.size = t->u.reginfo.size; + info.sgnd = t->u.reginfo.sgnd; + break; + + case TOK_DOLLAR_DATA_REGISTER: + case TOK_DOLLAR_ADDRESS_REGISTER: + case TOK_DOLLAR_GENERAL_REGISTER: + info.order = BO_NATIVE; + info.size = t->u.dollarinfo.size; + info.sgnd = t->u.dollarinfo.sgnd; + break; + + case TOK_DOLLAR_AMODE: /* We assume that by the time we reach */ + case TOK_DOLLAR_REVERSED_AMODE: /* here, all reg amodes have been */ + info.order = BO_BIG_ENDIAN; /* converted to dollar_reg's. */ + info.size = t->u.dollarinfo.size; + info.sgnd = t->u.dollarinfo.sgnd; + break; + + case TOK_DOLLAR_AMODE_PTR: + case TOK_DOLLAR_REVERSED_AMODE_PTR: + info.order = BO_NATIVE; + info.size = sizeof (void *); + info.sgnd = TRUE; + break; + + case TOK_AMODE: /* We assume that by the time we reach */ + case TOK_REVERSED_AMODE: /* here, all reg amodes have been */ + info.order = BO_BIG_ENDIAN; /* converted to dollar_reg's. */ + info.size = t->u.amodeinfo.size; + info.sgnd = t->u.amodeinfo.sgnd; + break; + + case TOK_CODE: + info.order = BO_NATIVE; + info.size = sizeof (void *); + info.sgnd = FALSE; + break; + + case TOK_NUMBER: + info.order = BO_NATIVE; + info.size = BO_UNKNOWN; + info.sgnd = TRUE; + break; + + case TOK_DEFAULT: + info.order = BO_NATIVE; /* So it's a legal case number. */ + info.size = BS_LONG; + info.sgnd = FALSE; + break; + + case TOK_CCC: + case TOK_CCN: + case TOK_CCV: + case TOK_CCX: + case TOK_CCNZ: + info.order = BO_NATIVE; +#ifdef CCR_ELEMENT_8_BITS + info.size = BS_BYTE; +#else + info.size = BS_UNKNOWN; +#endif + info.sgnd = FALSE; + break; + + case TOK_DOLLAR_NUMBER: + info.order = field_info[t->u.dollarinfo.which].order; + info.size = t->u.dollarinfo.size; + info.sgnd = t->u.dollarinfo.sgnd; + if (field_info[t->u.dollarinfo.which].size != BS_UNKNOWN + && field_info[t->u.dollarinfo.which].size != info.size) + parse_error (expr, "Operand field %s defined with more than one " + "different size! (%d/%d)\n", + unparse_token (t, buf), + field_info[t->u.dollarinfo.which].size, + t->u.dollarinfo.size); + break; + + case TOK_FALSE: + case TOK_TRUE: + info.order = BO_NATIVE; + info.size = BS_UNKNOWN; + info.sgnd = NO; + break; + + case TOK_QUOTED_STRING: + info.order = BO_NATIVE; + info.size = BS_LONG; /* Who knows what is appropriate here. */ + info.sgnd = TRUE; /* Sure, why not. */ + break; + + case TOK_LIST: + expr = expr->car; + t = &expr->token; + switch (t->type) { + case TOK_PLUS: + case TOK_MINUS: + case TOK_MULTIPLY: + case TOK_DIVIDE: + case TOK_MOD: + info.order = BO_NATIVE; + info.size = expr_list_max_size (expr->cdr, hint, field_info); + info.sgnd = !expr_list_any_are_unsigned (expr->cdr, hint, field_info); + break; + + case TOK_SHIFT_LEFT: + case TOK_SHIFT_RIGHT: + info = expr_info (expr->cdr, hint, field_info); /* Get defaults. */ + info.order = BO_NATIVE; + break; + + case TOK_BITWISE_AND: + case TOK_BITWISE_OR: + case TOK_BITWISE_XOR: + case TOK_BITWISE_NOT: + { + List *l2; + int big = 0, native = 0; + info.sgnd = TRUE; + for (l2 = expr->cdr; l2 != NULL; l2 = l2->cdr) + { + if (l2->token.type != TOK_NUMBER) + { + ExprInfo info2 = expr_info (l2, hint, field_info); + if (info2.order == BO_BIG_ENDIAN) + big++; + else if (info2.order == BO_NATIVE) + native++; + if (!info2.sgnd) + info.sgnd = FALSE; + } + } + if (big == native) /* Tie? Then stick with the hint. */ + info.order = hint; + else info.order = (big > native) ? BO_BIG_ENDIAN : BO_NATIVE; + info.size = expr_list_max_size (expr->cdr, hint, field_info); + } + break; + + case TOK_SWAP: + info = expr_info (expr->cdr, hint, field_info); + if (info.order == BO_BIG_ENDIAN) + info.order = BO_NATIVE; + else if (info.order == BO_NATIVE) + info.order = BO_BIG_ENDIAN; + info.size = t->u.swapinfo.size; + info.sgnd = t->u.swapinfo.sgnd; + break; + + case TOK_LIST: + /* Stick with "unknown" default. */ + break; + + case TOK_ASSIGN: +#ifndef CCR_ELEMENT_8_BITS + if (IS_CCBIT_TOKEN (expr->cdr->token.type)) + { + info = expr_info (CDDR (expr), hint, field_info); /* rhs */ + } + else +#endif + { + info = expr_info (expr->cdr, hint, field_info); /* lhs */ + } + break; + + case TOK_CAST: + info.order = BO_NATIVE; + info.size = BS_UNKNOWN; + info.sgnd = FALSE; /* Who knows? */ + break; + + case TOK_DEREF: + if (t->u.derefinfo.size == 0) + { + info.order = BO_NATIVE; + info.size = BS_UNKNOWN; + info.sgnd = FALSE; /* Who knows? */ + } + else + { + info.order = BO_BIG_ENDIAN; + info.size = t->u.derefinfo.size; + info.sgnd = t->u.derefinfo.sgnd; + } + break; + + case TOK_EQUAL: + case TOK_NOT_EQUAL: + case TOK_GREATER_THAN: + case TOK_LESS_THAN: + case TOK_GREATER_OR_EQUAL: + case TOK_LESS_OR_EQUAL: + case TOK_AND: + case TOK_OR: + case TOK_XOR: + case TOK_NOT: + info.order = BO_NATIVE; + info.size = BS_BYTE; + info.sgnd = FALSE; + break; + + case TOK_SWITCH: + case TOK_IF: + break; + + case TOK_DEFAULT: + info.order = BO_NATIVE; /* So it's a legal case number. */ + info.size = BS_LONG; + info.sgnd = FALSE; + break; + + case TOK_EXPLICIT_LIST: /* Unknown everything. */ + break; + + case TOK_FUNC_CALL: + info.order = BO_NATIVE; + info.size = BS_LONG; + info.sgnd = TRUE; /* Who knows? */ + break; + + default: + parse_error (expr, "byteorder.c: Don't know how to process " + "endianness/byte size for operator %s.\n", + unparse_token (t, buf)); + break; + } + break; + + default: + parse_error (expr, "byteorder.c: Don't know how to process " + "endianness/byte size for %s.\n", unparse_token (t, buf)); + break; + } + + return info; +} + + +static ByteSize +expr_list_max_size (List *ls, ByteSize hint, ExprInfo *field_info) +{ + ByteSize s = BO_UNKNOWN; + + for (; ls != NULL; ls = ls->cdr) + { + ExprInfo info = expr_info (ls, hint, field_info); + if (info.size > s) + s = info.size; + } + + return s; +} + + +static BOOL +expr_list_any_are_unsigned (List *ls, ByteSize hint, ExprInfo *field_info) +{ + for (; ls != NULL; ls = ls->cdr) + { + ExprInfo info = expr_info (ls, hint, field_info); + if (!info.sgnd) + return TRUE; + } + return FALSE; +} + + +static Token * +has_tok_dollar (List *ls, TokenType type, int number) +{ + Token *t; + + if (ls == NULL) + return NULL; + if (ls->token.type == type + && ls->token.u.dollarinfo.which == number) + return &ls->token; + t = has_tok_dollar (ls->car, type, number); + if (t != NULL) + return t; + return has_tok_dollar (ls->cdr, type, number); +} + + +static BOOL +has_tok_dollar_reg (List *ls, int number) +{ + if (ls == NULL) + return FALSE; + if ((ls->token.type == TOK_DOLLAR_DATA_REGISTER + || ls->token.type == TOK_DOLLAR_ADDRESS_REGISTER + || ls->token.type == TOK_DOLLAR_GENERAL_REGISTER) + && ls->token.u.dollarinfo.which == number) + return TRUE; + return (has_tok_dollar_reg (ls->car, number) + || has_tok_dollar_reg (ls->cdr, number)); +} + +#if defined (SORT_OPERANDS) + +/* qsort helper function. Places longs before words, breaks ties by + * whichever bitfield has the lowest bit index into the 68k instruction + * stream (ie the lowest field number). + */ +static int +compare_bitfields (const void *bp1, const void *bp2) +{ + const BitfieldInfo *b1 = (const BitfieldInfo *)bp1; + const BitfieldInfo *b2 = (const BitfieldInfo *)bp2; + + if (b2->words - b1->words != 0) + return ((int) b2->words) - ((int) b1->words); + return ((int) b1->index) - ((int) b2->index); +} +#endif /* defined (SORT_OPERANDS) */ diff --git a/syngen/defopcode.c b/syngen/defopcode.c new file mode 100644 index 0000000..254bd2c --- /dev/null +++ b/syngen/defopcode.c @@ -0,0 +1,1884 @@ +#include "common.h" +#include "defopcode.h" +#include "error.h" +#include "bitstring.h" +#include "generatecode.h" +#include "byteorder.h" +#include "reduce.h" +#include "syn68k_private.h" +#include "uniquestring.h" +#include "safe_alloca.h" +#include +#include +#include + +/* Global variables for this file. */ +static OpcodeMappingInfo opcode_map_info[65536]; +static const char *map_info_opcode_name[65536]; +static uint16 map_index[65536]; +static unsigned char synthetic_opcode_taken[65536]; /* Not booleans. */ +static int num_map_infos; +static int parity; + +/* Private helper functions. */ +static void compute_optimal_shifts (const ParsedOpcodeInfo *info, int *shift, + List *isect_list, int literal_bits, + int literal_bits_mask); +static void compute_literal_bits (const char *pattern, int *lbp, int *lbmp); +static int compute_dashmask (const char *pattern); +static int compute_synthetic_opcode (int m68k_opcode, + const OpcodeMappingInfo *map); +static void reserve_synthetic_ops (OpcodeMappingInfo *maps, int num_variants, + int variant, int num_variant_mapping_sets, + List *isect_list, int literal_bits, + int literal_bits_mask); +static BOOL has_unexpanded_register_lvalue (List *code, + const char *opcode_bits, + const char *bits_to_expand, + int *index); +static void delete_field (List *code, int field_number, int val); +static void replace_dollar_number_with_list (List *code, int field, + List *list); + +#define NO_MAP 0 +#define OPCODE_TAKEN 0xFF +#define OPCODE_NOT_TAKEN 0xFE +#define SYNTHETIC_OPCODE_TAKEN(op, variant) \ + (synthetic_opcode_taken[(op) & 0xFFFF] != OPCODE_NOT_TAKEN \ + && synthetic_opcode_taken[(op) & 0xFFFF] != (variant)) + + +/* Call this once before calling generate_opcode () for the first time. + * Call done_generating_code () after you have called generate_opcode () for + * the last time. + */ +void +begin_generating_code () +{ + int i; + + /* Clear mapping table to NO_MAP. */ + for (i = 0; i < 65536; i++) + map_index[i] = NO_MAP; + + for (i = 0; i < 65536; i++) + synthetic_opcode_taken[i] = OPCODE_NOT_TAKEN; + + /* Zero the other arrays. */ + memset (opcode_map_info, 0, sizeof opcode_map_info); + memset (map_info_opcode_name, 0, sizeof map_info_opcode_name); + + /* Set up default "no mapping" map; maps to opcode 0. */ + opcode_map_info[NO_MAP].cc_needed = M68K_CC_ALL; + opcode_map_info[NO_MAP].sequence_parity = 0; + opcode_map_info[NO_MAP].instruction_words = 1; + opcode_map_info[NO_MAP].ends_block = TRUE; + opcode_map_info[NO_MAP].next_block_dynamic = TRUE; + map_info_opcode_name[0] = "(reserved)"; + + /* Opcodes 0 through 0xB4 are reserved. */ + for (i = 0; i <= 0xB4; i++) + synthetic_opcode_taken[i] = OPCODE_TAKEN; + + /* We've used one opcode map, and should now be on odd parity for the + * next block of opcode maps. + */ + num_map_infos = 1; + parity = 1; + + if (!preprocess_only) + { + FILE *fp = fopen ("syn68k_header.c", "r"); + char buf[1024]; + size_t size; + + if (fp == NULL) + fatal_error ("Unable to open syn68k_header.c for reading!\n"); + + /* Copy the C preamble out to syn68k.c. */ + while ((size = fread (buf, 1, 1024, fp)) != 0) + fwrite (buf, 1, size, syn68k_c_stream); + + fclose (fp); + } +} + + +/* Call this after you have called generate_opcode () for the last time. */ +void +done_generating_code () +{ + if (!preprocess_only) + { + long i, max_opcode = -1; + + /* Close up the main interpreter function. */ + fputs ("\n" + "#ifndef USE_DIRECT_DISPATCH\n" + " }\n" + " }\n" + "}\n" + "#else\n" + "/* This function is the gateway to the threaded code.\n" + " * It allocates a bunch of space on the stack so that\n" + " * (hopefully) there will be room for the stack slots in\n" + " * the functions it jumps into. This is scary stuff,\n" + " * but hopefully it will work. We put this function at\n" + " * the end of the file so it won't be inlined.\n" + " * And use __attribute__((noinline)) where it's supported.\n" + " */\n" + "static void\n" + "threaded_gateway (void)\n" + "{\n" + "volatile char buf[1024]; /* Allocate some stack space. */\n" + "memset ((char *)buf, 0, 1); /* Use the buffer in some way. */\n" + "NEXT_INSTRUCTION (ROUND_UP (PTR_WORDS));\n" + "}\n" + "\n" + "\n" + "/* This array is used only by the compilation system. */\n", + syn68k_c_stream); + + /* Output the decls for the dispatch table array. */ + for (i = 0; i < 65536; i++) + { + if (synthetic_opcode_taken[i] == OPCODE_TAKEN) + { + fprintf (syn68k_c_stream, + "extern int handle_opc_0x%04lX " + "asm (\"_S68K_HANDLE_0x%04lX\");\n", + (unsigned long) i, (unsigned long) i); + max_opcode = i; + } + } + + /* Output the beginning of the dispatch table array. */ + if (max_opcode >= 0) + { + fprintf (syn68k_c_stream, + "\n" + "\n" + "const void *direct_dispatch_table[%ld] = {\n", + max_opcode + 1); + + for (i = 0; i <= max_opcode; i++) + { + if (synthetic_opcode_taken[i] == OPCODE_TAKEN) + fprintf (syn68k_c_stream, + " (void *) &handle_opc_0x%04lX%s\n", + (unsigned long) i, + (i == max_opcode) ? "" : ","); + else + fprintf (syn68k_c_stream, " (void *) 0%s\n", + (i == max_opcode) ? "" : ","); + } + + fputs ("};\n", syn68k_c_stream); + } + + fputs ("#endif /* USE_DIRECT_DISPATCH */\n", syn68k_c_stream); + + /* Output opcode map. */ + if (verbose) + printf ("Outputting opcode map index table..."), fflush (stdout); + + /* Output preamble for mapindex_c_stream. */ + fputs ("#include \"syn68k_private.h\"\n" + "\n" + "const uint16 opcode_map_index[65536] = {\n" + , mapindex_c_stream); + + /* Print out all of the values w/big endian indices. */ + for (i = 0; i < 65536; i++) + { + unsigned ix = map_index[i]; + if (ix == 0) /* Iff no map computed, make it behave */ + ix = map_index[0x4AFC]; /* like ILLEGAL. */ + fprintf (mapindex_c_stream, "%s0x%04X,", ((i % 8) == 0) ? " " : "", + ix); + if ((i % 8) == 7) + fprintf (mapindex_c_stream, " /* 0x%04X */\n", (unsigned) i - 7); + else putc (' ', mapindex_c_stream); + } + + /* Output postamble for map index. */ + fputs ("};\n", mapindex_c_stream); + + if (verbose) + puts ("done."); + + /* Output map info. */ + if (verbose) + printf ("Outputting opcode map information table..."), fflush (stdout); + + /* Add a dummy entry at the end with a different parity so the last + * map info sequence will be terminated. + */ + opcode_map_info[num_map_infos].sequence_parity = parity; + map_info_opcode_name[num_map_infos] = "Internal use: array terminator"; + num_map_infos++; + + /* Output preamble for mapinfo_c_stream. */ + fprintf (mapinfo_c_stream, + "#include \"syn68k_private.h\"\n" + "#ifdef GENERATE_NATIVE_CODE\n" + "#include \"native.h\"\n" + "#include \"native/i386/host-xlate.h\"\n" + "#include \"native/i386/xlate-aux.h\"\n" + "#endif\n" + "\n" + "const OpcodeMappingInfo opcode_map_info[%d] = {\n", + num_map_infos); + + /* Print out all of the structs. */ + for (i = 0; i < num_map_infos; i++) + { + const OpcodeMappingInfo *m = &opcode_map_info[i]; + int j; + + /* Put blank line between distinct opcode sequences. */ + if (i > 0 && strcmp (map_info_opcode_name[i], + map_info_opcode_name[i - 1])) + putc ('\n', mapinfo_c_stream); + + /* Output the struct. */ + fprintf (mapinfo_c_stream, + " /* 0x%04X: %s */\n" + " { %d, 0x%02X, 0x%02X, 0x%02X, %d, %d, %d, %d, %d, " + "%d, %d, %2d, 0x%04X, 0x%04X,\n", + (unsigned) i, map_info_opcode_name[i], + m->sequence_parity, + (unsigned) m->cc_may_set, + (unsigned) m->cc_may_not_set, + (unsigned) m->cc_needed, + m->instruction_words, m->ends_block, + m->next_block_dynamic, + m->amode_size, m->reversed_amode_size, m->amode_expanded, + m->reversed_amode_expanded, + m->opcode_shift_count, (unsigned) m->opcode_and_bits, + (unsigned) m->opcode_add_bits); + + /* Output the bitfields. */ + fputs (" { ", mapinfo_c_stream); + for (j = 0; j < MAX_BITFIELDS; j++) + { + if (j != 0 && (j % 2) == 0) + fputs ("\n ", mapinfo_c_stream); + fprintf (mapinfo_c_stream, "{ %d, %d, %d, %d, %d, %d }%s", + m->bitfield[j].rev_amode, m->bitfield[j].index, + m->bitfield[j].length, m->bitfield[j].sign_extend, + m->bitfield[j].make_native_endian, + m->bitfield[j].words, + (j == sizeof m->bitfield / sizeof m->bitfield[0] - 1) + ? "" : ", "); + } +#ifdef GENERATE_NATIVE_CODE + fprintf (mapinfo_c_stream, + " },\n" + " %s%s },\n", + (m->guest_code_descriptor == NULL) ? "" : "&", + ((m->guest_code_descriptor == NULL) + ? "NULL" : m->guest_code_descriptor)); +#else + fputs (" } },\n", mapinfo_c_stream); +#endif + } + + /* Output postamble for map info. */ + fputs ("};\n", mapinfo_c_stream); + + if (verbose) + puts ("done."); + } +} + + +void +generate_opcode (ParsedOpcodeInfo *info, SymbolTable *sym) +{ +#if !defined(__GNUC__) + extern void *alloca(int); +#endif + OperandInfo *operand_info; + OpcodeMappingInfo *base; + OpcodeMappingInfo *mapping; + int num_variants, i, m68kop; + CCVariant *var, *v; + int num_variant_mapping_sets = 0; + List expand; + List opcode_pattern = { /* &expand */ 0, NULL, + { TOK_QUOTED_STRING, + { 0 } /* info->opcode_bits */, + "(internal: generate_opcode)", 0 } }; + List isect = { /* &opcode_pattern */ 0, NULL, + { TOK_INTERSECT, { "intersect" }, + "(internal: generate_opcode)", 0 } }; + List isect_list = { NULL, /* &isect */ 0, + { TOK_LIST, { "[LIST]" }, + "(internal: generate_opcode)", 0 } }; + int *dashmask, *shift; + int *amode_size, *reversed_amode_size; + BOOL *amode_expanded, *reversed_amode_expanded; + int literal_bits, literal_bits_mask; + int *unexpanded_synthetic_opcode; + List **add_to_code_token; + const char **postcode; + SAFE_DECL(); + + opcode_pattern.cdr = &expand; + opcode_pattern.token.u.string = info->opcode_bits; + isect.cdr = &opcode_pattern; + isect_list.car = &isect; + + /* Provide feedback to the user. */ + if (verbose) + printf ("Processing \"%s\"...", info->name), fflush (stdout); + + /* Count the number of CC variants we have. */ + for (num_variants = 0, var = info->cc_variant; var != NULL; var = var->next) + num_variants++; + +#if 0 + if (verbose) + putchar ('\n'); + printf ("Entering with bits = %s\n", info->opcode_bits); +#endif + + /* If no variants (weird), don't do anything. */ + if (num_variants == 0) + { + if (verbose) + puts ("done."); + return; + } + + /* Add legal addressing modes to intersection. */ + expand = *info->amode; + expand.cdr = NULL; + + /* Compute those opcode bits which must be either 0 or 1, so we only + * call is_member_of_set() when there is a chance a bit pattern could + * match. Purely a speed heuristic. + */ + compute_literal_bits (info->opcode_bits, &literal_bits, &literal_bits_mask); + + /* If NO m68kops are legal, return. This is not just a heuristic; we + * really don't want to process opcodes that are illegal for some reason. + * It may still be the case that all of the legal m68kops for this set + * have already been done. + */ + if (empty_set (&isect_list, literal_bits_mask, literal_bits)) + { + if (verbose) + puts (""); + return; + } + + /* Allocate space for unexpanded_synthetic_opcode. This helps us + * share code for unexpanded cc variants. + */ + unexpanded_synthetic_opcode = (int *) malloc (65536 * num_variants + * sizeof (int)); + + /* Compute optimal shift counts for different CC variants. */ + shift = (int *) SAFE_alloca (num_variants * sizeof (int)); + compute_optimal_shifts (info, shift, &isect_list, literal_bits, + literal_bits_mask); + + /* Compute the dashmasks for each CC variant. */ + dashmask = (int *) SAFE_alloca (num_variants * sizeof (int)); + for (i = 0, var = info->cc_variant; var != NULL; i++, var = var->next) + dashmask[i] = compute_dashmask (var->bits_to_expand); + + /* Detect the presence of amodes and reversed amodes. */ + amode_size = (int *) SAFE_alloca (num_variants * sizeof (int)); + reversed_amode_size = (int *) SAFE_alloca (num_variants * sizeof (int)); + for (i = 0, var = info->cc_variant; var != NULL; i++, var = var->next) + { + Token *t = has_token_of_type (var->code, TOK_DOLLAR_AMODE); + if (t == NULL) + t = has_token_of_type (var->code, TOK_DOLLAR_AMODE_PTR); + amode_size[i] = (t == NULL) ? 0 : t->u.dollarinfo.size; + t = has_token_of_type (var->code, TOK_DOLLAR_REVERSED_AMODE); + if (t == NULL) + t = has_token_of_type (var->code, TOK_DOLLAR_REVERSED_AMODE_PTR); + reversed_amode_size[i] = (t == NULL) ? 0 : t->u.dollarinfo.size; + } + + /* Determine whether or not the amode/reversed amodes are expanded. */ + amode_expanded = (BOOL *) SAFE_alloca (num_variants * sizeof (BOOL)); + reversed_amode_expanded = (BOOL *) SAFE_alloca (num_variants * sizeof (BOOL)); + for (i = 0, var = info->cc_variant; var != NULL; i++, var = var->next) + { + amode_expanded[i] = ((dashmask[i] & 0x3F) == 0x00); + reversed_amode_expanded[i] = (((dashmask[i] >> 6) & 0x3F) == 0x00); + } + + /* For unexpanded opcodes, this table tells to which synthetic opcode we + * should map. Taking the m68kop & dashmask will give you an index + * into this table; if the number at that table is not -1, it represents + * the synthetic opcode to which you should map. If it is -1, then no + * such synthetic opcode has yet been created and it should be created. + */ + memset (unexpanded_synthetic_opcode, -1, + num_variants * 65536 * sizeof (int)); + + postcode = (const char **) SAFE_alloca (num_variants * sizeof (char *)); + for (i = 0; i < num_variants; i++) + postcode[i] = unique_string (""); + + /* Make sure that all register rvalues hidden in unexpanded + * addressing modes get extracted and treated as unexpanded registers. + * We will do this by creating an artificial, expanded 68k opcode entry, + * processing it, and then continuing on to process this opcode normally. + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS]; + BOOL old_verbose = verbose; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + assert (j < num_variants); + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + /* Do we have an addressing mode? If so, split up the cases where the + * addressing mode refers to a register (modes 0 and 1) and the cases + * where it refers to memory (modes 2 through 7). If we create a + * register lvalue, that will be caught on recursion below. + * + * NOTE: We used to only do this for unexpanded addressing modes, but + * it turns out this doesn't work because we need to separate the reg + * cases right away so we know whether or not to swap them. + */ + if (amode_size[i] != 0 /* && !amode_expanded[i] NO GOOD; see NOTE. */ + && has_token_of_type (v->code, TOK_DOLLAR_AMODE)) + { + int mind = 10; + TokenType replace = TOK_DOLLAR_AMODE; + +#ifndef M68K_REGS_IN_ARRAY + /* Data register version. */ + strncpy (info->opcode_bits + mind, "000", 3); + + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + assert (j < num_variants); + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type (var->code, replace, + TOK_DOLLAR_DATA_REGISTER); + } + + /* Generate code for the data register version. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* Address register version. */ + info->opcode_bits[mind + 2] = '1'; + + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type (var->code, replace, + TOK_DOLLAR_ADDRESS_REGISTER); + } + + /* Generate code for the address register version. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + +#else + strncpy (info->opcode_bits + mind, "00", 2); + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + assert (j < num_variants); + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type (var->code, replace, + TOK_DOLLAR_GENERAL_REGISTER); + } + + /* Generate code for the data/address register version. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); +#endif + + changed = TRUE; + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + assert (j < num_variants); + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } + + + /* Make sure that all register rvalues hidden in unexpanded + * addressing modes get extracted and treated as unexpanded registers. + * We will do this by creating an artificial, expanded 68k opcode entry, + * processing it, and then continuing on to process this opcode normally. + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS]; + BOOL old_verbose = verbose; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + /* Do we have a reversed addressing mode? If so, split up the + * cases where the addressing mode refers to a register (modes 0 and 1) + * and the cases where it refers to memory (modes 2 through 7). If + * we create a register lvalue, that will be caught on recursion below. + * + * NOTE: We used to only do this for unexpanded addressing modes, but + * it turns out this doesn't work because we need to separate the reg + * cases right away so we know whether or not to swap them. + */ + if (reversed_amode_size[i] != 0 /* && !reversed_amode_expanded[i] */ + && has_token_of_type (v->code, TOK_DOLLAR_REVERSED_AMODE)) + { + int mind = 7; + TokenType replace = TOK_DOLLAR_REVERSED_AMODE; + + /* Data register version. */ + strncpy (info->opcode_bits + mind, "000", 3); + + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type (var->code, replace, + TOK_DOLLAR_DATA_REGISTER); + } + + /* Generate code for the data register version. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* Address register version. */ + info->opcode_bits[mind + 2] = '1'; + + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type (var->code, replace, + TOK_DOLLAR_ADDRESS_REGISTER); + } + + /* Generate code for the address register version. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + changed = TRUE; + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } + + + /* See if we need to split this opcode up and recurse because we + * have an expanded addressing mode (or reversed addressing mode) + * 111/000 [(xxx).W], 111/001 [(xxx).L], 101/xxx [(d16,An)] + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS + 1]; + BOOL old_verbose = verbose; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + if (amode_size[i] != 0 && amode_expanded[i]) + { + int mind, rind, shr; + TokenType replace; + Token t; + List ll, ld, ln; + + replace = TOK_DOLLAR_AMODE; + mind = 10; + rind = 13; + shr = 0; + + t = *has_token_of_type (v->code, replace); + + /* Create top level list. */ + ll.cdr = NULL; + ll.car = &ld; + ll.token.type = TOK_LIST; + ll.token.u.string = "[LIST]"; + ll.token.filename = "internal:defopcode.c"; + ll.token.lineno = 0; + + /* Create deref. */ + ld.cdr = &ln; + ld.car = NULL; + ld.token.type = TOK_DEREF; + ld.token.u.derefinfo.size = t.u.dollarinfo.size; + ld.token.u.derefinfo.sgnd = t.u.dollarinfo.sgnd; + + /* Create address to be deref'd. */ + ln.cdr = NULL; + ln.car = NULL; + ln.token.type = TOK_DOLLAR_NUMBER; + ln.token.u.dollarinfo.sgnd = TRUE; + ln.token.u.dollarinfo.size = 4; + ln.token.u.dollarinfo.which = num_fields (original_opcode_bits) + 1; + + propagate_fileinfo (&ll.token, &ll); + + /* (xxx).W */ + strncpy (info->opcode_bits + mind, "111", 3); + strncpy (info->opcode_bits + rind, "000", 3); + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 16); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type_with_list (var->code, replace, &ll); + delete_field (var->code, field_with_index (original_opcode_bits, + MIN (rind, mind)), + (7 << (13 - mind)) >> shr); + } + + /* Turn off verbose mode & generate code. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* (xxx).L */ + strncpy (info->opcode_bits + mind, "111", 3); + strncpy (info->opcode_bits + rind, "001", 3); + info->opcode_bits[strlen (original_opcode_bits)] = '\0'; + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 32); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type_with_list (var->code, replace, &ll); + delete_field (var->code, field_with_index (original_opcode_bits, + MIN (rind, mind)), + ((1 << (13 - rind)) | (7 << (13 - mind))) >> shr); + } + + /* Generate code. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* (d16,An) */ + { + char buf[256], buf2[256]; + List *ls, *ls2; + + /* Must replace all $n.mxx with (derefxx (+ $n.aul $x.sl)) and + * replace all $n.xx with + * ([((5 << (13 - mind - shr)) + ($n.ul << (13 - rind - shr)))]) + */ + + strcpy (info->opcode_bits, original_opcode_bits); + strncpy (info->opcode_bits + mind, "101", 3); + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 16); + + sprintf (buf, "(deref%c%c (+ $%d.aul $%d.sl))", + t.u.dollarinfo.sgnd ? 's' : 'u', + " bw l"[t.u.dollarinfo.size], + t.u.dollarinfo.which, num_fields (info->opcode_bits)); + ls = string_to_list (buf, NULL); + + if (13 - rind - shr == 0) + sprintf (buf2, "(+ %d $%d.ul)", 5 << (13 - mind - shr), + t.u.dollarinfo.which); + else + sprintf (buf2, "(+ %d (<< $%d.ul %d))", 5 << (13 - mind - shr), + t.u.dollarinfo.which, 13 - rind - shr); + ls2 = string_to_list (buf2, NULL); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; + j++, var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_dollar_number_with_list (var->code, + t.u.dollarinfo.which, ls2); + replace_tokens_of_type_with_list (var->code, replace, ls); + } + } + + /* Generate code. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + changed = TRUE; + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } + + /* See if we need to split this opcode up and recurse because we + * have an expanded addressing mode (or reversed addressing mode) + * 111/000 [(xxx).W], 111/001 [(xxx).L], 101/xxx [(d16,An)] + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS + 1]; + BOOL old_verbose = verbose; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + if (reversed_amode_size[i] != 0 && reversed_amode_expanded[i]) + { + int mind, rind, shr; + TokenType replace; + Token t; + List ll, ld, ln; + + replace = TOK_DOLLAR_REVERSED_AMODE; + mind = 7; + rind = 4; + shr = 6; + + t = *has_token_of_type (v->code, replace); + + /* Create top level list. */ + ll.cdr = NULL; + ll.car = &ld; + ll.token.type = TOK_LIST; + ll.token.u.string = "[LIST]"; + ll.token.filename = "internal:defopcode.c"; + ll.token.lineno = 0; + + /* Create deref. */ + ld.cdr = &ln; + ld.car = NULL; + ld.token.type = TOK_DEREF; + ld.token.u.derefinfo.size = t.u.dollarinfo.size; + ld.token.u.derefinfo.sgnd = t.u.dollarinfo.sgnd; + + /* Create address to be deref'd. */ + ln.cdr = NULL; + ln.car = NULL; + ln.token.type = TOK_DOLLAR_NUMBER; + ln.token.u.dollarinfo.sgnd = TRUE; + ln.token.u.dollarinfo.size = 4; + ln.token.u.dollarinfo.which = num_fields (original_opcode_bits) + 1; + + propagate_fileinfo (&ll.token, &ll); + + /* (xxx).W */ + strncpy (info->opcode_bits + mind, "111", 3); + strncpy (info->opcode_bits + rind, "000", 3); + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 16); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type_with_list (var->code, replace, &ll); + delete_field (var->code, field_with_index (original_opcode_bits, + MIN (rind, mind)), + (7 << (13 - mind)) >> shr); + } + + /* Turn off verbose mode & generate code. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* (xxx).L */ + strncpy (info->opcode_bits + mind, "111", 3); + strncpy (info->opcode_bits + rind, "001", 3); + info->opcode_bits[strlen (original_opcode_bits)] = '\0'; + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 32); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type_with_list (var->code, replace, &ll); + delete_field (var->code, field_with_index (original_opcode_bits, + MIN (rind, mind)), + ((1 << (13 - rind)) | (7 << (13 - mind))) >> shr); + } + + /* Generate code. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + /* (d16,An) */ + { + char buf[256], buf2[256]; + List *ls, *ls2; + + /* Must replace all $n.mxx with (derefxx (+ $n.aul $x.sl)) and + * replace all $n.xx with + * ([((5 << (13 - mind - shr)) + ($n.ul << (13 - rind - shr)))]) + */ + + strcpy (info->opcode_bits, original_opcode_bits); + strncpy (info->opcode_bits + mind, "101", 3); + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + 16); + + sprintf (buf, "(deref%c%c (+ $%d.aul $%d.sl))", + t.u.dollarinfo.sgnd ? 's' : 'u', + " bw l"[t.u.dollarinfo.size], + t.u.dollarinfo.which, num_fields (info->opcode_bits)); + ls = string_to_list (buf, NULL); + + if (13 - rind - shr == 0) + sprintf (buf2, "(+ %d $%d.ul)", 5 << (13 - mind - shr), + t.u.dollarinfo.which); + else + sprintf (buf2, "(+ %d (<< $%d.ul %d))", 5 << (13 - mind - shr), + t.u.dollarinfo.which, 13 - rind - shr); + ls2 = string_to_list (buf2, NULL); + + /* Loop over all variants and change amode ref to addr ref. */ + for (j = 0, var = info->cc_variant; var != NULL; + j++, var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_dollar_number_with_list (var->code, + t.u.dollarinfo.which, ls2); + replace_tokens_of_type_with_list (var->code, replace, ls); + } + } + + /* Generate code. */ +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + changed = TRUE; + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } + + + /* Expand out any #data addressing modes by creating a new opcode table + * entry that explicitly mentions the operand and then recursing to + * generate it. + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS + 1]; + BOOL old_verbose = verbose; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + if (amode_size[i] != 0 || reversed_amode_size[i] != 0) + { + int mind, rind, shr; + TokenType replace; + Token t, *tp; + List ln; + + if (amode_size[i] != 0) + { + replace = TOK_DOLLAR_AMODE; + mind = 10; + rind = 13; + shr = 0; + } + else + { + replace = TOK_DOLLAR_REVERSED_AMODE; + mind = 7; + rind = 4; + shr = 6; + } + + tp = has_token_of_type (v->code, replace); + + if (tp != NULL) + { + t = *tp; + + /* # */ + /* Set up ln. */ + ln.token.type = TOK_DOLLAR_NUMBER; + ln.token.u.dollarinfo.size = t.u.dollarinfo.size; + ln.token.u.dollarinfo.sgnd = t.u.dollarinfo.sgnd; + ln.token.u.dollarinfo.which = num_fields (info->opcode_bits) + 1; + ln.token.filename = "Internal/defopcode.c"; + ln.token.lineno = 0; + ln.car = ln.cdr = NULL; + + strncpy (info->opcode_bits + mind, "111", 3); + strncpy (info->opcode_bits + rind, "100", 3); + if (t.u.dollarinfo.size == 1) + strcat (info->opcode_bits, "00000000"); + make_unique_field_of_width (info->opcode_bits, + info->opcode_bits + + strlen (info->opcode_bits), + t.u.dollarinfo.size * 8); + + /* Loop over all variants and change amode ref to operand. */ + for (j = 0, var = info->cc_variant; var != NULL; + j++, var = var->next) + { + var->code = copy_list (original_var_code[j]); + replace_tokens_of_type_with_list (var->code, replace, &ln); + + delete_field (var->code, + field_with_index (original_opcode_bits, + MIN (rind, mind)), + ((4 << (13 - rind)) + | (7 << (13 - mind))) >> shr); + } + + /* Generate code. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + changed = TRUE; + } + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } + + +#ifndef M68K_REGS_IN_ARRAY + /* See if we need to split this opcode up and recurse because we have + * an unexpanded register as an lvalue. + */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + BOOL changed = FALSE; + List **original_var_code = (List **) SAFE_alloca (num_variants + * sizeof (List *)); + char **original_bits_to_expand = + (char **) SAFE_alloca (num_variants * sizeof (const char *)); + char original_opcode_bits[16 * MAX_OPCODE_WORDS]; + BOOL old_verbose = verbose; + int index; + int j; + + /* Save original opcode bits. */ + strcpy (original_opcode_bits, info->opcode_bits); + + /* Save original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++, var = var->next) + { + original_bits_to_expand[j] = var->bits_to_expand; + original_var_code[j] = var->code; + } + + /* Do we have an unexpanded register as an lvalue? If so, we need + * to expand this register so we can have a legal lvalue and recurse. + */ + if (has_unexpanded_register_lvalue (v->code, info->opcode_bits, + v->bits_to_expand, &index)) + { + char *new_bits_to_expand = (char *) SAFE_alloca (17 * num_variants); + + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + strcpy (&new_bits_to_expand[j * 17], var->bits_to_expand); + new_bits_to_expand[j * 17 + index] + = new_bits_to_expand[j * 17 + index + 1] + = new_bits_to_expand[j * 17 + index + 2] = 'x'; + var->bits_to_expand = &new_bits_to_expand[j * 17]; + var->code = copy_list (original_var_code[j]); + } + + /* Turn off verbose mode; looks weird if you leave it on. */ + verbose = FALSE; +#ifdef SPLIT_WARNING + if (v->native_code_info != NULL) + parse_error (v->code, + "Splitting up insn with native code assist; " + "this will scramble around your operands and cause " + "other confusion. To fix this, make your case with " + "the native code assist more specific.\n"); +#endif + generate_opcode (info, sym); + + changed = TRUE; + ASSERT_SAFE(new_bits_to_expand); + } + + /* If we changed anything, don't loop any more. */ + if (changed) + { + /* Restore original opcode bits. */ + strcpy (info->opcode_bits, original_opcode_bits); + + /* Restore original code + bits_to_expand. */ + for (j = 0, var = info->cc_variant; var != NULL; j++,var = var->next) + { + var->bits_to_expand = original_bits_to_expand[j]; + var->code = original_var_code[j]; + } + + verbose = old_verbose; + + /* All done. */ + break; + } + ASSERT_SAFE(original_var_code); + ASSERT_SAFE(original_bits_to_expand); + } +#endif + + /* Allocate array for ptrs to scheme code value to add to code. */ + add_to_code_token = (List **) SAFE_alloca (num_variants * sizeof (List *)); + for (i = 0; i < num_variants; i++) + add_to_code_token[i] = NULL; + + /* Insert postambles to handle unexpanded predec/postinc's. */ + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + char buf[2048]; + Token *ta, *tr; + List *ls; + + /* Handle predecrement for unexpanded addressing modes by explicitly + * checking for a predecrement mode and decrementing the pointer + * if we find it. FIXME - this will perform the check even if + * predec/postinc are not legal expansions! + */ + if (!info->dont_postincdec_unexpanded + && !reversed_amode_expanded[i] + && (tr = has_token_of_type (v->code, TOK_DOLLAR_REVERSED_AMODE))) + { + int s = tr->u.dollarinfo.size; + + /* Create a list describing the special stuff we want to do. + * Here we are relying on the fact that the bit pattern for + * the reversed addressing mode was already swapped to be + * a non-reversed addressing mode. This should happen at + * translation time. + */ + sprintf (buf, + "(list " + "\"\\n#ifdef M68K_REGS_IN_ARRAY\\n\" " + "(call \"CLEANUP_AMODE\" $%d.ul %d) " + "\"\\n#else\\n\" " + "(switch $%d.ul (0x18 (assign a0.ul (+ a0.ul %d)))" + "(0x19 (assign a1.ul (+ a1.ul %d)))" + "(0x1A (assign a2.ul (+ a2.ul %d)))" + "(0x1B (assign a3.ul (+ a3.ul %d)))" + "(0x1C (assign a4.ul (+ a4.ul %d)))" + "(0x1D (assign a5.ul (+ a5.ul %d)))" + "(0x1E (assign a6.ul (+ a6.ul %d)))" + "(0x1F (assign a7.ul (+ a7.ul %d)))" + "(0x20 (assign a0.ul (- a0.ul %d)))" + "(0x21 (assign a1.ul (- a1.ul %d)))" + "(0x22 (assign a2.ul (- a2.ul %d)))" + "(0x23 (assign a3.ul (- a3.ul %d)))" + "(0x24 (assign a4.ul (- a4.ul %d)))" + "(0x25 (assign a5.ul (- a5.ul %d)))" + "(0x26 (assign a6.ul (- a6.ul %d)))" + "(0x27 (assign a7.ul (- a7.ul %d)))) " + "\"\\n#endif\\n\"" + ")", + tr->u.dollarinfo.which, s, + tr->u.dollarinfo.which, + s, s, s, s, s, s, s, (s == 1) ? 2 : s, + s, s, s, s, s, s, s, (s == 1) ? 2 : s); + + /* Insert this code into original code. */ + ls = string_to_list (buf, NULL); + v->code->cdr = CDAR (ls); + CDAR (ls) = v->code; + v->code = ls; + } + + if (!info->dont_postincdec_unexpanded + && !amode_expanded[i] + && (ta = has_token_of_type (v->code, TOK_DOLLAR_AMODE)) != NULL) + { + assert (ta->u.dollarinfo.size == 1 + || ta->u.dollarinfo.size == 2 + || ta->u.dollarinfo.size == 4); + + sprintf (buf, "(list " + "\"\\n#ifdef M68K_REGS_IN_ARRAY\\n\" " + " (call \"CLEANUP_AMODE\" $%d.ul %d) " + "\"\\n#else\\n\"" + " (assign \"amode\" $%d.ul) " + " (assign code (+ code 666))" /* 666 repl. later. */ + "\"\\n#endif\\n\" " + ")", + ta->u.dollarinfo.which, ta->u.dollarinfo.size, + ta->u.dollarinfo.which); + ls = string_to_list (buf, NULL); + add_to_code_token[i] = CDDAR (CDDAR (CDR (CDDR (CDDAR (ls))))); + + v->code->cdr = CDAR (ls); + CDAR (ls) = v->code; + v->code = ls; + + sprintf (buf, "\n#ifndef M68K_REGS_IN_ARRAY\n" + " CLEANUP_AMODE (amode, %d);\n" + "#endif\n", + ta->u.dollarinfo.size); + postcode[i] = unique_string (buf); + } + } + + /* Insert byte swaps, compute bitfields for OpcodeMappingInfo, + * and generate code to grab operands. + */ + operand_info = (OperandInfo *) SAFE_alloca (num_variants + * sizeof (OperandInfo)); + for (i = 0, v = info->cc_variant; v != NULL; i++, v = v->next) + { + int operands; + operands = compute_operand_info (&operand_info[i], info, v); + if (add_to_code_token[i] != NULL) + add_to_code_token[i]->token.u.n = (!info->ends_block) ? operands : 0; + } + + /* Grab a pointer to the first OpcodeMappingInfo struct in our set + * of sequences. + */ + base = &opcode_map_info[num_map_infos]; + + /* Loop over all 64K possible opcodes and process those which match. */ + for (m68kop = 0; m68kop < 65536; m68kop++) + { + int set; + + /* If this 68k opcode has already been done, or we shouldn't be + * doing it, move on and try the next one. + */ + if ((m68kop & literal_bits_mask) != literal_bits + || map_index[m68kop] != NO_MAP + || !is_member_of_set (m68kop, &isect_list)) + continue; + + /* See if one of the sets of opcode maps we've already made works. */ + mapping = NULL; /* Default: no mapping set found. */ + for (set = 0; set < num_variant_mapping_sets; set++) + { + for (i = 0; i < num_variants; i++) + { + int new; + int maskedop = m68kop & ~(dashmask[i] & ~literal_bits_mask); + + new = compute_synthetic_opcode (m68kop, + &base[set * num_variants + i]); + + /* If the computed synthetic opcode is taken, punt. Note that + * it's OK for it to be taken if we are not fully expanding + * and therefore we are sharing a synthetic opcode with + * some other 68k opcode. + */ + if (unexpanded_synthetic_opcode[i * 65536 + maskedop] != -1) + { + if (new != unexpanded_synthetic_opcode[i * 65536 + maskedop]) + break; + } + else if (SYNTHETIC_OPCODE_TAKEN (new, i)) + break; + } + + /* Did we find a match for all of the variants? */ + if (i == num_variants) + { + mapping = &base[set * num_variants]; + break; + } + } + + /* Did we fail to find a useful set of mappings? */ + if (mapping == NULL) + { + /* Store the base of the new mapping set. */ + mapping = &opcode_map_info[num_map_infos]; + + /* Create new mapping here. */ + for (i = 0, var = info->cc_variant; var; i++, var = var->next) + { + OpcodeMappingInfo *m = &mapping[i]; + int maskedop = m68kop & ~(dashmask[i] & ~literal_bits_mask); + int add, n; + + /* Remember this opcode. */ + map_info_opcode_name[num_map_infos + i] = info->name; + + /* Configure this opcode mapping. */ + m->sequence_parity = parity; + m->cc_may_set = var->cc_may_set; + m->cc_may_not_set = var->cc_may_not_set; + m->cc_needed = var->cc_needed; + m->instruction_words = strlen (info->opcode_bits) / 16; + m->ends_block = info->ends_block; + m->next_block_dynamic = info->next_block_dynamic; + m->opcode_shift_count = shift[i]; + m->opcode_and_bits = ~(dashmask[i] | literal_bits_mask); + m->opcode_add_bits = 0; /* Dummy; replaced below. */ + m->amode_size = ((amode_size[i] == 4) + ? 3 : amode_size[i]); + m->reversed_amode_size = ((reversed_amode_size[i] == 4) + ? 3 : reversed_amode_size[i]); + m->amode_expanded = amode_expanded[i]; + m->reversed_amode_expanded = reversed_amode_expanded[i]; + + /* Copy precomputed operand bitfield information. */ + + memcpy (m->bitfield, operand_info[i].bitfield, + sizeof m->bitfield); + if (operand_info[i].num_bitfields < MAX_BITFIELDS) + { + m->bitfield[operand_info[i].num_bitfields].index + = MAGIC_END_INDEX; + m->bitfield[operand_info[i].num_bitfields].length + = MAGIC_END_LENGTH; + } + +#ifdef GENERATE_NATIVE_CODE + if (var->native_code_info == NULL) + m->guest_code_descriptor = NULL; + else + m->guest_code_descriptor = var->native_code_info; +#endif + + /* Find the add_bits that will map us to the smallest untaken + * synthetic opcode, or to the smallest synthetic opcode + * we are allowed to share because we aren't fully expanding. + */ + n = compute_synthetic_opcode (m68kop, m); + + if (unexpanded_synthetic_opcode[i * 65536 + maskedop] != -1) + add = unexpanded_synthetic_opcode[i * 65536 + maskedop] - n; + else + { + add = -n; + while (SYNTHETIC_OPCODE_TAKEN (add + n, i)) + add++; + } + + m->opcode_add_bits = (add & 0xFFFF); + + /* Reserve all synthetic opcodes for this CC variant that + * we can now attain, so that other CC variants don't choose + * mappings that conflict. + */ + reserve_synthetic_ops (base, num_variants, i, + num_variant_mapping_sets + 1, + &isect_list, literal_bits, + literal_bits_mask); + } + + num_map_infos += num_variants; + num_variant_mapping_sets++; + parity = !parity; + } + + /* Record the index to the correct mapping information. */ + map_index[m68kop] = mapping - opcode_map_info; + + /* Output profiling info about this opcode; this information + * will can be used by the profiler to group related bit patterns + * together and determine how frequently different 68k instructions + * are used. + */ + fprintf (profileinfo_stream, "%d %d %d %d %d %s\n", + m68kop, amode_size[0] != 0, reversed_amode_size[0] != 0, + literal_bits_mask, literal_bits, info->name); + + /* Loop over all of the CC variants, unreserve opcodes, and reserve + * them again. This minimizes the number of synthetic ops reserved. + * Why? Because two different OpcodeMappingInfo structs may map + * a given CC variant to different synthetic opcodes for the same 68k + * opcode. Since we don't know which OpcodeMappingInfo will be + * chosen for that 68k opcode until we actually process it, we end + * up reserving more opcodes than we actually need to (since some + * of the reservations are mutually exclusive). Once we nail down + * to where a 68k opcode maps, re-reserving everything will avoid + * reserving any mutually exclusive reservations. + */ +#if 0 /* Doesn't help; increases OpcodeMappingInfo's more than + * it decreases the # of synthetic opcodes. + */ + if (optimization_level > 0) + for (i = 0; i < num_variants; i++) + { + unsigned char *p; + int synop = compute_synthetic_opcode (m68kop, &mapping[i]); + int j; + + /* Unreserve synthetic opcodes for this variant. */ + for (p = synthetic_opcode_taken, j = 65535; j >= 0; p++, j--) + if (*p == i) + *p = OPCODE_NOT_TAKEN; + + /* Reserve the synthetic opcode we just made. */ + if (synthetic_opcode_taken[synop] == OPCODE_NOT_TAKEN) + synthetic_opcode_taken[synop] = i; + + /* Reserve synthetic opcodes for this variant. */ + reserve_synthetic_ops (base, num_variants, i, + num_variant_mapping_sets, &isect_list, + literal_bits, literal_bits_mask); + } +#endif + + /* Loop over all of the CC variants & generate code. */ + for (i = 0, var = info->cc_variant; var != NULL; i++, var = var->next) + { + int synop = compute_synthetic_opcode (m68kop, &mapping[i]); + int maskedop = m68kop & ~(dashmask[i] & ~literal_bits_mask); + + /* If code has already been generated for this opcode, we must + * be sharing code. No need to generate new code, so try next + * variant. + */ + if (synthetic_opcode_taken[synop] == OPCODE_TAKEN) + continue; + + /* Sanity check - verify that this synop was properly reserved. */ + if (synthetic_opcode_taken[synop] == OPCODE_NOT_TAKEN) + { + error ("Internal error: generating code for unreserved synop " + "0x%04X for m68kop\n ", (unsigned) synop); + print_16_bits (stderr, m68kop); + error (" (dashmask = "); + print_16_bits (stderr, dashmask[i]); + error (", shift = %d,\n add_bits = 0x%04X, " + "and_bits = ", mapping[i].opcode_shift_count, + mapping[i].opcode_add_bits); + print_16_bits (stderr, mapping[i].opcode_and_bits); + error (")"); + error (" for variant %d.\n", i); + } + else if (synthetic_opcode_taken[synop] != i) + { + error ("Internal error generating code for synop 0x%04X for " + "m68kop ", (unsigned) synop); + print_16_bits (stderr, m68kop); + error (" for variant %d; already reserved for variant %d!\n", + i, synthetic_opcode_taken[synop]); + } + + /* Remember the appropriate synthetic opcode for this guy + * in case he isn't fully expanded; this way, other m68k + * opcodes that should be mapped to the same handler will + * know which synthetic opcode to use. + */ + unexpanded_synthetic_opcode[i * 65536 + maskedop] + = compute_synthetic_opcode (m68kop, &mapping[i]); + + /* Lock down this synthetic opcode forever. */ + synthetic_opcode_taken[synop] = OPCODE_TAKEN; + + /* Generate C code for this variant. */ + generate_c_code (info, var, m68kop, synop, sym, + operand_info[i].operand_decls, postcode[i], + &mapping[i]); + } + } + + /* Unreserve all reserved (but not taken) opcodes, if any are left. */ + for (i = 0; i < 65536; i++) + if (synthetic_opcode_taken[i] != OPCODE_TAKEN + && synthetic_opcode_taken[i] != OPCODE_NOT_TAKEN) + { + synthetic_opcode_taken[i] = OPCODE_NOT_TAKEN; + } + + free (unexpanded_synthetic_opcode); + + ASSERT_SAFE(shift); + ASSERT_SAFE(dashmask); + ASSERT_SAFE(amode_size); + ASSERT_SAFE(reversed_amode_size); + ASSERT_SAFE(amode_expanded); + ASSERT_SAFE(reversed_amode_expanded); + ASSERT_SAFE(postcode); + ASSERT_SAFE(add_to_code_token); + ASSERT_SAFE(operand_info); + + if (verbose) + puts ("done."); +} + + +int +synthetic_opcode_size (const OpcodeMappingInfo *map) +{ + int i, size = PTR_WORDS; /* Account for the synthetic opcode. */ + + for (i = 0; i < MAX_BITFIELDS; i++) + { + if (IS_TERMINATING_BITFIELD (&map->bitfield[i])) + break; + size += map->bitfield[i].words + 1; + } + + return size; +} + + +/* For each cc variant, sees just how far it can shift the 68k pattern + * to the right without losing any information it might need in the + * translation to a synthetic opcode. If it can shift out all of the bits, + * returns a shift count of 0. + */ +static void +compute_optimal_shifts (const ParsedOpcodeInfo *info, int *shift, + List *isect_list, int literal_bits, + int literal_bits_mask) +{ + int m68kop; + BOOL first = TRUE; + int i; + const CCVariant *var; + int known_pattern, changing_bits = 0; + + /* Determine which bits in the 68k opcode can take on different values. */ + known_pattern = 0; + for (m68kop = 0; m68kop < 65536; m68kop++) + { + if ((m68kop & literal_bits_mask) == literal_bits + && map_index[m68kop] == NO_MAP + && is_member_of_set (m68kop, isect_list)) + { + if (first) + { + known_pattern = m68kop; + first = FALSE; + } + else + changing_bits |= known_pattern ^ m68kop; + } + } + + /* Determine optimal shift count for each cc variant by locating the lowest + * 68k opcode bit used in the 68k->synthetic translation which can take on + * different values. + */ + for (i = 0, var = info->cc_variant; var != NULL; i++, var = var->next) + { + int cbits = changing_bits; + + /* Recommend we shift out all '-'s in the bits_to_expand. */ + cbits &= ~compute_dashmask (var->bits_to_expand); + + /* Compute good shift count based on lowest changing bit. */ + if (cbits == 0) /* If no bits change, don't bother shifting. */ + shift[i] = 0; + else /* Shift until lowest changing bit is in lsb position. */ + for (shift[i] = 0; !((cbits >> shift[i]) & 1); shift[i]++) + ; + } +} + + +/* Given a string like "00001--0-----000", returns a bit mask containing a 1 in + * each position where the original string contained a '-', and a 0 + * everywhere else. + */ +static int +compute_dashmask (const char *pattern) +{ + int i, mask = 0, len = strlen (pattern); + + for (i = 0; i < len; i++) + if (pattern[len - 1 - i] == '-') + mask |= (1 << i); + return mask; +} + + +/* Given a string like "00xx01x011dd1001", generates a mask for those bits + * known to contain 0 or 1 values, and a list of those values. For example, + * in the example the mask would be 1100110111001111 and the values would + * be 0000010011001001 (unused values are set to 0). + */ +static void +compute_literal_bits (const char *pattern, int *lbp, int *lbmp) +{ + int i; + int literal_bits = 0, literal_bits_mask = 0; + + for (i = 0; i < 16; i++) + { + if (pattern[15 - i] == '0') + literal_bits_mask |= 1 << i; + else if (pattern[15 - i] == '1') + { + literal_bits_mask |= 1 << i; + literal_bits |= 1 << i; + } + } + + *lbp = literal_bits; + *lbmp = literal_bits_mask; +} + + +static int +compute_synthetic_opcode (int m68k_opcode, const OpcodeMappingInfo *map) +{ + return (((m68k_opcode & map->opcode_and_bits) >> map->opcode_shift_count) + + map->opcode_add_bits) & 0xFFFF; +} + + +/* This function "reserves" all synthetic opcodes that might be computed + * during the mapping from 68k->synthetic opcodes for a particular variant. + * This helps minimize the number of OpcodeMappingInfo sequences we'll need + * by minimizing conflicts between different CC variants of the same opcode. + */ +static void +reserve_synthetic_ops (OpcodeMappingInfo *maps, int num_variants, int variant, + int num_variant_mapping_sets, List *isect_list, + int literal_bits, int literal_bits_mask) +{ + int m68kop; + int i; + + for (m68kop = 0; m68kop < 65536; m68kop++) + { + if ((m68kop & literal_bits_mask) != literal_bits + || map_index[m68kop] != NO_MAP + || !is_member_of_set (m68kop, isect_list)) + continue; + + for (i = 0; i < num_variant_mapping_sets; i++) + { + int synop = compute_synthetic_opcode (m68kop, &maps[num_variants * i + + variant]); + + if (!SYNTHETIC_OPCODE_TAKEN (synop, variant)) + synthetic_opcode_taken[synop] = variant; + } + } +} + + +static BOOL +has_unexpanded_register_lvalue (List *code, const char *opcode_bits, + const char *bits_to_expand, int *index) +{ + if (code == NULL) + return FALSE; + + if (code->token.type == TOK_ASSIGN && code->cdr != NULL + && (code->cdr->token.type == TOK_DOLLAR_DATA_REGISTER + || code->cdr->token.type == TOK_DOLLAR_ADDRESS_REGISTER)) + { + int field = code->cdr->token.u.dollarinfo.which; + if (!field_expanded (field, opcode_bits, bits_to_expand)) + { + PatternRange range; + pattern_range (opcode_bits, field, &range); + if (range.index < 16) + { + /* Only report regs that we can possibly expand. */ + *index = range.index; + return TRUE; + } + } + } + + /* Recurse on the rest of the list. */ + return (has_unexpanded_register_lvalue (code->car, opcode_bits, + bits_to_expand, index) + || has_unexpanded_register_lvalue (code->cdr, opcode_bits, + bits_to_expand, index)); +} + + +static void +delete_field (List *code, int field_number, int val) +{ + if (code == NULL) + return; + if (IS_DOLLAR_TOKEN (code->token.type)) + { + if (code->token.u.dollarinfo.which == field_number) + { + if (code->token.type != TOK_DOLLAR_NUMBER) + parse_error (code, "Deleting field that still exists!\n"); + else + { + code->token.type = TOK_NUMBER; + code->token.u.n = val; + } + } + else if (code->token.u.dollarinfo.which > field_number) + --code->token.u.dollarinfo.which; + } + + delete_field (code->car, field_number, val); + delete_field (code->cdr, field_number, val); +} + + +static void +replace_dollar_number_with_list (List *code, int field, List *list) +{ + if (code == NULL) + return; + + if (code->token.type == TOK_DOLLAR_NUMBER + && code->token.u.dollarinfo.which == field) + { + List *new = copy_list (list); + List *old_cdr = code->cdr; + + *code = *new; + code->cdr = old_cdr; + } + else + replace_dollar_number_with_list (code->car, field, list); + replace_dollar_number_with_list (code->cdr, field, list); +} diff --git a/syngen/error.c b/syngen/error.c new file mode 100644 index 0000000..e12c9d6 --- /dev/null +++ b/syngen/error.c @@ -0,0 +1,116 @@ +/* + * error.c + */ + +#include +#include +#include +#include "token.h" +#include "common.h" +#include "list.h" + + +/* Prints out an error message and returns. */ + +void +error (const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); +} + + +/* Prints out an error message and aborts. */ + +void +fatal_error (const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); + fputs ("*** Exit\n", stderr); + abort (); +} + + +/* Prints out an error message for a given List and returns. */ + +void +parse_error (const List *ls, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + fprintf (stderr, "%s, line %lu:\t", ls->token.filename, ls->token.lineno); + vfprintf (stderr, fmt, ap); +} + + +/* Prints out an error message for a given List and aborts. */ + +void +fatal_parse_error (const List *ls, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + fprintf (stderr, "%s, line %lu:\t", ls->token.filename, ls->token.lineno); + vfprintf (stderr, fmt, ap); + fputs ("*** Exit\n", stderr); + exit (-1); +} + + +/* Prints out an error message for the current file and returns. */ + +void +input_error (const char *fmt, ...) +{ + va_list ap; + const InputFile *current = get_input_file (0); + const InputFile *tmp = get_input_file (1); + int lev = 2; + + if (tmp != NULL) + { + error ("In file included from %s:%d", tmp->filename, tmp->lineno); + for (tmp = get_input_file (2); tmp != NULL; tmp = get_input_file (++lev)) + error (", from %s:%d", tmp->filename, tmp->lineno); + error (":\n"); + } + if (current != NULL) + error ("%s: %d: ", current->filename, current->lineno); + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); +} + + +/* Prints out an error message for the current file and aborts. */ + +void +fatal_input_error (const char *fmt, ...) +{ + va_list ap; + const InputFile *current = get_input_file (0); + const InputFile *tmp = get_input_file (1); + int lev = 2; + + if (tmp != NULL) + { + error ("In file included from %s:%d", tmp->filename, tmp->lineno); + for (tmp = get_input_file (2); tmp != NULL; tmp = get_input_file (++lev)) + error (", from %s:%d", tmp->filename, tmp->lineno); + error (":\n"); + } + if (current != NULL) + error ("%s: %d: ", current->filename, current->lineno); + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); + fputs ("*** Exit\n", stderr); + exit (-1); +} diff --git a/syngen/generatecode.c b/syngen/generatecode.c new file mode 100644 index 0000000..12cfad4 --- /dev/null +++ b/syngen/generatecode.c @@ -0,0 +1,1316 @@ +#include "common.h" +#include "list.h" +#include "generatecode.h" +#include "bitstring.h" +#include "error.h" +#include "reduce.h" +#include "uniquestring.h" +#include +#include +#include + +/* #define TEMPS_AT_TOP */ + +static char *cc_bits_string (int bits, char *buf); +static char *opcode_bits_string (int bits, const ParsedOpcodeInfo *info, + const CCVariant *var, char *buf); +static void generate_code_for_list (List *ls, int m68kop, + const ParsedOpcodeInfo *info, + const CCVariant *var); +static void binary_op_list (const char *op, List *ls, int m68kop, + const ParsedOpcodeInfo *info, + const CCVariant *var); +static List *replace_dollar_elements (List *code, int m68kop, + const ParsedOpcodeInfo *info, + const CCVariant *var); +static void handle_constant_dollar_field (List *ls, int constant, + int field_length); +static void output_c_for_amode_ptr (const Token *t, BOOL reversed); +static void generate_temp_decls (List *code); +static void transform_reg_to_var_and_decl (List *code); + + +/* These are used to make sure that things like preincrement + * and postdecrement (and other one-time side effects) only happen + * once even if the responsible expression occurs multiple times. + */ +static char c_preamble[8192], c_postamble[8192]; + + +/* This routine outputs a case synop: to syn68k_c_stream. */ +void +generate_c_code (const ParsedOpcodeInfo *info, const CCVariant *var, + int m68kop, int synop, SymbolTable *sym, + const char *operand_decls, const char *postcode, + const OpcodeMappingInfo *map) +{ + static const char cc_name[][16] = { "cpu_state.ccc", "cpu_state.ccn", + "cpu_state.ccv", "cpu_state.ccx", + "cpu_state.ccnz" }; + char buf1[6], buf2[6], buf3[6], buf4[17]; + int opcw; + List *code = copy_list (var->code); + int i; + + /* Clear out preamble and postamble. */ + c_preamble[0] = c_postamble[0] = '\0'; + + /* Replace $ elements with appropriate things. */ + code = replace_dollar_elements (code, m68kop, info, var); + + /* Simplify the resulting code. */ + code = reduce (code, sym, 0); + + /* Output human-readable comment describing this synthetic opcode. */ + fprintf (syn68k_c_stream, + "\n /* %s %s ms:%s mns:%s needs:%s */\n", + info->name, opcode_bits_string (m68kop, info, var, buf4), + cc_bits_string (var->cc_may_set, buf1), + cc_bits_string (var->cc_may_not_set, buf2), + cc_bits_string (var->cc_needed, buf3)); + + /* Output case. */ + fprintf (syn68k_c_stream, " CASE (0x%04X)\n", (unsigned) synop); + fprintf (syn68k_c_stream, " CASE_PREAMBLE (\"%s\", \"%s\", \"%s\", " + "\"%s\", \"%s\")\n", + info->name, opcode_bits_string (m68kop, info, var, buf4), + cc_bits_string (var->cc_may_set, buf1), + cc_bits_string (var->cc_may_not_set, buf2), + cc_bits_string (var->cc_needed, buf3)); + + /* Output operand declarations. */ + fputs (operand_decls, syn68k_c_stream); + + /* Transform temp variables only used as one type to temp_variables, + * and output decls for those variables. + */ + transform_reg_to_var_and_decl (code); + + /* Output temp variable declarations. */ + generate_temp_decls (code); + + if (code->token.type != TOK_LIST) + { + parse_error (code, "Expecting code description list!\n"); + return; + } + + /* Output preamble. */ + if (c_preamble[0] != '\0') + fprintf (syn68k_c_stream, " %s\n", c_preamble); + + /* Generate the code they specified. */ + fputs (" ", syn68k_c_stream); + generate_code_for_list (code, m68kop, info, var); + fputs (";\n", syn68k_c_stream); + + /* Output postamble. */ + if (c_postamble[0] != '\0') + fprintf (syn68k_c_stream, " %s\n", c_postamble); + + /* Set any cc bits to 0 or 1 that are explicitly mentioned in the + * cc variant description. This saves the user some work generating + * the 68k description file and reduces the chance of error. + */ + for (i = 0; i < 4; i++) + if ((var->cc_to_known_value >> (4 - i)) & 1) + fprintf (syn68k_c_stream, " %s = %d;\n", cc_name[i], + (var->cc_known_values >> (4 - i)) & 1); + if (var->cc_to_known_value & 1) /* Invert sense of Z bit. */ + fprintf (syn68k_c_stream, " %s = %d;\n", cc_name[4], + !(var->cc_known_values & 1)); + + if (postcode != NULL && postcode[0] != '\0') + fprintf (syn68k_c_stream, " %s\n", postcode); + + /* Count opcode words. */ + opcw = synthetic_opcode_size (map) + info->operand_words_to_skip; + + /* Only adjust code ptr if we didn't just end a block. */ + if (!info->ends_block) + { + /* Always increment enough so that the next opcode is guaranteed + * to be a properly aligned pointer. + */ + fprintf (syn68k_c_stream, " CASE_POSTAMBLE (ROUND_UP (%d))\n", + (int) opcw); + } + + else /* If we end a block, profile the next block. */ + { +#if !defined (__alpha) /* FIXME -- TODO -- just use __alpha case for everyone */ + fputs ("\n#ifdef PROFILE\n" + " profile_block (hash_lookup " + "(READUL (US_TO_SYN68K (code) - 4)));\n" + "#endif\n", + syn68k_c_stream); +#else + fputs ("\n#ifdef PROFILE\n" + " profile_block (hash_lookup " + "(READUL_US ((unsigned long)code - 4)));\n" + "#endif\n", + syn68k_c_stream); +#endif + +#if defined (SYNCHRONOUS_INTERRUPTS) && !defined (GENERATE_NATIVE_CODE) + fprintf (syn68k_c_stream, +"#if !defined (__alpha) /* FIXME -- TODO -- just use __alpha case for everyone */\n" +" CHECK_FOR_INTERRUPT (READUL (US_TO_SYN68K (code - PTR_WORDS)));\n" +"#else\n" +" CHECK_FOR_INTERRUPT (READUL_US (code - PTR_WORDS));\n" +"#endif\n"); +#endif + fprintf (syn68k_c_stream, " CASE_POSTAMBLE " + "(ROUND_UP (PTR_WORDS))\n"); + } + /* Done with this instruction. */ +} + + +/* Handy tables. */ +static const char *ctypes[2][5] = { + { "void", "uint8", "uint16", "INTERNAL_ERROR", "uint32" }, + { "void", "int8", "int16", "INTERNAL_ERROR", "int32" } +}; +static const char *regdesc[2][5] = { + { "", ".ub.n", ".uw.n", "", ".ul.n" }, + { "", ".sb.n", ".sw.n", "", ".sl.n" } +}; + + +static void +generate_code_for_list (List *ls, int m68kop, const ParsedOpcodeInfo *info, + const CCVariant *var) +{ + char buf[512]; + Token *t; + BOOL done; + + if (ls == NULL) + return; + + /* If they have several sublists of code, generate code for each of them. */ + t = &ls->token; + switch (t->type) { + + /* If we've found a list, look at the operator for that list and + * generate code appropriately. */ + case TOK_LIST: + if (ls->car == NULL) + return; + ls = ls->car; + t = &ls->token; + + switch (ls->token.type) { + case TOK_EXPLICIT_LIST: + /* Loop over all the lists of code and generate c for them. */ + for (ls = ls->cdr; ls != NULL; ls = ls->cdr) + { + generate_code_for_list (ls, m68kop, info, var); + fputs (";\n", syn68k_c_stream); + fputs (" ", syn68k_c_stream); + } + break; + + case TOK_ASSIGN: + putc ('(', syn68k_c_stream); + done = FALSE; + + /* If they are writing out to a long, generate appropriate code + * that will work on a QUADALIGN machine. + */ + if (ls->cdr->token.type == TOK_LIST + && CADR (ls)->token.type == TOK_DEREF + && CADR (ls)->token.u.derefinfo.size == 4) + { + fprintf (syn68k_c_stream, + "WRITE%cL_UNSWAPPED (SYN68K_TO_US (CLEAN (", + CADR (ls)->token.u.derefinfo.sgnd ? 'S' : 'U'); + generate_code_for_list (CDADR (ls), m68kop, info, var); + fputs (")), ", syn68k_c_stream); + generate_code_for_list (CDDR (ls), m68kop, info, var); + fputs (") ", syn68k_c_stream); + done = TRUE; + } + if ((ls->cdr->token.type == TOK_AMODE + || ls->cdr->token.type == TOK_REVERSED_AMODE + || ls->cdr->token.type == TOK_DOLLAR_AMODE + || ls->cdr->token.type == TOK_DOLLAR_REVERSED_AMODE) + && ls->cdr->token.u.amodeinfo.size == 4) + { + fprintf (syn68k_c_stream, + "WRITE%cL_UNSWAPPED (SYN68K_TO_US (CLEAN (", + ls->cdr->token.u.derefinfo.sgnd ? 'S' : 'U'); + switch (ls->cdr->token.type) { + case TOK_DOLLAR_AMODE: + fputs ("US_TO_SYN68K (cpu_state.amode_p) ", syn68k_c_stream); + break; + case TOK_DOLLAR_REVERSED_AMODE: + fputs ("US_TO_SYN68K (cpu_state.reversed_amode_p) ", + syn68k_c_stream); + break; + case TOK_AMODE: + ls->cdr->token.type = TOK_AMODE_PTR; + generate_code_for_list (ls->cdr, m68kop, info, var); + ls->cdr->token.type = TOK_AMODE; + break; + case TOK_REVERSED_AMODE: + default: + ls->cdr->token.type = TOK_REVERSED_AMODE_PTR; + generate_code_for_list (ls->cdr, m68kop, info, var); + ls->cdr->token.type = TOK_REVERSED_AMODE; + break; + } + fputs (")), ", syn68k_c_stream); + generate_code_for_list (CDDR (ls), m68kop, info, var); + fputs (") ", syn68k_c_stream); + done = TRUE; + } + + + /* Do stuff like (assign d0.ul.n (+ d0.ul.n 5)) -> "d0.ul.n += 5" */ + if (!done && CDDR (ls)->token.type == TOK_LIST + && list_length (CADDR (ls)) == 3 + && tokens_equal (&CDR (CADDR (ls))->token, &CDR (ls)->token)) + { + if (CDR (ls)->token.type != TOK_LIST + || lists_equal (CADR (ls), CADR (CADDR (ls)))) + { + switch (CADDR (ls)->token.type) { + case TOK_BITWISE_AND: + case TOK_BITWISE_OR: + case TOK_BITWISE_XOR: + case TOK_PLUS: + case TOK_MINUS: + case TOK_MULTIPLY: + case TOK_DIVIDE: + case TOK_MOD: + case TOK_SHIFT_LEFT: + case TOK_SHIFT_RIGHT: + /* Word-sized operations to address registers deal with + * the entire address register; the RHS is sign extended. + */ + if (ls->cdr->token.type == TOK_ADDRESS_REGISTER + && ls->cdr->token.u.reginfo.size == 2) + { + ls->cdr->token.u.reginfo.size = 4; + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (unparse_token (&CADDR (ls)->token, buf), + syn68k_c_stream); + fputs ("= (int16)", syn68k_c_stream); + generate_code_for_list (CDDR (CADDR (ls)), m68kop, + info, var); + } + else /* Not a word-sized op to an address register. */ + { + TokenType optype = CADDR (ls)->token.type; + + /* Change foo += 1 to ++foo. Why? It turns out + * that gcc sometimes generates better code for ++foo. + * Annoying, isn't it? + */ + if ((optype == TOK_PLUS || optype == TOK_MINUS) + && CDDR (CADDR (ls))->token.type == TOK_NUMBER + && (CDDR (CADDR (ls))->token.u.n == 1 + || CDDR (CADDR (ls))->token.u.n == -1)) + { + if ((optype == TOK_PLUS) + ^ (CDDR (CADDR (ls))->token.u.n == -1)) + fputs ("(++", syn68k_c_stream); + else + fputs ("(--", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (") ", syn68k_c_stream); + } + /* Change foo += 5 to a weird macro...this also seems + * to help gcc. + */ + else if ((optype == TOK_PLUS || optype == TOK_MINUS) + && CDDR (CADDR (ls))->token.type == TOK_NUMBER + && ls->cdr->token.u.reginfo.size == 4 + && ls->cdr->token.u.n != (int32) 0x80000000) + { + int32 val = CDDR (CADDR (ls))->token.u.n; + if (val >= 0) + { + if (optype == TOK_PLUS) + fputs ("(INC_VAR (", syn68k_c_stream); + else + fputs ("(DEC_VAR (", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, + var); + fprintf (syn68k_c_stream, ", %ld)) ", (long) val); + } + else /* val < 0 */ + { + if (optype == TOK_PLUS) + fputs ("(DEC_VAR (", syn68k_c_stream); + else + fputs ("(INC_VAR (", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, + var); + fprintf (syn68k_c_stream, ", %ld)) ", (long) -val); + } + } + else + { + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (unparse_token (&CADDR (ls)->token, buf), + syn68k_c_stream); + fputs ("= ", syn68k_c_stream); + generate_code_for_list (CDDR (CADDR (ls)), m68kop, + info, var); + } + } + done = TRUE; + break; + default: + break; + } + } + } + + /* See if we are assigning something to itself. This can happen + * when expanding out code, and gcc hasn't been eliminating these + * pointless assigns. Here we just output the LHS of the assignment, + * in case the value of the assignment as a whole is being used for + * something (eg, "d0.ul.n = d0.ul.n" -> "d0.ul.n") + */ + if (!done) + { + if (tokens_equal (&ls->cdr->token, &(CDDR (ls))->token) + && lists_equal (CADR (ls), CADDR (ls))) + { + generate_code_for_list (ls->cdr, m68kop, info, var); + done = TRUE; + } + } + + if (!done) + { + /* Force word moves into address registers to be sign extended. */ + if (ls->cdr->token.type == TOK_ADDRESS_REGISTER + && ls->cdr->token.u.reginfo.size == 2) + { + ls->cdr->token.u.reginfo.size = 4; + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs ("= (int16) ", syn68k_c_stream); + } + else + { + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs ("= ", syn68k_c_stream); + } + generate_code_for_list (CDDR (ls), m68kop, info, var); + } + fputs (") ", syn68k_c_stream); + break; + + /* Have to special case boolean xor since C doesn't have ^^ analagous to + * && and ||. + */ + case TOK_XOR: + for (ls = ls->cdr; ls != NULL; ls = ls->cdr) + { + fputs ("(!", syn68k_c_stream); + generate_code_for_list (ls, m68kop, info, var); + fputs (") ", syn68k_c_stream); + if (ls->cdr != NULL) + fputs ("^ ", syn68k_c_stream); + } + break; + case TOK_NOT: + if (ls->cdr == NULL) + { + parse_error (ls, "\"not\" missing an argument!\n"); + fputs ("0 ", syn68k_c_stream); + } + else + { + fputs ("(!", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_BITWISE_NOT: + if (ls->cdr == NULL) + { + parse_error (ls, "\"~\" missing an argument!\n"); + fputs ("0 ", syn68k_c_stream); + } + else + { + fputs ("(~", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_AND: + binary_op_list ("&&", ls->cdr, m68kop, info, var); + break; + case TOK_OR: + binary_op_list ("||", ls->cdr, m68kop, info, var); + break; + case TOK_EQUAL: + binary_op_list ("==", ls->cdr, m68kop, info, var); /* 2 args but OK. */ + break; + case TOK_NOT_EQUAL: + binary_op_list ("!=", ls->cdr, m68kop, info, var); /* 2 args but OK. */ + break; + case TOK_GREATER_THAN: + case TOK_LESS_THAN: + case TOK_GREATER_OR_EQUAL: + case TOK_PLUS: + case TOK_MINUS: + case TOK_LESS_OR_EQUAL: + case TOK_MULTIPLY: + case TOK_DIVIDE: + case TOK_MOD: + case TOK_BITWISE_AND: + case TOK_BITWISE_OR: + case TOK_BITWISE_XOR: + unparse_token (&ls->token, buf); + binary_op_list (buf, ls->cdr, m68kop, info, var); + break; + + case TOK_SHIFT_LEFT: + case TOK_SHIFT_RIGHT: + unparse_token (&ls->token, buf); + binary_op_list (buf, ls->cdr, m68kop, info, var); + break; + + case TOK_DEFAULT: + fputs ("default ", syn68k_c_stream); + break; + + case TOK_SWITCH: + fputs ("switch (", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (") {\n", syn68k_c_stream); + for (ls = CDDR (ls); ls != NULL; ls = ls->cdr) + { + if (ls->car->token.type == TOK_DEFAULT) + fputs (" default: ", syn68k_c_stream); + else + { + fputs (" case ", syn68k_c_stream); + generate_code_for_list (ls->car, m68kop, info, var); + fputs (": ", syn68k_c_stream); + } + generate_code_for_list (CDAR (ls), m68kop, info, var); + fputs ("; break;\n", syn68k_c_stream); + } + fputs ("}\n ", syn68k_c_stream); + break; + + case TOK_IF: + fputs ("if (", syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (") { ", syn68k_c_stream); + generate_code_for_list (CDDR (ls), m68kop, info, var); + fputs (";} ", syn68k_c_stream); + if (CDDDR (ls) != NULL) + { + fputs ("else { ", syn68k_c_stream); + generate_code_for_list (CDDDR (ls), m68kop, info, var); + fputs (";} ", syn68k_c_stream); + } + break; + + case TOK_SWAP: + { + static const char *swap_macro[2][2][5] = { + {{ "ERR", "((uint8) (", "(SWAPUW_IFLE (", "ERR", "(SWAPUL_IFLE (" }, + { "ERR", "((int8) (", "(SWAPSW_IFLE (", "ERR", "(SWAPSL_IFLE (" }}, + {{ "ERR", "((uint8) (", "(SLOW_SWAPUW_IFLE (", "ERR", + "(SLOW_SWAPUL_IFLE (" }, + { "ERR", "((int8) (", "(SLOW_SWAPSW_IFLE (", "ERR", + "(SLOW_SWAPSL_IFLE (" }} + }; + + fputs (swap_macro[(ls->cdr->token.type == TOK_NUMBER)] + [t->u.swapinfo.sgnd][t->u.swapinfo.size], + syn68k_c_stream); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs (")) ", syn68k_c_stream); + } + break; + + case TOK_CAST: + if (ls->cdr == NULL || ls->cdr->token.type != TOK_QUOTED_STRING) + { + parse_error (ls, "\"cast\" must be followed by a C type " + "in quotes.\n"); + } + else + { + fprintf (syn68k_c_stream, "((%s) ", ls->cdr->token.u.string); + generate_code_for_list (CDDR (ls), m68kop, info, var); + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_DEREF: + if (t->u.derefinfo.size == 0) /* Untyped deref? */ + { + if (list_length (ls) != 4) + parse_error (ls, "Untyped deref requires three args (ptr type, " + "value, offset).\n"); + else if (ls->cdr->token.type != TOK_QUOTED_STRING) + parse_error (ls, "Untyped deref must have second arg be " + "a quoted string C type.\n"); + else + { + /* We intentionally leave out the CLEAN here; you don't + * want to CLEAN the code pointer, for instance! In general + * if you use an untyped deref you have to be more careful... + */ + fprintf (syn68k_c_stream, "(*(((%s) ", + ls->cdr->token.u.string); + generate_code_for_list (CDDR (ls), m68kop, info, var); + fputs (") + ", syn68k_c_stream); + generate_code_for_list (CDDDR (ls), m68kop, info, var); + fputs (")) ", syn68k_c_stream); + } + } + else + { + if (list_length (ls) != 2) + parse_error (ls, "Typed deref must have exactly one argument!\n"); + else + { + if (t->u.derefinfo.size != 4) + fprintf (syn68k_c_stream, "DEREF(%s, SYN68K_TO_US (CLEAN (", + ctypes[t->u.derefinfo.sgnd][t->u.derefinfo.size]); + else + fprintf (syn68k_c_stream, + "READ%cL_UNSWAPPED ((CLEAN (", + t->u.derefinfo.sgnd ? 'S' : 'U'); + generate_code_for_list (ls->cdr, m68kop, info, var); + fputs ("))) ", syn68k_c_stream); + } + } + break; + + case TOK_FUNC_CALL: + if (ls->cdr == NULL || ls->cdr->token.type != TOK_QUOTED_STRING) + { + parse_error (ls, "\"call\" must be followed by a function name " + "in quotes.\n"); + } + else + { + List *l2; + fprintf (syn68k_c_stream, "%s (", ls->cdr->token.u.string); + for (l2 = CDDR (ls); l2 != NULL; l2 = l2->cdr) + { + generate_code_for_list (l2, m68kop, info, var); + if (l2->cdr != NULL) + fputs (", ", syn68k_c_stream); + } + fputs (") ", syn68k_c_stream); + } + break; + + /* Skip NOPs, however they were introduced. */ + case TOK_NOP: + break; + + default: + parse_error (ls, "Unknown operator for code list: %s\n", + unparse_token (&ls->token, buf)); + break; + } + break; + + /* Skip NOPs, however they were introduced. */ + case TOK_NOP: + break; + + case TOK_TRUE: + fputs ("1 ", syn68k_c_stream); + break; + + case TOK_FALSE: + fputs ("0 ", syn68k_c_stream); + break; + + case TOK_CODE: + fputs ("code ", syn68k_c_stream); + break; + + case TOK_DOLLAR_DATA_REGISTER: + { + Token temp = *t; + /* Compensate for gcc i386 brain damage. */ + fprintf (syn68k_c_stream, "DATA_REGISTER_%c%c (", + t->u.dollarinfo.sgnd ? 'S' : 'U', + "?BW?L"[t->u.dollarinfo.size]); + t->type = TOK_DOLLAR_NUMBER; + t->u.dollarinfo.sgnd = FALSE; + t->u.dollarinfo.size = 4; + generate_code_for_list (ls, m68kop, info, var); + *t = temp; + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_DOLLAR_ADDRESS_REGISTER: + { + Token temp = *t; + fprintf (syn68k_c_stream, "ADDRESS_REGISTER_%c%c ( ", + t->u.dollarinfo.sgnd ? 'S' : 'U', + "?BW?L"[t->u.dollarinfo.size]); + t->type = TOK_DOLLAR_NUMBER; + t->u.dollarinfo.sgnd = FALSE; + t->u.dollarinfo.size = 4; + generate_code_for_list (ls, m68kop, info, var); + *t = temp; + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_DOLLAR_GENERAL_REGISTER: + { + Token temp = *t; + fprintf (syn68k_c_stream, "GENERAL_REGISTER_%c%c (", + t->u.dollarinfo.sgnd ? 'S' : 'U', + "?BW?L"[t->u.dollarinfo.size]); + t->type = TOK_DOLLAR_NUMBER; + t->u.dollarinfo.sgnd = FALSE; + t->u.dollarinfo.size = 4; + generate_code_for_list (ls, m68kop, info, var); + *t = temp; + fputs (") ", syn68k_c_stream); + } + break; + + case TOK_TEMP_REGISTER: + fprintf (syn68k_c_stream, "tmp%d%s ", t->u.reginfo.which, + regdesc[t->u.reginfo.sgnd][t->u.reginfo.size]); + break; + + case TOK_DATA_REGISTER: + fprintf (syn68k_c_stream, "DATA_REGISTER_%c%c (%d) ", + t->u.dollarinfo.sgnd ? 'S' : 'U', + "?BW?L"[t->u.dollarinfo.size], + t->u.reginfo.which); + break; + + case TOK_ADDRESS_REGISTER: + fprintf (syn68k_c_stream, "ADDRESS_REGISTER_%c%c (%d) ", + t->u.dollarinfo.sgnd ? 'S' : 'U', + "?BW?L"[t->u.dollarinfo.size], + t->u.reginfo.which); + break; + + case TOK_AMODE_PTR: + case TOK_REVERSED_AMODE_PTR: + fputs ("(US_TO_SYN68K (", syn68k_c_stream); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE_PTR)); + fputs ("))", syn68k_c_stream); + break; + + case TOK_AMODE: + case TOK_REVERSED_AMODE: + if (t->u.dollarinfo.size != 4) + { + fprintf (syn68k_c_stream, "DEREF(%s, CLEAN (", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs (")) ", syn68k_c_stream); + } + else + { +#if 0 + fputs ("\n" + "#ifdef QUADALIGN\n" + "# ifdef BIGENDIAN\n", syn68k_c_stream); + + fprintf (syn68k_c_stream, "((%s) (((((uint16 *) CLEAN (", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs ("))[0]) << 16) | (((uint16 *) CLEAN (", syn68k_c_stream); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs ("))[1])))\n", syn68k_c_stream); + + fputs ("# else\n", syn68k_c_stream); + + fprintf (syn68k_c_stream, "((%s) ((((uint16 *) CLEAN (", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs ("))[0]) | ((((uint16 *) CLEAN (", syn68k_c_stream); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs ("))[1]) << 16)))\n", syn68k_c_stream); + + fputs ("# endif\n" + "#else\n", syn68k_c_stream); + fprintf (syn68k_c_stream, "(*(%s *) CLEAN (", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs (")) ", syn68k_c_stream); + fputs ("\n#endif\n", syn68k_c_stream); +#else + fprintf (syn68k_c_stream, "READ%cL_UNSWAPPED (CLEAN", + t->u.dollarinfo.sgnd ? 'S' : 'U'); + output_c_for_amode_ptr (t, (t->type == TOK_REVERSED_AMODE)); + fputs (") ", syn68k_c_stream); +#endif + } + break; + + case TOK_NUMBER: + if (t->u.n >= 100 || t->u.n <= -100) + fprintf (syn68k_c_stream, "((int32) 0x%lX) ", (unsigned long)t->u.n); + else fprintf (syn68k_c_stream, "%ld ", t->u.n); + break; + + /* Pass quoted strings on to the C compiler. */ + case TOK_QUOTED_STRING: + fprintf (syn68k_c_stream, "%s ", t->u.string); /* Append a space. */ + break; + + case TOK_CCC: fputs ("cpu_state.ccc ", syn68k_c_stream); break; + case TOK_CCN: fputs ("cpu_state.ccn ", syn68k_c_stream); break; + case TOK_CCV: fputs ("cpu_state.ccv ", syn68k_c_stream); break; + case TOK_CCX: fputs ("cpu_state.ccx ", syn68k_c_stream); break; + case TOK_CCNZ: fputs ("cpu_state.ccnz ", syn68k_c_stream); break; + + /* If we still haven't been able to resolve the addressing mode, + * a pointer to the data should have been put in the appropriate + * local variable by a preceding instruction. + */ + case TOK_DOLLAR_AMODE: + if (t->u.dollarinfo.size != 4) + fprintf (syn68k_c_stream, "DEREF(%s, cpu_state.amode_p) ", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + else + fprintf (syn68k_c_stream, "READ%cL_UNSWAPPED ( US_TO_SYN68K (cpu_state.amode_p)) ", + t->u.dollarinfo.sgnd ? 'S' : 'U'); + break; + + case TOK_DOLLAR_REVERSED_AMODE: + if (t->u.dollarinfo.size != 4) + fprintf (syn68k_c_stream, "DEREF(%s, cpu_state.reversed_amode_p) ", + ctypes[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + else + fprintf (syn68k_c_stream, + "READ%cL_UNSWAPPED ( US_TO_SYN68K (cpu_state.reversed_amode_p)) ", + t->u.dollarinfo.sgnd ? 'S' : 'U'); + break; + + case TOK_DOLLAR_AMODE_PTR: + fprintf (syn68k_c_stream, "US_TO_SYN68K (cpu_state.amode_p) "); + break; + + case TOK_DOLLAR_REVERSED_AMODE_PTR: + fprintf (syn68k_c_stream, "US_TO_SYN68K (cpu_state.reversed_amode_p) "); + break; + + case TOK_DOLLAR_NUMBER: +#if 1 || !defined(TEMPS_AT_TOP) + fprintf (syn68k_c_stream, "operand_%d ", t->u.dollarinfo.which); +#else /* defined(TEMPS_AT_TOP) */ + fprintf (syn68k_c_stream, "operand_%s%d_%d ", + t->u.dollarinfo.sgnd ? "" : "u", + t->u.dollarinfo.size*8, t->u.dollarinfo.which); +#endif /* defined(TEMPS_AT_TOP) */ + break; + + default: + parse_error (ls, "Unknown code element: %s\n", unparse_token (t, buf)); + break; + } +} + + +/* Writes out a human readable string describing a set of cc bits into buf. + * For example, "11001" becomes "CN--Z" (the cc bits are in alphabetical + * order). Returns buf. + */ +static char * +cc_bits_string (int bits, char *buf) +{ + int i; + + /* Generate the string. */ + for (i = 0; i < 5; i++) + buf[i] = (bits & (1 << (4 - i))) ? "CNVXZ"[i] : '-'; + buf[5] = '\0'; + + return buf; +} + + +/* Generates a string describing what bits were expanded for this particular + * CC variant of this opcode. + */ +static char * +opcode_bits_string (int bits, const ParsedOpcodeInfo *info, + const CCVariant *var, char *buf) +{ + const char *p, *i = info->opcode_bits; + char *b = buf; + int mask; + + /* Generate the string. */ + for (mask = 1 << 15, p = var->bits_to_expand; mask != 0; i++,p++, mask >>= 1) + *b++ = ((*p == '-' && *i != '0' && *i != '1') + ? '-' : ((bits & mask) ? '1' : '0')); + buf[16] = '\0'; + + return buf; +} + + +/* Helper function; takes an operator string, like "+" or "&&" and a list + * of expressions and outputs c code: (expr1 op expr2 op expr3 op ... exprn) + */ +static void +binary_op_list (const char *op, List *ls, int m68kop, + const ParsedOpcodeInfo *info, const CCVariant *var) +{ + putc ('(', syn68k_c_stream); + + /* Output something for empty list. */ + if (ls == NULL) + fputs ("0 ", syn68k_c_stream); + for (; ls != NULL; ls = ls->cdr) + { + generate_code_for_list (ls, m68kop, info, var); + if (ls->cdr != NULL) + fprintf (syn68k_c_stream, "%s ", op); + } + putc (')', syn68k_c_stream); +} + + +/* Recursive helper function for replace_dollar_elements(). */ +static void +rde_aux (List *code, const PatternRange *ranges, int m68kop, + const ParsedOpcodeInfo *info, const CCVariant *var, int expand_mask) +{ + Token *t; + + /* Base case: NULL list. */ + if (code == NULL) + return; + + /* If we find a $ identifier, replace it with the appropriate expression. */ + t = &code->token; + if (IS_DOLLAR_TOKEN (t->type)) + { + int index, length; + BOOL is_constant = FALSE; + int constant; + + /* Fetch the bit range of that field. */ + index = ranges[t->u.dollarinfo.which].index; + length = ranges[t->u.dollarinfo.which].length; + + /* See if this collapses to a known constant. */ + if (index + length <= 16) + { + int i; + + /* Grab the constant and see if it's legitimate. */ + constant = 0; + is_constant = TRUE; + for (i = 0; i < length; i++) + { + if (var->bits_to_expand[i + index] == '-') + { + is_constant = FALSE; + break; + } + else if (m68kop & ((1 << (15 - index)) >> i)) + constant |= (1 << (length - 1)) >> i; + } + } + else + constant = 0; /* To avoid compiler warnings. */ + + if (is_constant) + handle_constant_dollar_field (code, constant, length); + else + { + } + } + + /* Recurse on the rest of the list. */ + rde_aux (code->car, ranges, m68kop, info, var, expand_mask); + rde_aux (code->cdr, ranges, m68kop, info, var, expand_mask); +} + + +/* Replaces all of the dollar elements with non-dollar expressions. */ +static List * +replace_dollar_elements (List *code, int m68kop, const ParsedOpcodeInfo *info, + const CCVariant *var) +{ + int i, expand_mask = 0; + PatternRange ranges[32]; + + /* Compute the mask for the bits we are expanding. */ + for (i = 0; i < 16; i++) + if (var->bits_to_expand[15 - i] != '-') + expand_mask = (1 << i); + + /* Compute the field ranges for all of the fields. */ + for (i = 1; pattern_range (info->opcode_bits, i, &ranges[i]); i++) + ; + + /* Recursively replace all of the $ identifiers with expressions. */ + rde_aux (code, ranges, m68kop, info, var, expand_mask); + + return code; +} + + +static void +handle_constant_dollar_field (List *ls, int constant, int field_length) +{ + Token *t = &ls->token; + Token copy_of_t = *t; + + /* Switch on what type of argument this is. */ + switch (t->type) { + + /* Data register. */ + case TOK_DOLLAR_DATA_REGISTER: + t->type = TOK_DATA_REGISTER; + t->u.reginfo.which = constant; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + break; + + /* Address register. */ + case TOK_DOLLAR_ADDRESS_REGISTER: + t->type = TOK_ADDRESS_REGISTER; + t->u.reginfo.which = constant; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + break; + + /* General register. */ + case TOK_DOLLAR_GENERAL_REGISTER: + t->type = (constant >= 8 ? TOK_ADDRESS_REGISTER : TOK_DATA_REGISTER); + t->u.reginfo.which = constant % 8; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + break; + + case TOK_DOLLAR_AMODE: + if (((constant >> 3) & 7) == 0) + { + t->type = TOK_DATA_REGISTER; + t->u.reginfo.which = constant & 7; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + } + else if (((constant >> 3) & 7) == 1) + { + t->type = TOK_ADDRESS_REGISTER; + t->u.reginfo.which = constant & 7; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + } + else + { + t->type = TOK_AMODE; + t->u.amodeinfo.which = constant; + t->u.amodeinfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.amodeinfo.size = copy_of_t.u.dollarinfo.size; + } + break; + + case TOK_DOLLAR_REVERSED_AMODE: + if ((constant & 7) == 0) + { + t->type = TOK_DATA_REGISTER; + t->u.reginfo.which = constant & 7; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + } + else if ((constant & 7) == 1) + { + t->type = TOK_ADDRESS_REGISTER; + t->u.reginfo.which = constant & 7; + t->u.reginfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.reginfo.size = copy_of_t.u.dollarinfo.size; + } + else + { + t->type = TOK_REVERSED_AMODE; /* We swap the bits here anyway. */ + t->u.amodeinfo.which = ((constant & 7) << 3) | ((constant >> 3) & 7); + t->u.amodeinfo.sgnd = copy_of_t.u.dollarinfo.sgnd; + t->u.amodeinfo.size = copy_of_t.u.dollarinfo.size; + } + break; + + case TOK_DOLLAR_NUMBER: + t->type = TOK_NUMBER; + + /* Sign extend if we have to. Assumes 2's complement machine. */ + if (t->u.dollarinfo.sgnd && (constant & (1L << (field_length - 1)))) + constant |= ~((1L << field_length) - 1); + + /* Save the new, sign extended number. */ + t->u.n = constant; + break; + default: + fatal_error ("Internal error: generate_code.c: IS_DOLLAR_TOKEN() " + "must be bad.\n"); + break; + } +} + + +static void +output_c_for_amode_ptr (const Token *t, BOOL reversed) +{ + int reg = t->u.amodeinfo.which & 7, mode = (t->u.amodeinfo.which >> 3) & 7; + char buf[512]; + int size = t->u.amodeinfo.size; + + switch (mode) { + case 0: + case 1: + fatal_error ("Internal error: called output_c_for_amode_ptr with " + "a register addressing mode!"); + break; + + case 2: + fprintf (syn68k_c_stream, "(ADDRESS_REGISTER_UL (%d)) ", reg); + break; + + case 3: + fprintf (syn68k_c_stream, "(ADDRESS_REGISTER_UL (%d)) ", reg); + + /* Perform postincrement, but force sp to remain even! */ + if (size == 1 && reg != 7) + sprintf (buf, "++ADDRESS_REGISTER_UL (%d); ", reg); + else + sprintf (buf, "INC_VAR (ADDRESS_REGISTER_UL (%d), %d); ", reg, + (reg != 7 || size != 1) ? size : 2); + if (strstr (c_postamble, buf) == NULL) + strcat (c_postamble, buf); + break; + case 4: + fprintf (syn68k_c_stream, "(ADDRESS_REGISTER_UL (%d) - %d) ", reg, + (reg != 7 || size != 1) ? size : 2); + + /* Perform predecrement, but force sp to remain even! */ + if (size == 1 && reg != 7) + sprintf (buf, "--ADDRESS_REGISTER_UL (%d); ", reg); + else + sprintf (buf, "DEC_VAR (ADDRESS_REGISTER_UL (%d), %d); ", reg, + (reg != 7 || size != 1) ? size : 2); + if (strstr (c_postamble, buf) == NULL) + strcat (c_postamble, buf); + break; + case 5: + fatal_error ("Internal error: attempting to generate code for fixed " + "amode 5. It should have been expanded and replaced with " + "explicit code to compute the pointer.\n"); + break; + + /* Modes 6 and 7 are too complicated to expand; a pointer to the data + * will be placed in the appropriate place by the synthetic instruction + * right before this one. + */ + case 6: + case 7: + if (!reversed) + fprintf (syn68k_c_stream, "US_TO_SYN68K (cpu_state.amode_p) "); + else + fprintf (syn68k_c_stream, "US_TO_SYN68K (cpu_state.reversed_amode_p) "); + break; + } +} + + +/* Helper function for generate_temp_decls, below. */ +static void +gtd_aux (List *code, BOOL *decld, BOOL *any_so_far) +{ + Token *t; + + if (code == NULL) + return; + + t = &code->token; + if (t->type == TOK_TEMP_REGISTER) + { + if (!decld[t->u.reginfo.which]) + { + if (!*any_so_far) + { + fputs (" M68kReg", syn68k_c_stream); + *any_so_far = TRUE; + } + else + putc (',', syn68k_c_stream); + fprintf (syn68k_c_stream, " tmp%d", t->u.reginfo.which); + decld[t->u.reginfo.which] = TRUE; + } + } + + gtd_aux (code->car, decld, any_so_far); + gtd_aux (code->cdr, decld, any_so_far); +} + + +/* This generates local declarations for all of the temp variables we + * actually use. We declare a new set for each case statement to help + * the compiler identify dead variables. + */ +static void +generate_temp_decls (List *code) +{ +#if !defined(TEMPS_AT_TOP) + BOOL decld[128]; + BOOL found = FALSE; + memset (decld, 0, sizeof decld); + gtd_aux (code, decld, &found); + if (found) + fputs (";\n", syn68k_c_stream); +#endif +} + + +/* Helper function for transform_rtvad_aux, below. This replaces all + * instances of a given temp register with a TOK_QUOTED_STRING containing + * the name of the C variable that is replacing it. + */ +static void +transform_reg_to_var (List *code, Token *to_replace, const char *var_name) +{ + /* Recursion base case. */ + if (code == NULL) + return; + + /* If this is the appropriate temp register, replace it. */ + if (tokens_equal (&code->token, to_replace)) + { + code->token.type = TOK_QUOTED_STRING; + code->token.u.string = var_name; + } + + /* Recurse. */ + transform_reg_to_var (code->car, to_replace, var_name); + transform_reg_to_var (code->cdr, to_replace, var_name); +} + + +/* Helper function for transform_rtvad_aux, below. This function takes + * an example usage of a given temp register, and determines whether every + * other usage of that temp register is of the same form. For example, + * for (assign foo (+ tmp2.ub tmp2.ub)) this would return TRUE, + * but for (assign foo (+ tmp2.ub tmp2.sl)) this would return FALSE. + */ +static BOOL +temp_use_consistent (List *code, Token *one_use) +{ + Token *t; + + /* Recursion base case. */ + if (code == NULL) + return TRUE; + + /* If this is a usage of the specified temp reg, see if it is used in + * the same way as ONE_USE. + */ + t = &code->token; + if (t->type == TOK_TEMP_REGISTER + && t->u.reginfo.which == one_use->u.reginfo.which) + { + if (t->u.reginfo.sgnd != one_use->u.reginfo.sgnd + || t->u.reginfo.size != one_use->u.reginfo.size) + return FALSE; + } + + /* Recurse. */ + return (temp_use_consistent (code->car, one_use) + && temp_use_consistent (code->cdr, one_use)); +} + + +/* Helper function for transform_reg_to_var_and_decl, below. This + * recurses over all of the code and determines when it can replace + * a given temp register with a variable of a simpler C type. + */ +static void +transform_rtvad_aux (List *root, List *code, char decls[2][5][1024]) +{ + Token *t; + + /* Recursion base case. */ + if (code == NULL) + return; + + t = &code->token; + if (t->type == TOK_TEMP_REGISTER && temp_use_consistent (root, t)) + { + char buf[128], *s = decls[t->u.reginfo.sgnd][t->u.reginfo.size]; + const char *name; + Token copy_of_t = *t; + + /* Choose a descriptive + unique name for this new temp variable. */ + sprintf (buf, "tmp%c%c%d", t->u.reginfo.sgnd ? 's' : 'u', + "?bw?l"[t->u.reginfo.size], t->u.reginfo.which); + name = unique_string (buf); + + /* Add this variable's name to the list of variables of this type + * to declare. + */ + if (s[0] != '\0') /* Add a comma if there are previous decls. */ + strcat (s, ","); + sprintf (s + strlen (s), " %s", name); + + /* Replace all occurrences of this temp register with the temp + * variable we just made. + */ + transform_reg_to_var (root, ©_of_t, name); + } + + /* Recurse on the rest of the code. */ + transform_rtvad_aux (root, code->car, decls); + transform_rtvad_aux (root, code->cdr, decls); +} + + + +/* This function simplifies TEMP_REGISTERs that are only used in one way + * by transforming them from the complex union they normally comprise to + * a simple C type. For example, if "tmp2" is only used as "tmp2.ub" in the + * entire scope of its lifetime, we can replace it with a variable of + * type "uint8". This should help the compiler and make syn68k.c somewhat + * easier to read. + */ +static void +transform_reg_to_var_and_decl (List *code) +{ +#if !defined(TEMPS_AT_TOP) + char decls[2][5][1024]; /* decls[signed][byte size][variable names] */ + int sgnd, i; + + /* Clear out all decls. */ + for (i = 0; i < 5; i++) + decls[0][i][0] = decls[1][i][0] = '\0'; + + /* Recursively make all the transformations and declarations. */ + transform_rtvad_aux (code, code, decls); + + /* Loop through and output decls for each variable type that we use. */ + for (sgnd = 0; sgnd <= 1; sgnd++) + for (i = 1; i < 5; i++) + { + if (decls[sgnd][i][0] != '\0') + fprintf (syn68k_c_stream, " %s%s;\n", ctypes[sgnd][i], + decls[sgnd][i]); + } +#endif +} diff --git a/syngen/hash.c b/syngen/hash.c new file mode 100644 index 0000000..7061934 --- /dev/null +++ b/syngen/hash.c @@ -0,0 +1,160 @@ +#include +#include +#include +#include "hash.h" + +/* This file contains: + * make_symbol_table() - returns a new, empty symbol table. + * free_symbol_table() - deallocates all memory associated with an s.t. + * insert_symbol() - inserts a key/value pair into a symbol table. + * NOTE: key is NOT duplicated! + * lookup_symbol() - returns the value associated with a key. + * dump_symbol_table() - prints out a symbol table in human-readable form. + */ + + +static int hash_code (const char *string); + + +/* Returns a new, empty symbol table needed for subsequent symbol table + * manipulations. + */ + +SymbolTable * +make_symbol_table (void) +{ + SymbolTable *s = malloc (sizeof (SymbolTable)); + Bucket **b; + int i; + + for (i = 0, b = &s->bucket[0]; i < HASH_BUCKETS; i++, b++) + { + *b = (Bucket *) malloc (sizeof (Bucket)); + (*b)->num_symbols = 0; + (*b)->max_symbols = INITIAL_SYMBOLS; + } + + return s; +} + + +/* Deallocates all memory taken by a symbol table. */ + +void +free_symbol_table (SymbolTable *s) +{ + int i; + + for (i = 0; i < HASH_BUCKETS; i++) + free (s->bucket[i]); + free (s); +} + + +/* Inserts a symbol and an associated value into a symbol table. If successful, + * returns HASH_NOERR. If that symbol is already defined, it returns + * HASH_DUPLICATE. Note that the string NAME is not duplicated! Only the + * pointer is copied, so be sure not to deallocate NAME, or the symbol table + * will become corrupt. VAL is duplicated. + */ + +HashErr +insert_symbol (SymbolTable *s, const char *name, SymbolInfo val) +{ + int i, bucket_num = hash_code (name); + Symbol *sym; + Bucket *b; + char firstc = *name; + + b = s->bucket[bucket_num]; + + /* First, check for a duplicate. */ + for (i = b->num_symbols, sym = &b->symbol[0]; i > 0; sym++, i--) + if (firstc == sym->name[0] && !strcmp (name, sym->name)) + return HASH_DUPLICATE; + + /* If there isn't room, double the size of the bucket. */ + if (b->num_symbols >= b->max_symbols) + { + b->max_symbols *= 2; + b = s->bucket[bucket_num] = + (Bucket *) realloc (b, sizeof *b + ((b->max_symbols - INITIAL_SYMBOLS) + * sizeof (Symbol))); + } + + sym = &b->symbol[b->num_symbols++]; + sym->name = name; + sym->value = val; + + return HASH_NOERR; +} + + +/* Looks up a symbol in a symbol table. If successful, it places the + * associated value in *val, the original key in *original_name_ptr, + * and returns HASH_NOERR. If either val or original_name_ptr are NULL their + * contents are not modified. If not successful, *val, *original_name_ptr are + * unchanged and HASH_NOTFOUND is returned. + */ + +HashErr +lookup_symbol (const SymbolTable *s, const char *name, SymbolInfo *val, + const char **original_name_ptr) +{ + int i, bucket_num = hash_code (name); + Bucket *b = s->bucket[bucket_num]; + Symbol *sym; + char firstc = *name; + + for (i = b->num_symbols, sym = &b->symbol[0]; i > 0; sym++, i--) + if (firstc == sym->name[0] && !strcmp (name, sym->name)) + { + if (val != NULL) + *val = sym->value; + if (original_name_ptr != NULL) + *original_name_ptr = sym->name; + return HASH_NOERR; + } + + return HASH_NOTFOUND; +} + + +/* Prints out a symbol table in human-readable format. */ + +void +dump_symbol_table (const SymbolTable *s) +{ + const Bucket *b; + int i, j, collisions; + + for (i = collisions = 0; i < HASH_BUCKETS; i++) + { + b = s->bucket[i]; + if (b->num_symbols > 0) + { + printf ("Bucket #%d:\n---------------\n", i); + for (j = 0; j < b->num_symbols; j++) + printf ("\t\"%s\"\t:\t%ld\n", b->symbol[j].name, + b->symbol[j].value.n); + collisions += b->num_symbols - 1; + } + } + + printf ("Total collisions: %d\n", collisions); +} + + +static int +hash_code (const char *string) +{ + unsigned long c, h = 0; + + while ((c = *string++)) + { + h += c; + h = (h << 3) + (h >> 2) + c; + } + + return (h % HASH_BUCKETS); +} diff --git a/syngen/include/bitstring.h b/syngen/include/bitstring.h new file mode 100644 index 0000000..7e276ba --- /dev/null +++ b/syngen/include/bitstring.h @@ -0,0 +1,23 @@ +#ifndef _bitset_h_ +#define _bitset_h_ + +#include "common.h" +#include "list.h" + +typedef struct { + int index, length; +} PatternRange; + +extern BOOL is_member_of_set (unsigned short n, List *set); +extern void print_16_bits (FILE *stream, unsigned short n); +extern BOOL pattern_range (const char *pattern, int which, + PatternRange *range); +extern int num_fields (const char *opcode_bits); +extern void make_unique_field_of_width (const char *opcode_bits, char *where, + int width); +extern int field_with_index (const char *opcode_bits, int index); +extern BOOL field_expanded (int field_number, const char *opcode_bits, + const char *bits_to_expand); +extern BOOL empty_set (List *set, int literal_bits_mask, int literal_bits); + +#endif /* Not _bitset_h_ */ diff --git a/syngen/include/boolean.h b/syngen/include/boolean.h new file mode 100644 index 0000000..b2b6e2e --- /dev/null +++ b/syngen/include/boolean.h @@ -0,0 +1,20 @@ +#ifndef _boolean_h_ +#define _boolean_h_ + +#include "list.h" + +typedef enum { + E_FALSE, E_TRUE, E_UNKNOWN, E_AND, E_OR, E_XOR, E_NOT + } BoolExprType; + +typedef struct BoolExprStruct { + BoolExprType type; + struct BoolExprStruct *subexpr; + struct BoolExprStruct *next; +} BoolExpr; + +extern BoolExpr *make_boolean_expr (const List *ls); +extern BoolExprType eval_bool_expr (const BoolExpr *be); +extern void print_boolean_expr (const BoolExpr *be); + +#endif /* not _boolean_h_ */ diff --git a/syngen/include/byteorder.h b/syngen/include/byteorder.h new file mode 100644 index 0000000..1d73717 --- /dev/null +++ b/syngen/include/byteorder.h @@ -0,0 +1,16 @@ +#ifndef _byteorder_h_ +#define _byteorder_h_ + +#include "defopcode.h" +#include "syn68k_private.h" + +typedef struct { + const char *operand_decls; + int num_bitfields; + BitfieldInfo bitfield[8]; +} OperandInfo; + +extern int compute_operand_info (OperandInfo *op, const ParsedOpcodeInfo *p, + const CCVariant *v); + +#endif /* Not _byteorder_h_ */ diff --git a/syngen/include/common.h b/syngen/include/common.h new file mode 100644 index 0000000..6c218e9 --- /dev/null +++ b/syngen/include/common.h @@ -0,0 +1,20 @@ +#ifndef _common_h_ +#define _common_h_ + +#include +#include "syn68k_private.h" /* To typedef BOOL. */ + +/* Useful macros. */ +#define ABS(x) ((x)>=0?(x):-(x)) +#define SGN(x) ((x)>0?1:((x<0)?-1:0)) /* or (((x) > 0) - ((x) < 0)) :-) */ +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +/* Global variables. */ +extern int optimization_level; +extern BOOL preprocess_only; +extern FILE *syn68k_c_stream, *mapinfo_c_stream, *mapindex_c_stream; +extern FILE *profileinfo_stream; +extern BOOL verbose; + +#endif /* not _common_h_ */ diff --git a/syngen/include/defopcode.h b/syngen/include/defopcode.h new file mode 100644 index 0000000..cda90dc --- /dev/null +++ b/syngen/include/defopcode.h @@ -0,0 +1,40 @@ +#ifndef _defopcode_h_ +#define _defopcode_h_ + +#include "list.h" +#include "hash.h" + +#define MAX_OPCODE_WORDS 16 +#define MAX_VARIANTS 64 + +typedef struct _CCVariant { + unsigned cc_may_set :5; + unsigned cc_may_not_set :5; + unsigned cc_needed :5; + unsigned cc_to_known_value :5; + unsigned cc_known_values :5; + char *bits_to_expand; + List *code; + const char *native_code_info; + struct _CCVariant *next; +} CCVariant; + +typedef struct { + const char *name; + int cpu; + List *amode; + List *misc_flags; + char opcode_bits[16 * MAX_OPCODE_WORDS + 1];/* Concat'd 16-bit patterns. */ + CCVariant *cc_variant; /* Linked list of CC variants. */ + BOOL ends_block; + BOOL next_block_dynamic; + BOOL dont_postincdec_unexpanded; + int operand_words_to_skip; +} ParsedOpcodeInfo; + +extern void generate_opcode (ParsedOpcodeInfo *info, SymbolTable *sym); +extern void begin_generating_code (void); +extern void done_generating_code (void); +extern int synthetic_opcode_size (const OpcodeMappingInfo *map); + +#endif /* Not _defopcode_h_ */ diff --git a/syngen/include/error.h b/syngen/include/error.h new file mode 100644 index 0000000..bae0003 --- /dev/null +++ b/syngen/include/error.h @@ -0,0 +1,19 @@ +#ifndef _error_h_ +#define _error_h_ + +#include "parse.h" + +extern void error (const char *fmt, ...); +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +extern volatile void fatal_error (const char *fmt, ...); +extern volatile void fatal_parse_error (const List *ls, const char *fmt, ...); +extern volatile void fatal_input_error (const char *fmt, ...); +#else +extern void fatal_error (const char *fmt, ...); +extern void fatal_parse_error (const List *ls, const char *fmt, ...); +extern void fatal_input_error (const char *fmt, ...); +#endif +extern void parse_error (const List *ls, const char *fmt, ...); +extern void input_error (const char *fmt, ...); + +#endif /* Not _error_h_ */ diff --git a/syngen/include/generatecode.h b/syngen/include/generatecode.h new file mode 100644 index 0000000..be1b9d9 --- /dev/null +++ b/syngen/include/generatecode.h @@ -0,0 +1,13 @@ +#ifndef _generatecode_h_ +#define _generatecode_h_ + +#include "syn68k_private.h" +#include "defopcode.h" + +extern void generate_c_code (const ParsedOpcodeInfo *info, + const CCVariant *var, + int m68kop, int synop, SymbolTable *sym, + const char *operand_decls, const char *postcode, + const OpcodeMappingInfo *map); + +#endif /* Not _generatecode_h_ */ diff --git a/syngen/include/hash.h b/syngen/include/hash.h new file mode 100644 index 0000000..437ba97 --- /dev/null +++ b/syngen/include/hash.h @@ -0,0 +1,38 @@ +#ifndef _hash_h_ +#define _hash_h_ + +#define HASH_BUCKETS 253 +#define INITIAL_SYMBOLS 7 + +typedef union { + long n; + void *p; +} SymbolInfo; + +typedef struct { + const char *name; + SymbolInfo value; +} Symbol; + +typedef struct { + int num_symbols, max_symbols; + Symbol symbol[INITIAL_SYMBOLS]; /* variable length array. */ +} Bucket; + +typedef struct { + Bucket *bucket[HASH_BUCKETS]; +} SymbolTable; + + +typedef enum { HASH_NOERR, HASH_DUPLICATE, HASH_NOTFOUND } HashErr; + + +extern SymbolTable *make_symbol_table (void); +extern void free_symbol_table (SymbolTable *s); +extern HashErr insert_symbol (SymbolTable *s, const char *name, + SymbolInfo val); +extern HashErr lookup_symbol (const SymbolTable *s, const char *name, + SymbolInfo *val, const char **original_name_ptr); +extern void dump_symbol_table (const SymbolTable *s); + +#endif /* Not hash_h_ */ diff --git a/syngen/include/list.h b/syngen/include/list.h new file mode 100644 index 0000000..19acc19 --- /dev/null +++ b/syngen/include/list.h @@ -0,0 +1,43 @@ +#ifndef _list_h_ +#define _list_h_ + +#include "token.h" + +typedef struct ListStruct { + struct ListStruct *cdr, *car; + Token token; /* car == NULL, token.type = TOK_LIST -> empty list. */ +} List; + +#define CDR(c) ((c)->cdr) +#define CAR(c) ((c)->car) +#define CDDR(c) ((c)->cdr->cdr) +#define CDAR(c) ((c)->car->cdr) +#define CADR(c) ((c)->cdr->car) +#define CAAR(c) ((c)->car->car) +#define CDDDR(c) ((c)->cdr->cdr->cdr) +#define CDDAR(c) ((c)->car->cdr->cdr) +#define CDADR(c) ((c)->cdr->car->cdr) +#define CDAAR(c) ((c)->car->car->cdr) +#define CADDR(c) ((c)->cdr->cdr->car) +#define CADAR(c) ((c)->car->cdr->car) +#define CAADR(c) ((c)->cdr->car->car) +#define CAAAR(c) ((c)->car->car->car) +#define CDDDDR(c) ((c)->cdr->cdr->cdr->cdr) +#define CADDAR(c) ((c)->car->cdr->cdr->car) +#define CADDDR(c) ((c)->cdr->cdr->cdr->car) + +extern List *alloc_list (void); +extern List *copy_list (const List *ls); +extern void propagate_fileinfo (const Token *original, List *ls); +extern BOOL lists_equal (const List *l1, const List *l2); +extern int list_length (const List *ls); +extern Token *has_token_of_type (List *list, TokenType type); +extern void print_list (FILE *out, const List *ls); +extern void replace_list (List *old, List *new); +extern void replace_tokens_of_type (List *list, TokenType old, TokenType new); +extern void replace_tokens_of_type_with_list (List *list, TokenType old, + const List *new); +extern int list_size (const List *ls); +extern BOOL list_overlap (const List *l1, const List *l2); + +#endif /* Not _list_h_ */ diff --git a/syngen/include/macro.h b/syngen/include/macro.h new file mode 100644 index 0000000..cd0b5bd --- /dev/null +++ b/syngen/include/macro.h @@ -0,0 +1,16 @@ +#ifndef _macro_h_ +#define _macro_h_ + +#include "list.h" +#include "hash.h" + +#define MAX_MACRO_EXPANSIONS 64 + +typedef struct MacroStruct { + List *expr; + struct MacroStruct *next; +} Macro; + +extern BOOL macro_sub (List *ls, const SymbolTable *sym, BOOL flag_err); + +#endif /* Not _macro_h_ */ diff --git a/syngen/include/parse.h b/syngen/include/parse.h new file mode 100644 index 0000000..3d24241 --- /dev/null +++ b/syngen/include/parse.h @@ -0,0 +1,11 @@ +#ifndef _parse_h_ +#define _parse_h_ + +#include "token.h" +#include "list.h" +#include "hash.h" + +extern int parse_all_expressions (SymbolTable *sym); +extern List *string_to_list (const char *string, const char *include_dirs[]); + +#endif /* Not _parse_h_ */ diff --git a/syngen/include/reduce.h b/syngen/include/reduce.h new file mode 100644 index 0000000..20fe32d --- /dev/null +++ b/syngen/include/reduce.h @@ -0,0 +1,10 @@ +#ifndef _reduce_h_ +#define _reduce_h_ + +#include "list.h" +#include "hash.h" + +extern List *reduce_list (List *ls, const SymbolTable *sym, int macro_level); +extern List *reduce (List *ls, const SymbolTable *sym, int macro_level); + +#endif /* Not _reduce_h_ */ diff --git a/syngen/include/token.h b/syngen/include/token.h new file mode 100644 index 0000000..ce7db2d --- /dev/null +++ b/syngen/include/token.h @@ -0,0 +1,136 @@ +#ifndef _token_h_ +#define _token_h_ + +#include + +#include "common.h" + +/* Current file stuff. */ +#define MAX_INCLUDE_DEPTH 32 +#define MAX_FILENAME_LENGTH 248 +#define MAX_TOKEN_SIZE 1024 + +typedef struct { + FILE *fp; + unsigned long lineno; + char filename[MAX_FILENAME_LENGTH]; +} InputFile; + + +/* Token stuff. */ +typedef enum { + TOK_FALSE, TOK_TRUE, + + TOK_IF, TOK_SWITCH, TOK_DEFAULT, + TOK_AND, TOK_OR, TOK_XOR, TOK_NOT, + + TOK_EQUAL, TOK_NOT_EQUAL, TOK_GREATER_THAN, TOK_LESS_THAN, + TOK_GREATER_OR_EQUAL, TOK_LESS_OR_EQUAL, + + TOK_DOLLAR_DATA_REGISTER, + TOK_DOLLAR_ADDRESS_REGISTER, + TOK_DOLLAR_GENERAL_REGISTER, + TOK_DOLLAR_AMODE, + TOK_DOLLAR_REVERSED_AMODE, /* Used in move; reg/mode order reversed. */ + TOK_DOLLAR_NUMBER, + TOK_DOLLAR_AMODE_PTR, TOK_DOLLAR_REVERSED_AMODE_PTR, + + TOK_AMODE, TOK_REVERSED_AMODE, + TOK_AMODE_PTR, TOK_REVERSED_AMODE_PTR, + + TOK_IDENTIFIER, + TOK_QUOTED_STRING, + TOK_NUMBER, + + TOK_LEFT_PAREN, TOK_RIGHT_PAREN, + + TOK_DATA_REGISTER, TOK_ADDRESS_REGISTER, TOK_TEMP_REGISTER, + + TOK_NOP, + + TOK_UNION, TOK_INTERSECT, + + TOK_CCC, TOK_CCN, TOK_CCV, TOK_CCX, TOK_CCNZ, + + TOK_SHIFT_LEFT, TOK_SHIFT_RIGHT, + + TOK_ASSIGN, + + TOK_PLUS, TOK_MINUS, TOK_MULTIPLY, TOK_DIVIDE, TOK_MOD, + TOK_BITWISE_AND, TOK_BITWISE_OR, TOK_BITWISE_XOR, TOK_BITWISE_NOT, + + TOK_NUMARGS, + TOK_NIL, + + TOK_FUNC_CALL, + TOK_CAST, TOK_DEREF, + TOK_CODE, + + TOK_SWAP, + + TOK_EXPLICIT_LIST, + + TOK_ENDS_BLOCK, TOK_DONT_POSTINCDEC_UNEXPANDED, + TOK_NEXT_BLOCK_DYNAMIC, TOK_SKIP_TWO_OPERAND_WORDS, + TOK_SKIP_FOUR_OPERAND_WORDS, TOK_SKIP_ONE_POINTER, TOK_SKIP_TWO_POINTERS, + TOK_NATIVE_CODE, + + TOK_DEFINE, + TOK_DEFOPCODE, + TOK_ERROR, + TOK_TAIL, + TOK_INCLUDE, + TOK_LIST, + TOK_UNKNOWN, TOK_EMPTY + } TokenType; + + +#define IS_DOLLAR_TOKEN(t) \ +((t) == TOK_DOLLAR_DATA_REGISTER \ + || (t) == TOK_DOLLAR_ADDRESS_REGISTER \ + || (t) == TOK_DOLLAR_GENERAL_REGISTER \ + || (t) == TOK_DOLLAR_AMODE \ + || (t) == TOK_DOLLAR_REVERSED_AMODE \ + || (t) == TOK_DOLLAR_NUMBER \ + || (t) == TOK_DOLLAR_AMODE_PTR \ + || (t) == TOK_DOLLAR_REVERSED_AMODE_PTR) + +#define IS_CCBIT_TOKEN(t) \ +((t) == TOK_CCC || (t) == TOK_CCN || (t) == TOK_CCV || (t) == TOK_CCX \ + || (t) == TOK_CCNZ) + + +typedef struct { + TokenType type; + union { + const char *string; + long n; + struct { + unsigned char sgnd; /* Signed or unsigned? */ + unsigned char size; /* 1 == byte, 2 == short, 4 == long. */ + unsigned char which; /* Which field or register. */ + } reginfo, amodeinfo, dollarinfo; /* KEEP THESE THE SAME! */ + /* Types changed blindly. */ + struct { + unsigned char sgnd; /* Signed or unsigned? */ + unsigned char size; /* 0 == untyped, 1 == byte, 2 == short, 4 == long. */ + } derefinfo, swapinfo; + } u; + const char *filename; + unsigned long lineno; +} Token; + + +extern void init_tokenizer (void); +extern const InputFile *get_input_file (int levels_back); +extern void open_file (const char *file, const char *search_dirs[]); +extern void open_stream (const char *name, FILE *fp); +extern BOOL fetch_next_token (Token *t); +extern BOOL tokens_equal (const Token *t1, const Token *t2); +extern void dump_token (const Token *t); +extern char *unparse_token (const Token *t, char *buf); +extern FILE *current_stream (void); +extern int skip_to_next_token (void); +extern void close_file (void); + +#endif /* Not _token_h_ */ diff --git a/syngen/include/tokenlist.h b/syngen/include/tokenlist.h new file mode 100644 index 0000000..431ce25 --- /dev/null +++ b/syngen/include/tokenlist.h @@ -0,0 +1,597 @@ +static const struct { char *name; TokenType value; } token_list[] = { + { "+", TOK_PLUS }, + { "-", TOK_MINUS }, + { "*", TOK_MULTIPLY }, + { "/", TOK_DIVIDE }, + { "%", TOK_MOD }, + { "&", TOK_BITWISE_AND }, + { "|", TOK_BITWISE_OR }, + { "^", TOK_BITWISE_XOR }, + { "~", TOK_BITWISE_NOT }, + + { "if", TOK_IF }, + { "switch", TOK_SWITCH }, + { "default", TOK_DEFAULT }, + + { "and", TOK_AND }, + { "or", TOK_OR }, + { "xor", TOK_XOR }, + { "not", TOK_NOT }, + + { "union", TOK_UNION }, + { "intersect", TOK_INTERSECT }, + + { "assign", TOK_ASSIGN }, + + { "ends_block", TOK_ENDS_BLOCK }, + { "next_block_dynamic", TOK_NEXT_BLOCK_DYNAMIC }, + { "dont_postincdec_unexpanded", TOK_DONT_POSTINCDEC_UNEXPANDED }, + { "skip_two_operand_words", TOK_SKIP_TWO_OPERAND_WORDS }, + { "skip_four_operand_words", TOK_SKIP_FOUR_OPERAND_WORDS }, + + { "skip_one_pointer", TOK_SKIP_ONE_POINTER }, + { "skip_two_pointers", TOK_SKIP_TWO_POINTERS }, + { "native_code", TOK_NATIVE_CODE }, + + { "ccc", TOK_CCC }, + { "ccn", TOK_CCN }, + { "ccv", TOK_CCV }, + { "ccx", TOK_CCX }, + { "ccnz", TOK_CCNZ }, + + { ">>", TOK_SHIFT_RIGHT }, + { "<<", TOK_SHIFT_LEFT }, + + { "=", TOK_EQUAL }, + { "<>", TOK_NOT_EQUAL }, + { ">", TOK_GREATER_THAN }, + { "<", TOK_LESS_THAN }, + { ">=", TOK_GREATER_OR_EQUAL }, + { "<=", TOK_LESS_OR_EQUAL }, + + { "true", TOK_TRUE }, + { "false", TOK_FALSE }, + + { "numargs", TOK_NUMARGS }, + + { "error", TOK_ERROR }, + + { "list", TOK_EXPLICIT_LIST }, + + { "nil", TOK_NIL }, + + { "call", TOK_FUNC_CALL }, + { "cast", TOK_CAST }, + { "code", TOK_CODE }, + + { "deref", TOK_DEREF }, + { "derefsb", TOK_DEREF }, /* Processed more fully in token.c */ + { "derefub", TOK_DEREF }, + { "derefsw", TOK_DEREF }, + { "derefuw", TOK_DEREF }, + { "derefsl", TOK_DEREF }, + { "dereful", TOK_DEREF }, + + { "swapsb", TOK_SWAP }, /* Processed more fully in token.c */ + { "swapub", TOK_SWAP }, + { "swapsw", TOK_SWAP }, + { "swapuw", TOK_SWAP }, + { "swapsl", TOK_SWAP }, + { "swapul", TOK_SWAP }, + + { "+tail", TOK_TAIL }, + { "define", TOK_DEFINE }, + { "defopcode", TOK_DEFOPCODE }, + { "include", TOK_INCLUDE }, + + { "tmp.ub", TOK_TEMP_REGISTER }, + { "tmp.uw", TOK_TEMP_REGISTER }, + { "tmp.ul", TOK_TEMP_REGISTER }, + { "tmp.sb", TOK_TEMP_REGISTER }, + { "tmp.sw", TOK_TEMP_REGISTER }, + { "tmp.sl", TOK_TEMP_REGISTER }, + + { "tmp2.ub", TOK_TEMP_REGISTER }, + { "tmp2.uw", TOK_TEMP_REGISTER }, + { "tmp2.ul", TOK_TEMP_REGISTER }, + { "tmp2.sb", TOK_TEMP_REGISTER }, + { "tmp2.sw", TOK_TEMP_REGISTER }, + { "tmp2.sl", TOK_TEMP_REGISTER }, + + { "tmp3.ub", TOK_TEMP_REGISTER }, + { "tmp3.uw", TOK_TEMP_REGISTER }, + { "tmp3.ul", TOK_TEMP_REGISTER }, + { "tmp3.sb", TOK_TEMP_REGISTER }, + { "tmp3.sw", TOK_TEMP_REGISTER }, + { "tmp3.sl", TOK_TEMP_REGISTER }, + + { "tmp4.ub", TOK_TEMP_REGISTER }, + { "tmp4.uw", TOK_TEMP_REGISTER }, + { "tmp4.ul", TOK_TEMP_REGISTER }, + { "tmp4.sb", TOK_TEMP_REGISTER }, + { "tmp4.sw", TOK_TEMP_REGISTER }, + { "tmp4.sl", TOK_TEMP_REGISTER }, + + /* Dollar identifiers. I put these here because these are somewhat annoying + * to parse. + */ + { "$1.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$2.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$3.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$4.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$5.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$6.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$7.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$8.dul", TOK_DOLLAR_DATA_REGISTER }, + { "$9.dul", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$2.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$3.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$4.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$5.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$6.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$7.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$8.dsl", TOK_DOLLAR_DATA_REGISTER }, + { "$9.dsl", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$2.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$3.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$4.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$5.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$6.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$7.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$8.duw", TOK_DOLLAR_DATA_REGISTER }, + { "$9.duw", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$2.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$3.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$4.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$5.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$6.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$7.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$8.dsw", TOK_DOLLAR_DATA_REGISTER }, + { "$9.dsw", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$2.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$3.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$4.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$5.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$6.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$7.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$8.dub", TOK_DOLLAR_DATA_REGISTER }, + { "$9.dub", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$2.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$3.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$4.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$5.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$6.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$7.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$8.dsb", TOK_DOLLAR_DATA_REGISTER }, + { "$9.dsb", TOK_DOLLAR_DATA_REGISTER }, + + { "$1.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.aul", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.asl", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.auw", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.asw", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.aub", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$2.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$3.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$4.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$5.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$6.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$7.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$8.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + { "$9.asb", TOK_DOLLAR_ADDRESS_REGISTER }, + + { "$1.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.gul", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.gul", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.gsl", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.guw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.guw", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.gsw", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.gub", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.gub", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$2.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$3.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$4.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$5.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$6.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$7.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$8.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + { "$9.gsb", TOK_DOLLAR_GENERAL_REGISTER }, + + { "$1.mul", TOK_DOLLAR_AMODE }, + { "$2.mul", TOK_DOLLAR_AMODE }, + { "$3.mul", TOK_DOLLAR_AMODE }, + { "$4.mul", TOK_DOLLAR_AMODE }, + { "$5.mul", TOK_DOLLAR_AMODE }, + { "$6.mul", TOK_DOLLAR_AMODE }, + { "$7.mul", TOK_DOLLAR_AMODE }, + { "$8.mul", TOK_DOLLAR_AMODE }, + { "$9.mul", TOK_DOLLAR_AMODE }, + + { "$1.msl", TOK_DOLLAR_AMODE }, + { "$2.msl", TOK_DOLLAR_AMODE }, + { "$3.msl", TOK_DOLLAR_AMODE }, + { "$4.msl", TOK_DOLLAR_AMODE }, + { "$5.msl", TOK_DOLLAR_AMODE }, + { "$6.msl", TOK_DOLLAR_AMODE }, + { "$7.msl", TOK_DOLLAR_AMODE }, + { "$8.msl", TOK_DOLLAR_AMODE }, + { "$9.msl", TOK_DOLLAR_AMODE }, + + { "$1.muw", TOK_DOLLAR_AMODE }, + { "$2.muw", TOK_DOLLAR_AMODE }, + { "$3.muw", TOK_DOLLAR_AMODE }, + { "$4.muw", TOK_DOLLAR_AMODE }, + { "$5.muw", TOK_DOLLAR_AMODE }, + { "$6.muw", TOK_DOLLAR_AMODE }, + { "$7.muw", TOK_DOLLAR_AMODE }, + { "$8.muw", TOK_DOLLAR_AMODE }, + { "$9.muw", TOK_DOLLAR_AMODE }, + + { "$1.msw", TOK_DOLLAR_AMODE }, + { "$2.msw", TOK_DOLLAR_AMODE }, + { "$3.msw", TOK_DOLLAR_AMODE }, + { "$4.msw", TOK_DOLLAR_AMODE }, + { "$5.msw", TOK_DOLLAR_AMODE }, + { "$6.msw", TOK_DOLLAR_AMODE }, + { "$7.msw", TOK_DOLLAR_AMODE }, + { "$8.msw", TOK_DOLLAR_AMODE }, + { "$9.msw", TOK_DOLLAR_AMODE }, + + { "$1.mub", TOK_DOLLAR_AMODE }, + { "$2.mub", TOK_DOLLAR_AMODE }, + { "$3.mub", TOK_DOLLAR_AMODE }, + { "$4.mub", TOK_DOLLAR_AMODE }, + { "$5.mub", TOK_DOLLAR_AMODE }, + { "$6.mub", TOK_DOLLAR_AMODE }, + { "$7.mub", TOK_DOLLAR_AMODE }, + { "$8.mub", TOK_DOLLAR_AMODE }, + { "$9.mub", TOK_DOLLAR_AMODE }, + + { "$1.msb", TOK_DOLLAR_AMODE }, + { "$2.msb", TOK_DOLLAR_AMODE }, + { "$3.msb", TOK_DOLLAR_AMODE }, + { "$4.msb", TOK_DOLLAR_AMODE }, + { "$5.msb", TOK_DOLLAR_AMODE }, + { "$6.msb", TOK_DOLLAR_AMODE }, + { "$7.msb", TOK_DOLLAR_AMODE }, + { "$8.msb", TOK_DOLLAR_AMODE }, + { "$9.msb", TOK_DOLLAR_AMODE }, + + { "$1.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.rul", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.rul", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.rsl", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.rsl", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.ruw", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.ruw", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.rsw", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.rsw", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.rub", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.rub", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$2.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$3.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$4.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$5.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$6.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$7.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$8.rsb", TOK_DOLLAR_REVERSED_AMODE }, + { "$9.rsb", TOK_DOLLAR_REVERSED_AMODE }, + + { "$1.pul", TOK_DOLLAR_AMODE_PTR }, + { "$2.pul", TOK_DOLLAR_AMODE_PTR }, + { "$3.pul", TOK_DOLLAR_AMODE_PTR }, + { "$4.pul", TOK_DOLLAR_AMODE_PTR }, + { "$5.pul", TOK_DOLLAR_AMODE_PTR }, + { "$6.pul", TOK_DOLLAR_AMODE_PTR }, + { "$7.pul", TOK_DOLLAR_AMODE_PTR }, + { "$8.pul", TOK_DOLLAR_AMODE_PTR }, + { "$9.pul", TOK_DOLLAR_AMODE_PTR }, + + { "$1.psl", TOK_DOLLAR_AMODE_PTR }, + { "$2.psl", TOK_DOLLAR_AMODE_PTR }, + { "$3.psl", TOK_DOLLAR_AMODE_PTR }, + { "$4.psl", TOK_DOLLAR_AMODE_PTR }, + { "$5.psl", TOK_DOLLAR_AMODE_PTR }, + { "$6.psl", TOK_DOLLAR_AMODE_PTR }, + { "$7.psl", TOK_DOLLAR_AMODE_PTR }, + { "$8.psl", TOK_DOLLAR_AMODE_PTR }, + { "$9.psl", TOK_DOLLAR_AMODE_PTR }, + + { "$1.puw", TOK_DOLLAR_AMODE_PTR }, + { "$2.puw", TOK_DOLLAR_AMODE_PTR }, + { "$3.puw", TOK_DOLLAR_AMODE_PTR }, + { "$4.puw", TOK_DOLLAR_AMODE_PTR }, + { "$5.puw", TOK_DOLLAR_AMODE_PTR }, + { "$6.puw", TOK_DOLLAR_AMODE_PTR }, + { "$7.puw", TOK_DOLLAR_AMODE_PTR }, + { "$8.puw", TOK_DOLLAR_AMODE_PTR }, + { "$9.puw", TOK_DOLLAR_AMODE_PTR }, + + { "$1.psw", TOK_DOLLAR_AMODE_PTR }, + { "$2.psw", TOK_DOLLAR_AMODE_PTR }, + { "$3.psw", TOK_DOLLAR_AMODE_PTR }, + { "$4.psw", TOK_DOLLAR_AMODE_PTR }, + { "$5.psw", TOK_DOLLAR_AMODE_PTR }, + { "$6.psw", TOK_DOLLAR_AMODE_PTR }, + { "$7.psw", TOK_DOLLAR_AMODE_PTR }, + { "$8.psw", TOK_DOLLAR_AMODE_PTR }, + { "$9.psw", TOK_DOLLAR_AMODE_PTR }, + + { "$1.pub", TOK_DOLLAR_AMODE_PTR }, + { "$2.pub", TOK_DOLLAR_AMODE_PTR }, + { "$3.pub", TOK_DOLLAR_AMODE_PTR }, + { "$4.pub", TOK_DOLLAR_AMODE_PTR }, + { "$5.pub", TOK_DOLLAR_AMODE_PTR }, + { "$6.pub", TOK_DOLLAR_AMODE_PTR }, + { "$7.pub", TOK_DOLLAR_AMODE_PTR }, + { "$8.pub", TOK_DOLLAR_AMODE_PTR }, + { "$9.pub", TOK_DOLLAR_AMODE_PTR }, + + { "$1.psb", TOK_DOLLAR_AMODE_PTR }, + { "$2.psb", TOK_DOLLAR_AMODE_PTR }, + { "$3.psb", TOK_DOLLAR_AMODE_PTR }, + { "$4.psb", TOK_DOLLAR_AMODE_PTR }, + { "$5.psb", TOK_DOLLAR_AMODE_PTR }, + { "$6.psb", TOK_DOLLAR_AMODE_PTR }, + { "$7.psb", TOK_DOLLAR_AMODE_PTR }, + { "$8.psb", TOK_DOLLAR_AMODE_PTR }, + { "$9.psb", TOK_DOLLAR_AMODE_PTR }, + + { "$1.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.qul", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.qsl", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.quw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.qsw", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.qub", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$2.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$3.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$4.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$5.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$6.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$7.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$8.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + { "$9.qsb", TOK_DOLLAR_REVERSED_AMODE_PTR }, + + { "$1.ub", TOK_DOLLAR_NUMBER }, + { "$2.ub", TOK_DOLLAR_NUMBER }, + { "$3.ub", TOK_DOLLAR_NUMBER }, + { "$4.ub", TOK_DOLLAR_NUMBER }, + { "$5.ub", TOK_DOLLAR_NUMBER }, + { "$6.ub", TOK_DOLLAR_NUMBER }, + { "$7.ub", TOK_DOLLAR_NUMBER }, + { "$8.ub", TOK_DOLLAR_NUMBER }, + { "$9.ub", TOK_DOLLAR_NUMBER }, + + { "$1.sb", TOK_DOLLAR_NUMBER }, + { "$2.sb", TOK_DOLLAR_NUMBER }, + { "$3.sb", TOK_DOLLAR_NUMBER }, + { "$4.sb", TOK_DOLLAR_NUMBER }, + { "$5.sb", TOK_DOLLAR_NUMBER }, + { "$6.sb", TOK_DOLLAR_NUMBER }, + { "$7.sb", TOK_DOLLAR_NUMBER }, + { "$8.sb", TOK_DOLLAR_NUMBER }, + { "$9.sb", TOK_DOLLAR_NUMBER }, + + { "$1.uw", TOK_DOLLAR_NUMBER }, + { "$2.uw", TOK_DOLLAR_NUMBER }, + { "$3.uw", TOK_DOLLAR_NUMBER }, + { "$4.uw", TOK_DOLLAR_NUMBER }, + { "$5.uw", TOK_DOLLAR_NUMBER }, + { "$6.uw", TOK_DOLLAR_NUMBER }, + { "$7.uw", TOK_DOLLAR_NUMBER }, + { "$8.uw", TOK_DOLLAR_NUMBER }, + { "$9.uw", TOK_DOLLAR_NUMBER }, + + { "$1.sw", TOK_DOLLAR_NUMBER }, + { "$2.sw", TOK_DOLLAR_NUMBER }, + { "$3.sw", TOK_DOLLAR_NUMBER }, + { "$4.sw", TOK_DOLLAR_NUMBER }, + { "$5.sw", TOK_DOLLAR_NUMBER }, + { "$6.sw", TOK_DOLLAR_NUMBER }, + { "$7.sw", TOK_DOLLAR_NUMBER }, + { "$8.sw", TOK_DOLLAR_NUMBER }, + { "$9.sw", TOK_DOLLAR_NUMBER }, + + { "$1.ul", TOK_DOLLAR_NUMBER }, + { "$2.ul", TOK_DOLLAR_NUMBER }, + { "$3.ul", TOK_DOLLAR_NUMBER }, + { "$4.ul", TOK_DOLLAR_NUMBER }, + { "$5.ul", TOK_DOLLAR_NUMBER }, + { "$6.ul", TOK_DOLLAR_NUMBER }, + { "$7.ul", TOK_DOLLAR_NUMBER }, + { "$8.ul", TOK_DOLLAR_NUMBER }, + { "$9.ul", TOK_DOLLAR_NUMBER }, + + { "$1.sl", TOK_DOLLAR_NUMBER }, + { "$2.sl", TOK_DOLLAR_NUMBER }, + { "$3.sl", TOK_DOLLAR_NUMBER }, + { "$4.sl", TOK_DOLLAR_NUMBER }, + { "$5.sl", TOK_DOLLAR_NUMBER }, + { "$6.sl", TOK_DOLLAR_NUMBER }, + { "$7.sl", TOK_DOLLAR_NUMBER }, + { "$8.sl", TOK_DOLLAR_NUMBER }, + { "$9.sl", TOK_DOLLAR_NUMBER }, +}; diff --git a/syngen/include/uniquestring.h b/syngen/include/uniquestring.h new file mode 100644 index 0000000..20d8593 --- /dev/null +++ b/syngen/include/uniquestring.h @@ -0,0 +1,7 @@ +#ifndef __UNIQUESTRING_H__ +#define __UNIQUESTRING_H__ + +extern void init_unique_string (void); +extern const char *unique_string (const char *s); + +#endif /* Not __UNIQUESTRING_H__ */ diff --git a/syngen/list.c b/syngen/list.c new file mode 100644 index 0000000..c736d48 --- /dev/null +++ b/syngen/list.c @@ -0,0 +1,263 @@ +/* + * list.c + */ + +#include "token.h" +#include "parse.h" +#include + + +/* Allocates and initializes a new list. */ + +List * +alloc_list () +{ + List *new; + + new = (List *) malloc (sizeof (List)); + new->cdr = new->car = NULL; + new->token.type = TOK_UNKNOWN; + new->token.u.string = ""; + new->token.lineno = -666; + new->token.filename = ""; + + return new; +} + + +/* Creates an independent copy of ls and returns it. */ + +List * +copy_list (const List *ls) +{ + List *new; + + if (ls == NULL) + return NULL; + + new = alloc_list (); + *new = *ls; + new->car = copy_list (ls->car); + new->cdr = copy_list (ls->cdr); + + return new; +} + + +/* Copies the filename and line number from original to every element of ls. */ + +void +propagate_fileinfo (const Token *original, List *ls) +{ + while (ls != NULL) + { + ls->token.filename = original->filename; + ls->token.lineno = original->lineno; + if (ls->car != NULL) + propagate_fileinfo (original, ls->car); + ls = ls->cdr; + } +} + + +void +replace_list (List *old, List *new) +{ + List *tmp; + + if (new == NULL) + { + old->token.type = TOK_EMPTY; + return; + } + + /* Find the end of the new list. */ + for (tmp = new; tmp->cdr != NULL; tmp = tmp->cdr); + + /* Insert it into where the old list was. */ + tmp->cdr = old->cdr; + *old = *new; +} + + +/* Returns the length of a given list. */ + +int +list_length (const List *ls) +{ + int len; + + for (len = 0; ls != NULL; ls = ls->cdr) + len++; + return len; +} + + + +static int +list_size_aux (const List *ls, int level) +{ + if (level > 1000) /* avoid infinite death */ + abort (); + if (ls == NULL) /* Recursion base case. */ + return 0; + return (1 + list_size_aux (ls->car, level + 1) + + list_size_aux (ls->cdr, level + 1)); +} + + +/* Total number of cons cells in a list. */ +int +list_size (const List *ls) +{ + return list_size_aux (ls, 0); +} + + +BOOL +lists_equal (const List *l1, const List *l2) +{ + if (l1 == l2) /* Handles NULL == NULL case. */ + return TRUE; + if (l1 == NULL || l2 == NULL) + return FALSE; + if (!tokens_equal (&l1->token, &l2->token)) + return FALSE; + return lists_equal (l1->car, l2->car) && lists_equal (l1->cdr, l2->cdr); +} + + +/* Returns NULL if no element anywhere in the list or sublist has a token + * of the specified type, else returns a pointer to an Token of the specified + * type. + */ +Token * +has_token_of_type (List *list, TokenType type) +{ + Token *t; + + if (list == NULL) + return NULL; + if (list->token.type == type) + return &list->token; + t = has_token_of_type (list->car, type); + if (t != NULL) + return t; + t = has_token_of_type (list->cdr, type); + if (t != NULL) + return t; + return NULL; +} + + +/* Goes through a list and all sublists and replaces all tokens of the + * specified type with tokens of another type. Does NOT replace + * the auxiliary token info. + */ +void +replace_tokens_of_type (List *list, TokenType old, TokenType new) +{ + if (list == NULL) + return; + if (list->token.type == old) + list->token.type = new; + replace_tokens_of_type (list->car, old, new); + replace_tokens_of_type (list->cdr, old, new); +} + + +/* Goes through a list and all sublists and replaces all tokens of the + * specified type with the specified token. + */ +void +replace_tokens_of_type_with_list (List *list, TokenType old, const List *new) +{ + if (list == NULL) + return; + + if (list->token.type == old) + { + List *old_cdr = list->cdr; + List *n = copy_list (new); + *list = *n; + list->cdr = old_cdr; + } + replace_tokens_of_type_with_list (list->car, old, new); + replace_tokens_of_type_with_list (list->cdr, old, new); +} + + +/* Recursive helper function for print_list (). */ + +static void +print_list_aux (const List *ls, int indent, FILE *out) +{ + BOOL print_space = FALSE; + int i; + char buf[256]; + const List *l2; + + for (; ls != NULL; ls = ls->cdr) + { + /* Print a space before each token but the first. */ + if (print_space) putc (' ', out); + else print_space = TRUE; + + /* Print lists recursively. */ + if (ls->token.type == TOK_LIST) + { + /* If it has sublists, or it's a sequence, put it down on another + * line and indent it. + */ + for (l2 = ls->car; l2 != NULL; l2 = l2->cdr) + if (l2->token.type == TOK_LIST) + break; + if (l2 != NULL) + { + putc ('\n', out); + for (i = 0; i < indent; i++) + putc (' ', out); + putc ('(', out); + print_list_aux (ls->car, indent + 2, out); + putc (')', out); + } + else /* No sublists? */ + { + putc ('(', out); + print_list_aux (ls->car, indent, out); + putc (')', out); + } + } + else fputs (unparse_token (&ls->token, buf), out); + } +} + + +/* Outputs a list in human-readable format. */ + +void +print_list (FILE *out, const List *ls) +{ + print_list_aux (ls, 0, out); +} + + +void +dump_list (const List *ls) +{ + print_list (stdout, ls); +} + + +BOOL +list_overlap (const List *l1, const List *l2) +{ + if (l1 == NULL || l2 == NULL) + return FALSE; + if (l1 == l2) + return TRUE; + return (list_overlap (l1, l2->car) + || list_overlap (l1, l2->cdr) + || list_overlap (l1->car, l2) + || list_overlap (l1->cdr, l2)); +} diff --git a/syngen/macro.c b/syngen/macro.c new file mode 100644 index 0000000..166686c --- /dev/null +++ b/syngen/macro.c @@ -0,0 +1,354 @@ +/* + * macro.c + */ + +#include "macro.h" +#include "error.h" +#include "token.h" + +/* +#define DEBUG +*/ + + +/* Private helper function. */ +static BOOL better_match (const List *ls, const List *new,const List *best); +static void substitute_args (const List *argval, const List *argname, + List *expr); + +/* This function replaces a given list with the macro expansion contained in + * the symbol table. More than one macro with the same name may be defined; + * the best match will be expanded (see heuristics, below.) + * + * A macro needn't be a function. (define my-favorite-number 7) is legal. + * + * A macro definition can contain any number of literals which must be + * matched exactly in the invocation to be expanded (see heuristic 4 below.) + * Additionally, variable numbers of arguments are supported. If the last + * argument to a macro is "+tail", +tail will be shorthand for an arbitrarily + * long list of arguments. For example, (define (foo x +tail)). Now + * (foo north south east) will have x bound to "north", and tail bound to + * "south east". Any subsequent usage of +tail will be exactly equivalent to + * using the two words "south east"; it will be treated just like two + * arguments. + * + * Here is an example that sums an arbitrarily long list of numbers: + * (define (sum) 0) + * (define (sum n +tail) (+ n (sum +tail))) + */ + + +BOOL +macro_sub (List *ls, const SymbolTable *sym, BOOL flag_failure) +{ + const Macro *m; + List *best = NULL, *new, *op; + SymbolInfo info; + const char *name; + +#ifdef DEBUG + printf ("macro_sub: "); print_list (ls, stdout); putchar ('\n'); +#endif + + + /* Get the name of the macro to be expanded. */ + op = NULL; + if (ls->token.type == TOK_LIST) + { + if (ls->car == NULL) + { + if (flag_failure) + parse_error (ls, "Macro name is missing!\n"); + return FALSE; + } + if (ls->car->token.type == TOK_IDENTIFIER) + name = ls->car->token.u.string; + else + { + op = ls->car; + name = NULL; + } + } + else if (ls->token.type == TOK_IDENTIFIER) + name = ls->token.u.string; + else + { + op = ls; + name = NULL; + } + + /* Look up the macro list in the symbol table. */ + if (lookup_symbol (sym, name, &info, NULL) == HASH_NOTFOUND) + { + if (flag_failure) + { + char buf[1024]; + if (name == NULL) + { + if (op != NULL) + parse_error (op, "Unknown operator \"%s\"\n", + unparse_token (&op->token, buf)); + else + parse_error (ls, "Unknown operator.\n"); + } + else + parse_error (ls, "Unknown operator \"%s\".\n", name); + } + return FALSE; + } + m = (const Macro *) info.p; + + + /* Now we have a list of macros and we have to choose the best match by the + * following heuristics, in order: + * (1) Invocation form matching. "foo" and "(foo)" can only match + * (define foo ...) and (define (foo) ...), respectively. + * (2) The number of arguments must match. Note that the "+tail" construct + * can allow an arbitrarily high number of arguments. + * (3) All literals must match (see 3, below) + * (4) Number of literal matches. For example, it is legal to both + * (define (foo a1 a2 0) x) and (define (foo a1 a2 a3) y). In this + * example, an invocation of (foo 2 1 0) would expand to x. + * (5) Larger number of arguments. Whichever macro names the most arguments + * (disregarding any "+tail", of course) will be preferred. + * (6) Prefer the macro without a "+tail". + * (7) Lexical predecence. In case of a tie, the first macro defined will + * be chosen. + */ + + /* Find the best match. */ + for (best = NULL; m != NULL; m = m->next) + if (better_match (ls, m->expr, best)) + best = m->expr; + + /* Was there no match at all? */ + if (best == NULL) + { + if (flag_failure) + parse_error (ls, "No applicable version of the \"%s\" macro exists " + "for these arguments.\n", name); + return FALSE; + } + + /* Is this simple substitution (ie, no macro arguments, etc.) */ + if (ls->token.type != TOK_LIST) + { + if (best->cdr == NULL) /* Empty list? */ + ls->token.type = TOK_EMPTY; + else if (CDDR (best) == NULL && best->cdr->token.type != TOK_LIST) + { + ls->token.type = best->cdr->token.type; + ls->token.u = best->cdr->token.u; + } + else + { + new = copy_list (best->cdr); + propagate_fileinfo (&ls->token, new); /* So we don't forget... */ + replace_list (ls, new); + } + + return TRUE; + } + + /* It's a complicate macro with arguments. Substitute in the arguments. */ + new = copy_list (best->cdr); + substitute_args (CDAR (ls), CDAR (best), new); + replace_list (ls, new); + + return TRUE; +} + + +static BOOL +has_tail (const List *ls) +{ + if (ls == NULL) + return FALSE; + while (ls->cdr != NULL) + ls = ls->cdr; + return (ls->token.type == TOK_TAIL); +} + + +#define IS_LITERAL(L) ((L)->token.type != TOK_IDENTIFIER \ + && (L)->token.type != TOK_TAIL) + +static int +count_literals (const List *ls) +{ + int lit; + + for (lit = 0; ls != NULL; ls = ls->cdr) + if (IS_LITERAL (ls)) + lit++; + + return lit; +} + + +/* Returns TRUE iff new is a better match than best according to the + * heuristics above. If new is not legal, returns FALSE. best == NULL + * is OK and is treated as the worst possible match (ie, any legal new beats + * it.) + */ + +static BOOL +better_match (const List *ls, const List *new, const List *best) +{ + BOOL new_has_tail, best_has_tail; + int ls_length, new_length, best_length, new_lit, best_lit; + const List *l1, *l2; + +#ifdef DEBUG + printf ("ls = "); print_list (ls, stdout); + printf (" new = "); print_list (new, stdout); + putchar ('\n'); +#endif + + /* Heuristic (1) - must both be functions or not functions. */ + if (ls->token.type != new->token.type) + return FALSE; + + /* If it's of the form (define foo 0), apply heuristic 6, since there + * is only one kind of match. + */ + if (ls->token.type == TOK_IDENTIFIER) + return (best == NULL); + +#ifdef DEBUG + puts ("Passed h1"); +#endif + + + /* Heuristic (2) - must have compatible #'s of arguments. */ + ls_length = list_length (ls->car); + new_length = list_length (new->car); + new_has_tail = has_tail (new->car); + + if ((ls_length > new_length && !new_has_tail) /* Too many args? */ + || ls_length < new_length - new_has_tail) /* Too few? */ + return FALSE; + +#ifdef DEBUG + puts ("Passed h2"); +#endif + + + /* Heuristic (3) - all literals must match. */ + for (l1 = CDAR (ls), l2 = CDAR (new); l1 != NULL && l2 != NULL; + l1 = l1->cdr, l2 = l2->cdr) + { + if (IS_LITERAL (l2)) + { + if (!tokens_equal (&l1->token, &l2->token)) + return FALSE; + } + } + + /* At this point, new is legal. Therefore, if best == NULL, return TRUE. */ + if (best == NULL) + return TRUE; + +#ifdef DEBUG + puts ("Passed h3"); +#endif + + + /* Heuristic (4) - number of literals. */ + new_lit = count_literals (new->car->cdr); + best_lit = count_literals (best->car->cdr); + if (new_lit != best_lit) + return (new_lit > best_lit); + + +#ifdef DEBUG + puts ("Passed h4"); +#endif + + /* Heuristic (5) - number of arguments (not counting +tail). */ + best_has_tail = has_tail (best->car); + best_length = list_length (best->car); + if (new_length - new_has_tail != best_length - best_has_tail) + return (new_length - new_has_tail > best_length - best_has_tail); + + +#ifdef DEBUG + puts ("Passed h5"); +#endif + + + /* Heuristic (6) - prefer the macro without +tail. */ + if (best_has_tail ^ new_has_tail) + return best_has_tail; + +#ifdef DEBUG + puts ("Passed h6"); +#endif + + /* Heuristic (7) - recency. Assuming we process them in order... */ + return (best == NULL); +} + + +static void +substitute_args (const List *argval, const List *argname, List *expr) +{ + const List *name, *val, *tail = NULL; + BOOL has_tail = FALSE; + +#ifdef DEBUG + List *original_expr = expr; + + printf ("substitute_args: "); + printf ("argval = "); print_list (argval, stdout); + printf ("\nargname = "); print_list (argname, stdout); + printf ("\nexpr = "); print_list (expr, stdout); + putchar ('\n'); +#endif + + /* See if there is a +tail, and make it tail point to the list of args. */ + for (name = argname, val = argval; name != NULL; + name = name->cdr, val = val->cdr) + if (name->token.type == TOK_TAIL) + { + tail = val; + has_tail = TRUE; + break; + } + + + for (; expr != NULL; expr = expr->cdr) + { + switch (expr->token.type) { + case TOK_LIST: + substitute_args (argval, argname, expr->car); + break; + case TOK_IDENTIFIER: + for (name = argname, val = argval; name != NULL && val != NULL; + name = name->cdr, val = val->cdr) + if (!IS_LITERAL (name) && tokens_equal (&name->token, &expr->token)) + { + List *tmp_cdr = expr->cdr; + *expr = *val; + expr->car = copy_list (val->car); + expr->cdr = tmp_cdr; + break; + } + break; + case TOK_TAIL: + if (!has_tail) + parse_error (expr, "But this macro has no tail!\n"); + replace_list (expr, copy_list (tail)); + break; + + default: break; + } + } + +#ifdef DEBUG + printf ("*** expr after argument substitutions:\n"); + print_list (original_expr, stdout); + putchar ('\n'); +#endif + +} diff --git a/syngen/main.c b/syngen/main.c new file mode 100644 index 0000000..8e043f1 --- /dev/null +++ b/syngen/main.c @@ -0,0 +1,147 @@ +/* + * main.c + */ + +#include +#include +#include +#include "list.h" +#include "token.h" +#include "common.h" +#include "parse.h" +#include "error.h" +#include "reduce.h" +#include "defopcode.h" +#include "uniquestring.h" + +static void usage (const char *progname); +static void unrecognized (const char *progname, const char *badopt); + +/* Global variables to control compilation options. */ +int optimization_level; +BOOL preprocess_only; +FILE *syn68k_c_stream, *mapinfo_c_stream, *mapindex_c_stream; +FILE *profileinfo_stream; +BOOL verbose; + +int +main (int argc, char *argv[]) +{ + SymbolTable *sym = make_symbol_table (); + const char *include_dirs[32] = { ".", NULL }; + static const char *current_dir[] = { ".", NULL }; + int include_dir_index = 1; + int i; + + init_tokenizer (); + init_unique_string (); + + /* Set up global variables with default values. */ + optimization_level = 0; + preprocess_only = FALSE; + verbose = FALSE; + syn68k_c_stream = NULL; + mapinfo_c_stream = NULL; + mapindex_c_stream = NULL; + profileinfo_stream = NULL; + + /* Parse command line arguments. */ + for (i = 1; i < argc; i++) + { + if (argv[i][0] != '-') + { + open_file (argv[i], current_dir); + + /* Open output code streams. */ + if (!preprocess_only) + { + syn68k_c_stream = fopen ("syn68k.c", "w"); + mapinfo_c_stream = fopen ("mapinfo.c", "w"); + mapindex_c_stream = fopen ("mapindex.c", "w"); + profileinfo_stream = fopen ("profileinfo", "w"); + } + + /* Initialize code generator and output header stuff. */ + begin_generating_code (); + + /* Munch through everything and generate appropriate stuff. */ + parse_all_expressions (sym); + + /* Do any necessary cleanup. */ + done_generating_code (); + + /* Close up all streams. */ + if (!preprocess_only) + { + fclose (syn68k_c_stream); syn68k_c_stream = NULL; + fclose (mapinfo_c_stream); mapinfo_c_stream = NULL; + fclose (mapindex_c_stream); mapindex_c_stream = NULL; + fclose (profileinfo_stream); profileinfo_stream = NULL; + } + + continue; + } + + switch (argv[i][1]) { + + case 's': + if (!strcmp (argv[i], "-stdin")) + { + open_stream ("", stdin); + parse_all_expressions (sym); + } + else unrecognized (argv[0], argv[i]); + break; + + case 'I': + if (argv[i][2] == '\0') + fatal_error ("Missing include directory for -I option.\n"); + if (include_dir_index >= sizeof include_dirs / sizeof include_dirs[0]) + fatal_error ("Too many -I directories specified.\n"); + + include_dirs[include_dir_index++] = argv[i] + 2; + include_dirs[include_dir_index] = NULL; + break; + + case 'E': + if (argv[i][2] != '\0') + unrecognized (argv[0], argv[i]); + preprocess_only = TRUE; + break; + + case 'O': + if (argv[i][2] == '\0') + optimization_level = 1; + else optimization_level = atoi (argv[i] + 2); + break; + + case 'v': + if (argv[i][2] != '\0') + unrecognized (argv[0], argv[i]); + verbose = TRUE; + break; + + default: + unrecognized (argv[0], argv[i]); + break; + } + } + + return 0; +} + + +static void +unrecognized (const char *progname, const char *badopt) +{ + error ("Unrecognized option \"%s\".\n", badopt); + usage (progname); +} + + +/* Prints out usage and exits. */ +static void +usage (const char *progname) +{ + fatal_error ("Usage: %s \n", progname); +} diff --git a/syngen/parse.c b/syngen/parse.c new file mode 100644 index 0000000..1003c1f --- /dev/null +++ b/syngen/parse.c @@ -0,0 +1,640 @@ +/* + * parse.c + */ + +#include "error.h" +#include "parse.h" +#include "reduce.h" +#include "macro.h" +#include "list.h" +#include "defopcode.h" +#include "bitstring.h" +#include "safe_alloca.h" +#include "uniquestring.h" +#include +#include +#include +#include +#include +#include +#ifdef NeXT +#include +#endif + +static List *parse_expression (void); +static int parse_define (SymbolTable *sym, List *new); +static int parse_defopcode (SymbolTable *sym, List *new); +static void verify_fields_exist (const char *bits, List *code); + + +/* Reads in all defines and defopcodes from the tokenizer. Places macros + * in the symbol table and generates code for the opcodes. Returns the number + * of macros + the number of opcodes parsed. + */ + +int +parse_all_expressions (SymbolTable *sym) +{ + List *new; + int num_parsed = 0; + List def; + + while (fetch_next_token (&def.token)) + { + if (def.token.type != TOK_LEFT_PAREN) + fatal_input_error ("Expecting '(' but not finding one; aborting.\n"); + + /* Read in the expression just defined. */ + new = parse_expression (); + if (new == NULL) + { + input_error ("stray '(' with no following expression!"); + continue; + } + + if (new->token.type != TOK_DEFINE && new->token.type != TOK_DEFOPCODE) + { + List dummy = { NULL, 0 /* new */, { /* new->token */0 } }; + dummy.car = new; + dummy.token = new->token; + dummy.token.type = TOK_LIST; + reduce (&dummy, sym, 0); + new = dummy.car; + } + + if (new != NULL) + { + if (new->token.type == TOK_DEFINE) + num_parsed += parse_define (sym, new->cdr); + else if (new->token.type == TOK_DEFOPCODE) + { + num_parsed += parse_defopcode (sym, new->cdr); + + if (preprocess_only) + { + fputs ("\n(", stdout); + print_list (stdout, new); + puts (")"); + } + } + } + } + + return num_parsed; +} + + +static int +parse_define (SymbolTable *sym, List *new) +{ + const char *name; + Macro *macro; + SymbolInfo symbol_info; + + /* Get the name of the macro for (define (foo x y)) or (define foo x). */ + name = NULL; + switch (new->token.type) { + case TOK_LIST: + if (new->car != NULL && new->car->token.type == TOK_IDENTIFIER) + name = new->car->token.u.string; + break; + case TOK_QUOTED_STRING: + case TOK_IDENTIFIER: + name = new->token.u.string; + break; + default: + name = NULL; + break; + } + + /* Make sure the macro name is legitimate. */ + if (name == NULL) + { + parse_error (new, "Invalid macro name. Ignoring...\n"); + return 0; + } + + /* Create a new macro definition. */ + macro = (Macro *) malloc (sizeof (Macro)); + macro->expr = new; + macro->next = NULL; + + /* If there is already a macro of this name in the table, append this + * one to the list of macros with this name. + */ + if (lookup_symbol (sym, name, &symbol_info, NULL) == HASH_NOERR) + { + Macro *tmp = (Macro *) symbol_info.p; + for (; tmp->next != NULL; tmp = tmp->next); + tmp->next = macro; + } + else /* Add this macro's definition to the hash table. */ + { + symbol_info.p = macro; + insert_symbol (sym, name, symbol_info); + } + + return 1; +} + + +static int +parse_defopcode (SymbolTable *sym, List *new) +{ +#if !defined(__GNUC__) /* It's not clear which .h file I should */ + extern void *alloca(int); /* pull in to get this declaration */ +#endif + const char *name = NULL; + List dummy1 = { /* new */ 0, NULL, { /* new->token */ 0 } }; + List dummy2 = { NULL, /* &dummy1 */ 0, { /* new->token */ 0 } }; + SAFE_DECL (); + + dummy1.cdr = new; + dummy1.token = new->token; + dummy2.car = &dummy1; + dummy2.token = new->token; + + dummy1.token.type = TOK_DEFOPCODE; + dummy1.token.u.string = "defopcode"; + dummy2.token.type = TOK_LIST; + dummy2.token.u.string = NULL; + + if (new->token.type == TOK_QUOTED_STRING + || new->token.type == TOK_IDENTIFIER) + name = new->token.u.string; + + /* Make sure the opcode name is legitimate. */ + if (name == NULL) + { + parse_error (new, "Invalid opcode name. Ignoring...\n"); + return 0; + } + + /* Perform initial macro substitutions. */ + reduce (&dummy2, sym, 0); + + /* Generate the opcode. */ + if (!preprocess_only) + { + ParsedOpcodeInfo info; + List *l = CDR (CADDAR (&dummy2)), *err; + CCVariant *var; + int num_variants; + List *code_backup[MAX_VARIANTS]; + const char *bits_to_expand[MAX_VARIANTS][MAX_VARIANTS]; + int num_bits_to_expand[MAX_VARIANTS]; + int max_num_bits_to_expand = 0; + int i; + + num_variants = list_length (&dummy1) - 3; + if (list_length (l) != 4) + { + parse_error (l, "Missing arguments; should be 4, found %d\n", + list_length (l)); + return 0; + } + + if (num_variants > MAX_VARIANTS) + { + parse_error (l, "Error: too many variants. Only %d allowed. To " + "raise, change MAX_VARIANTS in defopcode.h.\n", + MAX_VARIANTS); + return 0; + } + + /* Parse in the instruction information. */ + memset (&info, 0, sizeof info); + info.name = CDAR (&dummy2)->token.u.string; + info.cpu = l->token.u.n; + info.amode = CDR (l); + info.misc_flags = CDDR (l); + + if (info.misc_flags->token.type != TOK_LIST) + parse_error (info.misc_flags, "Expecting a list of misc flags!\n"); + else + { + List *ls; + for (ls = info.misc_flags->car; ls != NULL; ls = ls->cdr) + { + char buf[256]; + + switch (ls->token.type) { + case TOK_ENDS_BLOCK: + info.ends_block = TRUE; + break; + case TOK_DONT_POSTINCDEC_UNEXPANDED: + info.dont_postincdec_unexpanded = TRUE; + break; + case TOK_NEXT_BLOCK_DYNAMIC: + info.next_block_dynamic = TRUE; + break; + case TOK_SKIP_TWO_OPERAND_WORDS: + info.operand_words_to_skip = 2; + break; + case TOK_SKIP_FOUR_OPERAND_WORDS: + info.operand_words_to_skip = 4; + break; + case TOK_SKIP_ONE_POINTER: + info.operand_words_to_skip = PTR_WORDS; + break; + case TOK_SKIP_TWO_POINTERS: + info.operand_words_to_skip = PTR_WORDS * 2; + break; + default: + parse_error (ls, "Unknown misc flag: %s", + unparse_token (&ls->token, buf)); + break; + } + } + } + + info.opcode_bits[0] = '\0'; + err = CDDDR (l); /* For later, in case we need it. */ + if (CDDDR (l)->token.type != TOK_LIST) + { + parse_error (CDDDR (l), "Expecting explicit list of opcode bits.\n"); + strcpy (info.opcode_bits, "0000000000000000"); + } + else + for (l = CDR (CADDDR (l)); l != NULL; l = l->cdr) + { + if (0 && strlen (l->token.u.string) != 16) + { + /* This seems a little harsh... */ + parse_error (l, "Need exactly 16 characters in each bit " + "pattern specification string, found %d.\n", + strlen (l->token.u.string)); + strcat (info.opcode_bits, "0000000000000000"); + } + else + strcat (info.opcode_bits, l->token.u.string); + } + if (strlen (info.opcode_bits) % 16) + { + parse_error (err, "Not a multiple of 16 opcode bits.\n"); + strcpy (info.opcode_bits, "0000000000000000"); + } + info.cc_variant = NULL; + + /* Parse the information for the cc variants. */ + var = (CCVariant *) SAFE_alloca (num_variants * sizeof (CCVariant)); + memset (var, 0, num_variants * sizeof (CCVariant)); + info.cc_variant = var; + + /* Loop through and parse each cc variant. */ + for (i = num_variants - 1, l = CDDDR (&dummy1); i >= 0; i--, l = l->cdr) + { + static const struct { + char character; + unsigned char cc_may_set:1; + unsigned char cc_may_not_set:1; + unsigned char cc_to_known_value:1; + unsigned char cc_known_values:1; + } cc_bit_info[] = { + { '0', 1, 0, 1, 0 }, /* 0 -> always force cc bit to 0. */ + { '1', 1, 0, 1, 1 }, /* 1 -> always force cc bit to 1. */ + { 'C', 1, 0, 0, 0 }, /* Any letter means will always set */ + { 'N', 1, 0, 0, 0 }, /* cc bit to either 0 or 1, but */ + { 'V', 1, 0, 0, 0 }, /* we can't determine which at */ + { 'X', 1, 0, 0, 0 }, /* compile time. */ + { 'Z', 1, 0, 0, 0 }, /* */ + { '-', 0, 1, 0, 0 }, /* - -> cc bit always unchanged. */ + { '>', 1, 1, 0, 0 }, /* > -> cc set to 1 or unchanged. */ + { '<', 1, 1, 0, 0 }, /* < -> cc set to 0 or unchanged. */ + { '?', 1, 0, 0, 0 }, /* ? -> cc bit undefined. */ + { '%', 1, 1, 0, 0 }, /* % -> cc might change, might not. */ + }; + int guess, bit; + const char *b; + List *bte; + + /* Insert them in reverse order. */ + if (i > 0) + var[i - 1].next = &var[i]; + + /* Parse the cc bits set specs. */ + b = (CDAR (l))->token.u.string; + if (strlen (b) != 5) + { + parse_error (CDDAR (l), "Need exactly five characters in " + "cc bits specification.\n"); + b = "-----"; + } + + for (bit = 0; bit < 5; bit++) + { + for (guess = sizeof cc_bit_info / sizeof cc_bit_info[0] - 1; + guess >= 0; guess--) + if (cc_bit_info[guess].character == b[4 - bit]) + { + var[i].cc_may_set |= cc_bit_info[guess].cc_may_set << bit; + var[i].cc_may_not_set + |= cc_bit_info[guess].cc_may_not_set << bit; + var[i].cc_to_known_value + |= cc_bit_info[guess].cc_to_known_value << bit; + var[i].cc_known_values + |= cc_bit_info[guess].cc_known_values << bit; + break; + } + if (guess < 0) + parse_error (CDAR (l), "Unknown character '%c' in cc bit " + "specification.\n", b[4 - bit]); + } + + /* Parse the cc bits needed specs. */ + b = (CDDAR (l))->token.u.string; + if (strlen (b) != 5) + { + parse_error (CDDAR (l), "Need exactly five characters in " + "cc bits specification.\n"); + b = "-----"; + } + + for (bit = 0; bit < 5; bit++) + { + if (strchr ("-CNVXZ", b[4 - bit]) == NULL) + parse_error (CDDAR (l), "Illegal character '%c' in cc bits " + "needed specification. Must be one of " + "-,C,N,V,X,Z.\n", + b[4 - bit]); + var[i].cc_needed |= (b[4 - bit] != '-') << bit; + } + + + /* Fetch all of the bits_to_expand strings into an array. + * Terminate the list provided by the user with "----------------" + * so we guarantee that all legal bit patterns get code generated + * for them. + */ + num_bits_to_expand[i] = 0; + bte = CADDR (CDAR (l)); + if (bte->token.type != TOK_EXPLICIT_LIST) + parse_error (bte, "Expecting a list of bit pattern strings.\n"); + else + { + for (bte = bte->cdr; bte != NULL; bte = bte->cdr) + bits_to_expand[i][num_bits_to_expand[i]++] + = bte->token.u.string; + } + bits_to_expand[i][num_bits_to_expand[i]++] + = "----------------"; + if (num_bits_to_expand[i] > max_num_bits_to_expand) + max_num_bits_to_expand = num_bits_to_expand[i]; + var[i].code = CDDR (CDDAR (l)); + + { + List *native = CDDR (CDDAR (l)); + if (native != NULL && CAR (native) != NULL + && (CAR (native))->token.type == TOK_NATIVE_CODE) + { + if ((CDAR (native))->token.type != TOK_QUOTED_STRING) + parse_error (CAR (native), "Faulty native code specifier."); +#ifdef GENERATE_NATIVE_CODE + + { + char buf[1024]; + List *xx; + + buf[0] = '\0'; + for (xx = CDAR (native); xx != NULL; xx = xx->cdr) + { + if (xx->token.type == TOK_QUOTED_STRING) + strcat (buf, xx->token.u.string); + else + parse_error (xx, "Expected string here."); + } + if (buf[0] == '\0' || !strcmp (buf, "none")) + var[i].native_code_info = NULL; + else + var[i].native_code_info = unique_string (buf); + } +#endif + var[i].code = native->cdr; + } + else + { +#ifdef GENERATE_NATIVE_CODE + var[i].native_code_info = NULL; +#endif + var[i].code = CDDR (CDDAR (l)); + } + } + +#ifndef GENERATE_NATIVE_CODE + var[i].native_code_info = NULL; +#endif + } + + /* Verify that all of the fields they specified actually exist. */ + for (i = 0; i < num_variants; i++) + verify_fields_exist (info.opcode_bits, var[i].code); + + /* Loop through and generate code for each bits_to_expand specified. + * This is not elegant; originally, only one bits_to_expand string + * could be specified, and its semantics were more limited than the + * new, more powerful versions. To compensate, we will call the + * lower level routines once for each bits_to_expand string, and + * modify the legal addressing mode expression to provide us with the + * new literal bits matching capability of the new bits_to_expand + * strings. + */ + + for (i = 0; i < num_variants; i++) + { +/* + * TODO: FIXME -- I don't like "17" below + */ + /* We allocate 17 bytes because we can only expand up to 16 + * bits, and we have one extra for the terminating 0. + */ + var[i].bits_to_expand = (char *) malloc (17); + code_backup[i] = var[i].code; + } + + for (i = 0; i < max_num_bits_to_expand; i++) + { + char intersect[MAX_VARIANTS][17]; + List *saved_amode = info.amode; + List *old_cdr = info.amode->cdr; + int j; + + info.amode->cdr = NULL; + + /* Preserve code. */ + for (j = 0; j < num_variants; j++) + var[j].code = copy_list (code_backup[j]); + + /* Grab all of the bits_to_expand strings. */ + for (j = 0; j < num_variants; j++) + { + char *p; + strcpy (var[j].bits_to_expand, ((i < num_bits_to_expand[j]) + ? bits_to_expand[j][i] + : "----------------")); + + /* Generate the intersection string. */ + strcpy (intersect[j], var[j].bits_to_expand); + for (p = intersect[j]; *p != '\0'; p++) + if (*p == '-') + *p = 'x'; + + /* Expand all literal bits by replacing them with 'x'.*/ + for (p = var[j].bits_to_expand; *p != '\0'; p++) + if (*p == '0' || *p == '1') + *p = 'x'; + } + + /* Intersect with all of the literal bits we know about. */ + for (j = 0; j < num_variants; j++) + if (strcmp (intersect[j], "xxxxxxxxxxxxxxxx")) + { + List *isect = alloc_list (); + isect->token.type = TOK_LIST; + isect->car = alloc_list (); + isect->car->token.type = TOK_INTERSECT; + isect->car->token.u.string = "intersect"; + isect->car->cdr = alloc_list (); + isect->car->cdr->token.type = TOK_QUOTED_STRING; + isect->car->cdr->token.u.string = intersect[j]; + isect->car->cdr->cdr = info.amode; + info.amode = isect; + } + + /* Generate the actual code. */ + generate_opcode (&info, sym); + + /* Memory leak here, but who cares? */ + info.amode = saved_amode; + info.amode->cdr = old_cdr; + } + ASSERT_SAFE(var); + } + + return 1; +} + + +static void +verify_fields_exist (const char *bits, List *code) +{ + PatternRange r; + + if (code == NULL) + return; + if (IS_DOLLAR_TOKEN (code->token.type) + && !pattern_range (bits, code->token.u.dollarinfo.which, &r)) + parse_error (code, "Unknown field number %d; there are not that many " + "fields.\n", code->token.u.dollarinfo.which); + verify_fields_exist (bits, code->car); + verify_fields_exist (bits, code->cdr); +} + + +List * +string_to_list (const char *string, const char *include_dirs[]) +{ + FILE *temp; + List *enclosing_list; + Token t; + char buf[256]; + char filename[32] = "/tmp/syngenXXXXXX"; + static int busy_p = FALSE; + int fd; + + assert (!busy_p); + busy_p = TRUE; + + /* POOR IMPLEMENTATION - creates temp file to get a FILE * ! */ +#if 0 + /* Loses mysteriously under linux. Be totally paranoid now. */ + temp = tmpfile (); +#else + assert ((fd = mkstemp (filename)) >= 0); + temp = fdopen (fd, "w"); +#endif + if (temp == NULL) + { +#if !defined (__MINGW32__) + extern int errno; + fatal_error ("string_to_list: Unable to create temp file! %s\n", + strerror (errno)); +#else + fatal_error ("string_to_list: Unable to create temp file!\n"); +#endif + } + + fputs (string, temp); + fclose (temp); + open_file (filename, NULL); + temp = current_stream (); + + if (!fetch_next_token (&t)) + { + fatal_error ("Empty expression specified.\n"); + return NULL; + } + if (t.type != TOK_LEFT_PAREN) + { + input_error ("Expression must begin with open paren, not \"%s\"\n", + unparse_token (&t, buf)); + return NULL; + } + + enclosing_list = alloc_list (); + enclosing_list->car = parse_expression (); + enclosing_list->token.type = TOK_LIST; + enclosing_list->token.u.string = "[LIST]"; + enclosing_list->token.lineno = 1; + enclosing_list->token.filename = ""; + + /* No need to fclose here; that will automatically happen when + * the parser runs out of tokens for this file. + */ + if (current_stream () == temp) + { + close_file (); + assert (current_stream () != temp); + } +#ifdef NeXT + remove (filename); +#else + unlink (filename); +#endif + + busy_p = FALSE; + + return enclosing_list; +} + + +/* Recursively parses a list from the token stream. It assumes that, on entry, + * the '(' starting the list has already been consumed. A list is terminated + * by a ')'. + */ + +static List * +parse_expression () +{ + List *ret = NULL, *new, **last = &ret; + Token t; + + while (1) + { + if (!fetch_next_token (&t)) + fatal_error ("Premature EOF.\n"); + if (t.type == TOK_RIGHT_PAREN) + return ret; + + /* Create a new list and append it to the current one. */ + new = *last = alloc_list (); + new->token = t; + last = &new->cdr; + + if (t.type == TOK_LEFT_PAREN) + { + new->token.type = TOK_LIST; + new->car = parse_expression (); + } + } +} + diff --git a/syngen/reduce.c b/syngen/reduce.c new file mode 100644 index 0000000..021af16 --- /dev/null +++ b/syngen/reduce.c @@ -0,0 +1,622 @@ +/* + * reduce.c + */ + +#include +#include "reduce.h" +#include "token.h" +#include "list.h" +#include "error.h" +#include "macro.h" + +static void reduce_arithmetic_op (List *ls); +static void reduce_relational_op (List *ls); +/* static void reduce_swap (List *ls); */ +static void reduce_boolean_op (List *ls); +static BOOL reduce_if (List *ls, const SymbolTable *sym, int macro_level); +static BOOL reduce_switch (List *list, const SymbolTable *sym, + int macro_level); +static void set_list_to_boolean (List *ls, TokenType type); + + +/* This is a helper function for reduce (below) although it may be called + * independently. You would call this with the first element in a list + * as opposed to the list as a whole. This will cdr down the list, reducing + * everything it encounters. It will return the resulting list, which may + * be NULL if everything in the list reduced to nothing. + */ + +List * +reduce_list (List *ls, const SymbolTable *sym, int macro_level) +{ + List *tmp, **last, *ret = ls; + + for (tmp = ls, last = &ret; tmp != NULL; tmp = tmp->cdr) + { + reduce (tmp, sym, macro_level); + if (tmp->token.type == TOK_EMPTY) /* Was it deleted? */ + { + *last = tmp->cdr; + continue; + } + last = &tmp->cdr; + } + + return ret; +} + + +/* This hefty procedure performs reduction of compile-time evaluatable + * expressions, like (+ 2 3), (if (= 0 1) 4 2), etc. + * As well as performing macro substition. Returns ls. + */ + +List * +reduce (List *ls, const SymbolTable *sym, int macro_level) +{ + TokenType operator_type; + + /* Ignore NULL lists. */ + if (ls == NULL) + return NULL; + + /* See if our macro expansion depth is too high. */ + if (macro_level >= MAX_MACRO_EXPANSIONS) + { + parse_error (ls, "Too many levels of macro expansion.\n"); + return ls; + } + + /* Perform macro substitution on identifiers. */ + if (ls->token.type == TOK_IDENTIFIER) + { + if (macro_sub (ls, sym, FALSE)) + reduce (ls, sym, macro_level + 1); + return ls; + } + + /* Make sure this is a list with stuff in it before proceeding. */ + if (ls->token.type != TOK_LIST || ls->car == NULL) + return ls; + + operator_type = ls->car->token.type; + + /* if's are special in that they must evaluate their boolean predicate + * before evaluating the expressions. Otherwise, you can go into infinite + * recursion evaluating a clause that would not be executed. + */ + if (operator_type == TOK_IF && reduce_if (ls, sym, macro_level)) + { + return reduce (ls, sym, macro_level); + } + + /* Reduce all the arguments (eval). */ + ls->car = reduce_list (ls->car, sym, macro_level); + if (ls->car == NULL) + return ls; + + /* Now reduce the list as a whole (apply). */ + switch (operator_type) { + + case TOK_PLUS: + case TOK_MINUS: + case TOK_MULTIPLY: + case TOK_DIVIDE: + case TOK_MOD: + case TOK_BITWISE_AND: + case TOK_BITWISE_OR: + case TOK_BITWISE_XOR: + case TOK_BITWISE_NOT: + case TOK_SHIFT_LEFT: + case TOK_SHIFT_RIGHT: + reduce_arithmetic_op (ls); + break; + + case TOK_EQUAL: + case TOK_NOT_EQUAL: + case TOK_GREATER_THAN: + case TOK_LESS_THAN: + case TOK_GREATER_OR_EQUAL: + case TOK_LESS_OR_EQUAL: + reduce_relational_op (ls); + break; + + case TOK_AND: + case TOK_OR: + case TOK_XOR: + case TOK_NOT: + reduce_boolean_op (ls); + break; +/* + case TOK_SWAP: + reduce_swap (ls); + break; +*/ + case TOK_NUMARGS: + ls->token.type = TOK_NUMBER; + ls->token.u.n = list_length (ls->car->cdr); + ls->car = NULL; + break; + + case TOK_IF: + reduce_if (ls, sym, macro_level); + break; + + case TOK_SWITCH: + reduce_switch (ls, sym, macro_level); + break; + + case TOK_IDENTIFIER: + if (macro_sub (ls, sym, TRUE)) + reduce (ls, sym, macro_level + 1); + else /* Failed to substitute! Make it a NOP. */ + { + ls->car = NULL; + ls->token.type = TOK_NOP; + ls->token.u.string = "nop"; + } + break; + + default: + /* FIXME */ + break; + } + + return ls; +} + + +/* Several arithmetic operations are possible: +*-/^&|~ mod abs. + * When it makes sense, these ops may be applied to many arguments; + * for example (* 1 2 3) equals 6, and (/ 16 2 4) equals 2. They may also + * be applied to one argument; (+ 2) = 2, (- 9) = 9, (/ 5) = 5, etc. + * All arithmetic is integer only. Division always rounds toward zero, + * and (mod a b) always returns the smallest non-negative integer y such that + * bk + y = a for some y. + */ + +static void +reduce_arithmetic_op (List *list) +{ + List *ls = list->car, *tmp; + long val, shift; + + ls = list->car; + + /* Make sure there are some arguments. */ + if (ls->cdr == NULL) + { + parse_error (ls, "Not enough arguments to %s operator.\n", + ls->token.u.string); + return; + } + + /* Make sure all the arguments reduced to numeric constants. */ + for (tmp = ls->cdr; tmp != NULL; tmp = tmp->cdr) + if (tmp->token.type != TOK_NUMBER) + return; + + /* Default values. */ + list->token.type = TOK_NUMBER; + list->car = NULL; + list->token.u.n = 0; + + val = ls->cdr->token.u.n; + +#define APPLY_TO_LIST(OP) \ + for (tmp = CDDR (ls); tmp != NULL; tmp = tmp->cdr) \ + val OP tmp->token.u.n; + + switch (ls->token.type) { + + /* First the trivial ones. */ + case TOK_PLUS: + APPLY_TO_LIST (+=); + break; + case TOK_MINUS: + APPLY_TO_LIST (-=); + break; + case TOK_MULTIPLY: + APPLY_TO_LIST (*=); + break; + case TOK_BITWISE_AND: + APPLY_TO_LIST (&=); + break; + case TOK_BITWISE_OR: + APPLY_TO_LIST (|=); + break; + case TOK_BITWISE_XOR: + APPLY_TO_LIST (^=); + break; + + /* The single argument ones. */ + case TOK_BITWISE_NOT: + if (CDDR (ls) != NULL) + { + parse_error (CDDR (ls), "Too many arguments to %s operator.\n", + ls->token.u.string); + return; + } + val = ~val; + break; +#if 0 + case TOK_ABS: + if (CDDR (ls) != NULL) + { + parse_error (CDDR (ls), "Too many arguments to %s operator.\n", + ls->token.u.string); + return; + } + if (val < 0) + val = -val; + break; +#endif + + case TOK_SHIFT_LEFT: + shift = (CDDR (ls))->token.u.n; + if (shift >= 0) + val <<= shift; + else val >>= -shift; + break; + case TOK_SHIFT_RIGHT: + shift = (CDDR (ls))->token.u.n; + if (shift >= 0) + val >>= shift; + else val <<= -shift; + break; + + /* Finally divide and mod. */ + case TOK_DIVIDE: + for (tmp = CDDR (ls); tmp != NULL; tmp = tmp->cdr) + { + if (tmp->token.u.n == 0) + { + parse_error (tmp, "Division by zero.\n"); + return; + } + val = ldiv (val, tmp->token.u.n).quot; + } + break; + case TOK_MOD: + for (tmp = CDDR (ls); tmp != NULL; tmp = tmp->cdr) + { + if (tmp->token.u.n == 0) + { + parse_error (tmp, "Division by zero.\n"); + return; + } + val = ldiv (val, tmp->token.u.n).rem; + while (val < 0) + val += tmp->token.u.n; + } + break; + + default: + fatal_parse_error (ls, "reduce.c internal error: non-arithmetic op passed " + "to reduce_arithmetic_op().\n"); + break; + } + + list->token.u.n = val; +} + + +/* Six relational ops are supported: = <> > < >= <=. + * = and <> apply to arbitrary strings or numbers, while the rest apply + * exclusively to numbers. Each of these takes exactly two arguments. + */ + +static void +reduce_relational_op (List *list) +{ + BOOL equal, val; + List *ls = list->car; + + /* Make sure there are the right # of args. */ + if (list_length (ls) != 3) + { + parse_error (ls, "Incorrect number of arguments to %s operator.\n", + ls->token.u.string); + return; + } + + /* Make sure we are comparing two things of equal and appropriate types. */ + if (ls->cdr->token.type != (CDDR (ls))->token.type + || (ls->cdr->token.type != TOK_NUMBER + && ls->cdr->token.type != TOK_IDENTIFIER + && ls->cdr->token.type != TOK_QUOTED_STRING)) + return; + + /* Are the two tokens equal? */ + equal = tokens_equal (&ls->cdr->token, &CDDR(ls)->token); + + /* See if we need to do a numeric or an arbitrary comparison. */ + if (ls->token.type == TOK_EQUAL) + val = equal; + else if (ls->token.type == TOK_NOT_EQUAL) + val = !equal; + else /* It's a numerical comparison. */ + { + long n1, n2; + + if (ls->cdr->token.type != TOK_NUMBER + || CDDR(ls)->token.type != TOK_NUMBER) + { + return; + } + + /* Fetch the two numbers to be compared. */ + n1 = ls->cdr->token.u.n; + n2 = CDDR(ls)->token.u.n; + + switch (ls->token.type) { + case TOK_GREATER_THAN: + val = (n1 > n2); + break; + case TOK_LESS_THAN: + val = (n1 < n2); + break; + case TOK_GREATER_OR_EQUAL: + val = (n1 >= n2); + break; + case TOK_LESS_OR_EQUAL: + val = (n1 <= n2); + break; + default: + val = FALSE; + fatal_parse_error (ls, "reduce.c internal error: non-relational op " + "passed to reduce_relational_op().\n"); + break; + } + } + + set_list_to_boolean (list, val ? TOK_TRUE : TOK_FALSE); +} + + +/* reducing a swap is a bad thing; it will swap the constant, and if we are + * on a big-endian machine that is a bad thing. Better to let the C compiler + * do it via the appropriate defines. + */ +#if 0 +static void +reduce_swap (List *list) +{ + List *ls = list->car; + Token *t; + char buf[256]; + long n; + + if (ls->cdr == NULL) + { + parse_error (ls, "Incorrect number of arguments to %s operator.\n", + unparse_token (&ls->token, buf)); + return; + } + if (ls->cdr->token.type != TOK_NUMBER) + return; + + t = &ls->cdr->token; + switch (ls->token.u.swapinfo.size * 2 + ls->token.u.swapinfo.sgnd) { + case 2 + 0: /* swapub */ + n = t->u.n & 0xFF; + break; + case 2 + 1: /* swapsb */ + n = t->u.n & 0xFF; + if (n & 0x80) + n |= ~0xFF; + break; + case 4 + 0: /* swapuw */ + n = ((t->u.n >> 8) & 0xFF) | ((t->u.n & 0xFF) << 8); + break; + case 4 + 1: /* swapsw */ + n = ((t->u.n >> 8) & 0xFF) | ((t->u.n & 0xFF) << 8); + if (n & 0x8000) + n |= ~0xFFFF; + break; + case 8 + 0: /* swapul */ + case 8 + 1: /* swapsl */ + n = (((t->u.n >> 24) & 0xFF) | ((t->u.n >> 8) & 0xFF00) + | ((t->u.n & 0xFF00) << 8) | ((t->u.n & 0xFF) << 24)); + break; + default: + parse_error (ls, "Internal error: Unknown size/sgnd for swap! (%d/%d)\n", + ls->token.u.swapinfo.size, ls->token.u.swapinfo.sgnd); + break; + } + + /* Replace the whole list with a numeric constant. */ + list->token = ls->cdr->token; + list->car = NULL; + list->token.u.n = n; +} +#endif + + +/* Reduces a boolean operator. (and false (expr)) -> false and so on. + * If (expr) is not compile-time evaluatable, (and true expr) is not converted + * to (expr). and, or, xor take >= 1 arguments. not takes only one. + * (xor false) = false. + */ + +static void +reduce_boolean_op (List *list) +{ + List *ls = list->car, *tmp; + BOOL val, hit_unknown; + + if (ls->cdr == NULL || (ls->token.type == TOK_NOT && CDDR (ls) != NULL)) + { + parse_error (ls, "Incorrect number of arguments to %s operator.\n", + ls->token.u.string); + return; + } + + switch (ls->token.type) { + + case TOK_AND: + hit_unknown = FALSE; + for (tmp = ls->cdr; tmp != NULL; tmp = tmp->cdr) + { + if (tmp->token.type == TOK_FALSE) + { + set_list_to_boolean (list, TOK_FALSE); + return; + } + else if (tmp->token.type != TOK_TRUE) + hit_unknown = TRUE; + } + if (!hit_unknown) + { + set_list_to_boolean (list, TOK_TRUE); + return; + } + break; + + case TOK_OR: + hit_unknown = FALSE; + for (tmp = ls->cdr; tmp != NULL; tmp = tmp->cdr) + { + if (tmp->token.type == TOK_TRUE) + { + set_list_to_boolean (list, TOK_TRUE); + return; + } + else if (tmp->token.type != TOK_FALSE) + hit_unknown = TRUE; + } + if (!hit_unknown) + { + set_list_to_boolean (list, TOK_FALSE); + return; + } + break; + + case TOK_XOR: + val = FALSE; + for (tmp = ls->cdr; tmp != NULL; tmp = tmp->cdr) + if (tmp->token.type == TOK_TRUE) + val = !val; + else if (tmp->token.type != TOK_FALSE) + return; /* Any unknown means we can't reduce it. Give up. */ + set_list_to_boolean (list, val ? TOK_TRUE : TOK_FALSE); + break; + + case TOK_NOT: + tmp = ls->cdr; + if (tmp->token.type == TOK_FALSE) /* (not false) = true */ + set_list_to_boolean (list, TOK_TRUE); + else if (tmp->token.type == TOK_TRUE) /* (not true) = false */ + set_list_to_boolean (list, TOK_FALSE); + else if (tmp->token.type == TOK_LIST && tmp->car != NULL && + tmp->car->token.type == TOK_NOT) /* (not (not e)) = e */ + { + List *tmp_cdr = list->cdr; + *list = *tmp->car->cdr; + list->cdr = tmp_cdr; + } + break; + default: + fatal_parse_error (ls, "reduce.c internal error: non-boolean op " + "passed to reduce_boolean_op().\n"); + break; + } +} + + +/* Reduces (if pred expr1 expr2) to expr1 if pred is true, expr2 if + * pred is false. Reduces (if pred expr) to expr if pred is true, or + * nothing if pred is false. If pred's truth value is unknown the expression + * is unchanged. + * Returns TRUE iff list was changed. + */ + +static BOOL +reduce_if (List *list, const SymbolTable *sym, int macro_level) +{ + int len; + List *ls = list->car, *list_cdr = list->cdr; + + len = list_length (ls); + if (len < 3 || len > 4) + { + parse_error (ls, "Wrong number of arguments (%d) to if statement.\n", + len); + ls->token.type = TOK_NOP; /* Make it a NOP and keep compiling... */ + ls->token.u.string = "nop"; + ls->cdr = NULL; + return TRUE; + } + + /* Simplify only the boolean expression; leave the rest unevaluated!! */ + ls->cdr = reduce (ls->cdr, sym, macro_level); + + switch (ls->cdr->token.type) { + case TOK_TRUE: + *list = *(CDDR (ls)); + list->cdr = list_cdr; + return TRUE; + case TOK_FALSE: + if (len == 4) /* Is there a false clause? */ + { + *list = *(CDDDR (ls)); + list->cdr = list_cdr; + } + else + { + list->token.type = TOK_EMPTY; /* Delete it entirely. */ + } + return TRUE; + default: /* oh well, not a compile-time expression. */ + break; + } + return FALSE; +} + + +static BOOL +reduce_switch (List *list, const SymbolTable *sym, int macro_level) +{ + List *ls = list->car, *tmp; + List *match = NULL; + + /* We can only reduce switches on compile-time constants. */ + if (ls->cdr->token.type != TOK_NUMBER) + return FALSE; + + /* Loop over all of the switch clauses and find the first one that + * matches. + */ + for (tmp = CDDR (ls); tmp != NULL; tmp = tmp->cdr) + { + if (tmp->car->token.type == TOK_DEFAULT) + match = CDAR (tmp); /* Make this the default. */ + else if (tmp->car->token.type != TOK_NUMBER) + parse_error (tmp->car, "Expecting a number for switch case value.\n"); + else if (tmp->car->token.u.n == ls->cdr->token.u.n) + { + match = CDAR (tmp); + break; + } + } + + /* If the switch didn't hit ANYTHING, replace with a TOK_EMPTY. */ + if (match == NULL) + list->token.type = TOK_EMPTY; + else + { + replace_list (list, match); + return TRUE; + } + + return FALSE; +} + + +static void +set_list_to_boolean (List *ls, TokenType type) +{ + ls->car = NULL; + ls->token.type = type; + ls->token.u.string = (type == TOK_TRUE) ? "true" : "false"; +} diff --git a/syngen/test.scm b/syngen/test.scm new file mode 100644 index 0000000..891d6b6 --- /dev/null +++ b/syngen/test.scm @@ -0,0 +1,22 @@ +(include "68k.defines.scm") + +(define (ADDB name bit_pattern expand amode src dst) + (defopcode name + (list 68000 amode () bit_pattern) + (list "-----" "-----" expand + (assign dst (+ dst src))) + (list "CNVXZ" "-----" dont_expand + (list + (assign tmp2.ub dst) + (assign ccv (& (~ (^ tmp2.ub src)) 0x80)) + (ASSIGN_NNZ_BYTE (assign dst (assign tmp.uw (+ dst src)))) + (assign ccx (assign ccc (>> tmp.uw 8))) + (assign ccv (& ccv (^ tmp.ub tmp2.ub))))))) + +(define add_sub_expand (list "----xxx---00xxxx" ; [ad]n, [ad]n + "----xxx---010xxx" ; an@, [ad]n + "----xxx---101xxx")) ; an@(d16), [ad]n + +(ADDB addb_dest_reg (list "1101ddd000mmmmmm") add_sub_expand + (intersect amode_all_combinations (not "xxxxxxxxxx001xxx")) ; no an + $2.mub $1.dub) diff --git a/syngen/token.c b/syngen/token.c new file mode 100644 index 0000000..1debcb4 --- /dev/null +++ b/syngen/token.c @@ -0,0 +1,693 @@ +/* + * token.c + */ + +#include +#include +#include + +#if defined (__MINGW32__) +#include /* needed for ctype.h */ +#endif + +#include +#include +#include "token.h" +#include "error.h" +#include "common.h" +#include "hash.h" +#include "tokenlist.h" +#include "uniquestring.h" + +static InputFile file_stack[MAX_INCLUDE_DEPTH]; +static int file_stack_ptr = 0; +static SymbolTable *tok_sym_table = NULL; +static const char *include_dirs[] = { ".", NULL }; +static unsigned char break_char_table[257]; +static unsigned char num_conv_table[256]; + +#define BINARY_MASK 16 +#define OCTAL_MASK 32 +#define DECIMAL_MASK 64 +#define HEX_MASK 128 +#define ALL_MASKS (BINARY_MASK | OCTAL_MASK | DECIMAL_MASK | HEX_MASK) + +/* Private routines. */ +static long parse_number (const char *num); +static BOOL raw_fetch_next_token (Token *t); + + +/* Initializes the tokenizer. Call it once before any calls to any other + * token routines. Do not call it more than once; the only way to reset + * everything is to keep fetching tokens until there are none left. + */ + +void +init_tokenizer () +{ + static const unsigned char break_chars[] = " \t\n\r();"; + const unsigned char *p; + SymbolInfo sym; + int i; + + /* Start out with 0 open streams. */ + file_stack_ptr = 0; + + /* Initialize the symbol table. */ + if (tok_sym_table != NULL) + free_symbol_table (tok_sym_table); + + tok_sym_table = make_symbol_table (); + for (i = 0; i < (sizeof token_list / sizeof token_list[0]); i++) + { + sym.n = token_list[i].value; + insert_symbol (tok_sym_table, token_list[i].name, sym); + } + + /* Initialize break character table. */ + for (p = &break_chars[0]; *p; p++) + break_char_table[*p + 1] = TRUE; + break_char_table[EOF + 1] = TRUE; + + /* Initialize ascii -> number conversion table. */ + num_conv_table['0'] = (ALL_MASKS + 0); + num_conv_table['1'] = (ALL_MASKS + 1); + for (i = '2'; i < '8'; i++) + num_conv_table[i] = (ALL_MASKS - BINARY_MASK) + i - '0'; + num_conv_table['8'] = (DECIMAL_MASK + HEX_MASK + 8); + num_conv_table['9'] = (DECIMAL_MASK + HEX_MASK + 9); + for (i = 0; i < 7; i++) + num_conv_table[i + 'A'] = num_conv_table[i + 'a'] = (HEX_MASK + i + 10); +} + + +/* Skips whitespace and comments. Returns the first non-whitespace character + * encountered, or EOF if there wasn't one. + */ + +int +skip_to_next_token () +{ + InputFile *f; + FILE *fp; + int c; + + /* Skip leading whitespace & handle EOF by popping up one file. */ + while (1) + { + if (file_stack_ptr <= 0) + return EOF; + + f = &file_stack[file_stack_ptr - 1]; + fp = f->fp; + + /* Skip leading spaces & comments */ + while (1) + { + while (isspace (c = fgetc (fp))) /* Linux dies if you use getc. */ + if (c == '\n') f->lineno++; + + if (c == ';') /* Skip over comments */ + { + while ((c = getc (fp)) != '\n' && c != EOF); + if (c == '\n') f->lineno++; + } + else break; + } + + if (c == EOF) + close_file (); + else break; + } + + return c; +} + + +/* Same as raw_fetch_next_token, but processes include directives. */ + +BOOL +fetch_next_token (Token *t) +{ + static Token saved_token = { TOK_EMPTY }; + Token temp, temp2; + + if (saved_token.type != TOK_EMPTY) + { + *t = saved_token; + saved_token.type = TOK_EMPTY; + return YES; + } + + /* Read in the next token. If it's not an open paren, pass it on. */ + if (!raw_fetch_next_token (t)) + return NO; + if (t->type != TOK_LEFT_PAREN) + return YES; + + /* Check to see if this is an #include directive. */ + if (!raw_fetch_next_token (&saved_token)) + return YES; + + if (saved_token.type != TOK_INCLUDE) + return YES; + saved_token.type = TOK_EMPTY; + + if (!raw_fetch_next_token (&temp)) + { + fatal_input_error ("include directive is missing filename!\n"); + } + + if (temp.type != TOK_QUOTED_STRING) + { + /* Punt unless it's an identifier; if it is, include the file anyway. */ + if (temp.type != TOK_IDENTIFIER) + { + fatal_input_error ("Filename for include must be in \"\" quotes.\n"); + } + input_error ("Filename for include must be in \"\" quotes.\n"); + } + + raw_fetch_next_token (&temp2); /* Eat the close paren. */ + if (temp2.type != TOK_RIGHT_PAREN) + { + fatal_input_error ("Too many arguments to include directive.\n"); + } + open_file (temp.u.string, include_dirs); + return fetch_next_token (t); +} + + +/* Fetches the next token from the stack of input streams. Returns FALSE + * if there are no tokens left. + */ + +static BOOL +raw_fetch_next_token (Token *t) +{ + char buf[MAX_TOKEN_SIZE], *p; + FILE *fp; + InputFile *f; + SymbolInfo sym; + int c, i; + + c = skip_to_next_token (); + if (c == EOF) + return NO; + + /* Set up convenience variables pointing to the current file. */ + f = &file_stack[file_stack_ptr - 1]; + fp = f->fp; + + /* Set up file and line number fields of the token. */ + t->filename = f->filename; + t->lineno = f->lineno; + + /* Special case for paren's, as they are both legal tokens and break chars */ + if (c == '(') + { + t->type = TOK_LEFT_PAREN; + t->u.string = "("; + return YES; + } + else if (c == ')') + { + t->type = TOK_RIGHT_PAREN; + t->u.string = ")"; + return YES; + } + + /* Loop and grab all the characters in this token, putting them in buf. */ + + p = buf, i = MAX_TOKEN_SIZE - 1; + + /* Special case for quoted strings. */ + if (c == '\"') + { + int backslash = 0; + do + { + if (c == '\\') + { + if (!backslash) + { + backslash = 1; + c = getc (fp); + continue; + } + backslash = 0; + } + else if (backslash) + { + backslash = 0; + switch (c) { + case '\n': + continue; + case 'n': + c = '\n'; + break; + case 't': + c = '\t'; + break; + case '\\': + break; + default: + input_error ("Unknown escape sequence '\\%c'.\n", c); + break; + } + } + else if (c == '\n') + { + input_error ("Unterminated string.\n"); + return raw_fetch_next_token (t); + } + + *p++ = c; + c = getc (fp); + } + while (c != '\"' && --i); + + *p = '\0'; + t->type = TOK_QUOTED_STRING; + t->u.string = unique_string (buf + 1); + return YES; + } + else /* Not a quoted string... */ + { + do + { + *p++ = c; + c = getc (fp); + } + while (!break_char_table[c + 1] && --i); + ungetc (c, fp); + *p = '\0'; + } + + /* Is it a normal token we recognize? */ + if (lookup_symbol (tok_sym_table, buf, &sym, &t->u.string) == HASH_NOERR) + { + int buflen = strlen (buf); + + t->type = sym.n; + + if (t->type == TOK_TEMP_REGISTER) + { + if (isdigit (buf[3])) + t->u.reginfo.which = atoi (buf + 3); + else + t->u.reginfo.which = 1; + t->u.reginfo.sgnd = (buf[buflen - 2] == 's'); + switch (buf[buflen - 1]) { + case 'b': t->u.reginfo.size = 1; break; + case 'w': t->u.reginfo.size = 2; break; + case 'l': t->u.reginfo.size = 4; break; + default: + fatal_error ("Internal error, token.c: impossible register " + "size '%c'\n", buf[buflen - 1]); + break; + } + } + else if (t->type == TOK_DEREF) + { + if (!strcmp (buf, "deref")) + { + t->u.derefinfo.sgnd = FALSE; + t->u.derefinfo.size = 0; /* untyped deref. */ + } + else + { + t->u.derefinfo.sgnd = (buf[buflen - 2] == 's'); + switch (buf[buflen - 1]) { + case 'b': t->u.derefinfo.size = 1; break; + case 'w': t->u.derefinfo.size = 2; break; + case 'l': t->u.derefinfo.size = 4; break; + default: + fatal_error ("Internal error, token.c: impossible deref " + "size '%c'\n", buf[buflen - 1]); + break; + } + } + } + else if (t->type == TOK_SWAP) + { + t->u.derefinfo.sgnd = (buf[buflen - 2] == 's'); + switch (buf[buflen - 1]) { + case 'b': t->u.derefinfo.size = 1; break; + case 'w': t->u.derefinfo.size = 2; break; + case 'l': t->u.derefinfo.size = 4; break; + default: + fatal_error ("Internal error, token.c: impossible swap " + "size '%c'\n", buf[buflen - 1]); + break; + } + } + else if (IS_DOLLAR_TOKEN (t->type)) + { + t->u.dollarinfo.which = atoi (buf + 1); + + switch (t->type) { + case TOK_DOLLAR_DATA_REGISTER: + case TOK_DOLLAR_ADDRESS_REGISTER: + case TOK_DOLLAR_GENERAL_REGISTER: + case TOK_DOLLAR_REVERSED_AMODE: + case TOK_DOLLAR_AMODE: + case TOK_DOLLAR_NUMBER: + case TOK_DOLLAR_AMODE_PTR: + case TOK_DOLLAR_REVERSED_AMODE_PTR: + t->u.dollarinfo.sgnd = (buf[buflen - 2] == 's'); + switch (buf[buflen - 1]) { + case 'b': t->u.dollarinfo.size = 1; break; + case 'w': t->u.dollarinfo.size = 2; break; + case 'l': t->u.dollarinfo.size = 4; break; + default: + fatal_error ("Internal error, token.c: impossible dollar " + "size '%c'\n", buf[buflen - 1]); + break; + } + break; + default: + fatal_error ("Internal error, token.c: IS_DOLLAR_IDENTIFIER must " + "be invalid.\n"); + break; + } + } + return YES; + } + + /* Is it a number? */ + else if (isdigit (buf[0]) || (buf[0] == '-' && isdigit (buf[1]))) + { + t->type = TOK_NUMBER; + t->u.n = parse_number (buf); + return YES; + } + + /* Is it a register? eg d0.ub, d3.w, d7.l, a2.b, a4.w, a1.uw, etc. */ + else if ((buf[0] == 'a' || buf[0] == 'd') + && buf[1] >= '0' && buf[1] <= '7') + { + if (buf[2] != '.') + input_error ("Missing size/signedness specifier for register.\n"); + + t->type = (buf[0] == 'a') ? TOK_ADDRESS_REGISTER : TOK_DATA_REGISTER; + t->u.reginfo.sgnd = (buf[3] != 'u'); + switch (buf[strlen (buf) - 1]) { + case 'b': + t->u.reginfo.size = 1; + break; + case 's': + case 'w': + t->u.reginfo.size = 2; + break; + case 'l': + default: + t->u.reginfo.size = 4; + break; + } + t->u.reginfo.which = buf[1] - '0'; + return YES; + } + + /* Must be a label. */ + t->type = TOK_IDENTIFIER; + t->u.string = unique_string (buf); + return YES; +} + + +/* Parses an ASCII number held in buf. Recognizes 0x prefix as hexadecimal, + * 0b as binary and 0 followed by more digits as octal. Other numbers + * are interpreted as decimal. + */ + +static long +parse_number (const char *buf) +{ + int sign = 1, base; + long n = 0; + unsigned char mask, v; + + /* Check for sign. */ + if (buf[0] == '-') + sign = -1, buf++; + + /* Figure out which base the number is. */ + if (buf[0] == '0') /* Either octal, hexadecimal, or binary. */ + { + if (buf[1] == 'x') + base = 16, mask = HEX_MASK, buf += 2; + else if (buf[1] == 'b') + base = 2, mask = BINARY_MASK, buf += 2; + else base = 8, mask = OCTAL_MASK; + } + else base = 10, mask = DECIMAL_MASK; + + /* Convert it to an int. */ + while ((v = *buf++)) + { + if (num_conv_table[v] & mask) + n = (n * base) + (num_conv_table[v] & 15); + else + { + input_error ("Illegal character in numeric constant.\n"); + return 0; + } + } + + return n * sign; +} + + +/* Returns a pointer to the InputFile struct for a file being parsed. + * levels_back specifies how many #include levels to pop back. A levels_back + * of zero will return the current input file. levels_back must be >= 0. + */ + +const InputFile * +get_input_file (int levels_back) +{ + if (levels_back < 0 || file_stack_ptr - levels_back - 1 < 0) + return NULL; + return &file_stack[file_stack_ptr - levels_back - 1]; +} + + +/* Opens a file and pushes it onto the stack of files being parsed. "file" + * is the filename of the file to be #include'd, search_dirs is a + * NULL-terminated list of all directories to check. These directories will + * not be checked if file has a leading '/'. + */ + +void +open_file (const char *file, const char *search_dirs[]) +{ + FILE *fp; + const char **dir; + char buf[MAXPATHLEN]; + + /* See if we've opened too many files already. */ + if (file_stack_ptr >= MAX_INCLUDE_DEPTH) + fatal_input_error ("Too many levels of nested #include's.\n"); + + /* If the filename has a leading slash, don't check directories. + * Otherwise, check all the directories in the search path. + */ + fp = NULL; + if (file[0] == '/') + fp = fopen (file, "r"); + else for (dir = &search_dirs[0]; *dir != NULL; dir++) + { + sprintf (buf, "%s/%s", *dir, file); + fp = fopen (buf, "r"); + if (fp != NULL) + break; + } + if (fp == NULL) + fatal_input_error ("%s: No such file or directory.\n", file); + + open_stream (file, fp); +} + + +/* Adds a stream to the stack of input files. The reason this routine + * is distinct from open_file (above) is so that opening stdin is trivial. + */ + +void +open_stream (const char *name, FILE *fp) +{ + InputFile *new = &file_stack[file_stack_ptr]; + + if (file_stack_ptr >= MAX_INCLUDE_DEPTH) + return; + + /* Add this file to the file input stack. */ + new->fp = fp; + new->lineno = 1; + strncpy (new->filename, name, MAX_FILENAME_LENGTH - 1); + new->filename[MAX_FILENAME_LENGTH - 1] = '\0'; + file_stack_ptr++; +} + + +FILE * +current_stream () +{ + if (file_stack_ptr > 0) + return file_stack[file_stack_ptr - 1].fp; + return NULL; +} + + +/* Closes the file currently being read and pops back to the file that was + * #including the current one, if any. + */ + +void +close_file () +{ + if (file_stack_ptr > 0) + fclose (file_stack[--file_stack_ptr].fp); +} + + +BOOL +tokens_equal (const Token *t1, const Token *t2) +{ + if (t1->type != t2->type) + return FALSE; + + switch (t1->type) { + case TOK_IDENTIFIER: + case TOK_QUOTED_STRING: + return !strcmp (t1->u.string, t2->u.string); + case TOK_NUMBER: + return (t1->u.n == t2->u.n); + case TOK_DOLLAR_AMODE: + case TOK_DOLLAR_REVERSED_AMODE: + case TOK_DOLLAR_AMODE_PTR: + case TOK_DOLLAR_REVERSED_AMODE_PTR: + case TOK_DOLLAR_NUMBER: + case TOK_DOLLAR_DATA_REGISTER: + case TOK_DOLLAR_ADDRESS_REGISTER: + case TOK_DOLLAR_GENERAL_REGISTER: + return (t1->u.dollarinfo.which == t2->u.dollarinfo.which + && t1->u.dollarinfo.size == t2->u.dollarinfo.size + && t1->u.dollarinfo.sgnd == t2->u.dollarinfo.sgnd); + case TOK_DEREF: + return (t1->u.derefinfo.sgnd == t2->u.derefinfo.sgnd + && t1->u.derefinfo.size == t2->u.derefinfo.size); + case TOK_AMODE: + case TOK_REVERSED_AMODE: + case TOK_AMODE_PTR: + case TOK_REVERSED_AMODE_PTR: + return (t1->u.amodeinfo.sgnd == t2->u.amodeinfo.sgnd + && t1->u.amodeinfo.size == t2->u.amodeinfo.size + && t1->u.amodeinfo.which == t2->u.amodeinfo.which); + case TOK_DATA_REGISTER: + case TOK_ADDRESS_REGISTER: + case TOK_TEMP_REGISTER: + return (t1->u.reginfo.sgnd == t2->u.reginfo.sgnd + && t1->u.reginfo.size == t2->u.reginfo.size + && t1->u.reginfo.which == t2->u.reginfo.which); + default: + return TRUE; + } +} + + +/* Dumps a token in human-readable format. For debugging purposes only. */ + +void +dump_token (const Token *t) +{ + if (t->type == TOK_NUMBER) + printf ("type = %d,\tn = %ld, \tfilename = \"%s\",\tlineno = %lu\n", + t->type, t->u.n, t->filename, t->lineno); + else + printf ("type = %d,\tstring = \"%s\", \tfilename = \"%s\",\t" + "lineno = %lu\n", t->type, t->u.string, t->filename, t->lineno); +} + + +/* Copies a human-readable version of the token to buf and returns buf. */ + +char * +unparse_token (const Token *t, char *buf) +{ + static const char *regdesc[2][5] = { + { "", "ub", "uw", "", "ul" }, + { "", "sb", "sw", "", "sl" } + }; + + switch (t->type) { + case TOK_NUMBER: + sprintf (buf, "%ld", t->u.n); + break; + case TOK_QUOTED_STRING: + sprintf (buf, "\"%s\"", t->u.string); + break; + case TOK_EMPTY: + strcpy (buf, "[EMPTY]"); + break; + case TOK_DEREF: + if (t->u.derefinfo.size == 0) + strcpy (buf, "deref"); + else sprintf (buf, "deref%s", + regdesc[t->u.derefinfo.sgnd][t->u.derefinfo.size]); + break; + case TOK_SWAP: + sprintf (buf, "swap%s", regdesc[t->u.derefinfo.sgnd][t->u.derefinfo.size]); + break; + case TOK_DATA_REGISTER: + sprintf (buf, "d%d.%s", t->u.reginfo.which, + regdesc[t->u.reginfo.sgnd][t->u.reginfo.size]); + break; + case TOK_ADDRESS_REGISTER: + sprintf (buf, "a%d.%s", t->u.reginfo.which, + regdesc[t->u.reginfo.sgnd][t->u.reginfo.size]); + break; + case TOK_TEMP_REGISTER: + sprintf (buf, "tmp%d.%s", t->u.reginfo.which, + regdesc[t->u.reginfo.sgnd][t->u.reginfo.size]); + break; + case TOK_DOLLAR_DATA_REGISTER: + sprintf (buf, "$%d.d%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_ADDRESS_REGISTER: + sprintf (buf, "$%d.a%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_GENERAL_REGISTER: + sprintf (buf, "$%d.g%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_AMODE: + sprintf (buf, "$%d.m%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_REVERSED_AMODE: + sprintf (buf, "$%d.r%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_AMODE_PTR: + sprintf (buf, "$%d.p%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_REVERSED_AMODE_PTR: + sprintf (buf, "$%d.q%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + case TOK_DOLLAR_NUMBER: + sprintf (buf, "$%d.%s", t->u.dollarinfo.which, + regdesc[t->u.dollarinfo.sgnd][t->u.dollarinfo.size]); + break; + default: + strcpy (buf, t->u.string); + break; + } + + return buf; +} diff --git a/syngen/uniquestring.c b/syngen/uniquestring.c new file mode 100644 index 0000000..c49191d --- /dev/null +++ b/syngen/uniquestring.c @@ -0,0 +1,37 @@ +#include "hash.h" +#include "uniquestring.h" +#include "common.h" +#include +#include +#include + + +static SymbolTable *sym = NULL; + +void +init_unique_string () +{ + if (sym == NULL) + sym = make_symbol_table (); +} + + +const char * +unique_string (const char *s) +{ + SymbolInfo si; + const char *p; + + if (lookup_symbol (sym, s, &si, &p) != HASH_NOERR) + { + char *newp; + + newp = malloc (strlen (s) + 1); + assert(newp); + strcpy (newp, s); + insert_symbol (sym, newp, si); + p = newp; + } + + return p; +} diff --git a/test/.gdbinit b/test/.gdbinit new file mode 100644 index 0000000..a0632b1 --- /dev/null +++ b/test/.gdbinit @@ -0,0 +1,2 @@ +directory ../syngen +directory ../runtime diff --git a/test/68k.noncc.1000 b/test/68k.noncc.1000 new file mode 100644 index 0000000..1aaee3a --- /dev/null +++ b/test/68k.noncc.1000 @@ -0,0 +1,480 @@ +mem == 0x250000 +Testing unpk_reg...done. pre_crc:0xA8F5, mem_crc:0x0000, reg_crc:0x7F2A +Testing unpk_mem...done. pre_crc:0x9DDC, mem_crc:0x769D, reg_crc:0xF9F9 +Testing unlk...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0x4049 +Testing movewl_ind_ind...done. pre_crc:0x5C7C, mem_crc:0x9138, reg_crc:0xEE11 +Testing divsl_ll_reg...done. pre_crc:0x7AA7, mem_crc:0x0000, reg_crc:0x4869 +Testing divsl_ll_ind...done. pre_crc:0xA55C, mem_crc:0x0000, reg_crc:0x89CB +Testing divsl_ll_absl...done. pre_crc:0xF84C, mem_crc:0x0000, reg_crc:0xCF1D +Testing lea_pc_ind_preix...done. pre_crc:0x087D, mem_crc:0x0000, reg_crc:0x61B0 +Testing lea_pc_ind_postix...done. pre_crc:0x2ABA, mem_crc:0x0000, reg_crc:0x51DC +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x00C2, mem_crc:0x0000, reg_crc:0x21C0 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0xD357 +Testing moveb_pcd16_dreg...done. pre_crc:0x98EB, mem_crc:0x0000, reg_crc:0x48DD +Testing movewl_pcd16_dreg...done. pre_crc:0xFCEE, mem_crc:0x0000, reg_crc:0xC479 +Testing moveb_pcd8_dreg...done. pre_crc:0x7C4D, mem_crc:0x0000, reg_crc:0x745A +Testing movewl_pcd8_dreg...done. pre_crc:0x7B44, mem_crc:0x0000, reg_crc:0x038D +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xB56D, mem_crc:0x0000, reg_crc:0x5483 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xE89A, mem_crc:0x0000, reg_crc:0x39CA +Testing lea_ind_preix...done. pre_crc:0x6CF2, mem_crc:0x0000, reg_crc:0x4037 +Testing lea_ind_postix...done. pre_crc:0xCC06, mem_crc:0x0000, reg_crc:0x701C +Testing add_absl_dreg...done. pre_crc:0xCB59, mem_crc:0x0000, reg_crc:0x8C6B +Testing abcd_reg...done. pre_crc:0x5E8F, mem_crc:0x0000, reg_crc:0x71F9 +Testing abcd_mem...done. pre_crc:0xB1E6, mem_crc:0x9C12, reg_crc:0x5F82 +Testing addb_dreg_dreg...done. pre_crc:0x6FFF, mem_crc:0x0000, reg_crc:0xEDB4 +Testing addw_reg_dreg...done. pre_crc:0xA422, mem_crc:0x0000, reg_crc:0x3CA9 +Testing addl_reg_dreg...done. pre_crc:0x4399, mem_crc:0x0000, reg_crc:0x5D0E +Testing add_d16_dreg...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0x022A +Testing addb_const_dreg...done. pre_crc:0xD33D, mem_crc:0x0000, reg_crc:0x6588 +Testing addw_const_dreg...done. pre_crc:0x049D, mem_crc:0x0000, reg_crc:0x40AD +Testing add_dreg_ind...done. pre_crc:0xCA4A, mem_crc:0x1809, reg_crc:0xABDA +Testing add_ind_dreg...done. pre_crc:0x9B0E, mem_crc:0x0000, reg_crc:0x0D0D +Testing addl_const_dreg...done. pre_crc:0x2B78, mem_crc:0x0000, reg_crc:0x2CA1 +Testing add_dreg_d16...done. pre_crc:0xFBC9, mem_crc:0x6999, reg_crc:0x60EE +Testing add_dreg_absl...done. pre_crc:0xE208, mem_crc:0x05E2, reg_crc:0x5752 +Testing addaw_reg_areg...done. pre_crc:0x1FF3, mem_crc:0x0000, reg_crc:0x3168 +Testing addal_reg_areg...done. pre_crc:0x9D8F, mem_crc:0x0000, reg_crc:0xAA59 +Testing adda_ind_areg...done. pre_crc:0x5047, mem_crc:0x0000, reg_crc:0xA060 +Testing adda_d16_areg...done. pre_crc:0xEA20, mem_crc:0x0000, reg_crc:0xCDB6 +Testing adda_absl_areg...done. pre_crc:0xE775, mem_crc:0x0000, reg_crc:0xF348 +Testing addaw_const_areg...done. pre_crc:0xFC77, mem_crc:0x0000, reg_crc:0x24C6 +Testing addal_const_areg...done. pre_crc:0x1C78, mem_crc:0x0000, reg_crc:0x4441 +Testing addibw_dreg...done. pre_crc:0xD336, mem_crc:0x0000, reg_crc:0x5359 +Testing addil_dreg...done. pre_crc:0x53D3, mem_crc:0x0000, reg_crc:0x47EE +Testing addibw_ind...done. pre_crc:0x1EA5, mem_crc:0x632D, reg_crc:0x6B5B +Testing addil_ind...done. pre_crc:0x7617, mem_crc:0x2128, reg_crc:0x30FF +Testing addibw_d16...done. pre_crc:0x95A2, mem_crc:0xC415, reg_crc:0x85D5 +Testing addil_d16...done. pre_crc:0x1206, mem_crc:0x507B, reg_crc:0x81C6 +Testing addibw_absl...done. pre_crc:0x6188, mem_crc:0x7C6D, reg_crc:0x1DAC +Testing addil_absl...done. pre_crc:0x6E9B, mem_crc:0x3B7C, reg_crc:0xA906 +Testing addq_dreg...done. pre_crc:0x5CA9, mem_crc:0x0000, reg_crc:0x7598 +Testing addq_areg...done. pre_crc:0x1E40, mem_crc:0x0000, reg_crc:0xFEEA +Testing addq_ind...done. pre_crc:0x799C, mem_crc:0xCE45, reg_crc:0x645D +Testing addq_d16...done. pre_crc:0x5627, mem_crc:0x802C, reg_crc:0x98EA +Testing addq_absl...done. pre_crc:0x47CE, mem_crc:0x7CC7, reg_crc:0xC207 +Testing addx_reg...done. pre_crc:0x109A, mem_crc:0x0000, reg_crc:0xC7F1 +Testing addx_mem...done. pre_crc:0xDFF0, mem_crc:0x3764, reg_crc:0x30D2 +Testing and_dreg_dreg...done. pre_crc:0xC9B3, mem_crc:0x0000, reg_crc:0x4741 +Testing and_ind_dreg...done. pre_crc:0xB620, mem_crc:0x0000, reg_crc:0x70BF +Testing and_d16_dreg...done. pre_crc:0x1559, mem_crc:0x0000, reg_crc:0x6DAB +Testing and_absl_dreg...done. pre_crc:0x4282, mem_crc:0x0000, reg_crc:0x55D8 +Testing andbw_const_dreg...done. pre_crc:0xC8F4, mem_crc:0x0000, reg_crc:0x3170 +Testing andl_const_dreg...done. pre_crc:0x9C3D, mem_crc:0x0000, reg_crc:0xA24C +Testing and_dreg_ind...done. pre_crc:0x02E9, mem_crc:0xDBDE, reg_crc:0x0475 +Testing and_dreg_d16...done. pre_crc:0xF1A3, mem_crc:0x5A33, reg_crc:0x9A9F +Testing and_dreg_absl...done. pre_crc:0x54CA, mem_crc:0xA5A3, reg_crc:0x7338 +Testing andibw_dreg...done. pre_crc:0x3F13, mem_crc:0x0000, reg_crc:0xD1B1 +Testing andil_dreg...done. pre_crc:0xA4A2, mem_crc:0x0000, reg_crc:0x1549 +Testing andibw_ind...done. pre_crc:0xCD6B, mem_crc:0x2D0F, reg_crc:0xD92F +Testing andil_ind...done. pre_crc:0xEB5D, mem_crc:0xF555, reg_crc:0x4640 +Testing andibw_d16...done. pre_crc:0x5B6E, mem_crc:0xEA9E, reg_crc:0xC797 +Testing andil_d16...done. pre_crc:0x044E, mem_crc:0x7908, reg_crc:0xC50F +Testing andibw_absl...done. pre_crc:0xF6D9, mem_crc:0xE089, reg_crc:0x4F51 +Testing andil_absl...done. pre_crc:0xB54D, mem_crc:0x53CC, reg_crc:0x7B88 +Testing andi_to_ccr...done. pre_crc:0xEC2A, mem_crc:0x0000, reg_crc:0x0BD3 +Testing asl_dx_dy...done. pre_crc:0x7907, mem_crc:0x0000, reg_crc:0x7D60 +Testing asl_const_dy...done. pre_crc:0x017C, mem_crc:0x0000, reg_crc:0xA0F9 +Testing asl_ind...done. pre_crc:0xA20F, mem_crc:0xB0EC, reg_crc:0x3571 +Testing asl_d16...done. pre_crc:0x71F7, mem_crc:0x1C75, reg_crc:0xB7AC +Testing asl_absl...done. pre_crc:0xECAD, mem_crc:0xCDC8, reg_crc:0x1F7F +Testing asr_dx_dy...done. pre_crc:0x4D2C, mem_crc:0x0000, reg_crc:0xE01A +Testing asr_const_dy...done. pre_crc:0x9EC8, mem_crc:0x0000, reg_crc:0xE156 +Testing asr_ind...done. pre_crc:0xDFE7, mem_crc:0x2967, reg_crc:0x87B1 +Testing asr_d16...done. pre_crc:0xD259, mem_crc:0x12CA, reg_crc:0x358E +Testing asr_absl...done. pre_crc:0x7EA6, mem_crc:0x33A6, reg_crc:0xE326 +Testing lsl_dx_dy...done. pre_crc:0xD83F, mem_crc:0x0000, reg_crc:0x5810 +Testing lsl_const_dy...done. pre_crc:0x5AA9, mem_crc:0x0000, reg_crc:0x0A18 +Testing lsl_ind...done. pre_crc:0xAF2B, mem_crc:0xA85E, reg_crc:0x89A8 +Testing lsl_d16...done. pre_crc:0xA957, mem_crc:0xE6E0, reg_crc:0x0D8F +Testing lsl_absl...done. pre_crc:0x0503, mem_crc:0x78D2, reg_crc:0x122D +Testing lsr_dx_dy...done. pre_crc:0x0F91, mem_crc:0x0000, reg_crc:0x4C37 +Testing lsr_const_dy...done. pre_crc:0x2CCF, mem_crc:0x0000, reg_crc:0xF7CE +Testing lsr_ind...done. pre_crc:0x51DF, mem_crc:0xF359, reg_crc:0x572C +Testing lsr_d16...done. pre_crc:0x3265, mem_crc:0x8DCC, reg_crc:0xA3E8 +Testing lsr_absl...done. pre_crc:0x65A8, mem_crc:0x8888, reg_crc:0x1F9E +Testing bra_b...done. pre_crc:0x9A14, mem_crc:0x0000, reg_crc:0xF00C +Testing bhi_b...done. pre_crc:0x8F22, mem_crc:0x0000, reg_crc:0xC5B1 +Testing bls_b...done. pre_crc:0xF5C1, mem_crc:0x0000, reg_crc:0x02FD +Testing bcc_b...done. pre_crc:0x818E, mem_crc:0x0000, reg_crc:0xB675 +Testing bcs_b...done. pre_crc:0x61C8, mem_crc:0x0000, reg_crc:0x5AFA +Testing bne_b...done. pre_crc:0xCAEC, mem_crc:0x0000, reg_crc:0x8B50 +Testing beq_b...done. pre_crc:0x962A, mem_crc:0x0000, reg_crc:0x1C9E +Testing bvc_b...done. pre_crc:0xC42D, mem_crc:0x0000, reg_crc:0x0A3F +Testing bvs_b...done. pre_crc:0x972C, mem_crc:0x0000, reg_crc:0x7A4F +Testing bpl_b...done. pre_crc:0x067F, mem_crc:0x0000, reg_crc:0xC491 +Testing bmi_b...done. pre_crc:0xC782, mem_crc:0x0000, reg_crc:0x9696 +Testing bge_b...done. pre_crc:0x2E7C, mem_crc:0x0000, reg_crc:0x8772 +Testing blt_b...done. pre_crc:0x581A, mem_crc:0x0000, reg_crc:0x54B0 +Testing bgt_b...done. pre_crc:0x67F4, mem_crc:0x0000, reg_crc:0x1B88 +Testing ble_b...done. pre_crc:0xC1AC, mem_crc:0x0000, reg_crc:0x75FB +Testing bra_w...done. pre_crc:0x9998, mem_crc:0x0000, reg_crc:0x4BC6 +Testing bhi_w...done. pre_crc:0x1285, mem_crc:0x0000, reg_crc:0x7F8F +Testing bls_w...done. pre_crc:0x235E, mem_crc:0x0000, reg_crc:0xA876 +Testing bcc_w...done. pre_crc:0x1E4C, mem_crc:0x0000, reg_crc:0xF154 +Testing bcs_w...done. pre_crc:0xD816, mem_crc:0x0000, reg_crc:0xF617 +Testing bne_w...done. pre_crc:0x7435, mem_crc:0x0000, reg_crc:0xE389 +Testing beq_w...done. pre_crc:0x1703, mem_crc:0x0000, reg_crc:0x8D8E +Testing bvc_w...done. pre_crc:0x78F6, mem_crc:0x0000, reg_crc:0x0AEB +Testing bvs_w...done. pre_crc:0x8481, mem_crc:0x0000, reg_crc:0x3C06 +Testing bpl_w...done. pre_crc:0xDA47, mem_crc:0x0000, reg_crc:0xD450 +Testing bmi_w...done. pre_crc:0x420D, mem_crc:0x0000, reg_crc:0x4B18 +Testing bge_w...done. pre_crc:0x617B, mem_crc:0x0000, reg_crc:0xCF03 +Testing blt_w...done. pre_crc:0xE0F8, mem_crc:0x0000, reg_crc:0x41B4 +Testing bgt_w...done. pre_crc:0xFC2E, mem_crc:0x0000, reg_crc:0x933C +Testing ble_w...done. pre_crc:0xA9CA, mem_crc:0x0000, reg_crc:0x0426 +Testing bra_l...done. pre_crc:0xE02B, mem_crc:0x0000, reg_crc:0xE3C2 +Testing bhi_l...done. pre_crc:0x0B7E, mem_crc:0x0000, reg_crc:0x5A93 +Testing bls_l...done. pre_crc:0x55F0, mem_crc:0x0000, reg_crc:0x83CD +Testing bcc_l...done. pre_crc:0x2AB8, mem_crc:0x0000, reg_crc:0x3C74 +Testing bcs_l...done. pre_crc:0x2B2C, mem_crc:0x0000, reg_crc:0xB714 +Testing bne_l...done. pre_crc:0xE95A, mem_crc:0x0000, reg_crc:0x5715 +Testing beq_l...done. pre_crc:0xDB7B, mem_crc:0x0000, reg_crc:0xBA67 +Testing bvc_l...done. pre_crc:0x34DC, mem_crc:0x0000, reg_crc:0x27C6 +Testing bvs_l...done. pre_crc:0xCD18, mem_crc:0x0000, reg_crc:0x6CA9 +Testing bpl_l...done. pre_crc:0x3BE5, mem_crc:0x0000, reg_crc:0x2E8D +Testing bmi_l...done. pre_crc:0x91F9, mem_crc:0x0000, reg_crc:0x72E8 +Testing bge_l...done. pre_crc:0x2E71, mem_crc:0x0000, reg_crc:0x38C2 +Testing blt_l...done. pre_crc:0xA770, mem_crc:0x0000, reg_crc:0x42C5 +Testing bgt_l...done. pre_crc:0x59B1, mem_crc:0x0000, reg_crc:0xFD20 +Testing ble_l...done. pre_crc:0x3F0B, mem_crc:0x0000, reg_crc:0x2CA8 +Testing bchg_reg_reg...done. pre_crc:0x1E83, mem_crc:0x0000, reg_crc:0x978C +Testing bchg_const_reg...done. pre_crc:0x25DF, mem_crc:0x0000, reg_crc:0x901D +Testing bchg_reg_ind...done. pre_crc:0x7E33, mem_crc:0xF9AA, reg_crc:0x5522 +Testing bchg_const_ind...done. pre_crc:0x73D4, mem_crc:0x1619, reg_crc:0xA93C +Testing bchg_reg_d16...done. pre_crc:0x4BE2, mem_crc:0xAEB9, reg_crc:0xC864 +Testing bchg_const_d16...done. pre_crc:0xFA93, mem_crc:0xB040, reg_crc:0xFE10 +Testing bchg_reg_absl...done. pre_crc:0x78AF, mem_crc:0xC1C4, reg_crc:0x35A3 +Testing bchg_const_absl...done. pre_crc:0x3A6C, mem_crc:0xADC7, reg_crc:0xFA21 +Testing bclr_reg_reg...done. pre_crc:0xE6D3, mem_crc:0x0000, reg_crc:0x2DFF +Testing bclr_const_reg...done. pre_crc:0x65B8, mem_crc:0x0000, reg_crc:0x7391 +Testing bclr_reg_ind...done. pre_crc:0x12E6, mem_crc:0xC611, reg_crc:0xF789 +Testing bclr_const_ind...done. pre_crc:0x4EB5, mem_crc:0xAF69, reg_crc:0x5C7B +Testing bclr_reg_d16...done. pre_crc:0xC1C1, mem_crc:0xF425, reg_crc:0x7037 +Testing bclr_const_d16...done. pre_crc:0x421C, mem_crc:0x9330, reg_crc:0x8472 +Testing bclr_reg_absl...done. pre_crc:0x5B1E, mem_crc:0x806D, reg_crc:0xFC09 +Testing bclr_const_absl...done. pre_crc:0xF96C, mem_crc:0xB27D, reg_crc:0x329D +Testing bset_reg_reg...done. pre_crc:0x42DA, mem_crc:0x0000, reg_crc:0x5599 +Testing bset_const_reg...done. pre_crc:0x0CC2, mem_crc:0x0000, reg_crc:0xF1B6 +Testing bset_reg_ind...done. pre_crc:0xBEC2, mem_crc:0xF32B, reg_crc:0x15C4 +Testing bset_const_ind...done. pre_crc:0x9634, mem_crc:0x38CD, reg_crc:0x0486 +Testing bset_reg_d16...done. pre_crc:0x729C, mem_crc:0xF618, reg_crc:0xE997 +Testing bset_const_d16...done. pre_crc:0x5F65, mem_crc:0xF8FE, reg_crc:0xA431 +Testing bset_reg_absl...done. pre_crc:0x4B7D, mem_crc:0x5A27, reg_crc:0xE5B3 +Testing bset_const_absl...done. pre_crc:0x6652, mem_crc:0xBCB0, reg_crc:0x5443 +Testing btst_reg_reg...done. pre_crc:0x7E13, mem_crc:0x0000, reg_crc:0x24B2 +Testing btst_const_reg...done. pre_crc:0x52B9, mem_crc:0x0000, reg_crc:0x7E5C +Testing btst_reg_ind...done. pre_crc:0x8989, mem_crc:0x0000, reg_crc:0x0E34 +Testing btst_const_ind...done. pre_crc:0x7B00, mem_crc:0x0000, reg_crc:0xA28C +Testing btst_reg_d16...done. pre_crc:0x8A42, mem_crc:0x0000, reg_crc:0x6074 +Testing btst_const_d16...done. pre_crc:0x78AE, mem_crc:0x0000, reg_crc:0xD1B1 +Testing btst_reg_absl...done. pre_crc:0x705B, mem_crc:0x0000, reg_crc:0x9B86 +Testing btst_const_absl...done. pre_crc:0x8448, mem_crc:0x0000, reg_crc:0x6A55 +Testing bfchg_reg...done. pre_crc:0xB7EC, mem_crc:0x0000, reg_crc:0x8E3A +Testing bfchg_ind...done. pre_crc:0x02E3, mem_crc:0x5553, reg_crc:0x826F +Testing bfchg_d16...done. pre_crc:0x5135, mem_crc:0xE5FB, reg_crc:0x3971 +Testing bfchg_absl...done. pre_crc:0x83F4, mem_crc:0x8AEF, reg_crc:0xD124 +Testing bfclr_reg...done. pre_crc:0x7D37, mem_crc:0x0000, reg_crc:0x7975 +Testing bfclr_ind...done. pre_crc:0xC9DE, mem_crc:0x0512, reg_crc:0x66B8 +Testing bfclr_d16...done. pre_crc:0x52C5, mem_crc:0x38C4, reg_crc:0x6149 +Testing bfclr_absl...done. pre_crc:0x89D2, mem_crc:0xDD17, reg_crc:0x7354 +Testing bfset_reg...done. pre_crc:0x507E, mem_crc:0x0000, reg_crc:0x1325 +Testing bfset_ind...done. pre_crc:0xD361, mem_crc:0xCD68, reg_crc:0x0E73 +Testing bfset_d16...done. pre_crc:0x8A67, mem_crc:0xC656, reg_crc:0x67FB +Testing bfset_absl...done. pre_crc:0xDCEA, mem_crc:0xCA3C, reg_crc:0x76CD +Testing bftst_reg...done. pre_crc:0xF967, mem_crc:0x0000, reg_crc:0x315D +Testing bftst_ind...done. pre_crc:0x6D2B, mem_crc:0x0000, reg_crc:0x8721 +Testing bftst_d16...done. pre_crc:0x9A91, mem_crc:0x0000, reg_crc:0x8E5C +Testing bftst_absl...done. pre_crc:0x07C4, mem_crc:0x0000, reg_crc:0x3B26 +Testing bfexts_reg...done. pre_crc:0x9C1B, mem_crc:0x0000, reg_crc:0x9B73 +Testing bfexts_ind...done. pre_crc:0x1CA9, mem_crc:0x0000, reg_crc:0x930C +Testing bfexts_d16...done. pre_crc:0x1F74, mem_crc:0x0000, reg_crc:0x7C86 +Testing bfexts_absl...done. pre_crc:0xD77D, mem_crc:0x0000, reg_crc:0x5903 +Testing bfextu_reg...done. pre_crc:0xCFA7, mem_crc:0x0000, reg_crc:0xA0FF +Testing bfextu_ind...done. pre_crc:0xC57A, mem_crc:0x0000, reg_crc:0x465D +Testing bfextu_d16...done. pre_crc:0xB785, mem_crc:0x0000, reg_crc:0x6087 +Testing bfextu_absl...done. pre_crc:0x7B3B, mem_crc:0x0000, reg_crc:0x5982 +Testing bfffo_reg...done. pre_crc:0x2167, mem_crc:0x0000, reg_crc:0xE532 +Testing bfffo_ind...done. pre_crc:0xB986, mem_crc:0x0000, reg_crc:0x362D +Testing bfffo_d16...done. pre_crc:0x0EDA, mem_crc:0x0000, reg_crc:0xD7DD +Testing bfffo_absl...done. pre_crc:0x83C9, mem_crc:0x0000, reg_crc:0x93E7 +Testing bfins_reg...done. pre_crc:0x4427, mem_crc:0x0000, reg_crc:0xC17A +Testing bfins_ind...done. pre_crc:0xF047, mem_crc:0x31F8, reg_crc:0x6768 +Testing bfins_d16...done. pre_crc:0x62BC, mem_crc:0xB4CC, reg_crc:0xF6CA +Testing bfins_absl...done. pre_crc:0x87CD, mem_crc:0x7EEB, reg_crc:0xB09B +Testing bsr_b...done. pre_crc:0xC9F0, mem_crc:0x2670, reg_crc:0x55CC +Testing bsr_w...done. pre_crc:0x8063, mem_crc:0x25C4, reg_crc:0x6942 +Testing bsr_l...done. pre_crc:0xEDF7, mem_crc:0x47A3, reg_crc:0x1B69 +Testing cas_ind...done. pre_crc:0xC976, mem_crc:0xEC89, reg_crc:0x1E63 +Testing cas2_areg...done. pre_crc:0x3687, mem_crc:0xC4D9, reg_crc:0xBBD2 +Testing cas2_anyreg...done. pre_crc:0xB4A0, mem_crc:0x7790, reg_crc:0xD28E +Testing clr_reg...done. pre_crc:0x7A7B, mem_crc:0x0000, reg_crc:0xB7B7 +Testing clrb_ind...done. pre_crc:0x6C5C, mem_crc:0x366F, reg_crc:0x34FD +Testing clrwl_ind...done. pre_crc:0x490B, mem_crc:0x5C8E, reg_crc:0xA1D0 +Testing clrb_absl...done. pre_crc:0x5B76, mem_crc:0xB150, reg_crc:0xE727 +Testing clrwl_absl...done. pre_crc:0xA731, mem_crc:0x409B, reg_crc:0x0FE2 +Testing cmp_dreg...done. pre_crc:0x2899, mem_crc:0x0000, reg_crc:0x5D23 +Testing cmp_areg...done. pre_crc:0x5D63, mem_crc:0x0000, reg_crc:0x3232 +Testing cmpb_ind...done. pre_crc:0x07F2, mem_crc:0x0000, reg_crc:0x2D18 +Testing cmpwl_ind...done. pre_crc:0x56F5, mem_crc:0x0000, reg_crc:0xE439 +Testing cmpb_d16...done. pre_crc:0xF62C, mem_crc:0x0000, reg_crc:0xE6B6 +Testing cmpwl_d16...done. pre_crc:0x9B85, mem_crc:0x0000, reg_crc:0xD84E +Testing cmpa_reg...done. pre_crc:0xCA34, mem_crc:0x0000, reg_crc:0xCFFA +Testing cmpa_ind...done. pre_crc:0xA225, mem_crc:0x0000, reg_crc:0x8C07 +Testing cmpa_ind2...done. pre_crc:0x7A4A, mem_crc:0x0000, reg_crc:0x41B8 +Testing cmpa_d16...done. pre_crc:0xB2AA, mem_crc:0x0000, reg_crc:0xFABE +Testing cmpa_d16_2...done. pre_crc:0x7043, mem_crc:0x0000, reg_crc:0x2D4D +Testing cmpa_absl...done. pre_crc:0x92F0, mem_crc:0x0000, reg_crc:0xE1AA +Testing cmpibw_reg...done. pre_crc:0x3598, mem_crc:0x0000, reg_crc:0x0470 +Testing cmpil_reg...done. pre_crc:0x7EE8, mem_crc:0x0000, reg_crc:0xEEB2 +Testing cmpib_ind...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x5E45 +Testing cmpiw_ind...done. pre_crc:0xB734, mem_crc:0x0000, reg_crc:0x0D16 +Testing cmpil_ind...done. pre_crc:0x6DD4, mem_crc:0x0000, reg_crc:0x66F5 +Testing cmpmb...done. pre_crc:0x3BBA, mem_crc:0x0000, reg_crc:0xD5F2 +Testing cmpmwl...done. pre_crc:0x8A2D, mem_crc:0x0000, reg_crc:0xC1E5 +Testing cmp2b_ind...done. pre_crc:0x2634, mem_crc:0x0000, reg_crc:0xB739 +Testing cmp2wl_ind...done. pre_crc:0x53C1, mem_crc:0x0000, reg_crc:0xE53B +Testing dbcc...done. pre_crc:0xAB62, mem_crc:0x0000, reg_crc:0x5ABE +Testing divs_reg...done. pre_crc:0x4EB2, mem_crc:0x0000, reg_crc:0x5017 +Testing divs_same_reg...done. pre_crc:0x880D, mem_crc:0x0000, reg_crc:0x024F +Testing divs_ind...done. pre_crc:0xF4C6, mem_crc:0x0000, reg_crc:0x2937 +Testing divs_absl...done. pre_crc:0x52B7, mem_crc:0x0000, reg_crc:0x8616 +Testing divu_reg...done. pre_crc:0x0A2D, mem_crc:0x0000, reg_crc:0x4A4F +Testing divu_same_reg...done. pre_crc:0x277A, mem_crc:0x0000, reg_crc:0x9328 +Testing divu_ind...done. pre_crc:0x6768, mem_crc:0x0000, reg_crc:0xC963 +Testing divu_absl...done. pre_crc:0xA6C0, mem_crc:0x0000, reg_crc:0xA49B +Testing divul_ll_reg...done. pre_crc:0xA3CA, mem_crc:0x0000, reg_crc:0xAB94 +Testing divul_ll_ind...done. pre_crc:0x597B, mem_crc:0x0000, reg_crc:0xD24E +Testing divul_ll_absl...done. pre_crc:0xB830, mem_crc:0x0000, reg_crc:0xF527 +Testing eor_reg...done. pre_crc:0xC8FB, mem_crc:0x0000, reg_crc:0x9C90 +Testing eor_ind...done. pre_crc:0x3B53, mem_crc:0x7CF1, reg_crc:0x61F8 +Testing eor_d16...done. pre_crc:0xB960, mem_crc:0x00E8, reg_crc:0xCD32 +Testing eor_absl...done. pre_crc:0x8A82, mem_crc:0x35BD, reg_crc:0x46DA +Testing eoribw_dreg...done. pre_crc:0x878E, mem_crc:0x0000, reg_crc:0x302E +Testing eoril_dreg...done. pre_crc:0xB251, mem_crc:0x0000, reg_crc:0x6DDC +Testing eoribw_ind...done. pre_crc:0x2CAB, mem_crc:0xC0C0, reg_crc:0x6E19 +Testing eoril_ind...done. pre_crc:0x1082, mem_crc:0x30F0, reg_crc:0x828E +Testing eoribw_d16...done. pre_crc:0x571A, mem_crc:0xA134, reg_crc:0xD2E7 +Testing eoril_d16...done. pre_crc:0x4D58, mem_crc:0xB57A, reg_crc:0x6EE3 +Testing eoribw_absl...done. pre_crc:0x2AB3, mem_crc:0x9A5C, reg_crc:0x8002 +Testing eoril_absl...done. pre_crc:0x4EED, mem_crc:0x0246, reg_crc:0x7DB4 +Testing eori_to_ccr...done. pre_crc:0x9383, mem_crc:0x0000, reg_crc:0x4455 +Testing exg...done. pre_crc:0x50E2, mem_crc:0x0000, reg_crc:0x08CE +Testing ext...done. pre_crc:0x8FF6, mem_crc:0x0000, reg_crc:0xEAA1 +Testing jmp_absl...done. pre_crc:0xE595, mem_crc:0x0000, reg_crc:0x96D2 +Testing jmp_ind...done. pre_crc:0x08A4, mem_crc:0x0000, reg_crc:0x0665 +Testing jmp_d16...done. pre_crc:0x67BF, mem_crc:0x0000, reg_crc:0xB165 +Testing jsr_absl...done. pre_crc:0x5D7F, mem_crc:0xE33D, reg_crc:0x9EE0 +Testing jsr_ind...done. pre_crc:0x01CA, mem_crc:0xD4C9, reg_crc:0x39C0 +Testing jsr_d16...done. pre_crc:0x8780, mem_crc:0xE8FA, reg_crc:0x2679 +Testing lea_ind...done. pre_crc:0xBAB8, mem_crc:0x0000, reg_crc:0x203E +Testing lea_d16...done. pre_crc:0xAA03, mem_crc:0x0000, reg_crc:0x8B8B +Testing lea_absw...done. pre_crc:0xBDF7, mem_crc:0x0000, reg_crc:0x5825 +Testing lea_absl...done. pre_crc:0xE950, mem_crc:0x0000, reg_crc:0xFDC4 +Testing linkw...done. pre_crc:0x9BAB, mem_crc:0xFB76, reg_crc:0x41C6 +Testing linkl...done. pre_crc:0x5A76, mem_crc:0xA8F4, reg_crc:0xF1A1 +Testing move16_postinc_postinc...done. pre_crc:0x0B2C, mem_crc:0x48ED, reg_crc:0xDAE5 +Testing move16_absl_ind...done. pre_crc:0x2FAF, mem_crc:0x4607, reg_crc:0xF52D +Testing move16_absl_postinc...done. pre_crc:0x2C5E, mem_crc:0x0577, reg_crc:0x1250 +Testing move16_ind_absl...done. pre_crc:0x4D92, mem_crc:0x7E84, reg_crc:0x9451 +Testing move16_postinc_absl...done. pre_crc:0x5724, mem_crc:0x0C30, reg_crc:0xB904 +Testing moveb_dreg_dreg...done. pre_crc:0x0B9F, mem_crc:0x0000, reg_crc:0xA408 +Testing movewl_reg_dreg...done. pre_crc:0x7964, mem_crc:0x0000, reg_crc:0x2086 +Testing moveb_ind_dreg...done. pre_crc:0x4E5B, mem_crc:0x0000, reg_crc:0x5858 +Testing movewl_ind_dreg...done. pre_crc:0xB6F0, mem_crc:0x0000, reg_crc:0x964B +Testing moveb_d16_dreg...done. pre_crc:0x3985, mem_crc:0x0000, reg_crc:0xE35D +Testing movewl_d16_dreg...done. pre_crc:0x7DBF, mem_crc:0x0000, reg_crc:0x27CA +Testing moveb_absl_dreg...done. pre_crc:0x0CA3, mem_crc:0x0000, reg_crc:0x7FD3 +Testing movewl_absl_dreg...done. pre_crc:0x997B, mem_crc:0x0000, reg_crc:0x5522 +Testing movebw_const_dreg...done. pre_crc:0xEC3F, mem_crc:0x0000, reg_crc:0x3B38 +Testing movel_const_dreg...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0x0FF9 +Testing moveb_dreg_ind...done. pre_crc:0x9CFD, mem_crc:0x725F, reg_crc:0xF2AB +Testing movewl_reg_ind...done. pre_crc:0x2BAF, mem_crc:0x40D5, reg_crc:0xA5FF +Testing moveb_dreg_d16...done. pre_crc:0x16D0, mem_crc:0x8C20, reg_crc:0xA740 +Testing movewl_reg_d16...done. pre_crc:0x5117, mem_crc:0xE93D, reg_crc:0xCFF5 +Testing moveb_dreg_absl...done. pre_crc:0x3436, mem_crc:0x2CAD, reg_crc:0xF457 +Testing movewl_reg_absl...done. pre_crc:0x8E8F, mem_crc:0x2C6B, reg_crc:0xAD01 +Testing moveb_ind_ind...done. pre_crc:0x2294, mem_crc:0x5648, reg_crc:0x9E52 +Testing moveb_ind_d16...done. pre_crc:0xD2D9, mem_crc:0xF73B, reg_crc:0xA1C1 +Testing moveb_d16_ind...done. pre_crc:0xFDFE, mem_crc:0x5AE8, reg_crc:0x6999 +Testing movewl_ind_d16...done. pre_crc:0x2E53, mem_crc:0xA42F, reg_crc:0xBC70 +Testing movewl_d16_ind...done. pre_crc:0x92B0, mem_crc:0x5E5E, reg_crc:0x83CD +Testing moveb_d16_d16...done. pre_crc:0x35EA, mem_crc:0x7980, reg_crc:0x2D69 +Testing movewl_d16_d16...done. pre_crc:0xD5B5, mem_crc:0x2155, reg_crc:0x5A27 +Testing moveb_ind_absl...done. pre_crc:0x62F4, mem_crc:0xC22A, reg_crc:0x79D3 +Testing movewl_ind_absl...done. pre_crc:0x5AB6, mem_crc:0x300C, reg_crc:0x3734 +Testing moveb_absl_ind...done. pre_crc:0xDFB5, mem_crc:0x4BA5, reg_crc:0x10F2 +Testing movewl_absl_ind...done. pre_crc:0xDE7B, mem_crc:0x32F7, reg_crc:0xDDC0 +Testing moveb_absl_absl...done. pre_crc:0x3C33, mem_crc:0xA8B9, reg_crc:0xDFE6 +Testing movewl_absl_absl...done. pre_crc:0x8F1C, mem_crc:0x8975, reg_crc:0xC3A6 +Testing moveb_d16_absl...done. pre_crc:0x7693, mem_crc:0xB88E, reg_crc:0xC1DA +Testing movewl_d16_absl...done. pre_crc:0x6928, mem_crc:0xB4A3, reg_crc:0x4299 +Testing moveb_absl_d16...done. pre_crc:0x3F05, mem_crc:0x9C66, reg_crc:0x084C +Testing movewl_absl_d16...done. pre_crc:0x238C, mem_crc:0x5710, reg_crc:0xF92E +Testing moveb_const_ind...done. pre_crc:0x4A61, mem_crc:0xD866, reg_crc:0x3E9D +Testing moveb_const_d16...done. pre_crc:0xC33C, mem_crc:0x59E4, reg_crc:0x41D1 +Testing moveb_const_absl...done. pre_crc:0x018A, mem_crc:0xE72D, reg_crc:0x7A85 +Testing movew_const_ind...done. pre_crc:0x74F9, mem_crc:0xA2C2, reg_crc:0xBBA3 +Testing movew_const_d16...done. pre_crc:0x1F91, mem_crc:0x2AB6, reg_crc:0xA294 +Testing movew_const_absl...done. pre_crc:0xA4AE, mem_crc:0x09EB, reg_crc:0x4F98 +Testing movel_const_ind...done. pre_crc:0xD5DE, mem_crc:0x5CFC, reg_crc:0x9AFC +Testing movel_const_d16...done. pre_crc:0xE185, mem_crc:0x4CF4, reg_crc:0xB0B5 +Testing movel_const_absl...done. pre_crc:0x9579, mem_crc:0xE9F8, reg_crc:0x5381 +Testing movea_reg...done. pre_crc:0xF740, mem_crc:0x0000, reg_crc:0xC0C0 +Testing movea_ind...done. pre_crc:0x4AAE, mem_crc:0x0000, reg_crc:0xCDC2 +Testing movea_d16...done. pre_crc:0x7A4C, mem_crc:0x0000, reg_crc:0x3808 +Testing movea_absl...done. pre_crc:0x70EF, mem_crc:0x0000, reg_crc:0xBAB9 +Testing moveaw_const...done. pre_crc:0x1611, mem_crc:0x0000, reg_crc:0xA300 +Testing moveal_const...done. pre_crc:0xF67D, mem_crc:0x0000, reg_crc:0x7DD7 +Testing move_from_ccr_dreg...done. pre_crc:0xCD21, mem_crc:0x0000, reg_crc:0x3401 +Testing move_from_ccr_ind...done. pre_crc:0x57AB, mem_crc:0x0000, reg_crc:0x7E35 +Testing move_from_ccr_d16...done. pre_crc:0xF5E2, mem_crc:0x0000, reg_crc:0x1313 +Testing move_to_ccr_reg...done. pre_crc:0x356C, mem_crc:0x0000, reg_crc:0xFB1A +Testing move_to_ccr_ind...done. pre_crc:0x45C0, mem_crc:0x0000, reg_crc:0x604E +Testing movem_to_ind...done. pre_crc:0x86A4, mem_crc:0x7C5D, reg_crc:0x364E +Testing movem_to_predec...done. pre_crc:0x8E77, mem_crc:0xA011, reg_crc:0x6C14 +Testing movem_to_d16...done. pre_crc:0x377D, mem_crc:0xFC1E, reg_crc:0x2946 +Testing movem_to_absl...done. pre_crc:0x4449, mem_crc:0xD70F, reg_crc:0x1160 +Testing movem_from_d16...done. pre_crc:0xAB2E, mem_crc:0x0000, reg_crc:0x63D4 +Testing movem_from_ind...done. pre_crc:0x9CE9, mem_crc:0x0000, reg_crc:0x8BD8 +Testing movem_from_absl...done. pre_crc:0x9F00, mem_crc:0x0000, reg_crc:0x1CF8 +Testing movep_to_mem...done. pre_crc:0x569C, mem_crc:0x024A, reg_crc:0x43CB +Testing movep_from_mem...done. pre_crc:0xDE9D, mem_crc:0x0000, reg_crc:0x3021 +Testing moveq...done. pre_crc:0x8B8C, mem_crc:0x0000, reg_crc:0xFA27 +Testing mulsw_dreg...done. pre_crc:0x9494, mem_crc:0x0000, reg_crc:0xA85B +Testing mulsw_ind...done. pre_crc:0x1897, mem_crc:0x0000, reg_crc:0x9339 +Testing mulsw_d16...done. pre_crc:0x02EA, mem_crc:0x0000, reg_crc:0x77C0 +Testing mulsw_absl...done. pre_crc:0x7475, mem_crc:0x0000, reg_crc:0x02F7 +Testing muluw_dreg...done. pre_crc:0xCAA2, mem_crc:0x0000, reg_crc:0x7A89 +Testing muluw_ind...done. pre_crc:0x4B38, mem_crc:0x0000, reg_crc:0xB3C7 +Testing muluw_d16...done. pre_crc:0x623A, mem_crc:0x0000, reg_crc:0xA45E +Testing muluw_absl...done. pre_crc:0xC89C, mem_crc:0x0000, reg_crc:0x3462 +Testing mulsl_dreg...done. pre_crc:0xB84A, mem_crc:0x0000, reg_crc:0xD58A +Testing mulsl_ind...done. pre_crc:0x5BCE, mem_crc:0x0000, reg_crc:0x31B3 +Testing mulsl_d16...done. pre_crc:0xC136, mem_crc:0x0000, reg_crc:0x6823 +Testing mulsl_absl...done. pre_crc:0xFFDE, mem_crc:0x0000, reg_crc:0x2FE6 +Testing mulul_dreg...done. pre_crc:0x197C, mem_crc:0x0000, reg_crc:0xC54B +Testing mulul_ind...done. pre_crc:0x59CD, mem_crc:0x0000, reg_crc:0x5639 +Testing mulul_d16...done. pre_crc:0x78BA, mem_crc:0x0000, reg_crc:0x6B6D +Testing mulul_absl...done. pre_crc:0xD0E0, mem_crc:0x0000, reg_crc:0x46F8 +Testing nbcd_reg...done. pre_crc:0x21C4, mem_crc:0x0000, reg_crc:0x71A5 +Testing nbcd_ind...done. pre_crc:0x2A1C, mem_crc:0x9B52, reg_crc:0xDE33 +Testing nbcd_d16...done. pre_crc:0x6512, mem_crc:0x086D, reg_crc:0xD51A +Testing nbcd_absl...done. pre_crc:0x8B7F, mem_crc:0x1F01, reg_crc:0xFFAA +Testing neg_reg...done. pre_crc:0xAAFF, mem_crc:0x0000, reg_crc:0xE4E7 +Testing negb_ind...done. pre_crc:0x331F, mem_crc:0xAE0B, reg_crc:0x111D +Testing negwl_ind...done. pre_crc:0x40D1, mem_crc:0x678F, reg_crc:0x9B98 +Testing negb_d16...done. pre_crc:0xFD0D, mem_crc:0x87D7, reg_crc:0x5C9A +Testing negwl_d16...done. pre_crc:0x44B8, mem_crc:0x0F59, reg_crc:0x84A0 +Testing neg_absl...done. pre_crc:0x12A1, mem_crc:0x0393, reg_crc:0x73D6 +Testing negx_reg...done. pre_crc:0x963C, mem_crc:0x0000, reg_crc:0xF78F +Testing negxb_ind...done. pre_crc:0xA6DF, mem_crc:0x09F5, reg_crc:0xC832 +Testing negxwl_ind...done. pre_crc:0x040A, mem_crc:0x5EEA, reg_crc:0xBA62 +Testing negxb_d16...done. pre_crc:0x2375, mem_crc:0x8DF0, reg_crc:0xDAF4 +Testing negxwl_d16...done. pre_crc:0xB2F3, mem_crc:0x2E42, reg_crc:0x7AD9 +Testing negx_absl...done. pre_crc:0x9C0E, mem_crc:0x058D, reg_crc:0x44E1 +Testing nop...done. pre_crc:0x6B9B, mem_crc:0x0000, reg_crc:0x4BA0 +Testing not_reg...done. pre_crc:0xAA95, mem_crc:0x0000, reg_crc:0xE357 +Testing notb_ind...done. pre_crc:0xB1DB, mem_crc:0x5B08, reg_crc:0xE436 +Testing notwl_ind...done. pre_crc:0xD93C, mem_crc:0x7AC7, reg_crc:0x82F5 +Testing notb_d16...done. pre_crc:0x8F0F, mem_crc:0x78EB, reg_crc:0xD7A9 +Testing notwl_d16...done. pre_crc:0x750F, mem_crc:0x7CE9, reg_crc:0xFD9B +Testing not_absl...done. pre_crc:0x12A6, mem_crc:0x1C5D, reg_crc:0x2496 +Testing or_dreg_dreg...done. pre_crc:0x157B, mem_crc:0x0000, reg_crc:0xD0D5 +Testing or_ind_dreg...done. pre_crc:0xCA62, mem_crc:0x0000, reg_crc:0x2D71 +Testing or_d16_dreg...done. pre_crc:0xA907, mem_crc:0x0000, reg_crc:0x2AA2 +Testing or_absl_dreg...done. pre_crc:0xA82C, mem_crc:0x0000, reg_crc:0x69F5 +Testing orbw_const_dreg...done. pre_crc:0xB98A, mem_crc:0x0000, reg_crc:0x62B9 +Testing orl_const_dreg...done. pre_crc:0x0539, mem_crc:0x0000, reg_crc:0xB7AC +Testing or_dreg_ind...done. pre_crc:0xE235, mem_crc:0xAEA1, reg_crc:0xD106 +Testing or_dreg_d16...done. pre_crc:0x1F4C, mem_crc:0x5988, reg_crc:0x42E2 +Testing or_dreg_absl...done. pre_crc:0x7204, mem_crc:0x11D8, reg_crc:0x002D +Testing oribw_dreg...done. pre_crc:0x7DE0, mem_crc:0x0000, reg_crc:0x531B +Testing oril_dreg...done. pre_crc:0x7F94, mem_crc:0x0000, reg_crc:0xFDD0 +Testing oribw_ind...done. pre_crc:0x33AD, mem_crc:0x7579, reg_crc:0xC408 +Testing oril_ind...done. pre_crc:0x26CE, mem_crc:0xC36A, reg_crc:0x876C +Testing oribw_d16...done. pre_crc:0x936B, mem_crc:0x4DD1, reg_crc:0x6C03 +Testing oril_d16...done. pre_crc:0xB5DB, mem_crc:0x9D67, reg_crc:0x4F2C +Testing oribw_absl...done. pre_crc:0x4CE3, mem_crc:0x5B8F, reg_crc:0x699C +Testing oril_absl...done. pre_crc:0xC276, mem_crc:0x53BE, reg_crc:0xAFA6 +Testing ori_to_ccr...done. pre_crc:0x422E, mem_crc:0x0000, reg_crc:0x1304 +Testing pack_reg...done. pre_crc:0x1E62, mem_crc:0x0000, reg_crc:0xB784 +Testing pack_mem...done. pre_crc:0xD495, mem_crc:0xF8E5, reg_crc:0x7490 +Testing pea_ind...done. pre_crc:0xE406, mem_crc:0xF8AD, reg_crc:0x3D57 +Testing pea_d16...done. pre_crc:0x8E30, mem_crc:0x8A8C, reg_crc:0x0F1B +Testing pea_absw...done. pre_crc:0x9605, mem_crc:0x4958, reg_crc:0xF785 +Testing pea_absl...done. pre_crc:0xB598, mem_crc:0x4334, reg_crc:0x0FC6 +Testing rol_dx_dy...done. pre_crc:0xA4B6, mem_crc:0x0000, reg_crc:0x1537 +Testing rol_const_dy...done. pre_crc:0xD234, mem_crc:0x0000, reg_crc:0x820A +Testing rol_ind...done. pre_crc:0xF5E6, mem_crc:0x9102, reg_crc:0x9C36 +Testing rol_d16...done. pre_crc:0xB25E, mem_crc:0x2B0A, reg_crc:0x1F83 +Testing rol_absl...done. pre_crc:0x6E2C, mem_crc:0xDDDD, reg_crc:0xEED1 +Testing ror_dx_dy...done. pre_crc:0x71F0, mem_crc:0x0000, reg_crc:0xCDAE +Testing ror_const_dy...done. pre_crc:0x9F21, mem_crc:0x0000, reg_crc:0x710A +Testing ror_ind...done. pre_crc:0x2A43, mem_crc:0x9E19, reg_crc:0x78F0 +Testing ror_d16...done. pre_crc:0x37C9, mem_crc:0x5612, reg_crc:0xD3C8 +Testing ror_absl...done. pre_crc:0x3B73, mem_crc:0x0D70, reg_crc:0xE3C8 +Testing roxl_dx_dy...done. pre_crc:0xEBEF, mem_crc:0x0000, reg_crc:0x721D +Testing roxl_const_dy...done. pre_crc:0x02A0, mem_crc:0x0000, reg_crc:0xF900 +Testing roxl_ind...done. pre_crc:0xF40A, mem_crc:0xD613, reg_crc:0x7992 +Testing roxl_d16...done. pre_crc:0xF497, mem_crc:0xC6A6, reg_crc:0xF360 +Testing roxl_absl...done. pre_crc:0xA6F9, mem_crc:0x0443, reg_crc:0x4844 +Testing roxr_dx_dy...done. pre_crc:0x9450, mem_crc:0x0000, reg_crc:0x36B7 +Testing roxr_const_dy...done. pre_crc:0xE8EE, mem_crc:0x0000, reg_crc:0x378F +Testing roxr_ind...done. pre_crc:0x9DC8, mem_crc:0xFBB9, reg_crc:0xEB0A +Testing roxr_d16...done. pre_crc:0x5E11, mem_crc:0xD2DB, reg_crc:0xA04B +Testing roxr_absl...done. pre_crc:0x52A3, mem_crc:0xD9F2, reg_crc:0x14BE +Testing rtd...done. pre_crc:0x6D7E, mem_crc:0x0000, reg_crc:0x4B5F +Testing rtr...done. pre_crc:0x106D, mem_crc:0x0000, reg_crc:0xFA82 +Testing rts...done. pre_crc:0x956C, mem_crc:0x0000, reg_crc:0x71BE +Testing sbcd_reg...done. pre_crc:0xCCF4, mem_crc:0x0000, reg_crc:0x7F7F +Testing sbcd_mem...done. pre_crc:0x2899, mem_crc:0x9113, reg_crc:0x6179 +Testing Scc_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0x182B +Testing Scc_ind...done. pre_crc:0xEDA7, mem_crc:0x9107, reg_crc:0x602B +Testing Scc_d16...done. pre_crc:0x6DF2, mem_crc:0x94B9, reg_crc:0x8680 +Testing Scc_absl...done. pre_crc:0x749C, mem_crc:0x7417, reg_crc:0xE4C9 +Testing subb_dreg_dreg...done. pre_crc:0x468D, mem_crc:0x0000, reg_crc:0x08BA +Testing subw_reg_dreg...done. pre_crc:0xB397, mem_crc:0x0000, reg_crc:0x5292 +Testing subl_reg_dreg...done. pre_crc:0x18D9, mem_crc:0x0000, reg_crc:0x78C3 +Testing sub_ind_dreg...done. pre_crc:0x17E1, mem_crc:0x0000, reg_crc:0x4B11 +Testing sub_d16_dreg...done. pre_crc:0x8937, mem_crc:0x0000, reg_crc:0x0335 +Testing sub_absl_dreg...done. pre_crc:0x27E4, mem_crc:0x0000, reg_crc:0xE818 +Testing subb_const_dreg...done. pre_crc:0x8545, mem_crc:0x0000, reg_crc:0x23D6 +Testing subw_const_dreg...done. pre_crc:0xB7AC, mem_crc:0x0000, reg_crc:0x744B +Testing subl_const_dreg...done. pre_crc:0xD771, mem_crc:0x0000, reg_crc:0xDEA3 +Testing sub_dreg_ind...done. pre_crc:0x0316, mem_crc:0xC047, reg_crc:0x3574 +Testing sub_dreg_d16...done. pre_crc:0x5D7A, mem_crc:0x468C, reg_crc:0x971A +Testing sub_dreg_absl...done. pre_crc:0x722E, mem_crc:0xD394, reg_crc:0xB80A +Testing subaw_reg_areg...done. pre_crc:0x3DA9, mem_crc:0x0000, reg_crc:0x4D0F +Testing subal_reg_areg...done. pre_crc:0xC6C6, mem_crc:0x0000, reg_crc:0x0AC9 +Testing suba_ind_areg...done. pre_crc:0x9FAA, mem_crc:0x0000, reg_crc:0x9289 +Testing suba_d16_areg...done. pre_crc:0xE7F9, mem_crc:0x0000, reg_crc:0xF042 +Testing suba_absl_areg...done. pre_crc:0xD78A, mem_crc:0x0000, reg_crc:0xE6A8 +Testing subaw_const_areg...done. pre_crc:0x3688, mem_crc:0x0000, reg_crc:0x4B36 +Testing subal_const_areg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0xB9CD +Testing subibw_dreg...done. pre_crc:0x25FC, mem_crc:0x0000, reg_crc:0xD362 +Testing subil_dreg...done. pre_crc:0xA81A, mem_crc:0x0000, reg_crc:0x29AD +Testing subibw_ind...done. pre_crc:0x69EC, mem_crc:0x0185, reg_crc:0xB221 +Testing subil_ind...done. pre_crc:0xBC58, mem_crc:0xF582, reg_crc:0xBF9B +Testing subibw_d16...done. pre_crc:0x423E, mem_crc:0xFC36, reg_crc:0xB23F +Testing subil_d16...done. pre_crc:0xFBAB, mem_crc:0xD178, reg_crc:0x687F +Testing subibw_absl...done. pre_crc:0x7514, mem_crc:0x6C77, reg_crc:0x42E7 +Testing subil_absl...done. pre_crc:0xB65C, mem_crc:0xD0AD, reg_crc:0x07B3 +Testing subq_dreg...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0x94DC +Testing subq_areg...done. pre_crc:0x175C, mem_crc:0x0000, reg_crc:0xF5A6 +Testing subq_ind...done. pre_crc:0x5D1E, mem_crc:0x0EB9, reg_crc:0x64BC +Testing subq_d16...done. pre_crc:0xFA7D, mem_crc:0xAF48, reg_crc:0x759D +Testing subq_absl...done. pre_crc:0xEE13, mem_crc:0x7B03, reg_crc:0x37F1 +Testing subx_reg...done. pre_crc:0x693B, mem_crc:0x0000, reg_crc:0x8D71 +Testing subx_mem...done. pre_crc:0x78BD, mem_crc:0xC8EC, reg_crc:0x835D +Testing swap...done. pre_crc:0xE8E0, mem_crc:0x0000, reg_crc:0xD21B +Testing tas_dreg...done. pre_crc:0x5E25, mem_crc:0x0000, reg_crc:0x51D5 +Testing tas_ind...done. pre_crc:0x84CD, mem_crc:0xE98F, reg_crc:0xB30B +Testing tas_d16...done. pre_crc:0x1368, mem_crc:0x82A6, reg_crc:0xC521 +Testing tas_absl...done. pre_crc:0xDD8F, mem_crc:0x6F81, reg_crc:0x947A +Testing tstb_dreg...done. pre_crc:0x3076, mem_crc:0x0000, reg_crc:0xA44C +Testing tstwl_reg...done. pre_crc:0x5AD1, mem_crc:0x0000, reg_crc:0x8E59 +Testing tstb_ind...done. pre_crc:0xA0F8, mem_crc:0x0000, reg_crc:0xFA96 +Testing tstwl_ind...done. pre_crc:0x8083, mem_crc:0x0000, reg_crc:0x3B4A +Testing tstb_d16...done. pre_crc:0xDD89, mem_crc:0x0000, reg_crc:0xDDB2 +Testing tstwl_d16...done. pre_crc:0x5E82, mem_crc:0x0000, reg_crc:0xB531 +Testing tst_absl...done. pre_crc:0x5A18, mem_crc:0x0000, reg_crc:0x5BF4 diff --git a/test/68k.out.1000 b/test/68k.out.1000 new file mode 100644 index 0000000..9396299 --- /dev/null +++ b/test/68k.out.1000 @@ -0,0 +1,480 @@ +mem == 0x250000 +Testing unpk_reg...done. pre_crc:0xA8F5, mem_crc:0x0000, reg_crc:0x7F2A +Testing unpk_mem...done. pre_crc:0x9DDC, mem_crc:0x769D, reg_crc:0xF9F9 +Testing unlk...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0x4049 +Testing movewl_ind_ind...done. pre_crc:0x5C7C, mem_crc:0x9138, reg_crc:0xE68C +Testing divsl_ll_reg...done. pre_crc:0x7AA7, mem_crc:0x0000, reg_crc:0xB515 +Testing divsl_ll_ind...done. pre_crc:0xA55C, mem_crc:0x0000, reg_crc:0xC39A +Testing divsl_ll_absl...done. pre_crc:0xF84C, mem_crc:0x0000, reg_crc:0x5146 +Testing lea_pc_ind_preix...done. pre_crc:0x087D, mem_crc:0x0000, reg_crc:0x61B0 +Testing lea_pc_ind_postix...done. pre_crc:0x2ABA, mem_crc:0x0000, reg_crc:0x51DC +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x00C2, mem_crc:0x0000, reg_crc:0x0D29 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0x49BF +Testing moveb_pcd16_dreg...done. pre_crc:0x98EB, mem_crc:0x0000, reg_crc:0x84B1 +Testing movewl_pcd16_dreg...done. pre_crc:0xFCEE, mem_crc:0x0000, reg_crc:0xDE44 +Testing moveb_pcd8_dreg...done. pre_crc:0x7C4D, mem_crc:0x0000, reg_crc:0x0B49 +Testing movewl_pcd8_dreg...done. pre_crc:0x7B44, mem_crc:0x0000, reg_crc:0x04C8 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xB56D, mem_crc:0x0000, reg_crc:0xF6EE +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xE89A, mem_crc:0x0000, reg_crc:0x6707 +Testing lea_ind_preix...done. pre_crc:0x6CF2, mem_crc:0x0000, reg_crc:0x4037 +Testing lea_ind_postix...done. pre_crc:0xCC06, mem_crc:0x0000, reg_crc:0x701C +Testing add_absl_dreg...done. pre_crc:0xCB59, mem_crc:0x0000, reg_crc:0x4C68 +Testing abcd_reg...done. pre_crc:0x5E8F, mem_crc:0x0000, reg_crc:0xB6F8 +Testing abcd_mem...done. pre_crc:0xB1E6, mem_crc:0x9C12, reg_crc:0x2A8F +Testing addb_dreg_dreg...done. pre_crc:0x6FFF, mem_crc:0x0000, reg_crc:0x0F3C +Testing addw_reg_dreg...done. pre_crc:0xA422, mem_crc:0x0000, reg_crc:0x52A4 +Testing addl_reg_dreg...done. pre_crc:0x4399, mem_crc:0x0000, reg_crc:0x1EBE +Testing add_d16_dreg...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0x09C6 +Testing addb_const_dreg...done. pre_crc:0xD33D, mem_crc:0x0000, reg_crc:0xBBF5 +Testing addw_const_dreg...done. pre_crc:0x049D, mem_crc:0x0000, reg_crc:0x1AD6 +Testing add_dreg_ind...done. pre_crc:0xCA4A, mem_crc:0x1809, reg_crc:0xC2FD +Testing add_ind_dreg...done. pre_crc:0x9B0E, mem_crc:0x0000, reg_crc:0x5201 +Testing addl_const_dreg...done. pre_crc:0x2B78, mem_crc:0x0000, reg_crc:0x6063 +Testing add_dreg_d16...done. pre_crc:0xFBC9, mem_crc:0x6999, reg_crc:0x491F +Testing add_dreg_absl...done. pre_crc:0xE208, mem_crc:0x05E2, reg_crc:0xEF8C +Testing addaw_reg_areg...done. pre_crc:0x1FF3, mem_crc:0x0000, reg_crc:0x3168 +Testing addal_reg_areg...done. pre_crc:0x9D8F, mem_crc:0x0000, reg_crc:0xAA59 +Testing adda_ind_areg...done. pre_crc:0x5047, mem_crc:0x0000, reg_crc:0xA060 +Testing adda_d16_areg...done. pre_crc:0xEA20, mem_crc:0x0000, reg_crc:0xCDB6 +Testing adda_absl_areg...done. pre_crc:0xE775, mem_crc:0x0000, reg_crc:0xF348 +Testing addaw_const_areg...done. pre_crc:0xFC77, mem_crc:0x0000, reg_crc:0x24C6 +Testing addal_const_areg...done. pre_crc:0x1C78, mem_crc:0x0000, reg_crc:0x4441 +Testing addibw_dreg...done. pre_crc:0xD336, mem_crc:0x0000, reg_crc:0xF505 +Testing addil_dreg...done. pre_crc:0x53D3, mem_crc:0x0000, reg_crc:0xB3DF +Testing addibw_ind...done. pre_crc:0x1EA5, mem_crc:0x632D, reg_crc:0x9678 +Testing addil_ind...done. pre_crc:0x7617, mem_crc:0x2128, reg_crc:0x0069 +Testing addibw_d16...done. pre_crc:0x95A2, mem_crc:0xC415, reg_crc:0x3751 +Testing addil_d16...done. pre_crc:0x1206, mem_crc:0x507B, reg_crc:0x64B9 +Testing addibw_absl...done. pre_crc:0x6188, mem_crc:0x7C6D, reg_crc:0x0749 +Testing addil_absl...done. pre_crc:0x6E9B, mem_crc:0x3B7C, reg_crc:0x3138 +Testing addq_dreg...done. pre_crc:0x5CA9, mem_crc:0x0000, reg_crc:0x6371 +Testing addq_areg...done. pre_crc:0x1E40, mem_crc:0x0000, reg_crc:0xFEEA +Testing addq_ind...done. pre_crc:0x799C, mem_crc:0xCE45, reg_crc:0xE7A9 +Testing addq_d16...done. pre_crc:0x5627, mem_crc:0x802C, reg_crc:0xB3F2 +Testing addq_absl...done. pre_crc:0x47CE, mem_crc:0x7CC7, reg_crc:0x3849 +Testing addx_reg...done. pre_crc:0x109A, mem_crc:0x0000, reg_crc:0x5237 +Testing addx_mem...done. pre_crc:0xDFF0, mem_crc:0x3764, reg_crc:0x1EAA +Testing and_dreg_dreg...done. pre_crc:0xC9B3, mem_crc:0x0000, reg_crc:0x2043 +Testing and_ind_dreg...done. pre_crc:0xB620, mem_crc:0x0000, reg_crc:0x189C +Testing and_d16_dreg...done. pre_crc:0x1559, mem_crc:0x0000, reg_crc:0x4C02 +Testing and_absl_dreg...done. pre_crc:0x4282, mem_crc:0x0000, reg_crc:0xCADE +Testing andbw_const_dreg...done. pre_crc:0xC8F4, mem_crc:0x0000, reg_crc:0xE98A +Testing andl_const_dreg...done. pre_crc:0x9C3D, mem_crc:0x0000, reg_crc:0xA8C1 +Testing and_dreg_ind...done. pre_crc:0x02E9, mem_crc:0xDBDE, reg_crc:0x146A +Testing and_dreg_d16...done. pre_crc:0xF1A3, mem_crc:0x5A33, reg_crc:0x7576 +Testing and_dreg_absl...done. pre_crc:0x54CA, mem_crc:0xA5A3, reg_crc:0xFCEB +Testing andibw_dreg...done. pre_crc:0x3F13, mem_crc:0x0000, reg_crc:0x8D66 +Testing andil_dreg...done. pre_crc:0xA4A2, mem_crc:0x0000, reg_crc:0x93DB +Testing andibw_ind...done. pre_crc:0xCD6B, mem_crc:0x2D0F, reg_crc:0x0CC5 +Testing andil_ind...done. pre_crc:0xEB5D, mem_crc:0xF555, reg_crc:0x4368 +Testing andibw_d16...done. pre_crc:0x5B6E, mem_crc:0xEA9E, reg_crc:0xE615 +Testing andil_d16...done. pre_crc:0x044E, mem_crc:0x7908, reg_crc:0xF54E +Testing andibw_absl...done. pre_crc:0xF6D9, mem_crc:0xE089, reg_crc:0xD6A7 +Testing andil_absl...done. pre_crc:0xB54D, mem_crc:0x53CC, reg_crc:0xAD32 +Testing andi_to_ccr...done. pre_crc:0xEC2A, mem_crc:0x0000, reg_crc:0xC01B +Testing asl_dx_dy...done. pre_crc:0x7907, mem_crc:0x0000, reg_crc:0x46D5 +Testing asl_const_dy...done. pre_crc:0x017C, mem_crc:0x0000, reg_crc:0xFF53 +Testing asl_ind...done. pre_crc:0xA20F, mem_crc:0xB0EC, reg_crc:0x7D6C +Testing asl_d16...done. pre_crc:0x71F7, mem_crc:0x1C75, reg_crc:0x6BE6 +Testing asl_absl...done. pre_crc:0xECAD, mem_crc:0xCDC8, reg_crc:0x6BAE +Testing asr_dx_dy...done. pre_crc:0x4D2C, mem_crc:0x0000, reg_crc:0x2DF9 +Testing asr_const_dy...done. pre_crc:0x9EC8, mem_crc:0x0000, reg_crc:0xBC73 +Testing asr_ind...done. pre_crc:0xDFE7, mem_crc:0x2967, reg_crc:0xF02E +Testing asr_d16...done. pre_crc:0xD259, mem_crc:0x12CA, reg_crc:0xA5AA +Testing asr_absl...done. pre_crc:0x7EA6, mem_crc:0x33A6, reg_crc:0xA9F0 +Testing lsl_dx_dy...done. pre_crc:0xD83F, mem_crc:0x0000, reg_crc:0x3D70 +Testing lsl_const_dy...done. pre_crc:0x5AA9, mem_crc:0x0000, reg_crc:0x70CD +Testing lsl_ind...done. pre_crc:0xAF2B, mem_crc:0xA85E, reg_crc:0x72BB +Testing lsl_d16...done. pre_crc:0xA957, mem_crc:0xE6E0, reg_crc:0x953A +Testing lsl_absl...done. pre_crc:0x0503, mem_crc:0x78D2, reg_crc:0x1BDD +Testing lsr_dx_dy...done. pre_crc:0x0F91, mem_crc:0x0000, reg_crc:0x6B58 +Testing lsr_const_dy...done. pre_crc:0x2CCF, mem_crc:0x0000, reg_crc:0xA7B5 +Testing lsr_ind...done. pre_crc:0x51DF, mem_crc:0xF359, reg_crc:0x6B5B +Testing lsr_d16...done. pre_crc:0x3265, mem_crc:0x8DCC, reg_crc:0xE937 +Testing lsr_absl...done. pre_crc:0x65A8, mem_crc:0x8888, reg_crc:0x0E0E +Testing bra_b...done. pre_crc:0x9A14, mem_crc:0x0000, reg_crc:0x6B32 +Testing bhi_b...done. pre_crc:0x8F22, mem_crc:0x0000, reg_crc:0x334D +Testing bls_b...done. pre_crc:0xF5C1, mem_crc:0x0000, reg_crc:0xDF85 +Testing bcc_b...done. pre_crc:0x818E, mem_crc:0x0000, reg_crc:0x188E +Testing bcs_b...done. pre_crc:0x61C8, mem_crc:0x0000, reg_crc:0xDF85 +Testing bne_b...done. pre_crc:0xCAEC, mem_crc:0x0000, reg_crc:0xFE54 +Testing beq_b...done. pre_crc:0x962A, mem_crc:0x0000, reg_crc:0x421E +Testing bvc_b...done. pre_crc:0xC42D, mem_crc:0x0000, reg_crc:0x533A +Testing bvs_b...done. pre_crc:0x972C, mem_crc:0x0000, reg_crc:0x08CE +Testing bpl_b...done. pre_crc:0x067F, mem_crc:0x0000, reg_crc:0x3517 +Testing bmi_b...done. pre_crc:0xC782, mem_crc:0x0000, reg_crc:0x4C94 +Testing bge_b...done. pre_crc:0x2E7C, mem_crc:0x0000, reg_crc:0xB4CF +Testing blt_b...done. pre_crc:0x581A, mem_crc:0x0000, reg_crc:0x4C89 +Testing bgt_b...done. pre_crc:0x67F4, mem_crc:0x0000, reg_crc:0x9C44 +Testing ble_b...done. pre_crc:0xC1AC, mem_crc:0x0000, reg_crc:0xD9B3 +Testing bra_w...done. pre_crc:0x9998, mem_crc:0x0000, reg_crc:0xD0F8 +Testing bhi_w...done. pre_crc:0x1285, mem_crc:0x0000, reg_crc:0x8973 +Testing bls_w...done. pre_crc:0x235E, mem_crc:0x0000, reg_crc:0x750E +Testing bcc_w...done. pre_crc:0x1E4C, mem_crc:0x0000, reg_crc:0x5FAF +Testing bcs_w...done. pre_crc:0xD816, mem_crc:0x0000, reg_crc:0x7368 +Testing bne_w...done. pre_crc:0x7435, mem_crc:0x0000, reg_crc:0x968D +Testing beq_w...done. pre_crc:0x1703, mem_crc:0x0000, reg_crc:0xD30E +Testing bvc_w...done. pre_crc:0x78F6, mem_crc:0x0000, reg_crc:0x53EE +Testing bvs_w...done. pre_crc:0x8481, mem_crc:0x0000, reg_crc:0x4E87 +Testing bpl_w...done. pre_crc:0xDA47, mem_crc:0x0000, reg_crc:0x25D6 +Testing bmi_w...done. pre_crc:0x420D, mem_crc:0x0000, reg_crc:0x911A +Testing bge_w...done. pre_crc:0x617B, mem_crc:0x0000, reg_crc:0xFCBE +Testing blt_w...done. pre_crc:0xE0F8, mem_crc:0x0000, reg_crc:0x598D +Testing bgt_w...done. pre_crc:0xFC2E, mem_crc:0x0000, reg_crc:0x14F0 +Testing ble_w...done. pre_crc:0xA9CA, mem_crc:0x0000, reg_crc:0xA86E +Testing bra_l...done. pre_crc:0xE02B, mem_crc:0x0000, reg_crc:0x78FC +Testing bhi_l...done. pre_crc:0x0B7E, mem_crc:0x0000, reg_crc:0xAC6F +Testing bls_l...done. pre_crc:0x55F0, mem_crc:0x0000, reg_crc:0x5EB5 +Testing bcc_l...done. pre_crc:0x2AB8, mem_crc:0x0000, reg_crc:0x928F +Testing bcs_l...done. pre_crc:0x2B2C, mem_crc:0x0000, reg_crc:0x326B +Testing bne_l...done. pre_crc:0xE95A, mem_crc:0x0000, reg_crc:0x2211 +Testing beq_l...done. pre_crc:0xDB7B, mem_crc:0x0000, reg_crc:0xE4E7 +Testing bvc_l...done. pre_crc:0x34DC, mem_crc:0x0000, reg_crc:0x7EC3 +Testing bvs_l...done. pre_crc:0xCD18, mem_crc:0x0000, reg_crc:0x1E28 +Testing bpl_l...done. pre_crc:0x3BE5, mem_crc:0x0000, reg_crc:0xDF0B +Testing bmi_l...done. pre_crc:0x91F9, mem_crc:0x0000, reg_crc:0xA8EA +Testing bge_l...done. pre_crc:0x2E71, mem_crc:0x0000, reg_crc:0x0B7F +Testing blt_l...done. pre_crc:0xA770, mem_crc:0x0000, reg_crc:0x5AFC +Testing bgt_l...done. pre_crc:0x59B1, mem_crc:0x0000, reg_crc:0x7AEC +Testing ble_l...done. pre_crc:0x3F0B, mem_crc:0x0000, reg_crc:0x80E0 +Testing bchg_reg_reg...done. pre_crc:0x1E83, mem_crc:0x0000, reg_crc:0x66B2 +Testing bchg_const_reg...done. pre_crc:0x25DF, mem_crc:0x0000, reg_crc:0xBB44 +Testing bchg_reg_ind...done. pre_crc:0x7E33, mem_crc:0xF9AA, reg_crc:0x8ECA +Testing bchg_const_ind...done. pre_crc:0x73D4, mem_crc:0x1619, reg_crc:0xA8B3 +Testing bchg_reg_d16...done. pre_crc:0x4BE2, mem_crc:0xAEB9, reg_crc:0x0535 +Testing bchg_const_d16...done. pre_crc:0xFA93, mem_crc:0xB040, reg_crc:0x5BD6 +Testing bchg_reg_absl...done. pre_crc:0x78AF, mem_crc:0xC1C4, reg_crc:0x6B25 +Testing bchg_const_absl...done. pre_crc:0x3A6C, mem_crc:0xADC7, reg_crc:0x6BC4 +Testing bclr_reg_reg...done. pre_crc:0xE6D3, mem_crc:0x0000, reg_crc:0x33AC +Testing bclr_const_reg...done. pre_crc:0x65B8, mem_crc:0x0000, reg_crc:0x01E5 +Testing bclr_reg_ind...done. pre_crc:0x12E6, mem_crc:0xC611, reg_crc:0x7717 +Testing bclr_const_ind...done. pre_crc:0x4EB5, mem_crc:0xAF69, reg_crc:0x3C2E +Testing bclr_reg_d16...done. pre_crc:0xC1C1, mem_crc:0xF425, reg_crc:0x7447 +Testing bclr_const_d16...done. pre_crc:0x421C, mem_crc:0x9330, reg_crc:0xBFB3 +Testing bclr_reg_absl...done. pre_crc:0x5B1E, mem_crc:0x806D, reg_crc:0x0119 +Testing bclr_const_absl...done. pre_crc:0xF96C, mem_crc:0xB27D, reg_crc:0x263B +Testing bset_reg_reg...done. pre_crc:0x42DA, mem_crc:0x0000, reg_crc:0x1002 +Testing bset_const_reg...done. pre_crc:0x0CC2, mem_crc:0x0000, reg_crc:0xFF63 +Testing bset_reg_ind...done. pre_crc:0xBEC2, mem_crc:0xF32B, reg_crc:0x0D10 +Testing bset_const_ind...done. pre_crc:0x9634, mem_crc:0x38CD, reg_crc:0x7269 +Testing bset_reg_d16...done. pre_crc:0x729C, mem_crc:0xF618, reg_crc:0x1141 +Testing bset_const_d16...done. pre_crc:0x5F65, mem_crc:0xF8FE, reg_crc:0xA693 +Testing bset_reg_absl...done. pre_crc:0x4B7D, mem_crc:0x5A27, reg_crc:0x3FD2 +Testing bset_const_absl...done. pre_crc:0x6652, mem_crc:0xBCB0, reg_crc:0x0B9B +Testing btst_reg_reg...done. pre_crc:0x7E13, mem_crc:0x0000, reg_crc:0x6EC2 +Testing btst_const_reg...done. pre_crc:0x52B9, mem_crc:0x0000, reg_crc:0x2E39 +Testing btst_reg_ind...done. pre_crc:0x8989, mem_crc:0x0000, reg_crc:0xE465 +Testing btst_const_ind...done. pre_crc:0x7B00, mem_crc:0x0000, reg_crc:0x4766 +Testing btst_reg_d16...done. pre_crc:0x8A42, mem_crc:0x0000, reg_crc:0x83D9 +Testing btst_const_d16...done. pre_crc:0x78AE, mem_crc:0x0000, reg_crc:0xEBF0 +Testing btst_reg_absl...done. pre_crc:0x705B, mem_crc:0x0000, reg_crc:0x71AF +Testing btst_const_absl...done. pre_crc:0x8448, mem_crc:0x0000, reg_crc:0x93B8 +Testing bfchg_reg...done. pre_crc:0xB7EC, mem_crc:0x0000, reg_crc:0x80F2 +Testing bfchg_ind...done. pre_crc:0x02E3, mem_crc:0x5553, reg_crc:0xDAF7 +Testing bfchg_d16...done. pre_crc:0x5135, mem_crc:0xE5FB, reg_crc:0xE0F2 +Testing bfchg_absl...done. pre_crc:0x83F4, mem_crc:0x8AEF, reg_crc:0x24BE +Testing bfclr_reg...done. pre_crc:0x7D37, mem_crc:0x0000, reg_crc:0x6161 +Testing bfclr_ind...done. pre_crc:0xC9DE, mem_crc:0x0512, reg_crc:0x37DF +Testing bfclr_d16...done. pre_crc:0x52C5, mem_crc:0x38C4, reg_crc:0x6E08 +Testing bfclr_absl...done. pre_crc:0x89D2, mem_crc:0xDD17, reg_crc:0x905F +Testing bfset_reg...done. pre_crc:0x507E, mem_crc:0x0000, reg_crc:0x0C09 +Testing bfset_ind...done. pre_crc:0xD361, mem_crc:0xCD68, reg_crc:0x1255 +Testing bfset_d16...done. pre_crc:0x8A67, mem_crc:0xC656, reg_crc:0xCDCE +Testing bfset_absl...done. pre_crc:0xDCEA, mem_crc:0xCA3C, reg_crc:0xDEEB +Testing bftst_reg...done. pre_crc:0xF967, mem_crc:0x0000, reg_crc:0x2BEE +Testing bftst_ind...done. pre_crc:0x6D2B, mem_crc:0x0000, reg_crc:0x5283 +Testing bftst_d16...done. pre_crc:0x9A91, mem_crc:0x0000, reg_crc:0x9CCF +Testing bftst_absl...done. pre_crc:0x07C4, mem_crc:0x0000, reg_crc:0x16E0 +Testing bfexts_reg...done. pre_crc:0x9C1B, mem_crc:0x0000, reg_crc:0x9565 +Testing bfexts_ind...done. pre_crc:0x1CA9, mem_crc:0x0000, reg_crc:0xDE5F +Testing bfexts_d16...done. pre_crc:0x1F74, mem_crc:0x0000, reg_crc:0x201C +Testing bfexts_absl...done. pre_crc:0xD77D, mem_crc:0x0000, reg_crc:0xE114 +Testing bfextu_reg...done. pre_crc:0xCFA7, mem_crc:0x0000, reg_crc:0xD0F1 +Testing bfextu_ind...done. pre_crc:0xC57A, mem_crc:0x0000, reg_crc:0x84B2 +Testing bfextu_d16...done. pre_crc:0xB785, mem_crc:0x0000, reg_crc:0x233E +Testing bfextu_absl...done. pre_crc:0x7B3B, mem_crc:0x0000, reg_crc:0x8F8F +Testing bfffo_reg...done. pre_crc:0x2167, mem_crc:0x0000, reg_crc:0x3FB8 +Testing bfffo_ind...done. pre_crc:0xB986, mem_crc:0x0000, reg_crc:0x4CC8 +Testing bfffo_d16...done. pre_crc:0x0EDA, mem_crc:0x0000, reg_crc:0xE4C6 +Testing bfffo_absl...done. pre_crc:0x83C9, mem_crc:0x0000, reg_crc:0x51E9 +Testing bfins_reg...done. pre_crc:0x4427, mem_crc:0x0000, reg_crc:0xA1DF +Testing bfins_ind...done. pre_crc:0xF047, mem_crc:0x31F8, reg_crc:0x123A +Testing bfins_d16...done. pre_crc:0x62BC, mem_crc:0xB4CC, reg_crc:0xE8D1 +Testing bfins_absl...done. pre_crc:0x87CD, mem_crc:0x7EEB, reg_crc:0xCCB7 +Testing bsr_b...done. pre_crc:0xC9F0, mem_crc:0x2670, reg_crc:0xDE2E +Testing bsr_w...done. pre_crc:0x8063, mem_crc:0x25C4, reg_crc:0x76DC +Testing bsr_l...done. pre_crc:0xEDF7, mem_crc:0x47A3, reg_crc:0x939A +Testing cas_ind...done. pre_crc:0xC976, mem_crc:0xEC89, reg_crc:0x9A6C +Testing cas2_areg...done. pre_crc:0x3687, mem_crc:0xC4D9, reg_crc:0xFFB1 +Testing cas2_anyreg...done. pre_crc:0xB4A0, mem_crc:0x7790, reg_crc:0x6E15 +Testing clr_reg...done. pre_crc:0x7A7B, mem_crc:0x0000, reg_crc:0x070D +Testing clrb_ind...done. pre_crc:0x6C5C, mem_crc:0x366F, reg_crc:0x8447 +Testing clrwl_ind...done. pre_crc:0x490B, mem_crc:0x5C8E, reg_crc:0x116A +Testing clrb_absl...done. pre_crc:0x5B76, mem_crc:0xB150, reg_crc:0x579D +Testing clrwl_absl...done. pre_crc:0xA731, mem_crc:0x409B, reg_crc:0x7495 +Testing cmp_dreg...done. pre_crc:0x2899, mem_crc:0x0000, reg_crc:0x421E +Testing cmp_areg...done. pre_crc:0x5D63, mem_crc:0x0000, reg_crc:0xE9B5 +Testing cmpb_ind...done. pre_crc:0x07F2, mem_crc:0x0000, reg_crc:0x1CE3 +Testing cmpwl_ind...done. pre_crc:0x56F5, mem_crc:0x0000, reg_crc:0xA595 +Testing cmpb_d16...done. pre_crc:0xF62C, mem_crc:0x0000, reg_crc:0x88C5 +Testing cmpwl_d16...done. pre_crc:0x9B85, mem_crc:0x0000, reg_crc:0xE2FF +Testing cmpa_reg...done. pre_crc:0xCA34, mem_crc:0x0000, reg_crc:0x8859 +Testing cmpa_ind...done. pre_crc:0xA225, mem_crc:0x0000, reg_crc:0xE375 +Testing cmpa_ind2...done. pre_crc:0x7A4A, mem_crc:0x0000, reg_crc:0xAD5D +Testing cmpa_d16...done. pre_crc:0xB2AA, mem_crc:0x0000, reg_crc:0x5FC6 +Testing cmpa_d16_2...done. pre_crc:0x7043, mem_crc:0x0000, reg_crc:0xE349 +Testing cmpa_absl...done. pre_crc:0x92F0, mem_crc:0x0000, reg_crc:0x54A2 +Testing cmpibw_reg...done. pre_crc:0x3598, mem_crc:0x0000, reg_crc:0xA02B +Testing cmpil_reg...done. pre_crc:0x7EE8, mem_crc:0x0000, reg_crc:0x3333 +Testing cmpib_ind...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x0A74 +Testing cmpiw_ind...done. pre_crc:0xB734, mem_crc:0x0000, reg_crc:0xB69B +Testing cmpil_ind...done. pre_crc:0x6DD4, mem_crc:0x0000, reg_crc:0x25EC +Testing cmpmb...done. pre_crc:0x3BBA, mem_crc:0x0000, reg_crc:0x7DBE +Testing cmpmwl...done. pre_crc:0x8A2D, mem_crc:0x0000, reg_crc:0xE91F +Testing cmp2b_ind...done. pre_crc:0x2634, mem_crc:0x0000, reg_crc:0xC1FD +Testing cmp2wl_ind...done. pre_crc:0x53C1, mem_crc:0x0000, reg_crc:0x0CBE +Testing dbcc...done. pre_crc:0xAB62, mem_crc:0x0000, reg_crc:0x1589 +Testing divs_reg...done. pre_crc:0x4EB2, mem_crc:0x0000, reg_crc:0xBF3B +Testing divs_same_reg...done. pre_crc:0x880D, mem_crc:0x0000, reg_crc:0x34AD +Testing divs_ind...done. pre_crc:0xF4C6, mem_crc:0x0000, reg_crc:0x2A1A +Testing divs_absl...done. pre_crc:0x52B7, mem_crc:0x0000, reg_crc:0x7FBC +Testing divu_reg...done. pre_crc:0x0A2D, mem_crc:0x0000, reg_crc:0x46FD +Testing divu_same_reg...done. pre_crc:0x277A, mem_crc:0x0000, reg_crc:0xE58C +Testing divu_ind...done. pre_crc:0x6768, mem_crc:0x0000, reg_crc:0xD4D1 +Testing divu_absl...done. pre_crc:0xA6C0, mem_crc:0x0000, reg_crc:0x8E74 +Testing divul_ll_reg...done. pre_crc:0xA3CA, mem_crc:0x0000, reg_crc:0xD65D +Testing divul_ll_ind...done. pre_crc:0x597B, mem_crc:0x0000, reg_crc:0xD8F0 +Testing divul_ll_absl...done. pre_crc:0xB830, mem_crc:0x0000, reg_crc:0x7FAE +Testing eor_reg...done. pre_crc:0xC8FB, mem_crc:0x0000, reg_crc:0x0E73 +Testing eor_ind...done. pre_crc:0x3B53, mem_crc:0x7CF1, reg_crc:0x2004 +Testing eor_d16...done. pre_crc:0xB960, mem_crc:0x00E8, reg_crc:0xF336 +Testing eor_absl...done. pre_crc:0x8A82, mem_crc:0x35BD, reg_crc:0x7E6A +Testing eoribw_dreg...done. pre_crc:0x878E, mem_crc:0x0000, reg_crc:0xD63E +Testing eoril_dreg...done. pre_crc:0xB251, mem_crc:0x0000, reg_crc:0xD739 +Testing eoribw_ind...done. pre_crc:0x2CAB, mem_crc:0xC0C0, reg_crc:0xBF5D +Testing eoril_ind...done. pre_crc:0x1082, mem_crc:0x30F0, reg_crc:0x1BF3 +Testing eoribw_d16...done. pre_crc:0x571A, mem_crc:0xA134, reg_crc:0x35D7 +Testing eoril_d16...done. pre_crc:0x4D58, mem_crc:0xB57A, reg_crc:0xD54C +Testing eoribw_absl...done. pre_crc:0x2AB3, mem_crc:0x9A5C, reg_crc:0x8ECC +Testing eoril_absl...done. pre_crc:0x4EED, mem_crc:0x0246, reg_crc:0x5A77 +Testing eori_to_ccr...done. pre_crc:0x9383, mem_crc:0x0000, reg_crc:0x80F4 +Testing exg...done. pre_crc:0x50E2, mem_crc:0x0000, reg_crc:0x08CE +Testing ext...done. pre_crc:0x8FF6, mem_crc:0x0000, reg_crc:0x0DFE +Testing jmp_absl...done. pre_crc:0xE595, mem_crc:0x0000, reg_crc:0x442D +Testing jmp_ind...done. pre_crc:0x08A4, mem_crc:0x0000, reg_crc:0xCDFD +Testing jmp_d16...done. pre_crc:0x67BF, mem_crc:0x0000, reg_crc:0x05BD +Testing jsr_absl...done. pre_crc:0x5D7F, mem_crc:0xE33D, reg_crc:0x6EFD +Testing jsr_ind...done. pre_crc:0x01CA, mem_crc:0xD4C9, reg_crc:0xD46C +Testing jsr_d16...done. pre_crc:0x8780, mem_crc:0xE8FA, reg_crc:0x8714 +Testing lea_ind...done. pre_crc:0xBAB8, mem_crc:0x0000, reg_crc:0x203E +Testing lea_d16...done. pre_crc:0xAA03, mem_crc:0x0000, reg_crc:0x8B8B +Testing lea_absw...done. pre_crc:0xBDF7, mem_crc:0x0000, reg_crc:0x5825 +Testing lea_absl...done. pre_crc:0xE950, mem_crc:0x0000, reg_crc:0xFDC4 +Testing linkw...done. pre_crc:0x9BAB, mem_crc:0xFB76, reg_crc:0x41C6 +Testing linkl...done. pre_crc:0x5A76, mem_crc:0xA8F4, reg_crc:0xF1A1 +Testing move16_postinc_postinc...done. pre_crc:0x0B2C, mem_crc:0x48ED, reg_crc:0xDAE5 +Testing move16_absl_ind...done. pre_crc:0x2FAF, mem_crc:0x4607, reg_crc:0xF52D +Testing move16_absl_postinc...done. pre_crc:0x2C5E, mem_crc:0x0577, reg_crc:0x1250 +Testing move16_ind_absl...done. pre_crc:0x4D92, mem_crc:0x7E84, reg_crc:0x9451 +Testing move16_postinc_absl...done. pre_crc:0x5724, mem_crc:0x0C30, reg_crc:0xB904 +Testing moveb_dreg_dreg...done. pre_crc:0x0B9F, mem_crc:0x0000, reg_crc:0x068E +Testing movewl_reg_dreg...done. pre_crc:0x7964, mem_crc:0x0000, reg_crc:0x4C43 +Testing moveb_ind_dreg...done. pre_crc:0x4E5B, mem_crc:0x0000, reg_crc:0x2908 +Testing movewl_ind_dreg...done. pre_crc:0xB6F0, mem_crc:0x0000, reg_crc:0x14C3 +Testing moveb_d16_dreg...done. pre_crc:0x3985, mem_crc:0x0000, reg_crc:0x73EA +Testing movewl_d16_dreg...done. pre_crc:0x7DBF, mem_crc:0x0000, reg_crc:0x5F0F +Testing moveb_absl_dreg...done. pre_crc:0x0CA3, mem_crc:0x0000, reg_crc:0x9779 +Testing movewl_absl_dreg...done. pre_crc:0x997B, mem_crc:0x0000, reg_crc:0x1C08 +Testing movebw_const_dreg...done. pre_crc:0xEC3F, mem_crc:0x0000, reg_crc:0xA5DD +Testing movel_const_dreg...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0x006F +Testing moveb_dreg_ind...done. pre_crc:0x9CFD, mem_crc:0x725F, reg_crc:0x5A59 +Testing movewl_reg_ind...done. pre_crc:0x2BAF, mem_crc:0x40D5, reg_crc:0x6C8E +Testing moveb_dreg_d16...done. pre_crc:0x16D0, mem_crc:0x8C20, reg_crc:0xF2F1 +Testing movewl_reg_d16...done. pre_crc:0x5117, mem_crc:0xE93D, reg_crc:0xB6D6 +Testing moveb_dreg_absl...done. pre_crc:0x3436, mem_crc:0x2CAD, reg_crc:0x5596 +Testing movewl_reg_absl...done. pre_crc:0x8E8F, mem_crc:0x2C6B, reg_crc:0x8C4A +Testing moveb_ind_ind...done. pre_crc:0x2294, mem_crc:0x5648, reg_crc:0xA898 +Testing moveb_ind_d16...done. pre_crc:0xD2D9, mem_crc:0xF73B, reg_crc:0x9E2C +Testing moveb_d16_ind...done. pre_crc:0xFDFE, mem_crc:0x5AE8, reg_crc:0x4F43 +Testing movewl_ind_d16...done. pre_crc:0x2E53, mem_crc:0xA42F, reg_crc:0xB337 +Testing movewl_d16_ind...done. pre_crc:0x92B0, mem_crc:0x5E5E, reg_crc:0x0FBE +Testing moveb_d16_d16...done. pre_crc:0x35EA, mem_crc:0x7980, reg_crc:0x6849 +Testing movewl_d16_d16...done. pre_crc:0xD5B5, mem_crc:0x2155, reg_crc:0x6DC1 +Testing moveb_ind_absl...done. pre_crc:0x62F4, mem_crc:0xC22A, reg_crc:0xF999 +Testing movewl_ind_absl...done. pre_crc:0x5AB6, mem_crc:0x300C, reg_crc:0x7D47 +Testing moveb_absl_ind...done. pre_crc:0xDFB5, mem_crc:0x4BA5, reg_crc:0x1D81 +Testing movewl_absl_ind...done. pre_crc:0xDE7B, mem_crc:0x32F7, reg_crc:0xF621 +Testing moveb_absl_absl...done. pre_crc:0x3C33, mem_crc:0xA8B9, reg_crc:0xD73C +Testing movewl_absl_absl...done. pre_crc:0x8F1C, mem_crc:0x8975, reg_crc:0x8B14 +Testing moveb_d16_absl...done. pre_crc:0x7693, mem_crc:0xB88E, reg_crc:0x3EFD +Testing movewl_d16_absl...done. pre_crc:0x6928, mem_crc:0xB4A3, reg_crc:0x9F82 +Testing moveb_absl_d16...done. pre_crc:0x3F05, mem_crc:0x9C66, reg_crc:0x8850 +Testing movewl_absl_d16...done. pre_crc:0x238C, mem_crc:0x5710, reg_crc:0xB5C1 +Testing moveb_const_ind...done. pre_crc:0x4A61, mem_crc:0xD866, reg_crc:0x356A +Testing moveb_const_d16...done. pre_crc:0xC33C, mem_crc:0x59E4, reg_crc:0x4980 +Testing moveb_const_absl...done. pre_crc:0x018A, mem_crc:0xE72D, reg_crc:0x0F6A +Testing movew_const_ind...done. pre_crc:0x74F9, mem_crc:0xA2C2, reg_crc:0x984A +Testing movew_const_d16...done. pre_crc:0x1F91, mem_crc:0x2AB6, reg_crc:0x5699 +Testing movew_const_absl...done. pre_crc:0xA4AE, mem_crc:0x09EB, reg_crc:0xD122 +Testing movel_const_ind...done. pre_crc:0xD5DE, mem_crc:0x5CFC, reg_crc:0x467C +Testing movel_const_d16...done. pre_crc:0xE185, mem_crc:0x4CF4, reg_crc:0xAF53 +Testing movel_const_absl...done. pre_crc:0x9579, mem_crc:0xE9F8, reg_crc:0x7ABC +Testing movea_reg...done. pre_crc:0xF740, mem_crc:0x0000, reg_crc:0xC0C0 +Testing movea_ind...done. pre_crc:0x4AAE, mem_crc:0x0000, reg_crc:0xCDC2 +Testing movea_d16...done. pre_crc:0x7A4C, mem_crc:0x0000, reg_crc:0x3808 +Testing movea_absl...done. pre_crc:0x70EF, mem_crc:0x0000, reg_crc:0xBAB9 +Testing moveaw_const...done. pre_crc:0x1611, mem_crc:0x0000, reg_crc:0xA300 +Testing moveal_const...done. pre_crc:0xF67D, mem_crc:0x0000, reg_crc:0x7DD7 +Testing move_from_ccr_dreg...done. pre_crc:0xCD21, mem_crc:0x0000, reg_crc:0x3401 +Testing move_from_ccr_ind...done. pre_crc:0x57AB, mem_crc:0x0000, reg_crc:0x7E35 +Testing move_from_ccr_d16...done. pre_crc:0xF5E2, mem_crc:0x0000, reg_crc:0x1313 +Testing move_to_ccr_reg...done. pre_crc:0x356C, mem_crc:0x0000, reg_crc:0x39AC +Testing move_to_ccr_ind...done. pre_crc:0x45C0, mem_crc:0x0000, reg_crc:0x1E48 +Testing movem_to_ind...done. pre_crc:0x86A4, mem_crc:0x7C5D, reg_crc:0x364E +Testing movem_to_predec...done. pre_crc:0x8E77, mem_crc:0xA011, reg_crc:0x6C14 +Testing movem_to_d16...done. pre_crc:0x377D, mem_crc:0xFC1E, reg_crc:0x2946 +Testing movem_to_absl...done. pre_crc:0x4449, mem_crc:0xD70F, reg_crc:0x1160 +Testing movem_from_d16...done. pre_crc:0xAB2E, mem_crc:0x0000, reg_crc:0x63D4 +Testing movem_from_ind...done. pre_crc:0x9CE9, mem_crc:0x0000, reg_crc:0x8BD8 +Testing movem_from_absl...done. pre_crc:0x9F00, mem_crc:0x0000, reg_crc:0x1CF8 +Testing movep_to_mem...done. pre_crc:0x569C, mem_crc:0x024A, reg_crc:0x43CB +Testing movep_from_mem...done. pre_crc:0xDE9D, mem_crc:0x0000, reg_crc:0x3021 +Testing moveq...done. pre_crc:0x8B8C, mem_crc:0x0000, reg_crc:0x7D77 +Testing mulsw_dreg...done. pre_crc:0x9494, mem_crc:0x0000, reg_crc:0xA58B +Testing mulsw_ind...done. pre_crc:0x1897, mem_crc:0x0000, reg_crc:0xDBAA +Testing mulsw_d16...done. pre_crc:0x02EA, mem_crc:0x0000, reg_crc:0x534B +Testing mulsw_absl...done. pre_crc:0x7475, mem_crc:0x0000, reg_crc:0xD69E +Testing muluw_dreg...done. pre_crc:0xCAA2, mem_crc:0x0000, reg_crc:0x544C +Testing muluw_ind...done. pre_crc:0x4B38, mem_crc:0x0000, reg_crc:0xB8C9 +Testing muluw_d16...done. pre_crc:0x623A, mem_crc:0x0000, reg_crc:0xA4E6 +Testing muluw_absl...done. pre_crc:0xC89C, mem_crc:0x0000, reg_crc:0xAAB1 +Testing mulsl_dreg...done. pre_crc:0xB84A, mem_crc:0x0000, reg_crc:0x6BD6 +Testing mulsl_ind...done. pre_crc:0x5BCE, mem_crc:0x0000, reg_crc:0x6776 +Testing mulsl_d16...done. pre_crc:0xC136, mem_crc:0x0000, reg_crc:0xA984 +Testing mulsl_absl...done. pre_crc:0xFFDE, mem_crc:0x0000, reg_crc:0xD3B6 +Testing mulul_dreg...done. pre_crc:0x197C, mem_crc:0x0000, reg_crc:0x96D1 +Testing mulul_ind...done. pre_crc:0x59CD, mem_crc:0x0000, reg_crc:0xE307 +Testing mulul_d16...done. pre_crc:0x78BA, mem_crc:0x0000, reg_crc:0x6C2B +Testing mulul_absl...done. pre_crc:0xD0E0, mem_crc:0x0000, reg_crc:0xEBE4 +Testing nbcd_reg...done. pre_crc:0x21C4, mem_crc:0x0000, reg_crc:0x2D00 +Testing nbcd_ind...done. pre_crc:0x2A1C, mem_crc:0x9B52, reg_crc:0x65E7 +Testing nbcd_d16...done. pre_crc:0x6512, mem_crc:0x086D, reg_crc:0x54CD +Testing nbcd_absl...done. pre_crc:0x8B7F, mem_crc:0x1F01, reg_crc:0xE466 +Testing neg_reg...done. pre_crc:0xAAFF, mem_crc:0x0000, reg_crc:0x0A71 +Testing negb_ind...done. pre_crc:0x331F, mem_crc:0xAE0B, reg_crc:0x15DF +Testing negwl_ind...done. pre_crc:0x40D1, mem_crc:0x678F, reg_crc:0xEBE8 +Testing negb_d16...done. pre_crc:0xFD0D, mem_crc:0x87D7, reg_crc:0xCE76 +Testing negwl_d16...done. pre_crc:0x44B8, mem_crc:0x0F59, reg_crc:0xD589 +Testing neg_absl...done. pre_crc:0x12A1, mem_crc:0x0393, reg_crc:0xEE69 +Testing negx_reg...done. pre_crc:0x963C, mem_crc:0x0000, reg_crc:0x500C +Testing negxb_ind...done. pre_crc:0xA6DF, mem_crc:0x09F5, reg_crc:0x92CB +Testing negxwl_ind...done. pre_crc:0x040A, mem_crc:0x5EEA, reg_crc:0x9A0C +Testing negxb_d16...done. pre_crc:0x2375, mem_crc:0x8DF0, reg_crc:0x4E9C +Testing negxwl_d16...done. pre_crc:0xB2F3, mem_crc:0x2E42, reg_crc:0xE929 +Testing negx_absl...done. pre_crc:0x9C0E, mem_crc:0x058D, reg_crc:0x6327 +Testing nop...done. pre_crc:0x6B9B, mem_crc:0x0000, reg_crc:0x4BA0 +Testing not_reg...done. pre_crc:0xAA95, mem_crc:0x0000, reg_crc:0x8E95 +Testing notb_ind...done. pre_crc:0xB1DB, mem_crc:0x5B08, reg_crc:0x009A +Testing notwl_ind...done. pre_crc:0xD93C, mem_crc:0x7AC7, reg_crc:0x7649 +Testing notb_d16...done. pre_crc:0x8F0F, mem_crc:0x78EB, reg_crc:0x1045 +Testing notwl_d16...done. pre_crc:0x750F, mem_crc:0x7CE9, reg_crc:0xC7B5 +Testing not_absl...done. pre_crc:0x12A6, mem_crc:0x1C5D, reg_crc:0xEFA4 +Testing or_dreg_dreg...done. pre_crc:0x157B, mem_crc:0x0000, reg_crc:0x31A7 +Testing or_ind_dreg...done. pre_crc:0xCA62, mem_crc:0x0000, reg_crc:0xED65 +Testing or_d16_dreg...done. pre_crc:0xA907, mem_crc:0x0000, reg_crc:0xB9A1 +Testing or_absl_dreg...done. pre_crc:0xA82C, mem_crc:0x0000, reg_crc:0x4F91 +Testing orbw_const_dreg...done. pre_crc:0xB98A, mem_crc:0x0000, reg_crc:0x168C +Testing orl_const_dreg...done. pre_crc:0x0539, mem_crc:0x0000, reg_crc:0x3240 +Testing or_dreg_ind...done. pre_crc:0xE235, mem_crc:0xAEA1, reg_crc:0x9104 +Testing or_dreg_d16...done. pre_crc:0x1F4C, mem_crc:0x5988, reg_crc:0x5A8D +Testing or_dreg_absl...done. pre_crc:0x7204, mem_crc:0x11D8, reg_crc:0xAF41 +Testing oribw_dreg...done. pre_crc:0x7DE0, mem_crc:0x0000, reg_crc:0xC2F2 +Testing oril_dreg...done. pre_crc:0x7F94, mem_crc:0x0000, reg_crc:0x002E +Testing oribw_ind...done. pre_crc:0x33AD, mem_crc:0x7579, reg_crc:0x2CF4 +Testing oril_ind...done. pre_crc:0x26CE, mem_crc:0xC36A, reg_crc:0x8DB8 +Testing oribw_d16...done. pre_crc:0x936B, mem_crc:0x4DD1, reg_crc:0xAE19 +Testing oril_d16...done. pre_crc:0xB5DB, mem_crc:0x9D67, reg_crc:0x5072 +Testing oribw_absl...done. pre_crc:0x4CE3, mem_crc:0x5B8F, reg_crc:0x5BF2 +Testing oril_absl...done. pre_crc:0xC276, mem_crc:0x53BE, reg_crc:0xD557 +Testing ori_to_ccr...done. pre_crc:0x422E, mem_crc:0x0000, reg_crc:0xD8D1 +Testing pack_reg...done. pre_crc:0x1E62, mem_crc:0x0000, reg_crc:0xB784 +Testing pack_mem...done. pre_crc:0xD495, mem_crc:0xF8E5, reg_crc:0x7490 +Testing pea_ind...done. pre_crc:0xE406, mem_crc:0xF8AD, reg_crc:0x3D57 +Testing pea_d16...done. pre_crc:0x8E30, mem_crc:0x8A8C, reg_crc:0x0F1B +Testing pea_absw...done. pre_crc:0x9605, mem_crc:0x4958, reg_crc:0xF785 +Testing pea_absl...done. pre_crc:0xB598, mem_crc:0x4334, reg_crc:0x0FC6 +Testing rol_dx_dy...done. pre_crc:0xA4B6, mem_crc:0x0000, reg_crc:0x8DDE +Testing rol_const_dy...done. pre_crc:0xD234, mem_crc:0x0000, reg_crc:0xACCC +Testing rol_ind...done. pre_crc:0xF5E6, mem_crc:0x9102, reg_crc:0x5415 +Testing rol_d16...done. pre_crc:0xB25E, mem_crc:0x2B0A, reg_crc:0x4CDC +Testing rol_absl...done. pre_crc:0x6E2C, mem_crc:0xDDDD, reg_crc:0x55B4 +Testing ror_dx_dy...done. pre_crc:0x71F0, mem_crc:0x0000, reg_crc:0x9F1E +Testing ror_const_dy...done. pre_crc:0x9F21, mem_crc:0x0000, reg_crc:0x0AE1 +Testing ror_ind...done. pre_crc:0x2A43, mem_crc:0x9E19, reg_crc:0xE02F +Testing ror_d16...done. pre_crc:0x37C9, mem_crc:0x5612, reg_crc:0x4B7E +Testing ror_absl...done. pre_crc:0x3B73, mem_crc:0x0D70, reg_crc:0x20C1 +Testing roxl_dx_dy...done. pre_crc:0xEBEF, mem_crc:0x0000, reg_crc:0xDCDA +Testing roxl_const_dy...done. pre_crc:0x02A0, mem_crc:0x0000, reg_crc:0xAFA9 +Testing roxl_ind...done. pre_crc:0xF40A, mem_crc:0xD613, reg_crc:0x4068 +Testing roxl_d16...done. pre_crc:0xF497, mem_crc:0xC6A6, reg_crc:0x0164 +Testing roxl_absl...done. pre_crc:0xA6F9, mem_crc:0x0443, reg_crc:0x6FE4 +Testing roxr_dx_dy...done. pre_crc:0x9450, mem_crc:0x0000, reg_crc:0xC02D +Testing roxr_const_dy...done. pre_crc:0xE8EE, mem_crc:0x0000, reg_crc:0x539C +Testing roxr_ind...done. pre_crc:0x9DC8, mem_crc:0xFBB9, reg_crc:0x7085 +Testing roxr_d16...done. pre_crc:0x5E11, mem_crc:0xD2DB, reg_crc:0xB01F +Testing roxr_absl...done. pre_crc:0x52A3, mem_crc:0xD9F2, reg_crc:0x4F38 +Testing rtd...done. pre_crc:0x6D7E, mem_crc:0x0000, reg_crc:0x4B5F +Testing rtr...done. pre_crc:0x106D, mem_crc:0x0000, reg_crc:0x4E4D +Testing rts...done. pre_crc:0x956C, mem_crc:0x0000, reg_crc:0x71BE +Testing sbcd_reg...done. pre_crc:0xCCF4, mem_crc:0x0000, reg_crc:0x280F +Testing sbcd_mem...done. pre_crc:0x2899, mem_crc:0x9113, reg_crc:0x703B +Testing Scc_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0x182B +Testing Scc_ind...done. pre_crc:0xEDA7, mem_crc:0x9107, reg_crc:0x602B +Testing Scc_d16...done. pre_crc:0x6DF2, mem_crc:0x94B9, reg_crc:0x8680 +Testing Scc_absl...done. pre_crc:0x749C, mem_crc:0x7417, reg_crc:0xE4C9 +Testing subb_dreg_dreg...done. pre_crc:0x468D, mem_crc:0x0000, reg_crc:0xE05B +Testing subw_reg_dreg...done. pre_crc:0xB397, mem_crc:0x0000, reg_crc:0x6DD6 +Testing subl_reg_dreg...done. pre_crc:0x18D9, mem_crc:0x0000, reg_crc:0x6454 +Testing sub_ind_dreg...done. pre_crc:0x17E1, mem_crc:0x0000, reg_crc:0x5093 +Testing sub_d16_dreg...done. pre_crc:0x8937, mem_crc:0x0000, reg_crc:0x882E +Testing sub_absl_dreg...done. pre_crc:0x27E4, mem_crc:0x0000, reg_crc:0x8B42 +Testing subb_const_dreg...done. pre_crc:0x8545, mem_crc:0x0000, reg_crc:0xFB49 +Testing subw_const_dreg...done. pre_crc:0xB7AC, mem_crc:0x0000, reg_crc:0xA88A +Testing subl_const_dreg...done. pre_crc:0xD771, mem_crc:0x0000, reg_crc:0x7F70 +Testing sub_dreg_ind...done. pre_crc:0x0316, mem_crc:0xC047, reg_crc:0xF6C3 +Testing sub_dreg_d16...done. pre_crc:0x5D7A, mem_crc:0x468C, reg_crc:0x783A +Testing sub_dreg_absl...done. pre_crc:0x722E, mem_crc:0xD394, reg_crc:0x77F3 +Testing subaw_reg_areg...done. pre_crc:0x3DA9, mem_crc:0x0000, reg_crc:0x4D0F +Testing subal_reg_areg...done. pre_crc:0xC6C6, mem_crc:0x0000, reg_crc:0x0AC9 +Testing suba_ind_areg...done. pre_crc:0x9FAA, mem_crc:0x0000, reg_crc:0x9289 +Testing suba_d16_areg...done. pre_crc:0xE7F9, mem_crc:0x0000, reg_crc:0xF042 +Testing suba_absl_areg...done. pre_crc:0xD78A, mem_crc:0x0000, reg_crc:0xE6A8 +Testing subaw_const_areg...done. pre_crc:0x3688, mem_crc:0x0000, reg_crc:0x4B36 +Testing subal_const_areg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0xB9CD +Testing subibw_dreg...done. pre_crc:0x25FC, mem_crc:0x0000, reg_crc:0x2CCE +Testing subil_dreg...done. pre_crc:0xA81A, mem_crc:0x0000, reg_crc:0xA344 +Testing subibw_ind...done. pre_crc:0x69EC, mem_crc:0x0185, reg_crc:0x34B0 +Testing subil_ind...done. pre_crc:0xBC58, mem_crc:0xF582, reg_crc:0x2A4A +Testing subibw_d16...done. pre_crc:0x423E, mem_crc:0xFC36, reg_crc:0x4315 +Testing subil_d16...done. pre_crc:0xFBAB, mem_crc:0xD178, reg_crc:0xE282 +Testing subibw_absl...done. pre_crc:0x7514, mem_crc:0x6C77, reg_crc:0xFF24 +Testing subil_absl...done. pre_crc:0xB65C, mem_crc:0xD0AD, reg_crc:0xB640 +Testing subq_dreg...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0x9371 +Testing subq_areg...done. pre_crc:0x175C, mem_crc:0x0000, reg_crc:0xF5A6 +Testing subq_ind...done. pre_crc:0x5D1E, mem_crc:0x0EB9, reg_crc:0xC38E +Testing subq_d16...done. pre_crc:0xFA7D, mem_crc:0xAF48, reg_crc:0x5C71 +Testing subq_absl...done. pre_crc:0xEE13, mem_crc:0x7B03, reg_crc:0x3624 +Testing subx_reg...done. pre_crc:0x693B, mem_crc:0x0000, reg_crc:0x8E6F +Testing subx_mem...done. pre_crc:0x78BD, mem_crc:0xC8EC, reg_crc:0x0408 +Testing swap...done. pre_crc:0xE8E0, mem_crc:0x0000, reg_crc:0x0A8D +Testing tas_dreg...done. pre_crc:0x5E25, mem_crc:0x0000, reg_crc:0x288E +Testing tas_ind...done. pre_crc:0x84CD, mem_crc:0xE98F, reg_crc:0x42ED +Testing tas_d16...done. pre_crc:0x1368, mem_crc:0x82A6, reg_crc:0xEFE6 +Testing tas_absl...done. pre_crc:0xDD8F, mem_crc:0x6F81, reg_crc:0xF6BD +Testing tstb_dreg...done. pre_crc:0x3076, mem_crc:0x0000, reg_crc:0x494F +Testing tstwl_reg...done. pre_crc:0x5AD1, mem_crc:0x0000, reg_crc:0xDC64 +Testing tstb_ind...done. pre_crc:0xA0F8, mem_crc:0x0000, reg_crc:0xCB6D +Testing tstwl_ind...done. pre_crc:0x8083, mem_crc:0x0000, reg_crc:0xFCEB +Testing tstb_d16...done. pre_crc:0xDD89, mem_crc:0x0000, reg_crc:0xB756 +Testing tstwl_d16...done. pre_crc:0x5E82, mem_crc:0x0000, reg_crc:0xB5F7 +Testing tst_absl...done. pre_crc:0x5A18, mem_crc:0x0000, reg_crc:0x8EA5 diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 0000000..9ffc2bf --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,27 @@ +noinst_PROGRAMS = syngentest + +syngentest_CPPFLAGS = -DMEMORY_OFFSET=8192 + +if M68K_HOSTCPU + syngentest_SOURCES = main.c driver.c tests.c setup.c \ + testtrap.c callemulator.s run68k.s crc.c testrt.c testqsort.c +else + syngentest_SOURCES = main.c driver.c tests.c setup.c \ + testtrap.c crc.c testrt.c testqsort.c +endif + +nodist_syngentest_SOURCES = testbattery.c + +testbattery.c: tests.c maketestbattery.pl + rm -f testbattery.c + $(srcdir)/maketestbattery.pl < $(srcdir)/tests.c > testbattery.c + chmod a-w testbattery.c + +syngentest_LDADD = ../runtime/libsyn68k.a + +syngentest_LDFLAGS = -z execstack + +INCLUDES = -I$(srcdir)/include -I$(srcdir)/../include -I../include + +CLEANFILES = testbattery.c + diff --git a/test/TODO b/test/TODO new file mode 100644 index 0000000..b4af100 --- /dev/null +++ b/test/TODO @@ -0,0 +1,8 @@ +1) Test funky addressing modes. +2) Test abs.w addressing mode. We don't test it now because we don't + know that the pointer to the test data will fit in two bytes (in fact, + it won't). +3) Check undefined behavior for mull when dh and di are the same register. +4) unlk a7 wedges the 68040, so we aren't testing it. When we run the test + suite on a 68020, we may want to put it back in. +5) Test move16 diff --git a/test/alpha-redhat-linux.1.cc.new b/test/alpha-redhat-linux.1.cc.new new file mode 100644 index 0000000..0bcba6f --- /dev/null +++ b/test/alpha-redhat-linux.1.cc.new @@ -0,0 +1,36 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0x1AE0 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0xEBAA +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x81C0, mem_crc:0xE9D6, reg_crc:0x7C94 +Testing unlk...done. pre_crc:0x3300, mem_crc:0x0000, reg_crc:0xB315 +Testing movewl_ind_ind...done. pre_crc:0x2730, mem_crc:0xB7E2, reg_crc:0xB3A8 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0xD020 +Testing divsl_ll_ind...done. pre_crc:0x73F0, mem_crc:0x0000, reg_crc:0x0158 +Testing divsl_ll_absl...done. pre_crc:0x0266, mem_crc:0x0000, reg_crc:0xC726 +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0x2520 +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0x6DCD +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x1398 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0xA54B +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0x02F8 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0xD362 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0x36A9 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0x2068 +Testing lea_ind_preix...done. pre_crc:0x5C4A, mem_crc:0x0000, reg_crc:0xB0AD +Testing lea_ind_postix...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0x3A4D +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xA420 +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x586B +Testing abcd_mem...done. pre_crc:0x5636, mem_crc:0x1F54, reg_crc:0xDE2D +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0xE20F +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x1A9E +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0xFD98 +Testing add_d16_dreg...done. pre_crc:0x429B, mem_crc:0x0000, reg_crc:0x4B84 +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xBABC +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xD839 +Testing add_dreg_ind...done. pre_crc:0x8BE2, mem_crc:0x169E, reg_crc:0xE9F4 +Testing add_ind_dreg...done. pre_crc:0x00A3, mem_crc:0x0000, reg_crc:0x1662 +Testing addl_const_dreg...done. pre_crc:0x0BD7, mem_crc:0x0000, reg_crc:0xEBD7 +Testing add_dreg_d16...done. pre_crc:0x7DC4, mem_crc:0xC78C, reg_crc:0x3F24 +Testing add_dreg_absl...done. pre_crc:0xE583, mem_crc:0x15A2, reg_crc:0x9AAF +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x492F +Testing addal_reg_areg... \ No newline at end of file diff --git a/test/alpha-redhat-linux.1.nocc b/test/alpha-redhat-linux.1.nocc new file mode 100644 index 0000000..e69de29 diff --git a/test/alpha-redhat-linux.1.noncc b/test/alpha-redhat-linux.1.noncc new file mode 100644 index 0000000..f9ef49c --- /dev/null +++ b/test/alpha-redhat-linux.1.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0xD931 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0x6996 +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x81C0, mem_crc:0xE9D6, reg_crc:0x7C94 +Testing unlk...done. pre_crc:0x3300, mem_crc:0x0000, reg_crc:0xB315 +Testing movewl_ind_ind...done. pre_crc:0x2730, mem_crc:0xB7E2, reg_crc:0x7079 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0x936F +Testing divsl_ll_ind...done. pre_crc:0x73F0, mem_crc:0x0000, reg_crc:0xC289 +Testing divsl_ll_absl...done. pre_crc:0x0266, mem_crc:0x0000, reg_crc:0x04F7 +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0x2520 +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0x6DCD +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x78AF +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0x2777 +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0xC129 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0x10B3 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0xF578 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0xE3B9 +Testing lea_ind_preix...done. pre_crc:0x5C4A, mem_crc:0x0000, reg_crc:0xB0AD +Testing lea_ind_postix...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0x3A4D +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xDC8F +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x5DD5 +Testing abcd_mem...done. pre_crc:0x5636, mem_crc:0x1F54, reg_crc:0xFA60 +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0x9AA0 +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x23DC +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0x8537 +Testing add_d16_dreg...done. pre_crc:0x429B, mem_crc:0x0000, reg_crc:0x332B +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xC213 +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xA096 +Testing add_dreg_ind...done. pre_crc:0x8BE2, mem_crc:0x169E, reg_crc:0x915B +Testing add_ind_dreg...done. pre_crc:0x00A3, mem_crc:0x0000, reg_crc:0x6ECD +Testing addl_const_dreg...done. pre_crc:0x0BD7, mem_crc:0x0000, reg_crc:0x9378 +Testing add_dreg_d16...done. pre_crc:0x7DC4, mem_crc:0xC78C, reg_crc:0x478B +Testing add_dreg_absl...done. pre_crc:0xE583, mem_crc:0x15A2, reg_crc:0x4AE6 +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x492F +Testing addal_reg_areg...done. pre_crc:0xB728, mem_crc:0x0000, reg_crc:0xAD83 +Testing adda_ind_areg...done. pre_crc:0xFD08, mem_crc:0x0000, reg_crc:0xEA5E +Testing adda_d16_areg...done. pre_crc:0x707D, mem_crc:0x0000, reg_crc:0x9060 +Testing adda_absl_areg...done. pre_crc:0x94A7, mem_crc:0x0000, reg_crc:0xACA0 +Testing addaw_const_areg...done. pre_crc:0xBB14, mem_crc:0x0000, reg_crc:0x9550 +Testing addal_const_areg...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0x89E0 +Testing addibw_dreg...done. pre_crc:0x260E, mem_crc:0x0000, reg_crc:0xFA9A +Testing addil_dreg...done. pre_crc:0x62BD, mem_crc:0x0000, reg_crc:0x059F +Testing addibw_ind...done. pre_crc:0x1434, mem_crc:0x0219, reg_crc:0x7841 +Testing addil_ind...done. pre_crc:0x7592, mem_crc:0x91A4, reg_crc:0x977F +Testing addibw_d16...done. pre_crc:0x4A71, mem_crc:0x3497, reg_crc:0xB567 +Testing addil_d16...done. pre_crc:0x6001, mem_crc:0x1453, reg_crc:0xADEF +Testing addibw_absl...done. pre_crc:0x5139, mem_crc:0x00D1, reg_crc:0x2651 +Testing addil_absl...done. pre_crc:0xEB1E, mem_crc:0xA5C5, reg_crc:0x9BD0 +Testing addq_dreg...done. pre_crc:0xD176, mem_crc:0x0000, reg_crc:0xD4A9 +Testing addq_areg...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0x78E7 +Testing addq_ind...done. pre_crc:0x0053, mem_crc:0x1BA5, reg_crc:0xE2A5 +Testing addq_d16...done. pre_crc:0xA776, mem_crc:0x7E00, reg_crc:0x82BB +Testing addq_absl...done. pre_crc:0xFD05, mem_crc:0x2747, reg_crc:0x5FD7 +Testing addx_reg...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0x11C3 +Testing addx_mem...done. pre_crc:0xAA3B, mem_crc:0xCDF4, reg_crc:0x2712 +Testing and_dreg_dreg...done. pre_crc:0xBD22, mem_crc:0x0000, reg_crc:0xFF1D +Testing and_ind_dreg...done. pre_crc:0x475D, mem_crc:0x0000, reg_crc:0x8E28 +Testing and_d16_dreg...done. pre_crc:0x6A6C, mem_crc:0x0000, reg_crc:0xB7F6 +Testing and_absl_dreg...done. pre_crc:0x67B2, mem_crc:0x0000, reg_crc:0x0BCD +Testing andbw_const_dreg...done. pre_crc:0x0165, mem_crc:0x0000, reg_crc:0x3C55 +Testing andl_const_dreg...done. pre_crc:0xD8DC, mem_crc:0x0000, reg_crc:0xA512 +Testing and_dreg_ind...done. pre_crc:0x3B26, mem_crc:0x823F, reg_crc:0x487B +Testing and_dreg_d16...done. pre_crc:0x4641, mem_crc:0xD34F, reg_crc:0xBF2F +Testing and_dreg_absl...done. pre_crc:0x8354, mem_crc:0xF4B9, reg_crc:0x109D +Testing andibw_dreg...done. pre_crc:0x56E9, mem_crc:0x0000, reg_crc:0x96B7 +Testing andil_dreg...done. pre_crc:0x3C94, mem_crc:0x0000, reg_crc:0x3C33 +Testing andibw_ind...done. pre_crc:0xC9D4, mem_crc:0x6E2C, reg_crc:0x474B +Testing andil_ind...done. pre_crc:0x5F56, mem_crc:0x79C4, reg_crc:0x8F40 +Testing andibw_d16...done. pre_crc:0xF62C, mem_crc:0x4148, reg_crc:0x1616 +Testing andil_d16...done. pre_crc:0xB9D2, mem_crc:0x8ED7, reg_crc:0x81FC +Testing andibw_absl...done. pre_crc:0x3D1C, mem_crc:0x02C4, reg_crc:0xD675 +Testing andil_absl...done. pre_crc:0xB921, mem_crc:0x987A, reg_crc:0xA0E1 +Testing andi_to_ccr...done. pre_crc:0x3F68, mem_crc:0x0000, reg_crc:0xBC5D +Testing asl_dx_dy...done. pre_crc:0x223C, mem_crc:0x0000, reg_crc:0x9CF5 +Testing asl_const_dy...done. pre_crc:0x3313, mem_crc:0x0000, reg_crc:0x5372 +Testing asl_ind...done. pre_crc:0x2E7B, mem_crc:0xB30D, reg_crc:0x636A +Testing asl_d16...done. pre_crc:0xAB5F, mem_crc:0x5A95, reg_crc:0x0CEB +Testing asl_absl...done. pre_crc:0x21E1, mem_crc:0x5EEA, reg_crc:0x885A +Testing asr_dx_dy...done. pre_crc:0xDEF4, mem_crc:0x0000, reg_crc:0x2F1A +Testing asr_const_dy...done. pre_crc:0x9019, mem_crc:0x0000, reg_crc:0x9971 +Testing asr_ind...done. pre_crc:0x045F, mem_crc:0xB433, reg_crc:0xBF37 +Testing asr_d16...done. pre_crc:0xD44B, mem_crc:0xA53A, reg_crc:0x6093 +Testing asr_absl...done. pre_crc:0xF150, mem_crc:0xD295, reg_crc:0x644A +Testing lsl_dx_dy...done. pre_crc:0xD75E, mem_crc:0x0000, reg_crc:0x2F98 +Testing lsl_const_dy...done. pre_crc:0xFEBB, mem_crc:0x0000, reg_crc:0x9E8A +Testing lsl_ind...done. pre_crc:0x31FF, mem_crc:0x8B22, reg_crc:0x336F +Testing lsl_d16...done. pre_crc:0x7673, mem_crc:0xC768, reg_crc:0xB2FA +Testing lsl_absl...done. pre_crc:0x25E2, mem_crc:0x1B50, reg_crc:0xA687 +Testing lsr_dx_dy...done. pre_crc:0x0541, mem_crc:0x0000, reg_crc:0xFEF4 +Testing lsr_const_dy...done. pre_crc:0x26C9, mem_crc:0x0000, reg_crc:0xD37C +Testing lsr_ind...done. pre_crc:0xD4B0, mem_crc:0xE943, reg_crc:0xB75F +Testing lsr_d16...done. pre_crc:0x923D, mem_crc:0x6CBB, reg_crc:0x84BB +Testing lsr_absl...done. pre_crc:0x002C, mem_crc:0x321C, reg_crc:0x3F60 +Testing bra_b...done. pre_crc:0x892A, mem_crc:0x0000, reg_crc:0xF0E8 +Testing bhi_b...done. pre_crc:0x6996, mem_crc:0x0000, reg_crc:0xCE19 +Testing bls_b...done. pre_crc:0x708C, mem_crc:0x0000, reg_crc:0x9194 +Testing bcc_b...done. pre_crc:0xD3A7, mem_crc:0x0000, reg_crc:0xD74D +Testing bcs_b...done. pre_crc:0x11D9, mem_crc:0x0000, reg_crc:0xA79D +Testing bne_b...done. pre_crc:0x2CFC, mem_crc:0x0000, reg_crc:0x43BF +Testing beq_b...done. pre_crc:0xE18A, mem_crc:0x0000, reg_crc:0x7B99 +Testing bvc_b...done. pre_crc:0xCD22, mem_crc:0x0000, reg_crc:0x5FAC +Testing bvs_b...done. pre_crc:0x204C, mem_crc:0x0000, reg_crc:0x34EC +Testing bpl_b...done. pre_crc:0x8711, mem_crc:0x0000, reg_crc:0xA845 +Testing bmi_b...done. pre_crc:0x1736, mem_crc:0x0000, reg_crc:0x3044 +Testing bge_b...done. pre_crc:0x480E, mem_crc:0x0000, reg_crc:0xFC95 +Testing blt_b...done. pre_crc:0xECE0, mem_crc:0x0000, reg_crc:0x8478 +Testing bgt_b...done. pre_crc:0x2A70, mem_crc:0x0000, reg_crc:0x8E1B +Testing ble_b...done. pre_crc:0xADB3, mem_crc:0x0000, reg_crc:0x329E +Testing bra_w...done. pre_crc:0x962F, mem_crc:0x0000, reg_crc:0xBABF +Testing bhi_w...done. pre_crc:0x0856, mem_crc:0x0000, reg_crc:0x4C68 +Testing bls_w...done. pre_crc:0x972B, mem_crc:0x0000, reg_crc:0x384A +Testing bcc_w...done. pre_crc:0x9873, mem_crc:0x0000, reg_crc:0xD890 +Testing bcs_w...done. pre_crc:0x0B72, mem_crc:0x0000, reg_crc:0x7937 +Testing bne_w...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0x3924 +Testing beq_w...done. pre_crc:0xE339, mem_crc:0x0000, reg_crc:0x5BEC +Testing bvc_w...done. pre_crc:0x88C7, mem_crc:0x0000, reg_crc:0xAC69 +Testing bvs_w...done. pre_crc:0x4DB3, mem_crc:0x0000, reg_crc:0x3021 +Testing bpl_w...done. pre_crc:0x9D12, mem_crc:0x0000, reg_crc:0x8A76 +Testing bmi_w...done. pre_crc:0xDF78, mem_crc:0x0000, reg_crc:0xE645 +Testing bge_w...done. pre_crc:0x0F7D, mem_crc:0x0000, reg_crc:0x5E70 +Testing blt_w...done. pre_crc:0xCF04, mem_crc:0x0000, reg_crc:0x68E3 +Testing bgt_w...done. pre_crc:0x6345, mem_crc:0x0000, reg_crc:0xC39F +Testing ble_w...done. pre_crc:0xD85E, mem_crc:0x0000, reg_crc:0x59F3 +Testing bra_l...done. pre_crc:0xFF14, mem_crc:0x0000, reg_crc:0x1FE0 +Testing bhi_l...done. pre_crc:0x6C7B, mem_crc:0x0000, reg_crc:0x607E +Testing bls_l...done. pre_crc:0x86F4, mem_crc:0x0000, reg_crc:0xDCD6 +Testing bcc_l...done. pre_crc:0x1C70, mem_crc:0x0000, reg_crc:0x81CA +Testing bcs_l...done. pre_crc:0xCD68, mem_crc:0x0000, reg_crc:0x4FB3 +Testing bne_l...done. pre_crc:0xEC8E, mem_crc:0x0000, reg_crc:0x2205 +Testing beq_l...done. pre_crc:0x34C7, mem_crc:0x0000, reg_crc:0x8B35 +Testing bvc_l...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0xA740 +Testing bvs_l...done. pre_crc:0x174C, mem_crc:0x0000, reg_crc:0x409E +Testing bpl_l...done. pre_crc:0xF6B1, mem_crc:0x0000, reg_crc:0xD680 +Testing bmi_l...done. pre_crc:0x4653, mem_crc:0x0000, reg_crc:0x1D4D +Testing bge_l...done. pre_crc:0x1804, mem_crc:0x0000, reg_crc:0x20A1 +Testing blt_l...done. pre_crc:0xA540, mem_crc:0x0000, reg_crc:0x1B1D +Testing bgt_l...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x5467 +Testing ble_l...done. pre_crc:0xBCDA, mem_crc:0x0000, reg_crc:0x8DF0 +Testing bchg_reg_reg...done. pre_crc:0x079F, mem_crc:0x0000, reg_crc:0xB412 +Testing bchg_const_reg...done. pre_crc:0x30E8, mem_crc:0x0000, reg_crc:0x8D2B +Testing bchg_reg_ind...done. pre_crc:0xE961, mem_crc:0x21DD, reg_crc:0x2C52 +Testing bchg_const_ind...done. pre_crc:0x2F8E, mem_crc:0xF6AC, reg_crc:0xC78C +Testing bchg_reg_d16...done. pre_crc:0xC74A, mem_crc:0xFE49, reg_crc:0x839E +Testing bchg_const_d16...done. pre_crc:0xFE4F, mem_crc:0xBD8B, reg_crc:0x2ECC +Testing bchg_reg_absl...done. pre_crc:0x2C28, mem_crc:0x2FFE, reg_crc:0xBA1C +Testing bchg_const_absl...done. pre_crc:0x125E, mem_crc:0x6292, reg_crc:0x7B36 +Testing bclr_reg_reg...done. pre_crc:0x08D2, mem_crc:0x0000, reg_crc:0x2643 +Testing bclr_const_reg...done. pre_crc:0x5163, mem_crc:0x0000, reg_crc:0x8E0F +Testing bclr_reg_ind...done. pre_crc:0xF2C1, mem_crc:0x6A05, reg_crc:0x3371 +Testing bclr_const_ind...done. pre_crc:0x1D2F, mem_crc:0x646B, reg_crc:0xF500 +Testing bclr_reg_d16...done. pre_crc:0xAD30, mem_crc:0x390C, reg_crc:0x389B +Testing bclr_const_d16...done. pre_crc:0x52EE, mem_crc:0xB6EA, reg_crc:0xEE03 +Testing bclr_reg_absl...done. pre_crc:0xAB6F, mem_crc:0xBB50, reg_crc:0x4983 +Testing bclr_const_absl...done. pre_crc:0x0752, mem_crc:0x9710, reg_crc:0xE1C9 +Testing bset_reg_reg...done. pre_crc:0x9018, mem_crc:0x0000, reg_crc:0x4896 +Testing bset_const_reg...done. pre_crc:0x265C, mem_crc:0x0000, reg_crc:0x17CF +Testing bset_reg_ind...done. pre_crc:0x5599, mem_crc:0xE463, reg_crc:0x9C39 +Testing bset_const_ind...done. pre_crc:0x2C3F, mem_crc:0x282D, reg_crc:0x30BE +Testing bset_reg_d16...done. pre_crc:0x3481, mem_crc:0xF292, reg_crc:0xCE94 +Testing bset_const_d16...done. pre_crc:0xC7A0, mem_crc:0x8830, reg_crc:0xAAD4 +Testing bset_reg_absl...done. pre_crc:0xCD7A, mem_crc:0x328A, reg_crc:0xFE10 +Testing bset_const_absl...done. pre_crc:0x9FB4, mem_crc:0x29DA, reg_crc:0x6588 +Testing btst_reg_reg...done. pre_crc:0x6DDC, mem_crc:0x0000, reg_crc:0xE920 +Testing btst_const_reg...done. pre_crc:0x87FC, mem_crc:0x0000, reg_crc:0xC541 +Testing btst_reg_ind...done. pre_crc:0x43B9, mem_crc:0x0000, reg_crc:0x4683 +Testing btst_const_ind...done. pre_crc:0xC6A1, mem_crc:0x0000, reg_crc:0xE652 +Testing btst_reg_d16...done. pre_crc:0x0468, mem_crc:0x0000, reg_crc:0x8ACB +Testing btst_const_d16...done. pre_crc:0xD60C, mem_crc:0x0000, reg_crc:0x18BE +Testing btst_reg_absl...done. pre_crc:0x267C, mem_crc:0x0000, reg_crc:0x3F50 +Testing btst_const_absl...done. pre_crc:0x8263, mem_crc:0x0000, reg_crc:0x69D4 +Testing bfchg_reg...done. pre_crc:0x8A46, mem_crc:0x0000, reg_crc:0xDBAC +Testing bfchg_ind...done. pre_crc:0x954C, mem_crc:0xBB4D, reg_crc:0xD537 +Testing bfchg_d16...done. pre_crc:0x9CD2, mem_crc:0x1A10, reg_crc:0x315B +Testing bfchg_absl...done. pre_crc:0x5B2B, mem_crc:0x8BE2, reg_crc:0xCB73 +Testing bfclr_reg...done. pre_crc:0x3998, mem_crc:0x0000, reg_crc:0x4139 +Testing bfclr_ind...done. pre_crc:0x7CAA, mem_crc:0x4080, reg_crc:0xB3DA +Testing bfclr_d16...done. pre_crc:0x17AA, mem_crc:0xBA8F, reg_crc:0x1A94 +Testing bfclr_absl...done. pre_crc:0x436E, mem_crc:0x3EC7, reg_crc:0xE38A +Testing bfset_reg...done. pre_crc:0x0FD5, mem_crc:0x0000, reg_crc:0xB9DA +Testing bfset_ind...done. pre_crc:0x801C, mem_crc:0x74FA, reg_crc:0x7BE2 +Testing bfset_d16...done. pre_crc:0x6DB0, mem_crc:0xEF9B, reg_crc:0x0688 +Testing bfset_absl...done. pre_crc:0xE19E, mem_crc:0x556A, reg_crc:0x4BC5 +Testing bftst_reg...done. pre_crc:0x11D7, mem_crc:0x0000, reg_crc:0x1BA0 +Testing bftst_ind...done. pre_crc:0xEE93, mem_crc:0x0000, reg_crc:0xB239 +Testing bftst_d16...done. pre_crc:0x0D29, mem_crc:0x0000, reg_crc:0x5F05 +Testing bftst_absl...done. pre_crc:0x4813, mem_crc:0x0000, reg_crc:0x4F13 +Testing bfexts_reg...done. pre_crc:0x9903, mem_crc:0x0000, reg_crc:0x81B7 +Testing bfexts_ind...done. pre_crc:0x469E, mem_crc:0x0000, reg_crc:0x21DE +Testing bfexts_d16...done. pre_crc:0x72B1, mem_crc:0x0000, reg_crc:0xCEB0 +Testing bfexts_absl...done. pre_crc:0x158D, mem_crc:0x0000, reg_crc:0xBCA7 +Testing bfextu_reg...done. pre_crc:0x0D1C, mem_crc:0x0000, reg_crc:0x68F7 +Testing bfextu_ind...done. pre_crc:0xF775, mem_crc:0x0000, reg_crc:0x2242 +Testing bfextu_d16...done. pre_crc:0x7591, mem_crc:0x0000, reg_crc:0xB8F9 +Testing bfextu_absl...done. pre_crc:0x51F0, mem_crc:0x0000, reg_crc:0x336A +Testing bfffo_reg...done. pre_crc:0x2C35, mem_crc:0x0000, reg_crc:0x6B7C +Testing bfffo_ind...done. pre_crc:0x608E, mem_crc:0x0000, reg_crc:0x8B36 +Testing bfffo_d16...done. pre_crc:0x1FD0, mem_crc:0x0000, reg_crc:0xBC4C +Testing bfffo_absl...done. pre_crc:0xC105, mem_crc:0x0000, reg_crc:0x7698 +Testing bfins_reg...done. pre_crc:0x6AAC, mem_crc:0x0000, reg_crc:0xCBE3 +Testing bfins_ind...done. pre_crc:0xC791, mem_crc:0x9423, reg_crc:0xD934 +Testing bfins_d16...done. pre_crc:0xFF05, mem_crc:0xA802, reg_crc:0x30BD +Testing bfins_absl...done. pre_crc:0x23EE, mem_crc:0x81F5, reg_crc:0x43D5 +Testing bsr_b...done. pre_crc:0x6953, mem_crc:0x2ABF, reg_crc:0x1CE3 +Testing bsr_w...done. pre_crc:0x6C2B, mem_crc:0x5798, reg_crc:0xF8D3 +Testing bsr_l...done. pre_crc:0x8133, mem_crc:0x8717, reg_crc:0xF3EE +Testing cas_ind...done. pre_crc:0xD5D7, mem_crc:0x99EE, reg_crc:0xC522 +Testing cas2_areg...done. pre_crc:0xF6F1, mem_crc:0xF68B, reg_crc:0x06AF +Testing cas2_anyreg...done. pre_crc:0x6042, mem_crc:0xAFEB, reg_crc:0xB020 +Testing clr_reg...done. pre_crc:0x4068, mem_crc:0x0000, reg_crc:0x0077 +Testing clrb_ind...done. pre_crc:0xC11C, mem_crc:0x7FA1, reg_crc:0xEC6B +Testing clrwl_ind...done. pre_crc:0x0C52, mem_crc:0xADB6, reg_crc:0x87CF +Testing clrb_absl...done. pre_crc:0x1671, mem_crc:0x0B49, reg_crc:0x5B01 +Testing clrwl_absl...done. pre_crc:0x78E5, mem_crc:0xB13A, reg_crc:0x9152 +Testing cmp_dreg...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x432A +Testing cmp_areg...done. pre_crc:0x3101, mem_crc:0x0000, reg_crc:0xA99F +Testing cmpb_ind...done. pre_crc:0x09D7, mem_crc:0x0000, reg_crc:0x34A8 +Testing cmpwl_ind...done. pre_crc:0x9A54, mem_crc:0x0000, reg_crc:0x5387 +Testing cmpb_d16...done. pre_crc:0x86E9, mem_crc:0x0000, reg_crc:0xEAA4 +Testing cmpwl_d16...done. pre_crc:0x2035, mem_crc:0x0000, reg_crc:0x5275 +Testing cmpa_reg...done. pre_crc:0x4044, mem_crc:0x0000, reg_crc:0x4362 +Testing cmpa_ind...done. pre_crc:0x067E, mem_crc:0x0000, reg_crc:0xD7FC +Testing cmpa_ind2...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0xF37E +Testing cmpa_d16...done. pre_crc:0x80C3, mem_crc:0x0000, reg_crc:0x533C +Testing cmpa_d16_2...done. pre_crc:0x2D6B, mem_crc:0x0000, reg_crc:0x9852 +Testing cmpa_absl...done. pre_crc:0xCE41, mem_crc:0x0000, reg_crc:0xA8E0 +Testing cmpibw_reg...done. pre_crc:0xF433, mem_crc:0x0000, reg_crc:0x175F +Testing cmpil_reg...done. pre_crc:0xDF59, mem_crc:0x0000, reg_crc:0xAD94 +Testing cmpib_ind...done. pre_crc:0x22A3, mem_crc:0x0000, reg_crc:0x5D02 +Testing cmpiw_ind...done. pre_crc:0xA49F, mem_crc:0x0000, reg_crc:0x33F3 +Testing cmpil_ind...done. pre_crc:0x1D6F, mem_crc:0x0000, reg_crc:0x835B +Testing cmpmb...done. pre_crc:0xB7AD, mem_crc:0x0000, reg_crc:0xD397 +Testing cmpmwl...done. pre_crc:0xF55E, mem_crc:0x0000, reg_crc:0x2222 +Testing cmp2b_ind...done. pre_crc:0xE14E, mem_crc:0x0000, reg_crc:0x8FA8 +Testing cmp2wl_ind...done. pre_crc:0x47C7, mem_crc:0x0000, reg_crc:0x9146 +Testing dbcc...done. pre_crc:0xAD8C, mem_crc:0x0000, reg_crc:0x2CAD +Testing divs_reg...done. pre_crc:0x770F, mem_crc:0x0000, reg_crc:0x50F9 +Testing divs_same_reg...done. pre_crc:0xF63B, mem_crc:0x0000, reg_crc:0xBE2D +Testing divs_ind...done. pre_crc:0xEE5C, mem_crc:0x0000, reg_crc:0xB338 +Testing divs_absl...done. pre_crc:0x986E, mem_crc:0x0000, reg_crc:0x9FD1 +Testing divu_reg...done. pre_crc:0xD5B4, mem_crc:0x0000, reg_crc:0x8379 +Testing divu_same_reg...done. pre_crc:0x39CE, mem_crc:0x0000, reg_crc:0xA33A +Testing divu_ind...done. pre_crc:0x1685, mem_crc:0x0000, reg_crc:0x7C01 +Testing divu_absl...done. pre_crc:0x87C9, mem_crc:0x0000, reg_crc:0x4199 +Testing divul_ll_reg...done. pre_crc:0x311F, mem_crc:0x0000, reg_crc:0xE307 +Testing divul_ll_ind...done. pre_crc:0xA286, mem_crc:0x0000, reg_crc:0x2C08 +Testing divul_ll_absl...done. pre_crc:0xB02D, mem_crc:0x0000, reg_crc:0xD812 +Testing eor_reg...done. pre_crc:0x77CD, mem_crc:0x0000, reg_crc:0x38B0 +Testing eor_ind...done. pre_crc:0x4975, mem_crc:0xCB67, reg_crc:0xC64E +Testing eor_d16...done. pre_crc:0xB12D, mem_crc:0x3D85, reg_crc:0x0757 +Testing eor_absl...done. pre_crc:0x63D1, mem_crc:0xB52C, reg_crc:0x5143 +Testing eoribw_dreg...done. pre_crc:0xC652, mem_crc:0x0000, reg_crc:0xECCE +Testing eoril_dreg...done. pre_crc:0xCA96, mem_crc:0x0000, reg_crc:0xA3CC +Testing eoribw_ind...done. pre_crc:0xEF84, mem_crc:0xE558, reg_crc:0x21DD +Testing eoril_ind...done. pre_crc:0xF171, mem_crc:0xAC47, reg_crc:0xB070 +Testing eoribw_d16...done. pre_crc:0x9794, mem_crc:0x782D, reg_crc:0xDF29 +Testing eoril_d16...done. pre_crc:0x933F, mem_crc:0x607B, reg_crc:0x0A69 +Testing eoribw_absl...done. pre_crc:0x0B84, mem_crc:0x1866, reg_crc:0xC74C +Testing eoril_absl...done. pre_crc:0x8B97, mem_crc:0xB85F, reg_crc:0x2206 +Testing eori_to_ccr...done. pre_crc:0x30BF, mem_crc:0x0000, reg_crc:0x4812 +Testing exg...done. pre_crc:0xB2DB, mem_crc:0x0000, reg_crc:0x1A5D +Testing ext...done. pre_crc:0x7326, mem_crc:0x0000, reg_crc:0xB004 +Testing jmp_absl...done. pre_crc:0x7440, mem_crc:0x0000, reg_crc:0x3928 +Testing jmp_ind...done. pre_crc:0x617C, mem_crc:0x0000, reg_crc:0xD8E2 +Testing jmp_d16...done. pre_crc:0xB3BE, mem_crc:0x0000, reg_crc:0x4409 +Testing jsr_absl...done. pre_crc:0xEF7F, mem_crc:0x149A, reg_crc:0xF6D1 +Testing jsr_ind...done. pre_crc:0x4945, mem_crc:0xEF61, reg_crc:0xFB7F +Testing jsr_d16...done. pre_crc:0x0903, mem_crc:0x8FA4, reg_crc:0xBCD6 +Testing lea_ind...done. pre_crc:0xB20B, mem_crc:0x0000, reg_crc:0xFA74 +Testing lea_d16...done. pre_crc:0x02D4, mem_crc:0x0000, reg_crc:0xA462 +Testing lea_absw...done. pre_crc:0x3CD1, mem_crc:0x0000, reg_crc:0xBF9D +Testing lea_absl...done. pre_crc:0x96D2, mem_crc:0x0000, reg_crc:0x9B16 +Testing linkw...done. pre_crc:0x1FB1, mem_crc:0x60C9, reg_crc:0x00E4 +Testing linkl...done. pre_crc:0xC8F5, mem_crc:0x4F54, reg_crc:0x792F +Testing move16_postinc_postinc...done. pre_crc:0x7377, mem_crc:0x2E81, reg_crc:0xB433 +Testing move16_absl_ind...done. pre_crc:0xAC38, mem_crc:0x4CDA, reg_crc:0xF8DF +Testing move16_absl_postinc...done. pre_crc:0x0E78, mem_crc:0x7AA4, reg_crc:0xD4DB +Testing move16_ind_absl...done. pre_crc:0x0B22, mem_crc:0x1D17, reg_crc:0xB3F7 +Testing move16_postinc_absl...done. pre_crc:0x9625, mem_crc:0xA1B6, reg_crc:0xBE22 +Testing moveb_dreg_dreg...done. pre_crc:0x51C0, mem_crc:0x0000, reg_crc:0xEE8D +Testing movewl_reg_dreg...done. pre_crc:0xE4DF, mem_crc:0x0000, reg_crc:0xF1DF +Testing moveb_ind_dreg...done. pre_crc:0xCDD0, mem_crc:0x0000, reg_crc:0x64F8 +Testing movewl_ind_dreg...done. pre_crc:0xACB3, mem_crc:0x0000, reg_crc:0xF987 +Testing moveb_d16_dreg...done. pre_crc:0x1B10, mem_crc:0x0000, reg_crc:0xB44B +Testing movewl_d16_dreg...done. pre_crc:0xFF9D, mem_crc:0x0000, reg_crc:0x06B1 +Testing moveb_absl_dreg...done. pre_crc:0x0B31, mem_crc:0x0000, reg_crc:0xE667 +Testing movewl_absl_dreg...done. pre_crc:0x08B5, mem_crc:0x0000, reg_crc:0x91A4 +Testing movebw_const_dreg...done. pre_crc:0x348B, mem_crc:0x0000, reg_crc:0x14E2 +Testing movel_const_dreg...done. pre_crc:0x7CC3, mem_crc:0x0000, reg_crc:0x15F8 +Testing moveb_dreg_ind...done. pre_crc:0xF5C9, mem_crc:0x9D2C, reg_crc:0x6245 +Testing movewl_reg_ind...done. pre_crc:0xBAB0, mem_crc:0x2623, reg_crc:0x69F0 +Testing moveb_dreg_d16...done. pre_crc:0x5F5E, mem_crc:0x1BB1, reg_crc:0x29FE +Testing movewl_reg_d16...done. pre_crc:0x1344, mem_crc:0xAD02, reg_crc:0xE67C +Testing moveb_dreg_absl...done. pre_crc:0x8BF7, mem_crc:0xB0F1, reg_crc:0x38D9 +Testing movewl_reg_absl...done. pre_crc:0x9AE3, mem_crc:0x180A, reg_crc:0x3918 +Testing moveb_ind_ind...done. pre_crc:0x11F1, mem_crc:0x73A7, reg_crc:0x62DA +Testing moveb_ind_d16...done. pre_crc:0x04AE, mem_crc:0x912A, reg_crc:0x887E +Testing moveb_d16_ind...done. pre_crc:0x6665, mem_crc:0xE4E8, reg_crc:0x3547 +Testing movewl_ind_d16...done. pre_crc:0xF30A, mem_crc:0x0CA9, reg_crc:0x9628 +Testing movewl_d16_ind...done. pre_crc:0x5455, mem_crc:0xA95F, reg_crc:0x8AC7 +Testing moveb_d16_d16...done. pre_crc:0x9611, mem_crc:0xC4DF, reg_crc:0x5498 +Testing movewl_d16_d16...done. pre_crc:0xEBF5, mem_crc:0x2F54, reg_crc:0x63F3 +Testing moveb_ind_absl...done. pre_crc:0x777C, mem_crc:0x8E7E, reg_crc:0x0548 +Testing movewl_ind_absl...done. pre_crc:0xAD85, mem_crc:0x14CC, reg_crc:0x76C8 +Testing moveb_absl_ind...done. pre_crc:0x27C1, mem_crc:0xBF80, reg_crc:0x2178 +Testing movewl_absl_ind...done. pre_crc:0x72CF, mem_crc:0xB5C2, reg_crc:0xC587 +Testing moveb_absl_absl...done. pre_crc:0x769A, mem_crc:0xF2FB, reg_crc:0xA6E1 +Testing movewl_absl_absl...done. pre_crc:0xDC5E, mem_crc:0x4501, reg_crc:0x7756 +Testing moveb_d16_absl...done. pre_crc:0xAC5A, mem_crc:0x6E0D, reg_crc:0xF2A7 +Testing movewl_d16_absl...done. pre_crc:0x2A4C, mem_crc:0xA8DA, reg_crc:0x9C5C +Testing moveb_absl_d16...done. pre_crc:0x3B4C, mem_crc:0x392B, reg_crc:0xCB0D +Testing movewl_absl_d16...done. pre_crc:0x5E40, mem_crc:0x912C, reg_crc:0x862F +Testing moveb_const_ind...done. pre_crc:0x3CB4, mem_crc:0xCF50, reg_crc:0x049D +Testing moveb_const_d16...done. pre_crc:0x5C50, mem_crc:0xEF1C, reg_crc:0xC35C +Testing moveb_const_absl...done. pre_crc:0xB5BE, mem_crc:0xC596, reg_crc:0x5B3E +Testing movew_const_ind...done. pre_crc:0xCF72, mem_crc:0x88E1, reg_crc:0x17C9 +Testing movew_const_d16...done. pre_crc:0x8388, mem_crc:0xC0AC, reg_crc:0x12AF +Testing movew_const_absl...done. pre_crc:0xD2F8, mem_crc:0x20FB, reg_crc:0x5D9D +Testing movel_const_ind...done. pre_crc:0xB95B, mem_crc:0xF12C, reg_crc:0xA7B0 +Testing movel_const_d16...done. pre_crc:0xB462, mem_crc:0xCBCE, reg_crc:0x4188 +Testing movel_const_absl...done. pre_crc:0xA419, mem_crc:0xDDB2, reg_crc:0x412E +Testing movea_reg...done. pre_crc:0xE773, mem_crc:0x0000, reg_crc:0x1510 +Testing movea_ind...done. pre_crc:0x7412, mem_crc:0x0000, reg_crc:0xF5CA +Testing movea_d16...done. pre_crc:0xE6BD, mem_crc:0x0000, reg_crc:0x94A1 +Testing movea_absl...done. pre_crc:0xD6B3, mem_crc:0x0000, reg_crc:0x7FC4 +Testing moveaw_const...done. pre_crc:0x1103, mem_crc:0x0000, reg_crc:0x71E2 +Testing moveal_const...done. pre_crc:0xF54F, mem_crc:0x0000, reg_crc:0x9EA7 +Testing move_from_ccr_dreg...done. pre_crc:0x22A0, mem_crc:0x0000, reg_crc:0x5FA3 +Testing move_from_ccr_ind...done. pre_crc:0xC182, mem_crc:0x0000, reg_crc:0x3886 +Testing move_from_ccr_d16...done. pre_crc:0xC24C, mem_crc:0x0000, reg_crc:0x54D9 +Testing move_to_ccr_reg...done. pre_crc:0x8EB6, mem_crc:0x0000, reg_crc:0x3CFC +Testing move_to_ccr_ind...done. pre_crc:0x53A0, mem_crc:0x0000, reg_crc:0xC219 +Testing movem_to_ind...done. pre_crc:0x4017, mem_crc:0x28D1, reg_crc:0xD9B0 +Testing movem_to_predec...done. pre_crc:0x1219, mem_crc:0x4E9A, reg_crc:0x79AE +Testing movem_to_d16...done. pre_crc:0x4288, mem_crc:0x6786, reg_crc:0xB343 +Testing movem_to_absl...done. pre_crc:0xD7D0, mem_crc:0xFDF2, reg_crc:0xC267 +Testing movem_from_d16...done. pre_crc:0x9A59, mem_crc:0x0000, reg_crc:0xE519 +Testing movem_from_ind...done. pre_crc:0xC708, mem_crc:0x0000, reg_crc:0x43F7 +Testing movem_from_absl...done. pre_crc:0x153C, mem_crc:0x0000, reg_crc:0x3440 +Testing movep_to_mem...done. pre_crc:0x31AF, mem_crc:0xF1EC, reg_crc:0x184D +Testing movep_from_mem...done. pre_crc:0x54CA, mem_crc:0x0000, reg_crc:0x34F7 +Testing moveq...done. pre_crc:0x20AF, mem_crc:0x0000, reg_crc:0xDAB3 +Testing mulsw_dreg...done. pre_crc:0x1EEE, mem_crc:0x0000, reg_crc:0xB95B +Testing mulsw_ind...done. pre_crc:0x7FBB, mem_crc:0x0000, reg_crc:0x950C +Testing mulsw_d16...done. pre_crc:0xB850, mem_crc:0x0000, reg_crc:0x0D5D +Testing mulsw_absl...done. pre_crc:0xD9AD, mem_crc:0x0000, reg_crc:0x90DB +Testing muluw_dreg...done. pre_crc:0x0408, mem_crc:0x0000, reg_crc:0x859E +Testing muluw_ind...done. pre_crc:0xE4E6, mem_crc:0x0000, reg_crc:0x48FF +Testing muluw_d16...done. pre_crc:0xF520, mem_crc:0x0000, reg_crc:0x34C7 +Testing muluw_absl...done. pre_crc:0xDB57, mem_crc:0x0000, reg_crc:0xF999 +Testing mulsl_dreg...done. pre_crc:0x1014, mem_crc:0x0000, reg_crc:0x5CCA +Testing mulsl_ind...done. pre_crc:0x282C, mem_crc:0x0000, reg_crc:0xC738 +Testing mulsl_d16...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0x7EA3 +Testing mulsl_absl...done. pre_crc:0xDA84, mem_crc:0x0000, reg_crc:0x0ACC +Testing mulul_dreg...done. pre_crc:0x89E1, mem_crc:0x0000, reg_crc:0x80E0 +Testing mulul_ind...done. pre_crc:0xA29B, mem_crc:0x0000, reg_crc:0x8250 +Testing mulul_d16...done. pre_crc:0x5A4C, mem_crc:0x0000, reg_crc:0x6FD4 +Testing mulul_absl...done. pre_crc:0x6690, mem_crc:0x0000, reg_crc:0x7B41 +Testing nbcd_reg...done. pre_crc:0x3F25, mem_crc:0x0000, reg_crc:0xEC57 +Testing nbcd_ind...done. pre_crc:0x9AFB, mem_crc:0x82BD, reg_crc:0x3F1B +Testing nbcd_d16...done. pre_crc:0x5596, mem_crc:0xD93B, reg_crc:0x61F8 +Testing nbcd_absl...done. pre_crc:0x0943, mem_crc:0x3333, reg_crc:0x8D18 +Testing neg_reg...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x4E3A +Testing negb_ind...done. pre_crc:0xA3F8, mem_crc:0x93DD, reg_crc:0x2576 +Testing negwl_ind...done. pre_crc:0xB1A9, mem_crc:0x45B5, reg_crc:0x5FD7 +Testing negb_d16...done. pre_crc:0xDDA2, mem_crc:0x2728, reg_crc:0x8F94 +Testing negwl_d16...done. pre_crc:0xBF89, mem_crc:0x74D8, reg_crc:0x5851 +Testing neg_absl...done. pre_crc:0x16D0, mem_crc:0x934E, reg_crc:0x7C19 +Testing negx_reg...done. pre_crc:0xC6B8, mem_crc:0x0000, reg_crc:0xE96D +Testing negxb_ind...done. pre_crc:0xE647, mem_crc:0x4D84, reg_crc:0xDD09 +Testing negxwl_ind...done. pre_crc:0x5665, mem_crc:0xEBF3, reg_crc:0x526E +Testing negxb_d16...done. pre_crc:0xB859, mem_crc:0xADD3, reg_crc:0x9D9E +Testing negxwl_d16...done. pre_crc:0x8271, mem_crc:0xC0B8, reg_crc:0x8370 +Testing negx_absl...done. pre_crc:0x946F, mem_crc:0x53FF, reg_crc:0xF704 +Testing nop...done. pre_crc:0xF16E, mem_crc:0x0000, reg_crc:0x333C +Testing not_reg...done. pre_crc:0xA924, mem_crc:0x0000, reg_crc:0xADB3 +Testing notb_ind...done. pre_crc:0x2227, mem_crc:0x212E, reg_crc:0xD5B3 +Testing notwl_ind...done. pre_crc:0x7D2A, mem_crc:0x2B55, reg_crc:0x7133 +Testing notb_d16...done. pre_crc:0x8306, mem_crc:0x9E75, reg_crc:0xF9A9 +Testing notwl_d16...done. pre_crc:0x4ABE, mem_crc:0xF11F, reg_crc:0xC0B4 +Testing not_absl...done. pre_crc:0xC2DF, mem_crc:0xB8ED, reg_crc:0x8453 +Testing or_dreg_dreg...done. pre_crc:0xCF15, mem_crc:0x0000, reg_crc:0x7DF3 +Testing or_ind_dreg...done. pre_crc:0x3ECE, mem_crc:0x0000, reg_crc:0x2C57 +Testing or_d16_dreg...done. pre_crc:0xD891, mem_crc:0x0000, reg_crc:0x776C +Testing or_absl_dreg...done. pre_crc:0x8AF3, mem_crc:0x0000, reg_crc:0x30A5 +Testing orbw_const_dreg...done. pre_crc:0x8724, mem_crc:0x0000, reg_crc:0x91E6 +Testing orl_const_dreg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0xA143 +Testing or_dreg_ind...done. pre_crc:0x69E4, mem_crc:0x7C62, reg_crc:0xC83E +Testing or_dreg_d16...done. pre_crc:0xFF69, mem_crc:0x3969, reg_crc:0x2604 +Testing or_dreg_absl...done. pre_crc:0x0375, mem_crc:0xF2B0, reg_crc:0x31E9 +Testing oribw_dreg...done. pre_crc:0xC232, mem_crc:0x0000, reg_crc:0x3491 +Testing oril_dreg...done. pre_crc:0xCC77, mem_crc:0x0000, reg_crc:0x3003 +Testing oribw_ind...done. pre_crc:0xB593, mem_crc:0xDA9B, reg_crc:0xCE79 +Testing oril_ind...done. pre_crc:0x8460, mem_crc:0x3966, reg_crc:0x43E3 +Testing oribw_d16...done. pre_crc:0x1C25, mem_crc:0xBB18, reg_crc:0x2C58 +Testing oril_d16...done. pre_crc:0xB0C5, mem_crc:0x9EA7, reg_crc:0x15F2 +Testing oribw_absl...done. pre_crc:0x8FF4, mem_crc:0x1585, reg_crc:0x1983 +Testing oril_absl...done. pre_crc:0xD927, mem_crc:0xB23A, reg_crc:0x145A +Testing ori_to_ccr...done. pre_crc:0xD18F, mem_crc:0x0000, reg_crc:0x89F8 +Testing pack_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0xAF66 +Testing pack_mem...done. pre_crc:0x3310, mem_crc:0xB661, reg_crc:0x2230 +Testing pea_ind...done. pre_crc:0x44F8, mem_crc:0x61A4, reg_crc:0xA180 +Testing pea_d16...done. pre_crc:0xF8AC, mem_crc:0xC4FE, reg_crc:0x4712 +Testing pea_absw...done. pre_crc:0xF361, mem_crc:0x83A1, reg_crc:0xBFB3 +Testing pea_absl...done. pre_crc:0xD7AB, mem_crc:0x1253, reg_crc:0x7765 +Testing rol_dx_dy...done. pre_crc:0x6179, mem_crc:0x0000, reg_crc:0xDBC5 +Testing rol_const_dy...done. pre_crc:0x0A37, mem_crc:0x0000, reg_crc:0xE0E9 +Testing rol_ind...done. pre_crc:0x2106, mem_crc:0xA132, reg_crc:0xA084 +Testing rol_d16...done. pre_crc:0xE064, mem_crc:0x1E0A, reg_crc:0x6273 +Testing rol_absl...done. pre_crc:0x06A9, mem_crc:0xDABA, reg_crc:0x5719 +Testing ror_dx_dy...done. pre_crc:0x6030, mem_crc:0x0000, reg_crc:0xDA9B +Testing ror_const_dy...done. pre_crc:0x404E, mem_crc:0x0000, reg_crc:0x5390 +Testing ror_ind...done. pre_crc:0x7282, mem_crc:0xCD2A, reg_crc:0xAAE1 +Testing ror_d16...done. pre_crc:0x3867, mem_crc:0x169E, reg_crc:0x6486 +Testing ror_absl...done. pre_crc:0x9B0A, mem_crc:0x1CEF, reg_crc:0x342C +Testing roxl_dx_dy...done. pre_crc:0xA011, mem_crc:0x0000, reg_crc:0x61C2 +Testing roxl_const_dy...done. pre_crc:0xE66F, mem_crc:0x0000, reg_crc:0x9E57 +Testing roxl_ind...done. pre_crc:0x561B, mem_crc:0x08DA, reg_crc:0x61C7 +Testing roxl_d16...done. pre_crc:0xE870, mem_crc:0x2FEC, reg_crc:0x3BAD +Testing roxl_absl...done. pre_crc:0xB9BA, mem_crc:0xEC2F, reg_crc:0x40AB +Testing roxr_dx_dy...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0xCC6F +Testing roxr_const_dy...done. pre_crc:0x3130, mem_crc:0x0000, reg_crc:0xDFC8 +Testing roxr_ind...done. pre_crc:0x854C, mem_crc:0x6492, reg_crc:0x5816 +Testing roxr_d16...done. pre_crc:0x4E08, mem_crc:0x388F, reg_crc:0xBEF0 +Testing roxr_absl...done. pre_crc:0x9492, mem_crc:0x6E52, reg_crc:0xDEB4 +Testing rtd...done. pre_crc:0x5AE5, mem_crc:0x0000, reg_crc:0x85B0 +Testing rtr...done. pre_crc:0xB26B, mem_crc:0x0000, reg_crc:0x2F97 +Testing rts...done. pre_crc:0x3CFF, mem_crc:0x0000, reg_crc:0x1496 +Testing sbcd_reg...done. pre_crc:0x8669, mem_crc:0x0000, reg_crc:0x01BF +Testing sbcd_mem...done. pre_crc:0xA0C6, mem_crc:0x0B1C, reg_crc:0xA348 +Testing Scc_reg...done. pre_crc:0xF0D0, mem_crc:0x0000, reg_crc:0x03F5 +Testing Scc_ind...done. pre_crc:0x2161, mem_crc:0x0B4F, reg_crc:0x92EA +Testing Scc_d16...done. pre_crc:0xC330, mem_crc:0x0880, reg_crc:0xCA65 +Testing Scc_absl...done. pre_crc:0x1EC1, mem_crc:0xF1E6, reg_crc:0x0536 +Testing subb_dreg_dreg...done. pre_crc:0xAF79, mem_crc:0x0000, reg_crc:0x7209 +Testing subw_reg_dreg...done. pre_crc:0x4F07, mem_crc:0x0000, reg_crc:0x53AF +Testing subl_reg_dreg...done. pre_crc:0x1AC8, mem_crc:0x0000, reg_crc:0x6A74 +Testing sub_ind_dreg...done. pre_crc:0x154D, mem_crc:0x0000, reg_crc:0x4F2F +Testing sub_d16_dreg...done. pre_crc:0xBD8A, mem_crc:0x0000, reg_crc:0x3BC2 +Testing sub_absl_dreg...done. pre_crc:0xD9ED, mem_crc:0x0000, reg_crc:0x1B11 +Testing subb_const_dreg...done. pre_crc:0x9B21, mem_crc:0x0000, reg_crc:0x59AF +Testing subw_const_dreg...done. pre_crc:0xD248, mem_crc:0x0000, reg_crc:0x86FE +Testing subl_const_dreg...done. pre_crc:0x0DCF, mem_crc:0x0000, reg_crc:0x1FAD +Testing sub_dreg_ind...done. pre_crc:0xAA2D, mem_crc:0xB986, reg_crc:0x84D4 +Testing sub_dreg_d16...done. pre_crc:0x8A45, mem_crc:0x09C9, reg_crc:0x25F1 +Testing sub_dreg_absl...done. pre_crc:0xD81B, mem_crc:0x60F9, reg_crc:0xCECD +Testing subaw_reg_areg...done. pre_crc:0x7519, mem_crc:0x0000, reg_crc:0x6E23 +Testing subal_reg_areg...done. pre_crc:0xD624, mem_crc:0x0000, reg_crc:0x8136 +Testing suba_ind_areg...done. pre_crc:0x18DC, mem_crc:0x0000, reg_crc:0x857C +Testing suba_d16_areg...done. pre_crc:0x312F, mem_crc:0x0000, reg_crc:0xC27F +Testing suba_absl_areg...done. pre_crc:0x4710, mem_crc:0x0000, reg_crc:0x477E +Testing subaw_const_areg...done. pre_crc:0x4E2A, mem_crc:0x0000, reg_crc:0xDA32 +Testing subal_const_areg...done. pre_crc:0xBB4D, mem_crc:0x0000, reg_crc:0x7E35 +Testing subibw_dreg...done. pre_crc:0x38BF, mem_crc:0x0000, reg_crc:0xA3F0 +Testing subil_dreg...done. pre_crc:0x2C9D, mem_crc:0x0000, reg_crc:0x2A46 +Testing subibw_ind...done. pre_crc:0x995B, mem_crc:0x5AC6, reg_crc:0xE7E8 +Testing subil_ind...done. pre_crc:0x7D61, mem_crc:0x73BC, reg_crc:0xCE6B +Testing subibw_d16...done. pre_crc:0xDA03, mem_crc:0x3AED, reg_crc:0xDCBF +Testing subil_d16...done. pre_crc:0xF7EF, mem_crc:0x8589, reg_crc:0xF39A +Testing subibw_absl...done. pre_crc:0x770E, mem_crc:0xB4DE, reg_crc:0x0948 +Testing subil_absl...done. pre_crc:0x0C58, mem_crc:0x395A, reg_crc:0xE874 +Testing subq_dreg...done. pre_crc:0xAA1A, mem_crc:0x0000, reg_crc:0x04B6 +Testing subq_areg...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC4F8 +Testing subq_ind...done. pre_crc:0x5778, mem_crc:0xE40A, reg_crc:0xCC87 +Testing subq_d16...done. pre_crc:0x8A71, mem_crc:0xD004, reg_crc:0x32CD +Testing subq_absl...done. pre_crc:0x79BC, mem_crc:0x3A0C, reg_crc:0x78FA +Testing subx_reg...done. pre_crc:0x343B, mem_crc:0x0000, reg_crc:0xA2FD +Testing subx_mem...done. pre_crc:0xE2E0, mem_crc:0x898A, reg_crc:0x31DF +Testing swap...done. pre_crc:0xBE86, mem_crc:0x0000, reg_crc:0xEA08 +Testing tas_dreg...done. pre_crc:0x4165, mem_crc:0x0000, reg_crc:0x987C +Testing tas_ind...done. pre_crc:0x7D07, mem_crc:0xAA66, reg_crc:0x56AA +Testing tas_d16...done. pre_crc:0xB219, mem_crc:0xC9B1, reg_crc:0x091B +Testing tas_absl...done. pre_crc:0xA88A, mem_crc:0x0CF0, reg_crc:0xB196 +Testing tstb_dreg...done. pre_crc:0x6E7A, mem_crc:0x0000, reg_crc:0xFF82 +Testing tstwl_reg...done. pre_crc:0x1C0C, mem_crc:0x0000, reg_crc:0xA2B3 +Testing tstb_ind...done. pre_crc:0xAEE1, mem_crc:0x0000, reg_crc:0x02E9 +Testing tstwl_ind...done. pre_crc:0x0C55, mem_crc:0x0000, reg_crc:0x7D56 +Testing tstb_d16...done. pre_crc:0x82D8, mem_crc:0x0000, reg_crc:0x6257 +Testing tstwl_d16...done. pre_crc:0x3A3F, mem_crc:0x0000, reg_crc:0x8CE3 +Testing tst_absl...done. pre_crc:0xE5E7, mem_crc:0x0000, reg_crc:0xE629 diff --git a/test/alpha-redhat-linux.10.noncc b/test/alpha-redhat-linux.10.noncc new file mode 100644 index 0000000..ce78775 --- /dev/null +++ b/test/alpha-redhat-linux.10.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x4D58, mem_crc:0x0000, reg_crc:0x492A +Testing movewl_pcd8_dreg...done. pre_crc:0xCDA2, mem_crc:0x0000, reg_crc:0x1224 +Testing unpk_reg...done. pre_crc:0x38D9, mem_crc:0x0000, reg_crc:0xCD5E +Testing unpk_mem...done. pre_crc:0xC835, mem_crc:0xA9BE, reg_crc:0x53AA +Testing unlk...done. pre_crc:0x47D3, mem_crc:0x0000, reg_crc:0x99B4 +Testing movewl_ind_ind...done. pre_crc:0x6E58, mem_crc:0xB0B0, reg_crc:0x51C7 +Testing divsl_ll_reg...done. pre_crc:0xCA9C, mem_crc:0x0000, reg_crc:0x84D4 +Testing divsl_ll_ind...done. pre_crc:0x6AED, mem_crc:0x0000, reg_crc:0xA73D +Testing divsl_ll_absl...done. pre_crc:0x34D9, mem_crc:0x0000, reg_crc:0xDCD9 +Testing lea_pc_ind_preix...done. pre_crc:0x5398, mem_crc:0x0000, reg_crc:0xAA47 +Testing lea_pc_ind_postix...done. pre_crc:0x363D, mem_crc:0x0000, reg_crc:0x7442 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xAF89, mem_crc:0x0000, reg_crc:0x9D7A +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5D03, mem_crc:0x0000, reg_crc:0x7591 +Testing moveb_pcd16_dreg...done. pre_crc:0x0556, mem_crc:0x0000, reg_crc:0x545D +Testing movewl_pcd16_dreg...done. pre_crc:0x7027, mem_crc:0x0000, reg_crc:0x6DE0 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD8C1, mem_crc:0x0000, reg_crc:0xB7A3 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x8889, mem_crc:0x0000, reg_crc:0xFF7D +Testing lea_ind_preix...done. pre_crc:0x1F3F, mem_crc:0x0000, reg_crc:0x1F3E +Testing lea_ind_postix...done. pre_crc:0x5E19, mem_crc:0x0000, reg_crc:0xCA6C +Testing add_absl_dreg...done. pre_crc:0xF0A5, mem_crc:0x0000, reg_crc:0x05F6 +Testing abcd_reg...done. pre_crc:0xBC6F, mem_crc:0x0000, reg_crc:0x81A3 +Testing abcd_mem...done. pre_crc:0x207A, mem_crc:0xCA77, reg_crc:0x1AB6 +Testing addb_dreg_dreg...done. pre_crc:0xBF40, mem_crc:0x0000, reg_crc:0x4F91 +Testing addw_reg_dreg...done. pre_crc:0xF0A4, mem_crc:0x0000, reg_crc:0x16D0 +Testing addl_reg_dreg...done. pre_crc:0x9596, mem_crc:0x0000, reg_crc:0x4277 +Testing add_d16_dreg...done. pre_crc:0xFBAD, mem_crc:0x0000, reg_crc:0x50EB +Testing addb_const_dreg...done. pre_crc:0x04D8, mem_crc:0x0000, reg_crc:0x3536 +Testing addw_const_dreg...done. pre_crc:0xBA7E, mem_crc:0x0000, reg_crc:0xFB20 +Testing add_dreg_ind...done. pre_crc:0x21E7, mem_crc:0x0B02, reg_crc:0x36B8 +Testing add_ind_dreg...done. pre_crc:0x73B2, mem_crc:0x0000, reg_crc:0x8F13 +Testing addl_const_dreg...done. pre_crc:0x85DD, mem_crc:0x0000, reg_crc:0x5D8C +Testing add_dreg_d16...done. pre_crc:0x40EB, mem_crc:0xE49A, reg_crc:0x2C5B +Testing add_dreg_absl...done. pre_crc:0x9293, mem_crc:0x7E7E, reg_crc:0xE84D +Testing addaw_reg_areg...done. pre_crc:0xC0C6, mem_crc:0x0000, reg_crc:0x5A1D +Testing addal_reg_areg...done. pre_crc:0x98BE, mem_crc:0x0000, reg_crc:0xD592 +Testing adda_ind_areg...done. pre_crc:0x5A55, mem_crc:0x0000, reg_crc:0x1531 +Testing adda_d16_areg...done. pre_crc:0xE543, mem_crc:0x0000, reg_crc:0xE70C +Testing adda_absl_areg...done. pre_crc:0x033B, mem_crc:0x0000, reg_crc:0xB7C5 +Testing addaw_const_areg...done. pre_crc:0xEDC4, mem_crc:0x0000, reg_crc:0x88E4 +Testing addal_const_areg...done. pre_crc:0x662D, mem_crc:0x0000, reg_crc:0xAEFB +Testing addibw_dreg...done. pre_crc:0x693D, mem_crc:0x0000, reg_crc:0xEA29 +Testing addil_dreg...done. pre_crc:0x6C70, mem_crc:0x0000, reg_crc:0xBA40 +Testing addibw_ind...done. pre_crc:0x6B43, mem_crc:0x3129, reg_crc:0xEA46 +Testing addil_ind...done. pre_crc:0x3416, mem_crc:0x1753, reg_crc:0x6219 +Testing addibw_d16...done. pre_crc:0x8D11, mem_crc:0x6F60, reg_crc:0xF13D +Testing addil_d16...done. pre_crc:0x8A63, mem_crc:0x162A, reg_crc:0x69E7 +Testing addibw_absl...done. pre_crc:0x003F, mem_crc:0xF7B5, reg_crc:0xE3CB +Testing addil_absl...done. pre_crc:0x5AD0, mem_crc:0x8C80, reg_crc:0x6611 +Testing addq_dreg...done. pre_crc:0x16C6, mem_crc:0x0000, reg_crc:0xD828 +Testing addq_areg...done. pre_crc:0x829B, mem_crc:0x0000, reg_crc:0x773A +Testing addq_ind...done. pre_crc:0x145B, mem_crc:0x3DB9, reg_crc:0x1BB4 +Testing addq_d16...done. pre_crc:0xA470, mem_crc:0x8583, reg_crc:0xD9E0 +Testing addq_absl...done. pre_crc:0xDA04, mem_crc:0xA59A, reg_crc:0xB79F +Testing addx_reg...done. pre_crc:0x25C1, mem_crc:0x0000, reg_crc:0x69C9 +Testing addx_mem...done. pre_crc:0xF9FB, mem_crc:0xB55E, reg_crc:0x497A +Testing and_dreg_dreg...done. pre_crc:0xE5C1, mem_crc:0x0000, reg_crc:0x5381 +Testing and_ind_dreg...done. pre_crc:0xB4DF, mem_crc:0x0000, reg_crc:0x4591 +Testing and_d16_dreg...done. pre_crc:0x456F, mem_crc:0x0000, reg_crc:0xCAB7 +Testing and_absl_dreg...done. pre_crc:0xA413, mem_crc:0x0000, reg_crc:0x5EFD +Testing andbw_const_dreg...done. pre_crc:0xEB21, mem_crc:0x0000, reg_crc:0x2CB0 +Testing andl_const_dreg...done. pre_crc:0xC274, mem_crc:0x0000, reg_crc:0xB5B0 +Testing and_dreg_ind...done. pre_crc:0xF302, mem_crc:0x8620, reg_crc:0xEF25 +Testing and_dreg_d16...done. pre_crc:0x465F, mem_crc:0xD5C8, reg_crc:0x68D6 +Testing and_dreg_absl...done. pre_crc:0xAC41, mem_crc:0x5F63, reg_crc:0xAD45 +Testing andibw_dreg...done. pre_crc:0x0137, mem_crc:0x0000, reg_crc:0xC11F +Testing andil_dreg...done. pre_crc:0x2476, mem_crc:0x0000, reg_crc:0xA1D3 +Testing andibw_ind...done. pre_crc:0x025A, mem_crc:0xFE1A, reg_crc:0x468A +Testing andil_ind...done. pre_crc:0x9542, mem_crc:0x9087, reg_crc:0xEE50 +Testing andibw_d16...done. pre_crc:0x3F66, mem_crc:0x940D, reg_crc:0x9BFB +Testing andil_d16...done. pre_crc:0x712C, mem_crc:0x7EF0, reg_crc:0x811B +Testing andibw_absl...done. pre_crc:0x64F5, mem_crc:0x5B7F, reg_crc:0x14F6 +Testing andil_absl...done. pre_crc:0x49DC, mem_crc:0x6593, reg_crc:0x63D4 +Testing andi_to_ccr...done. pre_crc:0x0C28, mem_crc:0x0000, reg_crc:0x2010 +Testing asl_dx_dy...done. pre_crc:0xCBCA, mem_crc:0x0000, reg_crc:0xDC5B +Testing asl_const_dy...done. pre_crc:0x28DF, mem_crc:0x0000, reg_crc:0xBB44 +Testing asl_ind...done. pre_crc:0x7331, mem_crc:0xFA05, reg_crc:0x81E4 +Testing asl_d16...done. pre_crc:0xF5BA, mem_crc:0xB85F, reg_crc:0x4E9F +Testing asl_absl...done. pre_crc:0x8B35, mem_crc:0xD712, reg_crc:0x0E8F +Testing asr_dx_dy...done. pre_crc:0x9E8C, mem_crc:0x0000, reg_crc:0x8C01 +Testing asr_const_dy...done. pre_crc:0x6DE1, mem_crc:0x0000, reg_crc:0x2019 +Testing asr_ind...done. pre_crc:0xEB9F, mem_crc:0xDEFF, reg_crc:0x886C +Testing asr_d16...done. pre_crc:0x49A0, mem_crc:0xC792, reg_crc:0xB968 +Testing asr_absl...done. pre_crc:0x27EB, mem_crc:0x9A1B, reg_crc:0x22C3 +Testing lsl_dx_dy...done. pre_crc:0x00EC, mem_crc:0x0000, reg_crc:0xB872 +Testing lsl_const_dy...done. pre_crc:0xA08D, mem_crc:0x0000, reg_crc:0xB19C +Testing lsl_ind...done. pre_crc:0x765B, mem_crc:0x3D07, reg_crc:0x6E4C +Testing lsl_d16...done. pre_crc:0xC154, mem_crc:0x2884, reg_crc:0x864F +Testing lsl_absl...done. pre_crc:0xC5E2, mem_crc:0x9201, reg_crc:0x58BF +Testing lsr_dx_dy...done. pre_crc:0xCC3A, mem_crc:0x0000, reg_crc:0x073D +Testing lsr_const_dy...done. pre_crc:0x9910, mem_crc:0x0000, reg_crc:0x6226 +Testing lsr_ind...done. pre_crc:0xE8D5, mem_crc:0x3886, reg_crc:0xC31B +Testing lsr_d16...done. pre_crc:0x3D1D, mem_crc:0x8BCA, reg_crc:0x1B7D +Testing lsr_absl...done. pre_crc:0x2024, mem_crc:0x78D2, reg_crc:0x1796 +Testing bra_b...done. pre_crc:0xFDCD, mem_crc:0x0000, reg_crc:0xD073 +Testing bhi_b...done. pre_crc:0x3DEB, mem_crc:0x0000, reg_crc:0xA2B6 +Testing bls_b...done. pre_crc:0x0D1A, mem_crc:0x0000, reg_crc:0xFA48 +Testing bcc_b...done. pre_crc:0x7A03, mem_crc:0x0000, reg_crc:0xA79B +Testing bcs_b...done. pre_crc:0x0473, mem_crc:0x0000, reg_crc:0x9542 +Testing bne_b...done. pre_crc:0x07A8, mem_crc:0x0000, reg_crc:0x702F +Testing beq_b...done. pre_crc:0x0DFE, mem_crc:0x0000, reg_crc:0x5789 +Testing bvc_b...done. pre_crc:0x8C34, mem_crc:0x0000, reg_crc:0x78D8 +Testing bvs_b...done. pre_crc:0xC0F9, mem_crc:0x0000, reg_crc:0xB6FB +Testing bpl_b...done. pre_crc:0x243B, mem_crc:0x0000, reg_crc:0x9530 +Testing bmi_b...done. pre_crc:0xB880, mem_crc:0x0000, reg_crc:0x8817 +Testing bge_b...done. pre_crc:0xF0A4, mem_crc:0x0000, reg_crc:0x3006 +Testing blt_b...done. pre_crc:0xF687, mem_crc:0x0000, reg_crc:0xAD0D +Testing bgt_b...done. pre_crc:0x5882, mem_crc:0x0000, reg_crc:0xA5C6 +Testing ble_b...done. pre_crc:0x4649, mem_crc:0x0000, reg_crc:0x63B4 +Testing bra_w...done. pre_crc:0x6014, mem_crc:0x0000, reg_crc:0xC9ED +Testing bhi_w...done. pre_crc:0x0AFE, mem_crc:0x0000, reg_crc:0x2C5B +Testing bls_w...done. pre_crc:0xF44F, mem_crc:0x0000, reg_crc:0x3ABD +Testing bcc_w...done. pre_crc:0x97E9, mem_crc:0x0000, reg_crc:0xB516 +Testing bcs_w...done. pre_crc:0x8EDA, mem_crc:0x0000, reg_crc:0x8DB8 +Testing bne_w...done. pre_crc:0x787E, mem_crc:0x0000, reg_crc:0xC565 +Testing beq_w...done. pre_crc:0x214D, mem_crc:0x0000, reg_crc:0x8CD3 +Testing bvc_w...done. pre_crc:0xBF36, mem_crc:0x0000, reg_crc:0x641A +Testing bvs_w...done. pre_crc:0x9ADB, mem_crc:0x0000, reg_crc:0x31E9 +Testing bpl_w...done. pre_crc:0xE863, mem_crc:0x0000, reg_crc:0xA91E +Testing bmi_w...done. pre_crc:0xDEAA, mem_crc:0x0000, reg_crc:0xCA48 +Testing bge_w...done. pre_crc:0xE727, mem_crc:0x0000, reg_crc:0x86A7 +Testing blt_w...done. pre_crc:0xF823, mem_crc:0x0000, reg_crc:0x5000 +Testing bgt_w...done. pre_crc:0x25B4, mem_crc:0x0000, reg_crc:0xA8F7 +Testing ble_w...done. pre_crc:0xBE8D, mem_crc:0x0000, reg_crc:0x417B +Testing bra_l...done. pre_crc:0xA569, mem_crc:0x0000, reg_crc:0x573B +Testing bhi_l...done. pre_crc:0xE6AA, mem_crc:0x0000, reg_crc:0x31FB +Testing bls_l...done. pre_crc:0xD6D3, mem_crc:0x0000, reg_crc:0x7AB0 +Testing bcc_l...done. pre_crc:0xCCC1, mem_crc:0x0000, reg_crc:0x3F2E +Testing bcs_l...done. pre_crc:0x838A, mem_crc:0x0000, reg_crc:0xBE47 +Testing bne_l...done. pre_crc:0x63D9, mem_crc:0x0000, reg_crc:0x27A0 +Testing beq_l...done. pre_crc:0x9207, mem_crc:0x0000, reg_crc:0x4B65 +Testing bvc_l...done. pre_crc:0xFE81, mem_crc:0x0000, reg_crc:0x952D +Testing bvs_l...done. pre_crc:0x3B6C, mem_crc:0x0000, reg_crc:0x3AFF +Testing bpl_l...done. pre_crc:0xED42, mem_crc:0x0000, reg_crc:0x4BA9 +Testing bmi_l...done. pre_crc:0x04A2, mem_crc:0x0000, reg_crc:0x3C77 +Testing bge_l...done. pre_crc:0x3884, mem_crc:0x0000, reg_crc:0xC6BB +Testing blt_l...done. pre_crc:0x9911, mem_crc:0x0000, reg_crc:0xC1AE +Testing bgt_l...done. pre_crc:0xFD24, mem_crc:0x0000, reg_crc:0x5C9A +Testing ble_l...done. pre_crc:0xC9B9, mem_crc:0x0000, reg_crc:0xAF5A +Testing bchg_reg_reg...done. pre_crc:0x5C84, mem_crc:0x0000, reg_crc:0x2EED +Testing bchg_const_reg...done. pre_crc:0x0D65, mem_crc:0x0000, reg_crc:0x818E +Testing bchg_reg_ind...done. pre_crc:0xD668, mem_crc:0x0745, reg_crc:0xCEEA +Testing bchg_const_ind...done. pre_crc:0x6AD9, mem_crc:0xA89B, reg_crc:0xEDCF +Testing bchg_reg_d16...done. pre_crc:0xC9C3, mem_crc:0x036A, reg_crc:0xF9B2 +Testing bchg_const_d16...done. pre_crc:0xE2F9, mem_crc:0x15E5, reg_crc:0x6681 +Testing bchg_reg_absl...done. pre_crc:0x5085, mem_crc:0x9D1C, reg_crc:0xA0DE +Testing bchg_const_absl...done. pre_crc:0x5D5B, mem_crc:0xC42C, reg_crc:0x86B9 +Testing bclr_reg_reg...done. pre_crc:0x64D8, mem_crc:0x0000, reg_crc:0xE11B +Testing bclr_const_reg...done. pre_crc:0xEE92, mem_crc:0x0000, reg_crc:0x5237 +Testing bclr_reg_ind...done. pre_crc:0xDAA3, mem_crc:0x7ACB, reg_crc:0x18E2 +Testing bclr_const_ind...done. pre_crc:0xC511, mem_crc:0x9905, reg_crc:0x1199 +Testing bclr_reg_d16...done. pre_crc:0xFF00, mem_crc:0x1689, reg_crc:0xFB3E +Testing bclr_const_d16...done. pre_crc:0x7F9B, mem_crc:0xA8A1, reg_crc:0x28FC +Testing bclr_reg_absl...done. pre_crc:0x96BA, mem_crc:0x62C7, reg_crc:0x1EB1 +Testing bclr_const_absl...done. pre_crc:0x88EC, mem_crc:0xC333, reg_crc:0x1A32 +Testing bset_reg_reg...done. pre_crc:0xFF92, mem_crc:0x0000, reg_crc:0x761C +Testing bset_const_reg...done. pre_crc:0x37D7, mem_crc:0x0000, reg_crc:0x66C5 +Testing bset_reg_ind...done. pre_crc:0xEE15, mem_crc:0x7CF8, reg_crc:0xB8A6 +Testing bset_const_ind...done. pre_crc:0x3D67, mem_crc:0x5825, reg_crc:0xB70C +Testing bset_reg_d16...done. pre_crc:0xE22F, mem_crc:0x738F, reg_crc:0x0C18 +Testing bset_const_d16...done. pre_crc:0x3B5D, mem_crc:0xE683, reg_crc:0x8E22 +Testing bset_reg_absl...done. pre_crc:0x7EE1, mem_crc:0x8A7F, reg_crc:0x64A8 +Testing bset_const_absl...done. pre_crc:0x56E2, mem_crc:0x67E9, reg_crc:0x1212 +Testing btst_reg_reg...done. pre_crc:0x1474, mem_crc:0x0000, reg_crc:0x5565 +Testing btst_const_reg...done. pre_crc:0x1E4A, mem_crc:0x0000, reg_crc:0x3807 +Testing btst_reg_ind...done. pre_crc:0x6AD2, mem_crc:0x0000, reg_crc:0x1A23 +Testing btst_const_ind...done. pre_crc:0x906C, mem_crc:0x0000, reg_crc:0x0E62 +Testing btst_reg_d16...done. pre_crc:0x5C87, mem_crc:0x0000, reg_crc:0xEB1B +Testing btst_const_d16...done. pre_crc:0x0941, mem_crc:0x0000, reg_crc:0x7753 +Testing btst_reg_absl...done. pre_crc:0xE867, mem_crc:0x0000, reg_crc:0x19E6 +Testing btst_const_absl...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x0AED +Testing bfchg_reg...done. pre_crc:0x99F7, mem_crc:0x0000, reg_crc:0x4BB2 +Testing bfchg_ind...done. pre_crc:0x91F5, mem_crc:0xE4E8, reg_crc:0xE98F +Testing bfchg_d16...done. pre_crc:0xE282, mem_crc:0xA9BB, reg_crc:0xF7E6 +Testing bfchg_absl...done. pre_crc:0x0E06, mem_crc:0xC550, reg_crc:0xEE00 +Testing bfclr_reg...done. pre_crc:0xD8D0, mem_crc:0x0000, reg_crc:0xAA22 +Testing bfclr_ind...done. pre_crc:0x183E, mem_crc:0x4C5B, reg_crc:0x2973 +Testing bfclr_d16...done. pre_crc:0x56CA, mem_crc:0x657D, reg_crc:0xB5BF +Testing bfclr_absl...done. pre_crc:0x1042, mem_crc:0x08BA, reg_crc:0xB756 +Testing bfset_reg...done. pre_crc:0x87E4, mem_crc:0x0000, reg_crc:0xC43D +Testing bfset_ind...done. pre_crc:0xE778, mem_crc:0x63DB, reg_crc:0x5956 +Testing bfset_d16...done. pre_crc:0x8D94, mem_crc:0x66A3, reg_crc:0x3F05 +Testing bfset_absl...done. pre_crc:0xC660, mem_crc:0xB77D, reg_crc:0xAE10 +Testing bftst_reg...done. pre_crc:0xC2E7, mem_crc:0x0000, reg_crc:0x3300 +Testing bftst_ind...done. pre_crc:0xEBD0, mem_crc:0x0000, reg_crc:0xBC70 +Testing bftst_d16...done. pre_crc:0x2166, mem_crc:0x0000, reg_crc:0xC09C +Testing bftst_absl...done. pre_crc:0x23D5, mem_crc:0x0000, reg_crc:0x49F8 +Testing bfexts_reg...done. pre_crc:0x6810, mem_crc:0x0000, reg_crc:0xE583 +Testing bfexts_ind...done. pre_crc:0xAFEB, mem_crc:0x0000, reg_crc:0x7887 +Testing bfexts_d16...done. pre_crc:0xDC63, mem_crc:0x0000, reg_crc:0x6AFC +Testing bfexts_absl...done. pre_crc:0x97FD, mem_crc:0x0000, reg_crc:0x9093 +Testing bfextu_reg...done. pre_crc:0x70DB, mem_crc:0x0000, reg_crc:0x0FBB +Testing bfextu_ind...done. pre_crc:0xA8E4, mem_crc:0x0000, reg_crc:0xB8ED +Testing bfextu_d16...done. pre_crc:0xC3B1, mem_crc:0x0000, reg_crc:0xE9FD +Testing bfextu_absl...done. pre_crc:0x8D99, mem_crc:0x0000, reg_crc:0xF802 +Testing bfffo_reg...done. pre_crc:0x49EE, mem_crc:0x0000, reg_crc:0xDC2A +Testing bfffo_ind...done. pre_crc:0x8BF2, mem_crc:0x0000, reg_crc:0x4C2C +Testing bfffo_d16...done. pre_crc:0xAA2F, mem_crc:0x0000, reg_crc:0xBE36 +Testing bfffo_absl...done. pre_crc:0x96B5, mem_crc:0x0000, reg_crc:0xE68F +Testing bfins_reg...done. pre_crc:0x807A, mem_crc:0x0000, reg_crc:0xB4D2 +Testing bfins_ind...done. pre_crc:0xB3AA, mem_crc:0xE4D8, reg_crc:0xB94C +Testing bfins_d16...done. pre_crc:0x389F, mem_crc:0xB7F9, reg_crc:0x19AE +Testing bfins_absl...done. pre_crc:0xDEF2, mem_crc:0x8148, reg_crc:0x2795 +Testing bsr_b...done. pre_crc:0x49FA, mem_crc:0xDF7C, reg_crc:0x6F39 +Testing bsr_w...done. pre_crc:0xB1C4, mem_crc:0xA539, reg_crc:0xB20A +Testing bsr_l...done. pre_crc:0xA4CD, mem_crc:0x8A61, reg_crc:0x95A0 +Testing cas_ind...done. pre_crc:0xDD65, mem_crc:0x3D92, reg_crc:0xB61F +Testing cas2_areg...done. pre_crc:0xB4A8, mem_crc:0x0E0D, reg_crc:0x89D5 +Testing cas2_anyreg...done. pre_crc:0x2D9C, mem_crc:0x07C1, reg_crc:0x35EE +Testing clr_reg...done. pre_crc:0x2BBD, mem_crc:0x0000, reg_crc:0xDCAD +Testing clrb_ind...done. pre_crc:0x5E55, mem_crc:0xF21F, reg_crc:0x542C +Testing clrwl_ind...done. pre_crc:0xD837, mem_crc:0xC191, reg_crc:0x723F +Testing clrb_absl...done. pre_crc:0x3CC6, mem_crc:0x7733, reg_crc:0xCFB1 +Testing clrwl_absl...done. pre_crc:0x3601, mem_crc:0x488D, reg_crc:0xAD49 +Testing cmp_dreg...done. pre_crc:0x4BC8, mem_crc:0x0000, reg_crc:0xAD31 +Testing cmp_areg...done. pre_crc:0x8B10, mem_crc:0x0000, reg_crc:0x0C28 +Testing cmpb_ind...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0xCE34 +Testing cmpwl_ind...done. pre_crc:0x9FE4, mem_crc:0x0000, reg_crc:0xBF64 +Testing cmpb_d16...done. pre_crc:0x751C, mem_crc:0x0000, reg_crc:0x6A60 +Testing cmpwl_d16...done. pre_crc:0x064C, mem_crc:0x0000, reg_crc:0x3725 +Testing cmpa_reg...done. pre_crc:0x92F2, mem_crc:0x0000, reg_crc:0xF09F +Testing cmpa_ind...done. pre_crc:0x2E9D, mem_crc:0x0000, reg_crc:0x98D3 +Testing cmpa_ind2...done. pre_crc:0x3717, mem_crc:0x0000, reg_crc:0xD9EF +Testing cmpa_d16...done. pre_crc:0x392A, mem_crc:0x0000, reg_crc:0xCCD2 +Testing cmpa_d16_2...done. pre_crc:0xFE28, mem_crc:0x0000, reg_crc:0x4C51 +Testing cmpa_absl...done. pre_crc:0xCB33, mem_crc:0x0000, reg_crc:0x01C4 +Testing cmpibw_reg...done. pre_crc:0x4BC1, mem_crc:0x0000, reg_crc:0x7967 +Testing cmpil_reg...done. pre_crc:0x0F53, mem_crc:0x0000, reg_crc:0xB615 +Testing cmpib_ind...done. pre_crc:0x9D0F, mem_crc:0x0000, reg_crc:0x7714 +Testing cmpiw_ind...done. pre_crc:0xC163, mem_crc:0x0000, reg_crc:0xD43F +Testing cmpil_ind...done. pre_crc:0x3E72, mem_crc:0x0000, reg_crc:0xB9C8 +Testing cmpmb...done. pre_crc:0x91F2, mem_crc:0x0000, reg_crc:0xF87C +Testing cmpmwl...done. pre_crc:0x2665, mem_crc:0x0000, reg_crc:0x4874 +Testing cmp2b_ind...done. pre_crc:0xBC8B, mem_crc:0x0000, reg_crc:0x5E5B +Testing cmp2wl_ind...done. pre_crc:0xA5C7, mem_crc:0x0000, reg_crc:0x121B +Testing dbcc...done. pre_crc:0x70B5, mem_crc:0x0000, reg_crc:0x7B65 +Testing divs_reg...done. pre_crc:0xBAC3, mem_crc:0x0000, reg_crc:0x76FB +Testing divs_same_reg...done. pre_crc:0xAC99, mem_crc:0x0000, reg_crc:0x7DA9 +Testing divs_ind...done. pre_crc:0x842B, mem_crc:0x0000, reg_crc:0x238C +Testing divs_absl...done. pre_crc:0xF8D6, mem_crc:0x0000, reg_crc:0x7E9C +Testing divu_reg...done. pre_crc:0xCB3C, mem_crc:0x0000, reg_crc:0xF9E1 +Testing divu_same_reg...done. pre_crc:0x2214, mem_crc:0x0000, reg_crc:0x91A1 +Testing divu_ind...done. pre_crc:0x05A1, mem_crc:0x0000, reg_crc:0x98E3 +Testing divu_absl...done. pre_crc:0x5A34, mem_crc:0x0000, reg_crc:0x79B5 +Testing divul_ll_reg...done. pre_crc:0x9750, mem_crc:0x0000, reg_crc:0x8D60 +Testing divul_ll_ind...done. pre_crc:0x8BC8, mem_crc:0x0000, reg_crc:0x5C82 +Testing divul_ll_absl...done. pre_crc:0x7A2E, mem_crc:0x0000, reg_crc:0xC67B +Testing eor_reg...done. pre_crc:0xAF03, mem_crc:0x0000, reg_crc:0x4ACD +Testing eor_ind...done. pre_crc:0xAB65, mem_crc:0x4E30, reg_crc:0x7EB2 +Testing eor_d16...done. pre_crc:0xD260, mem_crc:0x74CC, reg_crc:0x8F92 +Testing eor_absl...done. pre_crc:0xC326, mem_crc:0xFEAE, reg_crc:0x54FD +Testing eoribw_dreg...done. pre_crc:0xCAA9, mem_crc:0x0000, reg_crc:0x19D0 +Testing eoril_dreg...done. pre_crc:0xB633, mem_crc:0x0000, reg_crc:0xFB3B +Testing eoribw_ind...done. pre_crc:0xA32F, mem_crc:0x65B7, reg_crc:0x1B27 +Testing eoril_ind...done. pre_crc:0x8A65, mem_crc:0x1F54, reg_crc:0x12F6 +Testing eoribw_d16...done. pre_crc:0xA021, mem_crc:0xF762, reg_crc:0xBB6A +Testing eoril_d16...done. pre_crc:0x84EE, mem_crc:0x36D8, reg_crc:0x71F6 +Testing eoribw_absl...done. pre_crc:0x3164, mem_crc:0xADE9, reg_crc:0x501E +Testing eoril_absl...done. pre_crc:0xE1CF, mem_crc:0xB753, reg_crc:0x491A +Testing eori_to_ccr...done. pre_crc:0x6ED0, mem_crc:0x0000, reg_crc:0xD83C +Testing exg...done. pre_crc:0x13E2, mem_crc:0x0000, reg_crc:0x8B56 +Testing ext...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0xF7BC +Testing jmp_absl...done. pre_crc:0x066F, mem_crc:0x0000, reg_crc:0xAEB6 +Testing jmp_ind...done. pre_crc:0x38AD, mem_crc:0x0000, reg_crc:0x1BE2 +Testing jmp_d16...done. pre_crc:0x18BC, mem_crc:0x0000, reg_crc:0x95BE +Testing jsr_absl...done. pre_crc:0x9B63, mem_crc:0xF243, reg_crc:0xE2C9 +Testing jsr_ind...done. pre_crc:0xBC0B, mem_crc:0x1422, reg_crc:0xF39C +Testing jsr_d16...done. pre_crc:0x78CF, mem_crc:0x03FF, reg_crc:0x18BB +Testing lea_ind...done. pre_crc:0x345B, mem_crc:0x0000, reg_crc:0xF41A +Testing lea_d16...done. pre_crc:0x37E8, mem_crc:0x0000, reg_crc:0x1591 +Testing lea_absw...done. pre_crc:0x9B0F, mem_crc:0x0000, reg_crc:0x403B +Testing lea_absl...done. pre_crc:0x3F74, mem_crc:0x0000, reg_crc:0x9E04 +Testing linkw...done. pre_crc:0x9199, mem_crc:0x20B5, reg_crc:0x2FFB +Testing linkl...done. pre_crc:0x0CF6, mem_crc:0x5F05, reg_crc:0xD64A +Testing move16_postinc_postinc...done. pre_crc:0xB320, mem_crc:0xBE7D, reg_crc:0xC6A0 +Testing move16_absl_ind...done. pre_crc:0xDD51, mem_crc:0x3157, reg_crc:0xED6F +Testing move16_absl_postinc...done. pre_crc:0x9804, mem_crc:0xAD3B, reg_crc:0x4488 +Testing move16_ind_absl...done. pre_crc:0xA82F, mem_crc:0xE0E0, reg_crc:0x915D +Testing move16_postinc_absl...done. pre_crc:0x8C1A, mem_crc:0xDFC8, reg_crc:0xA134 +Testing moveb_dreg_dreg...done. pre_crc:0xE17E, mem_crc:0x0000, reg_crc:0xEDD2 +Testing movewl_reg_dreg...done. pre_crc:0xD8F6, mem_crc:0x0000, reg_crc:0x1235 +Testing moveb_ind_dreg...done. pre_crc:0xCA85, mem_crc:0x0000, reg_crc:0xF096 +Testing movewl_ind_dreg...done. pre_crc:0x32A6, mem_crc:0x0000, reg_crc:0x71E4 +Testing moveb_d16_dreg...done. pre_crc:0xB157, mem_crc:0x0000, reg_crc:0x6BDF +Testing movewl_d16_dreg...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0xE052 +Testing moveb_absl_dreg...done. pre_crc:0x68E6, mem_crc:0x0000, reg_crc:0x4CAD +Testing movewl_absl_dreg...done. pre_crc:0x4396, mem_crc:0x0000, reg_crc:0xA644 +Testing movebw_const_dreg...done. pre_crc:0x4806, mem_crc:0x0000, reg_crc:0x5E19 +Testing movel_const_dreg...done. pre_crc:0x53CD, mem_crc:0x0000, reg_crc:0x840F +Testing moveb_dreg_ind...done. pre_crc:0x4316, mem_crc:0x1D33, reg_crc:0x87E2 +Testing movewl_reg_ind...done. pre_crc:0x496F, mem_crc:0x6909, reg_crc:0x46D9 +Testing moveb_dreg_d16...done. pre_crc:0xF19C, mem_crc:0x7B1E, reg_crc:0xA996 +Testing movewl_reg_d16...done. pre_crc:0x05FB, mem_crc:0x100D, reg_crc:0x202F +Testing moveb_dreg_absl...done. pre_crc:0xB4EF, mem_crc:0x528A, reg_crc:0x6D20 +Testing movewl_reg_absl...done. pre_crc:0xEBF5, mem_crc:0x5E45, reg_crc:0xB7F9 +Testing moveb_ind_ind...done. pre_crc:0xD448, mem_crc:0xC577, reg_crc:0x8502 +Testing moveb_ind_d16...done. pre_crc:0xBC10, mem_crc:0x5797, reg_crc:0xC1AB +Testing moveb_d16_ind...done. pre_crc:0x0EC2, mem_crc:0x4583, reg_crc:0x7856 +Testing movewl_ind_d16...done. pre_crc:0x535D, mem_crc:0xB83C, reg_crc:0xEC57 +Testing movewl_d16_ind...done. pre_crc:0x3F74, mem_crc:0xEA29, reg_crc:0x88C9 +Testing moveb_d16_d16...done. pre_crc:0x1679, mem_crc:0xA94E, reg_crc:0xE6A2 +Testing movewl_d16_d16...done. pre_crc:0x7D95, mem_crc:0x7495, reg_crc:0x6C66 +Testing moveb_ind_absl...done. pre_crc:0x1B71, mem_crc:0x3544, reg_crc:0x30DB +Testing movewl_ind_absl...done. pre_crc:0x86B6, mem_crc:0x26EF, reg_crc:0xC2E6 +Testing moveb_absl_ind...done. pre_crc:0x5CEA, mem_crc:0xD753, reg_crc:0x0868 +Testing movewl_absl_ind...done. pre_crc:0xDA45, mem_crc:0x6897, reg_crc:0x18AC +Testing moveb_absl_absl...done. pre_crc:0x9CC1, mem_crc:0xF69A, reg_crc:0x4F92 +Testing movewl_absl_absl...done. pre_crc:0xF0B5, mem_crc:0x1277, reg_crc:0x9ECB +Testing moveb_d16_absl...done. pre_crc:0x23A6, mem_crc:0x8DD1, reg_crc:0xC906 +Testing movewl_d16_absl...done. pre_crc:0xD744, mem_crc:0x48ED, reg_crc:0x6D01 +Testing moveb_absl_d16...done. pre_crc:0x6445, mem_crc:0x97EC, reg_crc:0x9823 +Testing movewl_absl_d16...done. pre_crc:0xEEB7, mem_crc:0x0D5B, reg_crc:0xC2B3 +Testing moveb_const_ind...done. pre_crc:0x2B6B, mem_crc:0xD828, reg_crc:0x8BA3 +Testing moveb_const_d16...done. pre_crc:0xC6E5, mem_crc:0x4A7A, reg_crc:0x7B09 +Testing moveb_const_absl...done. pre_crc:0xDD52, mem_crc:0x8211, reg_crc:0x3E32 +Testing movew_const_ind...done. pre_crc:0x93DB, mem_crc:0x3167, reg_crc:0x29FE +Testing movew_const_d16...done. pre_crc:0x5ED5, mem_crc:0x27B1, reg_crc:0x7481 +Testing movew_const_absl...done. pre_crc:0x3BFA, mem_crc:0xE1C0, reg_crc:0x41AF +Testing movel_const_ind...done. pre_crc:0x2278, mem_crc:0x908E, reg_crc:0xBE56 +Testing movel_const_d16...done. pre_crc:0x5829, mem_crc:0x7FC2, reg_crc:0x8753 +Testing movel_const_absl...done. pre_crc:0xE05D, mem_crc:0x4086, reg_crc:0x3050 +Testing movea_reg...done. pre_crc:0x5D49, mem_crc:0x0000, reg_crc:0x2747 +Testing movea_ind...done. pre_crc:0x06E6, mem_crc:0x0000, reg_crc:0xF7EC +Testing movea_d16...done. pre_crc:0xD878, mem_crc:0x0000, reg_crc:0xC79D +Testing movea_absl...done. pre_crc:0x703A, mem_crc:0x0000, reg_crc:0xC0DE +Testing moveaw_const...done. pre_crc:0x73F3, mem_crc:0x0000, reg_crc:0x3DDA +Testing moveal_const...done. pre_crc:0x9357, mem_crc:0x0000, reg_crc:0xF715 +Testing move_from_ccr_dreg...done. pre_crc:0x35FD, mem_crc:0x0000, reg_crc:0x2FC4 +Testing move_from_ccr_ind...done. pre_crc:0x3E4C, mem_crc:0x0000, reg_crc:0x285F +Testing move_from_ccr_d16...done. pre_crc:0x06DF, mem_crc:0x0000, reg_crc:0x964D +Testing move_to_ccr_reg...done. pre_crc:0xF346, mem_crc:0x0000, reg_crc:0x0F03 +Testing move_to_ccr_ind...done. pre_crc:0xCC67, mem_crc:0x0000, reg_crc:0x52FB +Testing movem_to_ind...done. pre_crc:0xAF11, mem_crc:0x5892, reg_crc:0xBFFB +Testing movem_to_predec...done. pre_crc:0x2B32, mem_crc:0x614F, reg_crc:0xCD0B +Testing movem_to_d16...done. pre_crc:0x59AF, mem_crc:0x0074, reg_crc:0x01BF +Testing movem_to_absl...done. pre_crc:0x60F9, mem_crc:0xDA4F, reg_crc:0x1AA4 +Testing movem_from_d16...done. pre_crc:0x14D2, mem_crc:0x0000, reg_crc:0x269E +Testing movem_from_ind...done. pre_crc:0xC87C, mem_crc:0x0000, reg_crc:0xFA50 +Testing movem_from_absl...done. pre_crc:0xD251, mem_crc:0x0000, reg_crc:0x2B3F +Testing movep_to_mem...done. pre_crc:0x6FBA, mem_crc:0xB8CA, reg_crc:0xAFFC +Testing movep_from_mem...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0x339C +Testing moveq...done. pre_crc:0x088D, mem_crc:0x0000, reg_crc:0x8AAD +Testing mulsw_dreg...done. pre_crc:0x7756, mem_crc:0x0000, reg_crc:0xB99B +Testing mulsw_ind...done. pre_crc:0xA6E3, mem_crc:0x0000, reg_crc:0x3588 +Testing mulsw_d16...done. pre_crc:0xED6D, mem_crc:0x0000, reg_crc:0x9B3D +Testing mulsw_absl...done. pre_crc:0xF93B, mem_crc:0x0000, reg_crc:0x276F +Testing muluw_dreg...done. pre_crc:0xA5E2, mem_crc:0x0000, reg_crc:0xCDC7 +Testing muluw_ind...done. pre_crc:0x7EC9, mem_crc:0x0000, reg_crc:0x7FE3 +Testing muluw_d16...done. pre_crc:0xC16A, mem_crc:0x0000, reg_crc:0x4B6C +Testing muluw_absl...done. pre_crc:0x1D4E, mem_crc:0x0000, reg_crc:0x0745 +Testing mulsl_dreg...done. pre_crc:0xD05D, mem_crc:0x0000, reg_crc:0x5BCB +Testing mulsl_ind...done. pre_crc:0x6866, mem_crc:0x0000, reg_crc:0x9E6E +Testing mulsl_d16...done. pre_crc:0x3599, mem_crc:0x0000, reg_crc:0x27B1 +Testing mulsl_absl...done. pre_crc:0x7EF3, mem_crc:0x0000, reg_crc:0x68E0 +Testing mulul_dreg...done. pre_crc:0xA436, mem_crc:0x0000, reg_crc:0x05F5 +Testing mulul_ind...done. pre_crc:0x7FB1, mem_crc:0x0000, reg_crc:0x1EBD +Testing mulul_d16...done. pre_crc:0x5545, mem_crc:0x0000, reg_crc:0x3059 +Testing mulul_absl...done. pre_crc:0xC927, mem_crc:0x0000, reg_crc:0x70F1 +Testing nbcd_reg...done. pre_crc:0xA07B, mem_crc:0x0000, reg_crc:0x422E +Testing nbcd_ind...done. pre_crc:0xE261, mem_crc:0x3B92, reg_crc:0x3036 +Testing nbcd_d16...done. pre_crc:0x144D, mem_crc:0xD564, reg_crc:0xFA3C +Testing nbcd_absl...done. pre_crc:0x0305, mem_crc:0xD658, reg_crc:0x896D +Testing neg_reg...done. pre_crc:0xEA6C, mem_crc:0x0000, reg_crc:0x4224 +Testing negb_ind...done. pre_crc:0xC04F, mem_crc:0x5C7D, reg_crc:0xF0CA +Testing negwl_ind...done. pre_crc:0x2746, mem_crc:0xE938, reg_crc:0x5577 +Testing negb_d16...done. pre_crc:0xEB2B, mem_crc:0xD774, reg_crc:0x3ED5 +Testing negwl_d16...done. pre_crc:0xCB51, mem_crc:0x2E0F, reg_crc:0x8FBA +Testing neg_absl...done. pre_crc:0xA0A7, mem_crc:0xC656, reg_crc:0xC497 +Testing negx_reg...done. pre_crc:0xB19E, mem_crc:0x0000, reg_crc:0x678A +Testing negxb_ind...done. pre_crc:0xF672, mem_crc:0x20DA, reg_crc:0xDD99 +Testing negxwl_ind...done. pre_crc:0x0643, mem_crc:0xD3B9, reg_crc:0xAC14 +Testing negxb_d16...done. pre_crc:0x54AF, mem_crc:0x9DC2, reg_crc:0x3ADB +Testing negxwl_d16...done. pre_crc:0x36E8, mem_crc:0xA914, reg_crc:0x394B +Testing negx_absl...done. pre_crc:0x67E3, mem_crc:0x59A3, reg_crc:0x0C17 +Testing nop...done. pre_crc:0x4CB3, mem_crc:0x0000, reg_crc:0x0B07 +Testing not_reg...done. pre_crc:0x842F, mem_crc:0x0000, reg_crc:0x281D +Testing notb_ind...done. pre_crc:0xAF5C, mem_crc:0x1448, reg_crc:0x97D0 +Testing notwl_ind...done. pre_crc:0x13CD, mem_crc:0x4E5F, reg_crc:0xC423 +Testing notb_d16...done. pre_crc:0x57A6, mem_crc:0xF1AB, reg_crc:0x1A9E +Testing notwl_d16...done. pre_crc:0x4BF7, mem_crc:0x54C4, reg_crc:0x4B7B +Testing not_absl...done. pre_crc:0xC058, mem_crc:0xA102, reg_crc:0xE501 +Testing or_dreg_dreg...done. pre_crc:0x80C4, mem_crc:0x0000, reg_crc:0x4361 +Testing or_ind_dreg...done. pre_crc:0xE29B, mem_crc:0x0000, reg_crc:0x5B4C +Testing or_d16_dreg...done. pre_crc:0xF2FB, mem_crc:0x0000, reg_crc:0x5268 +Testing or_absl_dreg...done. pre_crc:0xCC40, mem_crc:0x0000, reg_crc:0xB895 +Testing orbw_const_dreg...done. pre_crc:0x76B3, mem_crc:0x0000, reg_crc:0x8706 +Testing orl_const_dreg...done. pre_crc:0xD4C7, mem_crc:0x0000, reg_crc:0x4EE4 +Testing or_dreg_ind...done. pre_crc:0x371E, mem_crc:0x0229, reg_crc:0xE8BD +Testing or_dreg_d16...done. pre_crc:0x1663, mem_crc:0xDF3D, reg_crc:0x78C0 +Testing or_dreg_absl...done. pre_crc:0x9315, mem_crc:0xE040, reg_crc:0x6489 +Testing oribw_dreg...done. pre_crc:0xBAE9, mem_crc:0x0000, reg_crc:0xCE40 +Testing oril_dreg...done. pre_crc:0xB21F, mem_crc:0x0000, reg_crc:0x642F +Testing oribw_ind...done. pre_crc:0x672F, mem_crc:0x6D76, reg_crc:0x7398 +Testing oril_ind...done. pre_crc:0x46DF, mem_crc:0x8C9E, reg_crc:0xB926 +Testing oribw_d16...done. pre_crc:0xA9E8, mem_crc:0xF053, reg_crc:0xA4B6 +Testing oril_d16...done. pre_crc:0xC883, mem_crc:0x5699, reg_crc:0xC5A5 +Testing oribw_absl...done. pre_crc:0x6FC2, mem_crc:0x5353, reg_crc:0xA8E9 +Testing oril_absl...done. pre_crc:0xC651, mem_crc:0x502E, reg_crc:0x017C +Testing ori_to_ccr...done. pre_crc:0x9FEE, mem_crc:0x0000, reg_crc:0x137C +Testing pack_reg...done. pre_crc:0x8A35, mem_crc:0x0000, reg_crc:0xF289 +Testing pack_mem...done. pre_crc:0xCA15, mem_crc:0x573D, reg_crc:0x5BEA +Testing pea_ind...done. pre_crc:0xB9DC, mem_crc:0x422D, reg_crc:0xAD37 +Testing pea_d16...done. pre_crc:0xDB0D, mem_crc:0x8224, reg_crc:0x1D5A +Testing pea_absw...done. pre_crc:0x2602, mem_crc:0xE239, reg_crc:0xF7E9 +Testing pea_absl...done. pre_crc:0xB491, mem_crc:0x00E2, reg_crc:0xAEAE +Testing rol_dx_dy...done. pre_crc:0x5498, mem_crc:0x0000, reg_crc:0x04D0 +Testing rol_const_dy...done. pre_crc:0x0DC6, mem_crc:0x0000, reg_crc:0x8B59 +Testing rol_ind...done. pre_crc:0x0EA3, mem_crc:0x0DDF, reg_crc:0x2092 +Testing rol_d16...done. pre_crc:0xEBEE, mem_crc:0xC7EF, reg_crc:0x2A6D +Testing rol_absl...done. pre_crc:0xF2E3, mem_crc:0x2620, reg_crc:0x15BC +Testing ror_dx_dy...done. pre_crc:0x4A0F, mem_crc:0x0000, reg_crc:0xA38B +Testing ror_const_dy...done. pre_crc:0x4DDE, mem_crc:0x0000, reg_crc:0x598D +Testing ror_ind...done. pre_crc:0x23C0, mem_crc:0x031B, reg_crc:0x0729 +Testing ror_d16...done. pre_crc:0x9765, mem_crc:0xBE2E, reg_crc:0x44A5 +Testing ror_absl...done. pre_crc:0x118E, mem_crc:0x4EE4, reg_crc:0xEA23 +Testing roxl_dx_dy...done. pre_crc:0x03F4, mem_crc:0x0000, reg_crc:0xBF73 +Testing roxl_const_dy...done. pre_crc:0xDB16, mem_crc:0x0000, reg_crc:0xA2F8 +Testing roxl_ind...done. pre_crc:0xB735, mem_crc:0x26E9, reg_crc:0xCB2C +Testing roxl_d16...done. pre_crc:0x8DC3, mem_crc:0x78FC, reg_crc:0x8D8D +Testing roxl_absl...done. pre_crc:0xDCF7, mem_crc:0x6C17, reg_crc:0xD367 +Testing roxr_dx_dy...done. pre_crc:0x861F, mem_crc:0x0000, reg_crc:0x4BD2 +Testing roxr_const_dy...done. pre_crc:0x02B4, mem_crc:0x0000, reg_crc:0xA506 +Testing roxr_ind...done. pre_crc:0xFFBE, mem_crc:0x097B, reg_crc:0x17E8 +Testing roxr_d16...done. pre_crc:0x4173, mem_crc:0x2430, reg_crc:0xBA34 +Testing roxr_absl...done. pre_crc:0xA1BA, mem_crc:0xE41B, reg_crc:0x2CF4 +Testing rtd...done. pre_crc:0xFC50, mem_crc:0x0000, reg_crc:0x4B7B +Testing rtr...done. pre_crc:0x89A6, mem_crc:0x0000, reg_crc:0xB38C +Testing rts...done. pre_crc:0x3122, mem_crc:0x0000, reg_crc:0xE5FE +Testing sbcd_reg...done. pre_crc:0x8F14, mem_crc:0x0000, reg_crc:0x725A +Testing sbcd_mem...done. pre_crc:0xACA7, mem_crc:0x4F46, reg_crc:0x0E29 +Testing Scc_reg...done. pre_crc:0x114C, mem_crc:0x0000, reg_crc:0xB6D3 +Testing Scc_ind...done. pre_crc:0x8B92, mem_crc:0x4DEE, reg_crc:0xF9BE +Testing Scc_d16...done. pre_crc:0xFEB4, mem_crc:0x24CA, reg_crc:0x9749 +Testing Scc_absl...done. pre_crc:0xD959, mem_crc:0x2DBB, reg_crc:0x5C63 +Testing subb_dreg_dreg...done. pre_crc:0x8143, mem_crc:0x0000, reg_crc:0xC3A0 +Testing subw_reg_dreg...done. pre_crc:0x5EBB, mem_crc:0x0000, reg_crc:0x2BC0 +Testing subl_reg_dreg...done. pre_crc:0xAF3E, mem_crc:0x0000, reg_crc:0x732A +Testing sub_ind_dreg...done. pre_crc:0x6727, mem_crc:0x0000, reg_crc:0x6737 +Testing sub_d16_dreg...done. pre_crc:0xFB73, mem_crc:0x0000, reg_crc:0xFA9F +Testing sub_absl_dreg...done. pre_crc:0x8F9C, mem_crc:0x0000, reg_crc:0x39DE +Testing subb_const_dreg...done. pre_crc:0x4BEB, mem_crc:0x0000, reg_crc:0x5618 +Testing subw_const_dreg...done. pre_crc:0xD9BE, mem_crc:0x0000, reg_crc:0xFCEB +Testing subl_const_dreg...done. pre_crc:0x2865, mem_crc:0x0000, reg_crc:0x64CE +Testing sub_dreg_ind...done. pre_crc:0xF6A5, mem_crc:0x90D8, reg_crc:0x42E7 +Testing sub_dreg_d16...done. pre_crc:0xCC49, mem_crc:0x030A, reg_crc:0xDC31 +Testing sub_dreg_absl...done. pre_crc:0x384E, mem_crc:0xAE57, reg_crc:0x01F2 +Testing subaw_reg_areg...done. pre_crc:0x2D68, mem_crc:0x0000, reg_crc:0xEF64 +Testing subal_reg_areg...done. pre_crc:0xF396, mem_crc:0x0000, reg_crc:0x71F9 +Testing suba_ind_areg...done. pre_crc:0x5044, mem_crc:0x0000, reg_crc:0xAEFD +Testing suba_d16_areg...done. pre_crc:0x9441, mem_crc:0x0000, reg_crc:0x920E +Testing suba_absl_areg...done. pre_crc:0x83E7, mem_crc:0x0000, reg_crc:0x3F9A +Testing subaw_const_areg...done. pre_crc:0xEF7E, mem_crc:0x0000, reg_crc:0xEF52 +Testing subal_const_areg...done. pre_crc:0x4A28, mem_crc:0x0000, reg_crc:0x89D5 +Testing subibw_dreg...done. pre_crc:0x2AD5, mem_crc:0x0000, reg_crc:0x6C69 +Testing subil_dreg...done. pre_crc:0x2025, mem_crc:0x0000, reg_crc:0x9889 +Testing subibw_ind...done. pre_crc:0x5741, mem_crc:0x9E10, reg_crc:0x724B +Testing subil_ind...done. pre_crc:0x2061, mem_crc:0x0AEB, reg_crc:0xDB88 +Testing subibw_d16...done. pre_crc:0x59E0, mem_crc:0x24F6, reg_crc:0xA768 +Testing subil_d16...done. pre_crc:0x61EF, mem_crc:0x2CFD, reg_crc:0x406E +Testing subibw_absl...done. pre_crc:0x9577, mem_crc:0xE217, reg_crc:0xD2A5 +Testing subil_absl...done. pre_crc:0x3D9B, mem_crc:0x14CA, reg_crc:0x4B6A +Testing subq_dreg...done. pre_crc:0xDEBD, mem_crc:0x0000, reg_crc:0x94DA +Testing subq_areg...done. pre_crc:0xFB42, mem_crc:0x0000, reg_crc:0x57A1 +Testing subq_ind...done. pre_crc:0x6632, mem_crc:0xF339, reg_crc:0xB0DF +Testing subq_d16...done. pre_crc:0xE452, mem_crc:0xF776, reg_crc:0x92E0 +Testing subq_absl...done. pre_crc:0xD5A3, mem_crc:0x2ED7, reg_crc:0x707F +Testing subx_reg...done. pre_crc:0x9DFB, mem_crc:0x0000, reg_crc:0x6415 +Testing subx_mem...done. pre_crc:0xB336, mem_crc:0x7652, reg_crc:0xDFFE +Testing swap...done. pre_crc:0x8C5E, mem_crc:0x0000, reg_crc:0x619D +Testing tas_dreg...done. pre_crc:0x6C0A, mem_crc:0x0000, reg_crc:0xAC59 +Testing tas_ind...done. pre_crc:0xAF3C, mem_crc:0xB667, reg_crc:0x9AF6 +Testing tas_d16...done. pre_crc:0x4C2A, mem_crc:0xF401, reg_crc:0x9F8D +Testing tas_absl...done. pre_crc:0xE0F6, mem_crc:0xCFEE, reg_crc:0x69EE +Testing tstb_dreg...done. pre_crc:0x342D, mem_crc:0x0000, reg_crc:0x0B79 +Testing tstwl_reg...done. pre_crc:0x38AB, mem_crc:0x0000, reg_crc:0x5653 +Testing tstb_ind...done. pre_crc:0x6880, mem_crc:0x0000, reg_crc:0x68B6 +Testing tstwl_ind...done. pre_crc:0x3A8D, mem_crc:0x0000, reg_crc:0x3C2E +Testing tstb_d16...done. pre_crc:0x0A13, mem_crc:0x0000, reg_crc:0x2610 +Testing tstwl_d16...done. pre_crc:0xE0CB, mem_crc:0x0000, reg_crc:0x1362 +Testing tst_absl...done. pre_crc:0x1C8A, mem_crc:0x0000, reg_crc:0x1FA1 diff --git a/test/alpha-redhat-linux.1000.noncc b/test/alpha-redhat-linux.1000.noncc new file mode 100644 index 0000000..683a250 --- /dev/null +++ b/test/alpha-redhat-linux.1000.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x235E, mem_crc:0x0000, reg_crc:0xBF9D +Testing movewl_pcd8_dreg...done. pre_crc:0x366A, mem_crc:0x0000, reg_crc:0x16F4 +Testing unpk_reg...done. pre_crc:0xF8FE, mem_crc:0x0000, reg_crc:0x1D4B +Testing unpk_mem...done. pre_crc:0xAA1B, mem_crc:0xC76B, reg_crc:0xFC9A +Testing unlk...done. pre_crc:0x3085, mem_crc:0x0000, reg_crc:0xCBDF +Testing movewl_ind_ind...done. pre_crc:0x401A, mem_crc:0xA41C, reg_crc:0x0972 +Testing divsl_ll_reg...done. pre_crc:0x657D, mem_crc:0x0000, reg_crc:0x4B06 +Testing divsl_ll_ind...done. pre_crc:0x879C, mem_crc:0x0000, reg_crc:0x93AA +Testing divsl_ll_absl...done. pre_crc:0xA868, mem_crc:0x0000, reg_crc:0x350C +Testing lea_pc_ind_preix...done. pre_crc:0xCC4C, mem_crc:0x0000, reg_crc:0x039F +Testing lea_pc_ind_postix...done. pre_crc:0x11DD, mem_crc:0x0000, reg_crc:0xA4A1 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x6AB6, mem_crc:0x0000, reg_crc:0xD43C +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFAAF, mem_crc:0x0000, reg_crc:0xC4B6 +Testing moveb_pcd16_dreg...done. pre_crc:0x7312, mem_crc:0x0000, reg_crc:0x1CB6 +Testing movewl_pcd16_dreg...done. pre_crc:0xEB85, mem_crc:0x0000, reg_crc:0x03BE +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xB597, mem_crc:0x0000, reg_crc:0x7B55 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x5996, mem_crc:0x0000, reg_crc:0x9808 +Testing lea_ind_preix...done. pre_crc:0x92D3, mem_crc:0x0000, reg_crc:0xEFA8 +Testing lea_ind_postix...done. pre_crc:0xA694, mem_crc:0x0000, reg_crc:0xCC44 +Testing add_absl_dreg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0xDC9B +Testing abcd_reg...done. pre_crc:0x36FD, mem_crc:0x0000, reg_crc:0x25D0 +Testing abcd_mem...done. pre_crc:0xFC3C, mem_crc:0x74AA, reg_crc:0x88DD +Testing addb_dreg_dreg...done. pre_crc:0x8582, mem_crc:0x0000, reg_crc:0xC60F +Testing addw_reg_dreg...done. pre_crc:0x467A, mem_crc:0x0000, reg_crc:0x54A1 +Testing addl_reg_dreg...done. pre_crc:0x038C, mem_crc:0x0000, reg_crc:0x6595 +Testing add_d16_dreg...done. pre_crc:0x8AF9, mem_crc:0x0000, reg_crc:0x6ED9 +Testing addb_const_dreg...done. pre_crc:0xCD8C, mem_crc:0x0000, reg_crc:0x6C50 +Testing addw_const_dreg...done. pre_crc:0x22E7, mem_crc:0x0000, reg_crc:0x5618 +Testing add_dreg_ind...done. pre_crc:0xA640, mem_crc:0x1114, reg_crc:0x106D +Testing add_ind_dreg...done. pre_crc:0xADE4, mem_crc:0x0000, reg_crc:0x103E +Testing addl_const_dreg...done. pre_crc:0x9796, mem_crc:0x0000, reg_crc:0x33ED +Testing add_dreg_d16...done. pre_crc:0xF2F6, mem_crc:0x26EA, reg_crc:0x7CEF +Testing add_dreg_absl...done. pre_crc:0x0121, mem_crc:0x9E4C, reg_crc:0xDA13 +Testing addaw_reg_areg...done. pre_crc:0x502D, mem_crc:0x0000, reg_crc:0x1EA0 +Testing addal_reg_areg...done. pre_crc:0x83F1, mem_crc:0x0000, reg_crc:0x3892 +Testing adda_ind_areg...done. pre_crc:0x826B, mem_crc:0x0000, reg_crc:0xF9B2 +Testing adda_d16_areg...done. pre_crc:0xBBDE, mem_crc:0x0000, reg_crc:0x3E86 +Testing adda_absl_areg...done. pre_crc:0x3D56, mem_crc:0x0000, reg_crc:0x4106 +Testing addaw_const_areg...done. pre_crc:0x2319, mem_crc:0x0000, reg_crc:0x38A1 +Testing addal_const_areg...done. pre_crc:0x37D6, mem_crc:0x0000, reg_crc:0x347C +Testing addibw_dreg...done. pre_crc:0x3AEE, mem_crc:0x0000, reg_crc:0xF11F +Testing addil_dreg...done. pre_crc:0x1EE4, mem_crc:0x0000, reg_crc:0xBF7C +Testing addibw_ind...done. pre_crc:0xAA06, mem_crc:0x2A7C, reg_crc:0x9192 +Testing addil_ind...done. pre_crc:0xA52C, mem_crc:0x632E, reg_crc:0x875F +Testing addibw_d16...done. pre_crc:0xE1F4, mem_crc:0xEF68, reg_crc:0x4412 +Testing addil_d16...done. pre_crc:0x0E49, mem_crc:0x64B3, reg_crc:0x01A4 +Testing addibw_absl...done. pre_crc:0x5FE6, mem_crc:0x1727, reg_crc:0x76A1 +Testing addil_absl...done. pre_crc:0x1101, mem_crc:0x7F58, reg_crc:0xDB72 +Testing addq_dreg...done. pre_crc:0xC50A, mem_crc:0x0000, reg_crc:0x78B1 +Testing addq_areg...done. pre_crc:0xC07C, mem_crc:0x0000, reg_crc:0x266E +Testing addq_ind...done. pre_crc:0x500D, mem_crc:0x3317, reg_crc:0x57FB +Testing addq_d16...done. pre_crc:0x8CE9, mem_crc:0x94A2, reg_crc:0x0486 +Testing addq_absl...done. pre_crc:0x7313, mem_crc:0x070B, reg_crc:0xA897 +Testing addx_reg...done. pre_crc:0xD26E, mem_crc:0x0000, reg_crc:0xBAAD +Testing addx_mem...done. pre_crc:0x44E7, mem_crc:0x03ED, reg_crc:0x2915 +Testing and_dreg_dreg...done. pre_crc:0xBB54, mem_crc:0x0000, reg_crc:0xCF35 +Testing and_ind_dreg...done. pre_crc:0x012D, mem_crc:0x0000, reg_crc:0xE8CC +Testing and_d16_dreg...done. pre_crc:0x15C5, mem_crc:0x0000, reg_crc:0x9C7E +Testing and_absl_dreg...done. pre_crc:0xC127, mem_crc:0x0000, reg_crc:0x581F +Testing andbw_const_dreg...done. pre_crc:0x27F4, mem_crc:0x0000, reg_crc:0x3ADE +Testing andl_const_dreg...done. pre_crc:0x8217, mem_crc:0x0000, reg_crc:0x06D8 +Testing and_dreg_ind...done. pre_crc:0x2BA1, mem_crc:0x7934, reg_crc:0x5E6E +Testing and_dreg_d16...done. pre_crc:0x0196, mem_crc:0xBCCE, reg_crc:0xA02B +Testing and_dreg_absl...done. pre_crc:0xEAF8, mem_crc:0x55E1, reg_crc:0x04D5 +Testing andibw_dreg...done. pre_crc:0xAD7B, mem_crc:0x0000, reg_crc:0xAE92 +Testing andil_dreg...done. pre_crc:0x8FDE, mem_crc:0x0000, reg_crc:0x074F +Testing andibw_ind...done. pre_crc:0xD381, mem_crc:0xA0E8, reg_crc:0xFD75 +Testing andil_ind...done. pre_crc:0x38EE, mem_crc:0x7D99, reg_crc:0x0096 +Testing andibw_d16...done. pre_crc:0x6934, mem_crc:0x6715, reg_crc:0xA2CE +Testing andil_d16...done. pre_crc:0xBFB8, mem_crc:0x0710, reg_crc:0x011F +Testing andibw_absl...done. pre_crc:0xDFD3, mem_crc:0xC107, reg_crc:0x3DCB +Testing andil_absl...done. pre_crc:0x8555, mem_crc:0x5D4A, reg_crc:0x83C4 +Testing andi_to_ccr...done. pre_crc:0x4F9D, mem_crc:0x0000, reg_crc:0x50CC +Testing asl_dx_dy...done. pre_crc:0x062B, mem_crc:0x0000, reg_crc:0xB4EE +Testing asl_const_dy...done. pre_crc:0x5B80, mem_crc:0x0000, reg_crc:0x35A5 +Testing asl_ind...done. pre_crc:0x4CE7, mem_crc:0x1ADF, reg_crc:0x6971 +Testing asl_d16...done. pre_crc:0xC1C7, mem_crc:0x34A8, reg_crc:0x40B3 +Testing asl_absl...done. pre_crc:0xA49B, mem_crc:0x244D, reg_crc:0x1FE5 +Testing asr_dx_dy...done. pre_crc:0x8AA7, mem_crc:0x0000, reg_crc:0x30E4 +Testing asr_const_dy...done. pre_crc:0x5EDC, mem_crc:0x0000, reg_crc:0x0DE0 +Testing asr_ind...done. pre_crc:0xA13A, mem_crc:0x11BD, reg_crc:0x2130 +Testing asr_d16...done. pre_crc:0x56AE, mem_crc:0xF0E1, reg_crc:0xF314 +Testing asr_absl...done. pre_crc:0xE3DB, mem_crc:0x44FC, reg_crc:0x764C +Testing lsl_dx_dy...done. pre_crc:0xE157, mem_crc:0x0000, reg_crc:0xCE7F +Testing lsl_const_dy...done. pre_crc:0x9A6B, mem_crc:0x0000, reg_crc:0x3108 +Testing lsl_ind...done. pre_crc:0xD0A8, mem_crc:0x4CD9, reg_crc:0x90ED +Testing lsl_d16...done. pre_crc:0xFB72, mem_crc:0xB023, reg_crc:0x589D +Testing lsl_absl...done. pre_crc:0xF80F, mem_crc:0x8B66, reg_crc:0x0582 +Testing lsr_dx_dy...done. pre_crc:0xDFC8, mem_crc:0x0000, reg_crc:0x0CCC +Testing lsr_const_dy...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x29D5 +Testing lsr_ind...done. pre_crc:0xE22B, mem_crc:0x24CC, reg_crc:0x0DC8 +Testing lsr_d16...done. pre_crc:0x866A, mem_crc:0x66FF, reg_crc:0x5BF4 +Testing lsr_absl...done. pre_crc:0x839F, mem_crc:0xACDE, reg_crc:0x0176 +Testing bra_b...done. pre_crc:0x0EC7, mem_crc:0x0000, reg_crc:0x51DA +Testing bhi_b...done. pre_crc:0xD9BB, mem_crc:0x0000, reg_crc:0x2163 +Testing bls_b...done. pre_crc:0xE6D0, mem_crc:0x0000, reg_crc:0x2668 +Testing bcc_b...done. pre_crc:0x8EF8, mem_crc:0x0000, reg_crc:0xE985 +Testing bcs_b...done. pre_crc:0xA946, mem_crc:0x0000, reg_crc:0x464A +Testing bne_b...done. pre_crc:0x7188, mem_crc:0x0000, reg_crc:0x4774 +Testing beq_b...done. pre_crc:0xBC35, mem_crc:0x0000, reg_crc:0xC093 +Testing bvc_b...done. pre_crc:0xFF8E, mem_crc:0x0000, reg_crc:0xB711 +Testing bvs_b...done. pre_crc:0x6C9F, mem_crc:0x0000, reg_crc:0xA18C +Testing bpl_b...done. pre_crc:0xD9A8, mem_crc:0x0000, reg_crc:0x073B +Testing bmi_b...done. pre_crc:0x83CE, mem_crc:0x0000, reg_crc:0x4FFE +Testing bge_b...done. pre_crc:0xCC8C, mem_crc:0x0000, reg_crc:0x18B7 +Testing blt_b...done. pre_crc:0x890F, mem_crc:0x0000, reg_crc:0x8B33 +Testing bgt_b...done. pre_crc:0xC3F7, mem_crc:0x0000, reg_crc:0xE8DD +Testing ble_b...done. pre_crc:0x877F, mem_crc:0x0000, reg_crc:0xD64F +Testing bra_w...done. pre_crc:0xC414, mem_crc:0x0000, reg_crc:0xCA35 +Testing bhi_w...done. pre_crc:0x71A6, mem_crc:0x0000, reg_crc:0x22CC +Testing bls_w...done. pre_crc:0x92AF, mem_crc:0x0000, reg_crc:0xDB12 +Testing bcc_w...done. pre_crc:0xE091, mem_crc:0x0000, reg_crc:0x7DE1 +Testing bcs_w...done. pre_crc:0xD3F8, mem_crc:0x0000, reg_crc:0x2CF7 +Testing bne_w...done. pre_crc:0xCFD1, mem_crc:0x0000, reg_crc:0xBF04 +Testing beq_w...done. pre_crc:0x0EB1, mem_crc:0x0000, reg_crc:0xFD97 +Testing bvc_w...done. pre_crc:0x05D4, mem_crc:0x0000, reg_crc:0xB499 +Testing bvs_w...done. pre_crc:0x964B, mem_crc:0x0000, reg_crc:0x6F42 +Testing bpl_w...done. pre_crc:0x9D4D, mem_crc:0x0000, reg_crc:0x8B72 +Testing bmi_w...done. pre_crc:0x97DF, mem_crc:0x0000, reg_crc:0xA4F2 +Testing bge_w...done. pre_crc:0xF568, mem_crc:0x0000, reg_crc:0x2031 +Testing blt_w...done. pre_crc:0xCF94, mem_crc:0x0000, reg_crc:0x3F09 +Testing bgt_w...done. pre_crc:0xEF35, mem_crc:0x0000, reg_crc:0xD026 +Testing ble_w...done. pre_crc:0xB98E, mem_crc:0x0000, reg_crc:0xA365 +Testing bra_l...done. pre_crc:0xBACA, mem_crc:0x0000, reg_crc:0xCCF0 +Testing bhi_l...done. pre_crc:0xB039, mem_crc:0x0000, reg_crc:0x74E2 +Testing bls_l...done. pre_crc:0xB0AA, mem_crc:0x0000, reg_crc:0x4F5B +Testing bcc_l...done. pre_crc:0xD15B, mem_crc:0x0000, reg_crc:0xA063 +Testing bcs_l...done. pre_crc:0xAC0F, mem_crc:0x0000, reg_crc:0x20B9 +Testing bne_l...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xDCA2 +Testing beq_l...done. pre_crc:0x4F57, mem_crc:0x0000, reg_crc:0x699F +Testing bvc_l...done. pre_crc:0x2D2E, mem_crc:0x0000, reg_crc:0xEA0E +Testing bvs_l...done. pre_crc:0x4721, mem_crc:0x0000, reg_crc:0x535F +Testing bpl_l...done. pre_crc:0xB174, mem_crc:0x0000, reg_crc:0x21A0 +Testing bmi_l...done. pre_crc:0x64D4, mem_crc:0x0000, reg_crc:0x77B4 +Testing bge_l...done. pre_crc:0x037A, mem_crc:0x0000, reg_crc:0x730E +Testing blt_l...done. pre_crc:0xF621, mem_crc:0x0000, reg_crc:0x0F74 +Testing bgt_l...done. pre_crc:0x31F0, mem_crc:0x0000, reg_crc:0x0BE3 +Testing ble_l...done. pre_crc:0x4D59, mem_crc:0x0000, reg_crc:0xCC8E +Testing bchg_reg_reg...done. pre_crc:0xFF1A, mem_crc:0x0000, reg_crc:0x6522 +Testing bchg_const_reg...done. pre_crc:0x795A, mem_crc:0x0000, reg_crc:0xCC22 +Testing bchg_reg_ind...done. pre_crc:0x5A32, mem_crc:0x65BB, reg_crc:0x89E0 +Testing bchg_const_ind...done. pre_crc:0xC683, mem_crc:0xF1E9, reg_crc:0xF003 +Testing bchg_reg_d16...done. pre_crc:0x83EC, mem_crc:0x6885, reg_crc:0x9725 +Testing bchg_const_d16...done. pre_crc:0xC2BF, mem_crc:0x5870, reg_crc:0xB7DB +Testing bchg_reg_absl...done. pre_crc:0xB0F9, mem_crc:0x1136, reg_crc:0x8E21 +Testing bchg_const_absl...done. pre_crc:0x04D7, mem_crc:0x1A94, reg_crc:0xD592 +Testing bclr_reg_reg...done. pre_crc:0x0C0E, mem_crc:0x0000, reg_crc:0xB516 +Testing bclr_const_reg...done. pre_crc:0x6D5E, mem_crc:0x0000, reg_crc:0x6A5C +Testing bclr_reg_ind...done. pre_crc:0xB7D0, mem_crc:0x938D, reg_crc:0x01FB +Testing bclr_const_ind...done. pre_crc:0x4FF1, mem_crc:0x94A8, reg_crc:0x37A7 +Testing bclr_reg_d16...done. pre_crc:0x6F3E, mem_crc:0x315B, reg_crc:0x44C9 +Testing bclr_const_d16...done. pre_crc:0xE75B, mem_crc:0x65C9, reg_crc:0x4CA2 +Testing bclr_reg_absl...done. pre_crc:0x1506, mem_crc:0x3C41, reg_crc:0xD453 +Testing bclr_const_absl...done. pre_crc:0xE8B3, mem_crc:0xB441, reg_crc:0x0123 +Testing bset_reg_reg...done. pre_crc:0xB356, mem_crc:0x0000, reg_crc:0xE187 +Testing bset_const_reg...done. pre_crc:0xEDBD, mem_crc:0x0000, reg_crc:0xC7A8 +Testing bset_reg_ind...done. pre_crc:0x7EE9, mem_crc:0x96F0, reg_crc:0xA732 +Testing bset_const_ind...done. pre_crc:0xA700, mem_crc:0xBE0C, reg_crc:0x9D4F +Testing bset_reg_d16...done. pre_crc:0x75B5, mem_crc:0xE495, reg_crc:0x61CD +Testing bset_const_d16...done. pre_crc:0xF258, mem_crc:0x0D3D, reg_crc:0x0D07 +Testing bset_reg_absl...done. pre_crc:0xB043, mem_crc:0x284E, reg_crc:0x11A0 +Testing bset_const_absl...done. pre_crc:0x5D9E, mem_crc:0x7E28, reg_crc:0xF0DD +Testing btst_reg_reg...done. pre_crc:0xA588, mem_crc:0x0000, reg_crc:0x6A95 +Testing btst_const_reg...done. pre_crc:0xB9CF, mem_crc:0x0000, reg_crc:0x8625 +Testing btst_reg_ind...done. pre_crc:0x2A5D, mem_crc:0x0000, reg_crc:0x0C3C +Testing btst_const_ind...done. pre_crc:0x4E1E, mem_crc:0x0000, reg_crc:0x8B1B +Testing btst_reg_d16...done. pre_crc:0x0CB7, mem_crc:0x0000, reg_crc:0x8FC1 +Testing btst_const_d16...done. pre_crc:0x8E14, mem_crc:0x0000, reg_crc:0x92B0 +Testing btst_reg_absl...done. pre_crc:0x6B35, mem_crc:0x0000, reg_crc:0x1916 +Testing btst_const_absl...done. pre_crc:0x425A, mem_crc:0x0000, reg_crc:0xB00E +Testing bfchg_reg...done. pre_crc:0xA4B5, mem_crc:0x0000, reg_crc:0xE156 +Testing bfchg_ind...done. pre_crc:0x5DA8, mem_crc:0x39B8, reg_crc:0xCDA2 +Testing bfchg_d16...done. pre_crc:0xE8DC, mem_crc:0xF917, reg_crc:0xE28B +Testing bfchg_absl...done. pre_crc:0x2004, mem_crc:0xB689, reg_crc:0x510D +Testing bfclr_reg...done. pre_crc:0x07B8, mem_crc:0x0000, reg_crc:0x1015 +Testing bfclr_ind...done. pre_crc:0xC7D1, mem_crc:0xBF2F, reg_crc:0x379E +Testing bfclr_d16...done. pre_crc:0xC5A9, mem_crc:0xD0B9, reg_crc:0x3387 +Testing bfclr_absl...done. pre_crc:0xCDCE, mem_crc:0x752F, reg_crc:0xCDCD +Testing bfset_reg...done. pre_crc:0x9214, mem_crc:0x0000, reg_crc:0xA483 +Testing bfset_ind...done. pre_crc:0xD7A1, mem_crc:0xC2F4, reg_crc:0xB007 +Testing bfset_d16...done. pre_crc:0x100F, mem_crc:0xC6F3, reg_crc:0x5996 +Testing bfset_absl...done. pre_crc:0x0A9A, mem_crc:0xAE7A, reg_crc:0x9C7D +Testing bftst_reg...done. pre_crc:0xF16B, mem_crc:0x0000, reg_crc:0x8782 +Testing bftst_ind...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xD0B5 +Testing bftst_d16...done. pre_crc:0xCFD3, mem_crc:0x0000, reg_crc:0x8332 +Testing bftst_absl...done. pre_crc:0xE060, mem_crc:0x0000, reg_crc:0xE63E +Testing bfexts_reg...done. pre_crc:0x737B, mem_crc:0x0000, reg_crc:0xC61B +Testing bfexts_ind...done. pre_crc:0xC430, mem_crc:0x0000, reg_crc:0x1BFC +Testing bfexts_d16...done. pre_crc:0x80C0, mem_crc:0x0000, reg_crc:0x0DA4 +Testing bfexts_absl...done. pre_crc:0x1568, mem_crc:0x0000, reg_crc:0x9861 +Testing bfextu_reg...done. pre_crc:0x85B8, mem_crc:0x0000, reg_crc:0x99E1 +Testing bfextu_ind...done. pre_crc:0x144C, mem_crc:0x0000, reg_crc:0x1C26 +Testing bfextu_d16...done. pre_crc:0x1467, mem_crc:0x0000, reg_crc:0x8E35 +Testing bfextu_absl...done. pre_crc:0xA51B, mem_crc:0x0000, reg_crc:0x9F95 +Testing bfffo_reg...done. pre_crc:0x6856, mem_crc:0x0000, reg_crc:0x30C6 +Testing bfffo_ind...done. pre_crc:0xE7FE, mem_crc:0x0000, reg_crc:0xC3DD +Testing bfffo_d16...done. pre_crc:0x4966, mem_crc:0x0000, reg_crc:0x5297 +Testing bfffo_absl...done. pre_crc:0x0E71, mem_crc:0x0000, reg_crc:0xE8D1 +Testing bfins_reg...done. pre_crc:0x6B79, mem_crc:0x0000, reg_crc:0x7025 +Testing bfins_ind...done. pre_crc:0xAFF6, mem_crc:0x40AE, reg_crc:0xEE06 +Testing bfins_d16...done. pre_crc:0xE106, mem_crc:0xF8A4, reg_crc:0xDF10 +Testing bfins_absl...done. pre_crc:0xF741, mem_crc:0xDD71, reg_crc:0x9A3F +Testing bsr_b...done. pre_crc:0x58D5, mem_crc:0xF1FE, reg_crc:0x9BF4 +Testing bsr_w...done. pre_crc:0x6EBB, mem_crc:0x19DC, reg_crc:0x9584 +Testing bsr_l...done. pre_crc:0xF012, mem_crc:0x92EC, reg_crc:0x3D37 +Testing cas_ind...done. pre_crc:0x8643, mem_crc:0x3FCC, reg_crc:0x8BA5 +Testing cas2_areg...done. pre_crc:0x6AE9, mem_crc:0x02EC, reg_crc:0xC58B +Testing cas2_anyreg...done. pre_crc:0x13E8, mem_crc:0x8FA2, reg_crc:0xFF35 +Testing clr_reg...done. pre_crc:0xED40, mem_crc:0x0000, reg_crc:0xD389 +Testing clrb_ind...done. pre_crc:0xE79F, mem_crc:0xE27D, reg_crc:0xFC2B +Testing clrwl_ind...done. pre_crc:0x3F4F, mem_crc:0xF2D6, reg_crc:0x2B7D +Testing clrb_absl...done. pre_crc:0xD05D, mem_crc:0x1172, reg_crc:0x641C +Testing clrwl_absl...done. pre_crc:0x7EEE, mem_crc:0xAA7D, reg_crc:0x3B61 +Testing cmp_dreg...done. pre_crc:0x97C3, mem_crc:0x0000, reg_crc:0x0F4B +Testing cmp_areg...done. pre_crc:0x9294, mem_crc:0x0000, reg_crc:0x6522 +Testing cmpb_ind...done. pre_crc:0x3AE2, mem_crc:0x0000, reg_crc:0x7551 +Testing cmpwl_ind...done. pre_crc:0x5D3D, mem_crc:0x0000, reg_crc:0x9F4B +Testing cmpb_d16...done. pre_crc:0x0C2F, mem_crc:0x0000, reg_crc:0x08C8 +Testing cmpwl_d16...done. pre_crc:0x281B, mem_crc:0x0000, reg_crc:0xE661 +Testing cmpa_reg...done. pre_crc:0x6B07, mem_crc:0x0000, reg_crc:0x8D1D +Testing cmpa_ind...done. pre_crc:0xE866, mem_crc:0x0000, reg_crc:0xB2DB +Testing cmpa_ind2...done. pre_crc:0xCD33, mem_crc:0x0000, reg_crc:0x9D19 +Testing cmpa_d16...done. pre_crc:0x487B, mem_crc:0x0000, reg_crc:0x0996 +Testing cmpa_d16_2...done. pre_crc:0x5EE0, mem_crc:0x0000, reg_crc:0xEAB0 +Testing cmpa_absl...done. pre_crc:0x4647, mem_crc:0x0000, reg_crc:0x9EBC +Testing cmpibw_reg...done. pre_crc:0x1DDA, mem_crc:0x0000, reg_crc:0xFC12 +Testing cmpil_reg...done. pre_crc:0x8A61, mem_crc:0x0000, reg_crc:0x020B +Testing cmpib_ind...done. pre_crc:0x1F70, mem_crc:0x0000, reg_crc:0xB741 +Testing cmpiw_ind...done. pre_crc:0x27E1, mem_crc:0x0000, reg_crc:0x2679 +Testing cmpil_ind...done. pre_crc:0x2019, mem_crc:0x0000, reg_crc:0x8878 +Testing cmpmb...done. pre_crc:0xCEAD, mem_crc:0x0000, reg_crc:0xE482 +Testing cmpmwl...done. pre_crc:0xBCAE, mem_crc:0x0000, reg_crc:0x775A +Testing cmp2b_ind...done. pre_crc:0x5A47, mem_crc:0x0000, reg_crc:0xDEA5 +Testing cmp2wl_ind...done. pre_crc:0x0409, mem_crc:0x0000, reg_crc:0x6F00 +Testing dbcc...done. pre_crc:0x0AFA, mem_crc:0x0000, reg_crc:0x7F6D +Testing divs_reg...done. pre_crc:0xBCE5, mem_crc:0x0000, reg_crc:0x8718 +Testing divs_same_reg...done. pre_crc:0x5D69, mem_crc:0x0000, reg_crc:0x5C50 +Testing divs_ind...done. pre_crc:0x9551, mem_crc:0x0000, reg_crc:0xBA31 +Testing divs_absl...done. pre_crc:0x7190, mem_crc:0x0000, reg_crc:0x61A8 +Testing divu_reg...done. pre_crc:0x71C5, mem_crc:0x0000, reg_crc:0x7F43 +Testing divu_same_reg...done. pre_crc:0x8BA4, mem_crc:0x0000, reg_crc:0x091B +Testing divu_ind...done. pre_crc:0x80FC, mem_crc:0x0000, reg_crc:0x1326 +Testing divu_absl...done. pre_crc:0x1CAD, mem_crc:0x0000, reg_crc:0x1106 +Testing divul_ll_reg...done. pre_crc:0x1209, mem_crc:0x0000, reg_crc:0x0A93 +Testing divul_ll_ind...done. pre_crc:0x8479, mem_crc:0x0000, reg_crc:0x6639 +Testing divul_ll_absl...done. pre_crc:0xEEAF, mem_crc:0x0000, reg_crc:0x3E64 +Testing eor_reg...done. pre_crc:0x9F54, mem_crc:0x0000, reg_crc:0x7C0B +Testing eor_ind...done. pre_crc:0x0E9D, mem_crc:0x0B0D, reg_crc:0x1100 +Testing eor_d16...done. pre_crc:0xE72C, mem_crc:0x320E, reg_crc:0x64F7 +Testing eor_absl...done. pre_crc:0x77F9, mem_crc:0x8BB7, reg_crc:0x97E6 +Testing eoribw_dreg...done. pre_crc:0x20AE, mem_crc:0x0000, reg_crc:0x72FA +Testing eoril_dreg...done. pre_crc:0xF30C, mem_crc:0x0000, reg_crc:0x764A +Testing eoribw_ind...done. pre_crc:0xA95E, mem_crc:0x144D, reg_crc:0x8F6B +Testing eoril_ind...done. pre_crc:0x29A8, mem_crc:0x72E2, reg_crc:0x3384 +Testing eoribw_d16...done. pre_crc:0xFDE4, mem_crc:0xA5C9, reg_crc:0xD293 +Testing eoril_d16...done. pre_crc:0xF4CB, mem_crc:0xF18F, reg_crc:0xDD84 +Testing eoribw_absl...done. pre_crc:0xE0AE, mem_crc:0x747E, reg_crc:0xC071 +Testing eoril_absl...done. pre_crc:0xB653, mem_crc:0x4354, reg_crc:0x1668 +Testing eori_to_ccr...done. pre_crc:0x4DBC, mem_crc:0x0000, reg_crc:0xF3CC +Testing exg...done. pre_crc:0xD60F, mem_crc:0x0000, reg_crc:0x6655 +Testing ext...done. pre_crc:0x102B, mem_crc:0x0000, reg_crc:0x57AE +Testing jmp_absl...done. pre_crc:0x92E3, mem_crc:0x0000, reg_crc:0x8DD2 +Testing jmp_ind...done. pre_crc:0xBF0A, mem_crc:0x0000, reg_crc:0x0D7F +Testing jmp_d16...done. pre_crc:0x28D8, mem_crc:0x0000, reg_crc:0xDF43 +Testing jsr_absl...done. pre_crc:0xCF4F, mem_crc:0xD523, reg_crc:0xAB89 +Testing jsr_ind...done. pre_crc:0xC94B, mem_crc:0x6F05, reg_crc:0xF754 +Testing jsr_d16...done. pre_crc:0xCFEF, mem_crc:0x019E, reg_crc:0xEB65 +Testing lea_ind...done. pre_crc:0x2841, mem_crc:0x0000, reg_crc:0x0245 +Testing lea_d16...done. pre_crc:0x07E4, mem_crc:0x0000, reg_crc:0x4545 +Testing lea_absw...done. pre_crc:0xC6DC, mem_crc:0x0000, reg_crc:0x5E9D +Testing lea_absl...done. pre_crc:0x47AC, mem_crc:0x0000, reg_crc:0xD05B +Testing linkw...done. pre_crc:0xDB61, mem_crc:0x7026, reg_crc:0xA0D8 +Testing linkl...done. pre_crc:0x1E27, mem_crc:0x6E54, reg_crc:0xF963 +Testing move16_postinc_postinc...done. pre_crc:0x3CFE, mem_crc:0x4B4D, reg_crc:0x81EB +Testing move16_absl_ind...done. pre_crc:0x094F, mem_crc:0x42C0, reg_crc:0x5AA0 +Testing move16_absl_postinc...done. pre_crc:0x6CC5, mem_crc:0xB926, reg_crc:0x8799 +Testing move16_ind_absl...done. pre_crc:0x2C55, mem_crc:0x422D, reg_crc:0x81B2 +Testing move16_postinc_absl...done. pre_crc:0xE699, mem_crc:0xDABF, reg_crc:0x42CA +Testing moveb_dreg_dreg...done. pre_crc:0x83BB, mem_crc:0x0000, reg_crc:0x6CB1 +Testing movewl_reg_dreg...done. pre_crc:0x6187, mem_crc:0x0000, reg_crc:0x40C7 +Testing moveb_ind_dreg...done. pre_crc:0x08CC, mem_crc:0x0000, reg_crc:0x5852 +Testing movewl_ind_dreg...done. pre_crc:0x9581, mem_crc:0x0000, reg_crc:0x3DD6 +Testing moveb_d16_dreg...done. pre_crc:0xB814, mem_crc:0x0000, reg_crc:0x17AA +Testing movewl_d16_dreg...done. pre_crc:0xC000, mem_crc:0x0000, reg_crc:0x9DF7 +Testing moveb_absl_dreg...done. pre_crc:0x9AA5, mem_crc:0x0000, reg_crc:0x76AE +Testing movewl_absl_dreg...done. pre_crc:0x227F, mem_crc:0x0000, reg_crc:0xE94A +Testing movebw_const_dreg...done. pre_crc:0x127D, mem_crc:0x0000, reg_crc:0xC87A +Testing movel_const_dreg...done. pre_crc:0xC928, mem_crc:0x0000, reg_crc:0x3FA6 +Testing moveb_dreg_ind...done. pre_crc:0x7F6D, mem_crc:0x47F5, reg_crc:0x0240 +Testing movewl_reg_ind...done. pre_crc:0xA287, mem_crc:0xAAA9, reg_crc:0xE7E2 +Testing moveb_dreg_d16...done. pre_crc:0x5CD7, mem_crc:0xC339, reg_crc:0x6262 +Testing movewl_reg_d16...done. pre_crc:0x988B, mem_crc:0xEF83, reg_crc:0x6F53 +Testing moveb_dreg_absl...done. pre_crc:0x8D94, mem_crc:0x43EC, reg_crc:0x4FBC +Testing movewl_reg_absl...done. pre_crc:0x6A34, mem_crc:0x13B9, reg_crc:0xF0CA +Testing moveb_ind_ind...done. pre_crc:0x2969, mem_crc:0x6BAB, reg_crc:0x8E06 +Testing moveb_ind_d16...done. pre_crc:0x1CD0, mem_crc:0xC52E, reg_crc:0x1727 +Testing moveb_d16_ind...done. pre_crc:0xDEB5, mem_crc:0x8346, reg_crc:0xEE77 +Testing movewl_ind_d16...done. pre_crc:0xB13B, mem_crc:0xF10D, reg_crc:0x6512 +Testing movewl_d16_ind...done. pre_crc:0xA9C5, mem_crc:0xDDB1, reg_crc:0x5FED +Testing moveb_d16_d16...done. pre_crc:0x9809, mem_crc:0x9E70, reg_crc:0x49EC +Testing movewl_d16_d16...done. pre_crc:0xB08B, mem_crc:0xD6C8, reg_crc:0xEBE1 +Testing moveb_ind_absl...done. pre_crc:0xC82B, mem_crc:0x7054, reg_crc:0x06E7 +Testing movewl_ind_absl...done. pre_crc:0xE149, mem_crc:0xAC33, reg_crc:0xC981 +Testing moveb_absl_ind...done. pre_crc:0x20FD, mem_crc:0xF066, reg_crc:0x930C +Testing movewl_absl_ind...done. pre_crc:0x6493, mem_crc:0x3C7E, reg_crc:0xF012 +Testing moveb_absl_absl...done. pre_crc:0x7A68, mem_crc:0x8B35, reg_crc:0x3C47 +Testing movewl_absl_absl...done. pre_crc:0x56BE, mem_crc:0xDEEE, reg_crc:0xC4F2 +Testing moveb_d16_absl...done. pre_crc:0xFAFB, mem_crc:0xDD2E, reg_crc:0x3116 +Testing movewl_d16_absl...done. pre_crc:0xDCBB, mem_crc:0x3858, reg_crc:0x5CB2 +Testing moveb_absl_d16...done. pre_crc:0x1991, mem_crc:0x30D8, reg_crc:0x0119 +Testing movewl_absl_d16...done. pre_crc:0x2D4A, mem_crc:0x6011, reg_crc:0x139E +Testing moveb_const_ind...done. pre_crc:0x0EE8, mem_crc:0xE6CE, reg_crc:0x497A +Testing moveb_const_d16...done. pre_crc:0x296E, mem_crc:0xC84F, reg_crc:0x16DA +Testing moveb_const_absl...done. pre_crc:0xA129, mem_crc:0xE712, reg_crc:0x8BB7 +Testing movew_const_ind...done. pre_crc:0xD05B, mem_crc:0xF6E8, reg_crc:0x7BAC +Testing movew_const_d16...done. pre_crc:0x95B9, mem_crc:0xACDE, reg_crc:0x4B66 +Testing movew_const_absl...done. pre_crc:0x43A5, mem_crc:0x69DE, reg_crc:0x7EEB +Testing movel_const_ind...done. pre_crc:0xA384, mem_crc:0xA49E, reg_crc:0x5E7F +Testing movel_const_d16...done. pre_crc:0x28D3, mem_crc:0xDB30, reg_crc:0x642F +Testing movel_const_absl...done. pre_crc:0x978E, mem_crc:0x950C, reg_crc:0xF030 +Testing movea_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0xB811 +Testing movea_ind...done. pre_crc:0xAD96, mem_crc:0x0000, reg_crc:0x2FF2 +Testing movea_d16...done. pre_crc:0x0402, mem_crc:0x0000, reg_crc:0xD8AA +Testing movea_absl...done. pre_crc:0xAB5F, mem_crc:0x0000, reg_crc:0x120F +Testing moveaw_const...done. pre_crc:0x7271, mem_crc:0x0000, reg_crc:0x7214 +Testing moveal_const...done. pre_crc:0xA9A3, mem_crc:0x0000, reg_crc:0x92C2 +Testing move_from_ccr_dreg...done. pre_crc:0x16FD, mem_crc:0x0000, reg_crc:0x50BD +Testing move_from_ccr_ind...done. pre_crc:0x8F13, mem_crc:0x0000, reg_crc:0x213A +Testing move_from_ccr_d16...done. pre_crc:0x796D, mem_crc:0x0000, reg_crc:0xB405 +Testing move_to_ccr_reg...done. pre_crc:0x6D76, mem_crc:0x0000, reg_crc:0xAF74 +Testing move_to_ccr_ind...done. pre_crc:0x652F, mem_crc:0x0000, reg_crc:0x5F00 +Testing movem_to_ind...done. pre_crc:0xF9D5, mem_crc:0xD057, reg_crc:0x3AE4 +Testing movem_to_predec...done. pre_crc:0xC525, mem_crc:0xC71F, reg_crc:0x98D9 +Testing movem_to_d16...done. pre_crc:0xB834, mem_crc:0xFE79, reg_crc:0xE722 +Testing movem_to_absl...done. pre_crc:0xCB9F, mem_crc:0x16D3, reg_crc:0x0E7A +Testing movem_from_d16...done. pre_crc:0xB73D, mem_crc:0x0000, reg_crc:0x2160 +Testing movem_from_ind...done. pre_crc:0x553B, mem_crc:0x0000, reg_crc:0x6D85 +Testing movem_from_absl...done. pre_crc:0x2362, mem_crc:0x0000, reg_crc:0x1C0E +Testing movep_to_mem...done. pre_crc:0xA1C4, mem_crc:0xAC88, reg_crc:0x7FFD +Testing movep_from_mem...done. pre_crc:0xAE3B, mem_crc:0x0000, reg_crc:0x8523 +Testing moveq...done. pre_crc:0xA9CC, mem_crc:0x0000, reg_crc:0xD7F6 +Testing mulsw_dreg...done. pre_crc:0x0BA6, mem_crc:0x0000, reg_crc:0x1FF1 +Testing mulsw_ind...done. pre_crc:0x8FD7, mem_crc:0x0000, reg_crc:0xF810 +Testing mulsw_d16...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0xEFA2 +Testing mulsw_absl...done. pre_crc:0x5A20, mem_crc:0x0000, reg_crc:0x0E5D +Testing muluw_dreg...done. pre_crc:0xC121, mem_crc:0x0000, reg_crc:0x4354 +Testing muluw_ind...done. pre_crc:0x1169, mem_crc:0x0000, reg_crc:0xBC6D +Testing muluw_d16...done. pre_crc:0x493D, mem_crc:0x0000, reg_crc:0x923E +Testing muluw_absl...done. pre_crc:0xA37F, mem_crc:0x0000, reg_crc:0x1F67 +Testing mulsl_dreg...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0x7AF4 +Testing mulsl_ind...done. pre_crc:0xD61C, mem_crc:0x0000, reg_crc:0x61D3 +Testing mulsl_d16...done. pre_crc:0xDB3F, mem_crc:0x0000, reg_crc:0x8122 +Testing mulsl_absl...done. pre_crc:0xDA78, mem_crc:0x0000, reg_crc:0xDE36 +Testing mulul_dreg...done. pre_crc:0xD1F9, mem_crc:0x0000, reg_crc:0x8835 +Testing mulul_ind...done. pre_crc:0x8E69, mem_crc:0x0000, reg_crc:0x20AE +Testing mulul_d16...done. pre_crc:0x9EA1, mem_crc:0x0000, reg_crc:0x0767 +Testing mulul_absl...done. pre_crc:0x99CC, mem_crc:0x0000, reg_crc:0xEC19 +Testing nbcd_reg...done. pre_crc:0xF72C, mem_crc:0x0000, reg_crc:0x87B4 +Testing nbcd_ind...done. pre_crc:0x245F, mem_crc:0x4313, reg_crc:0xEDE8 +Testing nbcd_d16...done. pre_crc:0xBCD0, mem_crc:0xE568, reg_crc:0x0560 +Testing nbcd_absl...done. pre_crc:0x6A0D, mem_crc:0x8C9D, reg_crc:0xFC90 +Testing neg_reg...done. pre_crc:0x076C, mem_crc:0x0000, reg_crc:0x9099 +Testing negb_ind...done. pre_crc:0x3D20, mem_crc:0xCF36, reg_crc:0xBD71 +Testing negwl_ind...done. pre_crc:0x6AE5, mem_crc:0xE5AB, reg_crc:0x544F +Testing negb_d16...done. pre_crc:0xD947, mem_crc:0xBC1C, reg_crc:0x15D3 +Testing negwl_d16...done. pre_crc:0x95A4, mem_crc:0xF8C1, reg_crc:0x457C +Testing neg_absl...done. pre_crc:0x9709, mem_crc:0xB9F7, reg_crc:0x6EAD +Testing negx_reg...done. pre_crc:0x2945, mem_crc:0x0000, reg_crc:0xDCB3 +Testing negxb_ind...done. pre_crc:0xB1C9, mem_crc:0x8288, reg_crc:0x2260 +Testing negxwl_ind...done. pre_crc:0xCC4C, mem_crc:0x6B6B, reg_crc:0x2520 +Testing negxb_d16...done. pre_crc:0xE88E, mem_crc:0xA67B, reg_crc:0xE9A4 +Testing negxwl_d16...done. pre_crc:0x2B5D, mem_crc:0xDC89, reg_crc:0x6202 +Testing negx_absl...done. pre_crc:0xB436, mem_crc:0x126C, reg_crc:0x9D37 +Testing nop...done. pre_crc:0xE15D, mem_crc:0x0000, reg_crc:0xC099 +Testing not_reg...done. pre_crc:0x1E52, mem_crc:0x0000, reg_crc:0x7392 +Testing notb_ind...done. pre_crc:0x1051, mem_crc:0xE573, reg_crc:0x81C6 +Testing notwl_ind...done. pre_crc:0x9729, mem_crc:0xFECB, reg_crc:0x7CCD +Testing notb_d16...done. pre_crc:0xCD8A, mem_crc:0xBC0B, reg_crc:0x562B +Testing notwl_d16...done. pre_crc:0xB795, mem_crc:0x9C63, reg_crc:0x8124 +Testing not_absl...done. pre_crc:0xD5B9, mem_crc:0x8C3E, reg_crc:0x4B8E +Testing or_dreg_dreg...done. pre_crc:0x6841, mem_crc:0x0000, reg_crc:0xD72E +Testing or_ind_dreg...done. pre_crc:0x2A23, mem_crc:0x0000, reg_crc:0x5DE0 +Testing or_d16_dreg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0xA46D +Testing or_absl_dreg...done. pre_crc:0x8E60, mem_crc:0x0000, reg_crc:0x8E2B +Testing orbw_const_dreg...done. pre_crc:0x53ED, mem_crc:0x0000, reg_crc:0xB0F7 +Testing orl_const_dreg...done. pre_crc:0xEB5D, mem_crc:0x0000, reg_crc:0x2AB9 +Testing or_dreg_ind...done. pre_crc:0xDC04, mem_crc:0x4703, reg_crc:0x5D08 +Testing or_dreg_d16...done. pre_crc:0x78A5, mem_crc:0x9C3A, reg_crc:0x6E5B +Testing or_dreg_absl...done. pre_crc:0x0957, mem_crc:0x0944, reg_crc:0x54FE +Testing oribw_dreg...done. pre_crc:0xF341, mem_crc:0x0000, reg_crc:0x06A3 +Testing oril_dreg...done. pre_crc:0x3B7C, mem_crc:0x0000, reg_crc:0x5FCC +Testing oribw_ind...done. pre_crc:0xB681, mem_crc:0xA9E7, reg_crc:0x5DD9 +Testing oril_ind...done. pre_crc:0xE04E, mem_crc:0x3F8D, reg_crc:0x5713 +Testing oribw_d16...done. pre_crc:0x14BC, mem_crc:0x0D5D, reg_crc:0x1340 +Testing oril_d16...done. pre_crc:0xE380, mem_crc:0xC4EA, reg_crc:0x9C11 +Testing oribw_absl...done. pre_crc:0xDCA8, mem_crc:0xE20F, reg_crc:0xB515 +Testing oril_absl...done. pre_crc:0xB00B, mem_crc:0xC113, reg_crc:0xB910 +Testing ori_to_ccr...done. pre_crc:0x1C02, mem_crc:0x0000, reg_crc:0x7763 +Testing pack_reg...done. pre_crc:0x11BA, mem_crc:0x0000, reg_crc:0x6966 +Testing pack_mem...done. pre_crc:0xE0F6, mem_crc:0xC40B, reg_crc:0x175C +Testing pea_ind...done. pre_crc:0x7ECE, mem_crc:0x5D7C, reg_crc:0x19A7 +Testing pea_d16...done. pre_crc:0xECB5, mem_crc:0x89C8, reg_crc:0x3E01 +Testing pea_absw...done. pre_crc:0x5428, mem_crc:0x79E6, reg_crc:0x2A13 +Testing pea_absl...done. pre_crc:0x382C, mem_crc:0xA2CE, reg_crc:0xADBA +Testing rol_dx_dy...done. pre_crc:0x217C, mem_crc:0x0000, reg_crc:0xFC1E +Testing rol_const_dy...done. pre_crc:0x7B69, mem_crc:0x0000, reg_crc:0xB17B +Testing rol_ind...done. pre_crc:0x0BF5, mem_crc:0x69D7, reg_crc:0x8156 +Testing rol_d16...done. pre_crc:0x7C79, mem_crc:0xEDEB, reg_crc:0xFA66 +Testing rol_absl...done. pre_crc:0xD7EB, mem_crc:0xD177, reg_crc:0x4F9D +Testing ror_dx_dy...done. pre_crc:0x8FCD, mem_crc:0x0000, reg_crc:0xFD70 +Testing ror_const_dy...done. pre_crc:0xABFD, mem_crc:0x0000, reg_crc:0xA64D +Testing ror_ind...done. pre_crc:0x6DEC, mem_crc:0x0055, reg_crc:0x39B1 +Testing ror_d16...done. pre_crc:0x7A76, mem_crc:0x86D9, reg_crc:0x72CF +Testing ror_absl...done. pre_crc:0x9C80, mem_crc:0x3F27, reg_crc:0x1471 +Testing roxl_dx_dy...done. pre_crc:0xFEC8, mem_crc:0x0000, reg_crc:0xFE13 +Testing roxl_const_dy...done. pre_crc:0x04B3, mem_crc:0x0000, reg_crc:0x80F8 +Testing roxl_ind...done. pre_crc:0xF4A0, mem_crc:0xDBBE, reg_crc:0x650C +Testing roxl_d16...done. pre_crc:0xC4CD, mem_crc:0x6A47, reg_crc:0x4B0F +Testing roxl_absl...done. pre_crc:0xA755, mem_crc:0x1203, reg_crc:0xFF1B +Testing roxr_dx_dy...done. pre_crc:0x2369, mem_crc:0x0000, reg_crc:0xBC2F +Testing roxr_const_dy...done. pre_crc:0x93CE, mem_crc:0x0000, reg_crc:0x2F04 +Testing roxr_ind...done. pre_crc:0xFE5A, mem_crc:0x9FA6, reg_crc:0xC837 +Testing roxr_d16...done. pre_crc:0xCC59, mem_crc:0x46D6, reg_crc:0x3B1C +Testing roxr_absl...done. pre_crc:0x4476, mem_crc:0xF725, reg_crc:0x5627 +Testing rtd...done. pre_crc:0xBA73, mem_crc:0x0000, reg_crc:0x60C3 +Testing rtr...done. pre_crc:0x6643, mem_crc:0x0000, reg_crc:0x7CBC +Testing rts...done. pre_crc:0x7211, mem_crc:0x0000, reg_crc:0x6CD1 +Testing sbcd_reg...done. pre_crc:0xCDA1, mem_crc:0x0000, reg_crc:0x99BD +Testing sbcd_mem...done. pre_crc:0xF6E5, mem_crc:0x0528, reg_crc:0xD96D +Testing Scc_reg...done. pre_crc:0x37C2, mem_crc:0x0000, reg_crc:0x56C9 +Testing Scc_ind...done. pre_crc:0x618C, mem_crc:0x56AF, reg_crc:0x13DC +Testing Scc_d16...done. pre_crc:0x336D, mem_crc:0x5F5F, reg_crc:0xFC4B +Testing Scc_absl...done. pre_crc:0x32D5, mem_crc:0x5B92, reg_crc:0x72F3 +Testing subb_dreg_dreg...done. pre_crc:0x2350, mem_crc:0x0000, reg_crc:0xECCE +Testing subw_reg_dreg...done. pre_crc:0x9281, mem_crc:0x0000, reg_crc:0x6768 +Testing subl_reg_dreg...done. pre_crc:0xAA4A, mem_crc:0x0000, reg_crc:0x703D +Testing sub_ind_dreg...done. pre_crc:0x9848, mem_crc:0x0000, reg_crc:0xC981 +Testing sub_d16_dreg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0x2057 +Testing sub_absl_dreg...done. pre_crc:0xCC84, mem_crc:0x0000, reg_crc:0x6E83 +Testing subb_const_dreg...done. pre_crc:0xB94A, mem_crc:0x0000, reg_crc:0x810F +Testing subw_const_dreg...done. pre_crc:0x055E, mem_crc:0x0000, reg_crc:0x75EA +Testing subl_const_dreg...done. pre_crc:0xA7B1, mem_crc:0x0000, reg_crc:0xAD15 +Testing sub_dreg_ind...done. pre_crc:0x5622, mem_crc:0x6A59, reg_crc:0xDA4F +Testing sub_dreg_d16...done. pre_crc:0x0DC8, mem_crc:0x7575, reg_crc:0x70A7 +Testing sub_dreg_absl...done. pre_crc:0xC205, mem_crc:0xEC97, reg_crc:0xFC4D +Testing subaw_reg_areg...done. pre_crc:0x03F2, mem_crc:0x0000, reg_crc:0x5BCD +Testing subal_reg_areg...done. pre_crc:0x3E77, mem_crc:0x0000, reg_crc:0x39CC +Testing suba_ind_areg...done. pre_crc:0x9FE3, mem_crc:0x0000, reg_crc:0xEACD +Testing suba_d16_areg...done. pre_crc:0x00C4, mem_crc:0x0000, reg_crc:0x4919 +Testing suba_absl_areg...done. pre_crc:0x9261, mem_crc:0x0000, reg_crc:0x42AF +Testing subaw_const_areg...done. pre_crc:0x5AAD, mem_crc:0x0000, reg_crc:0x94D3 +Testing subal_const_areg...done. pre_crc:0x2FC0, mem_crc:0x0000, reg_crc:0x3419 +Testing subibw_dreg...done. pre_crc:0x6A48, mem_crc:0x0000, reg_crc:0xE224 +Testing subil_dreg...done. pre_crc:0x6349, mem_crc:0x0000, reg_crc:0x521A +Testing subibw_ind...done. pre_crc:0x52FF, mem_crc:0xF4FE, reg_crc:0x2661 +Testing subil_ind...done. pre_crc:0xFC3E, mem_crc:0x7D44, reg_crc:0xFA48 +Testing subibw_d16...done. pre_crc:0xC836, mem_crc:0xF571, reg_crc:0x9EDF +Testing subil_d16...done. pre_crc:0x8978, mem_crc:0x6560, reg_crc:0x2435 +Testing subibw_absl...done. pre_crc:0x75AB, mem_crc:0x72C5, reg_crc:0x0DD5 +Testing subil_absl...done. pre_crc:0xD3DB, mem_crc:0x3B10, reg_crc:0xD9C7 +Testing subq_dreg...done. pre_crc:0x9220, mem_crc:0x0000, reg_crc:0x7368 +Testing subq_areg...done. pre_crc:0x45C7, mem_crc:0x0000, reg_crc:0xD6DA +Testing subq_ind...done. pre_crc:0x8F48, mem_crc:0xDAD3, reg_crc:0xBA54 +Testing subq_d16...done. pre_crc:0xCE60, mem_crc:0x5FC5, reg_crc:0x5E37 +Testing subq_absl...done. pre_crc:0x4D37, mem_crc:0x4345, reg_crc:0x19B9 +Testing subx_reg...done. pre_crc:0xDA03, mem_crc:0x0000, reg_crc:0xBC5B +Testing subx_mem...done. pre_crc:0x75AD, mem_crc:0xF219, reg_crc:0x42C3 +Testing swap...done. pre_crc:0x9AAC, mem_crc:0x0000, reg_crc:0x9802 +Testing tas_dreg...done. pre_crc:0xFE8A, mem_crc:0x0000, reg_crc:0x459D +Testing tas_ind...done. pre_crc:0xC50A, mem_crc:0x2A85, reg_crc:0x76A1 +Testing tas_d16...done. pre_crc:0x20AD, mem_crc:0x4A8A, reg_crc:0xFE75 +Testing tas_absl...done. pre_crc:0x4AA3, mem_crc:0xC2A2, reg_crc:0xEB21 +Testing tstb_dreg...done. pre_crc:0xD8B1, mem_crc:0x0000, reg_crc:0x89CD +Testing tstwl_reg...done. pre_crc:0xA295, mem_crc:0x0000, reg_crc:0xEFBF +Testing tstb_ind...done. pre_crc:0x76C6, mem_crc:0x0000, reg_crc:0xB117 +Testing tstwl_ind...done. pre_crc:0xD101, mem_crc:0x0000, reg_crc:0xDC20 +Testing tstb_d16...done. pre_crc:0x119B, mem_crc:0x0000, reg_crc:0xBE77 +Testing tstwl_d16...done. pre_crc:0xF63C, mem_crc:0x0000, reg_crc:0x49F2 +Testing tst_absl...done. pre_crc:0x2C65, mem_crc:0x0000, reg_crc:0x53F3 diff --git a/test/alpha.64 b/test/alpha.64 new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/alpha.64 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/alpha.cc.noncc b/test/alpha.cc.noncc new file mode 100644 index 0000000..467d575 --- /dev/null +++ b/test/alpha.cc.noncc @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x61C3, mem_crc:0x0000, reg_crc:0x4A40, cc_crc:0xD5BA +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3363, mem_crc:0x7469, reg_crc:0x9CE7, cc_crc:0x0D4C +Testing unlk...2000...4000...6000...8000...10000...done. pre_crc:0x2F13, mem_crc:0x0000, reg_crc:0x293B, cc_crc:0x7DE8 +Testing movewl_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1DC8, mem_crc:0xACC5, reg_crc:0x716A, cc_crc:0x5889 +Testing divsl_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2290, mem_crc:0x0000, reg_crc:0x51EC, cc_crc:0x65B4 +Testing divsl_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0xECF1, mem_crc:0x0000, reg_crc:0x6445, cc_crc:0xE6E6 +Testing divsl_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x103F, mem_crc:0x0000, reg_crc:0xB860, cc_crc:0x5834 +Testing lea_pc_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x911D, mem_crc:0x0000, reg_crc:0x20AD, cc_crc:0x2FD3 +Testing lea_pc_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x7F95, mem_crc:0x0000, reg_crc:0x4C29, cc_crc:0xBA70 +Testing moveb_pc_ind_preix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD498, mem_crc:0x0000, reg_crc:0x7AC4, cc_crc:0x4744 +Testing moveb_pc_ind_postix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB983, mem_crc:0x0000, reg_crc:0xD040, cc_crc:0xF900 +Testing moveb_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3257, mem_crc:0x0000, reg_crc:0xD34C, cc_crc:0xA9A5 +Testing movewl_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x421A, mem_crc:0x0000, reg_crc:0x17EE, cc_crc:0x2205 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x393A, mem_crc:0x0000, reg_crc:0x8FDC, cc_crc:0xB84D +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x7DD8, cc_crc:0xA415 +Testing moveb_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC45E, mem_crc:0x0000, reg_crc:0xE7B1, cc_crc:0xA4B6 +Testing movewl_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x52FC, mem_crc:0x0000, reg_crc:0x7D82, cc_crc:0x0E6E +Testing lea_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x6E8D, mem_crc:0x0000, reg_crc:0x3446, cc_crc:0x25AE +Testing lea_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0xD0AC, mem_crc:0x0000, reg_crc:0xF22F, cc_crc:0x24A3 +Testing add_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBEDB, mem_crc:0x0000, reg_crc:0xC98B, cc_crc:0xF70B +Testing abcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAE76, mem_crc:0x0000, reg_crc:0x7B96, cc_crc:0x001E +Testing abcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3CF2, mem_crc:0xFA6F, reg_crc:0x079B, cc_crc:0x6603 +Testing addb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8B43, mem_crc:0x0000, reg_crc:0xA854, cc_crc:0xAC2B +Testing addw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x48CA, mem_crc:0x0000, reg_crc:0x974A, cc_crc:0x6B32 +Testing addl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD379, mem_crc:0x0000, reg_crc:0x946E, cc_crc:0xF78C +Testing add_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE463, mem_crc:0x0000, reg_crc:0xD38F, cc_crc:0x8187 +Testing addb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDC74, mem_crc:0x0000, reg_crc:0x0030, cc_crc:0xCCD7 +Testing addw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0D95, mem_crc:0x0000, reg_crc:0x4C0E, cc_crc:0xA4F1 +Testing add_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9341, mem_crc:0x3C84, reg_crc:0xDC4F, cc_crc:0xC90A +Testing add_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12BE, mem_crc:0x0000, reg_crc:0x9D23, cc_crc:0x8BDB +Testing addl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1BFA, mem_crc:0x0000, reg_crc:0xA3C6, cc_crc:0x95E7 +Testing add_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3686, mem_crc:0x505F, reg_crc:0x28A9, cc_crc:0xEE0A +Testing add_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBB52, mem_crc:0xC02D, reg_crc:0x218E, cc_crc:0x2389 +Testing addaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0x2B03, mem_crc:0x0000, reg_crc:0x3322, cc_crc:0x3312 +Testing addal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xBC77, mem_crc:0x0000, reg_crc:0xB8FC, cc_crc:0x3996 +Testing adda_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x16E6, mem_crc:0x0000, reg_crc:0xBB7D, cc_crc:0xFB49 +Testing adda_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0xF0A3, cc_crc:0xACC5 +Testing adda_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x426D, mem_crc:0x0000, reg_crc:0xA90F, cc_crc:0xF55C +Testing addaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7B7F, mem_crc:0x0000, reg_crc:0x02A8, cc_crc:0x4EF5 +Testing addal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7738, mem_crc:0x0000, reg_crc:0xFE38, cc_crc:0xCE1C +Testing addibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEF65, mem_crc:0x0000, reg_crc:0x4D6F, cc_crc:0x56C3 +Testing addil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD31F, mem_crc:0x0000, reg_crc:0x76CB, cc_crc:0x9069 +Testing addibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7B5D, mem_crc:0x3F2B, reg_crc:0xEBC9, cc_crc:0xFC3A +Testing addil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF4D1, mem_crc:0xF944, reg_crc:0x3408, cc_crc:0x49DF +Testing addibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x92D7, mem_crc:0xB495, reg_crc:0x58DF, cc_crc:0x4233 +Testing addil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7EAD, mem_crc:0x4F45, reg_crc:0x6ED0, cc_crc:0xA89D +Testing addibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB98B, mem_crc:0x19B9, reg_crc:0x44C3, cc_crc:0xD1BE +Testing addil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9A57, mem_crc:0x243C, reg_crc:0xA892, cc_crc:0x1B74 +Testing addq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7B4F, mem_crc:0x0000, reg_crc:0x2D9C, cc_crc:0x6636 +Testing addq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF932, mem_crc:0x0000, reg_crc:0x9F93, cc_crc:0xDCC7 +Testing addq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2ECA, mem_crc:0xEA7A, reg_crc:0x717B, cc_crc:0x27AC +Testing addq_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF89F, mem_crc:0x2C16, reg_crc:0x44D2, cc_crc:0xB282 +Testing addq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFE06, mem_crc:0x2F2C, reg_crc:0xE015, cc_crc:0x8364 +Testing addx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x1E5E, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x4EEE +Testing addx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3DC6, mem_crc:0x60C9, reg_crc:0x40E9, cc_crc:0x7FE3 +Testing and_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB92D, mem_crc:0x0000, reg_crc:0x20E6, cc_crc:0x5993 +Testing and_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6B03, mem_crc:0x0000, reg_crc:0x48A3, cc_crc:0xF069 +Testing and_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFC96, mem_crc:0x0000, reg_crc:0x16DA, cc_crc:0xED4E +Testing and_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF0D7, mem_crc:0x0000, reg_crc:0xDF1C, cc_crc:0x157A +Testing andbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x74B9, mem_crc:0x0000, reg_crc:0x5C9F, cc_crc:0xD782 +Testing andl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8BDA, mem_crc:0x0000, reg_crc:0x1620, cc_crc:0x46A1 +Testing and_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9A23, mem_crc:0x8E74, reg_crc:0x0C8E, cc_crc:0x47FF +Testing and_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB1F8, mem_crc:0xB166, reg_crc:0x0636, cc_crc:0xC656 +Testing and_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2875, mem_crc:0xB787, reg_crc:0x3794, cc_crc:0x6CB8 +Testing andibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7F29, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xBD22 +Testing andil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE8AF, mem_crc:0x0000, reg_crc:0x503C, cc_crc:0xB90B +Testing andibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x203B, mem_crc:0x8E5C, reg_crc:0x06D7, cc_crc:0x80C8 +Testing andil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x20C4, mem_crc:0x8178, reg_crc:0x6A4D, cc_crc:0x48D2 +Testing andibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7380, mem_crc:0xB744, reg_crc:0xBEAC, cc_crc:0x3754 +Testing andil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBA4C, mem_crc:0x8459, reg_crc:0x65F9, cc_crc:0xE3C4 +Testing andibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5EE5, mem_crc:0xD4B7, reg_crc:0x260D, cc_crc:0xC369 +Testing andil_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE2BB, mem_crc:0x3279, reg_crc:0x8D2E, cc_crc:0x3A0F +Testing andi_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x4422, mem_crc:0x0000, reg_crc:0x6BA1, cc_crc:0x07D3 +Testing asl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFBA3, mem_crc:0x0000, reg_crc:0x1067, cc_crc:0x861A +Testing asl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF2CE, mem_crc:0x0000, reg_crc:0x583D, cc_crc:0x5152 +Testing asl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB18, mem_crc:0xA52E, reg_crc:0xE2CC, cc_crc:0x8E22 +Testing asl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1598, mem_crc:0x305A, reg_crc:0x2D77, cc_crc:0x7C9B +Testing asl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x88CB, mem_crc:0x4DB4, reg_crc:0xB975, cc_crc:0xD70C +Testing asr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5094, mem_crc:0x0000, reg_crc:0xC5CF, cc_crc:0x018F +Testing asr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF283, mem_crc:0x0000, reg_crc:0x7652, cc_crc:0x021C +Testing asr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1A7A, mem_crc:0xAB01, reg_crc:0x783A, cc_crc:0x8967 +Testing asr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xDBC5, mem_crc:0xE218, reg_crc:0x78AA, cc_crc:0x7DF5 +Testing asr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFDC3, mem_crc:0x17D4, reg_crc:0xEDBB, cc_crc:0xD2EB +Testing lsl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x6A33, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0x150E +Testing lsl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xA5F0, mem_crc:0x0000, reg_crc:0x590A, cc_crc:0x8973 +Testing lsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB1B, mem_crc:0xBBFA, reg_crc:0xA31D, cc_crc:0x6D80 +Testing lsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x51A6, mem_crc:0x07D6, reg_crc:0x37AB, cc_crc:0x71A0 +Testing lsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5593, mem_crc:0xE907, reg_crc:0x7008, cc_crc:0x8397 +Testing lsr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5610, mem_crc:0x0000, reg_crc:0xBEAF, cc_crc:0x8477 +Testing lsr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8E56, mem_crc:0x0000, reg_crc:0x7CC2, cc_crc:0x1546 +Testing lsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x31D1, mem_crc:0x449F, reg_crc:0x584C, cc_crc:0xF158 +Testing lsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5D5A, mem_crc:0xB3A2, reg_crc:0x2FC8, cc_crc:0x442E +Testing lsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x502D, mem_crc:0x8383, reg_crc:0xFE73, cc_crc:0xF641 +Testing bra_b...2000...4000...6000...8000...10000...done. pre_crc:0x14AC, mem_crc:0x0000, reg_crc:0xFA65, cc_crc:0xFE02 +Testing bhi_b...2000...4000...6000...8000...10000...done. pre_crc:0x02E8, mem_crc:0x0000, reg_crc:0xDF0D, cc_crc:0xE6E5 +Testing bls_b...2000...4000...6000...8000...10000...done. pre_crc:0xA40B, mem_crc:0x0000, reg_crc:0xBB93, cc_crc:0x012F +Testing bcc_b...2000...4000...6000...8000...10000...done. pre_crc:0x17F7, mem_crc:0x0000, reg_crc:0xFA35, cc_crc:0x7447 +Testing bcs_b...2000...4000...6000...8000...10000...done. pre_crc:0xE14B, mem_crc:0x0000, reg_crc:0x2016, cc_crc:0x00CC +Testing bne_b...2000...4000...6000...8000...10000...done. pre_crc:0x6EFE, mem_crc:0x0000, reg_crc:0x602D, cc_crc:0x749F +Testing beq_b...2000...4000...6000...8000...10000...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x37D6, cc_crc:0x5035 +Testing bvc_b...2000...4000...6000...8000...10000...done. pre_crc:0x8A64, mem_crc:0x0000, reg_crc:0xB86A, cc_crc:0xD1C0 +Testing bvs_b...2000...4000...6000...8000...10000...done. pre_crc:0xDB88, mem_crc:0x0000, reg_crc:0x9B67, cc_crc:0x370B +Testing bpl_b...2000...4000...6000...8000...10000...done. pre_crc:0x1227, mem_crc:0x0000, reg_crc:0x9892, cc_crc:0x10CB +Testing bmi_b...2000...4000...6000...8000...10000...done. pre_crc:0x8F4F, mem_crc:0x0000, reg_crc:0x31A1, cc_crc:0x7CB5 +Testing bge_b...2000...4000...6000...8000...10000...done. pre_crc:0xCA78, mem_crc:0x0000, reg_crc:0x9630, cc_crc:0xC033 +Testing blt_b...2000...4000...6000...8000...10000...done. pre_crc:0xFE2D, mem_crc:0x0000, reg_crc:0x4EF9, cc_crc:0x4F19 +Testing bgt_b...2000...4000...6000...8000...10000...done. pre_crc:0x38BD, mem_crc:0x0000, reg_crc:0x8938, cc_crc:0x0B49 +Testing ble_b...2000...4000...6000...8000...10000...done. pre_crc:0x8833, mem_crc:0x0000, reg_crc:0x1307, cc_crc:0x41F9 +Testing bra_w...2000...4000...6000...8000...10000...done. pre_crc:0x67E5, mem_crc:0x0000, reg_crc:0x1A7C, cc_crc:0x5D75 +Testing bhi_w...2000...4000...6000...8000...10000...done. pre_crc:0x8AAD, mem_crc:0x0000, reg_crc:0x3868, cc_crc:0x7F8C +Testing bls_w...2000...4000...6000...8000...10000...done. pre_crc:0x8F5F, mem_crc:0x0000, reg_crc:0xC0CA, cc_crc:0x8277 +Testing bcc_w...2000...4000...6000...8000...10000...done. pre_crc:0xBD81, mem_crc:0x0000, reg_crc:0x1BE2, cc_crc:0xD26F +Testing bcs_w...2000...4000...6000...8000...10000...done. pre_crc:0xAE6B, mem_crc:0x0000, reg_crc:0x9624, cc_crc:0x85E9 +Testing bne_w...2000...4000...6000...8000...10000...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0x075B, cc_crc:0x4C4A +Testing beq_w...2000...4000...6000...8000...10000...done. pre_crc:0x9EC5, mem_crc:0x0000, reg_crc:0xB6D5, cc_crc:0xCF3A +Testing bvc_w...2000...4000...6000...8000...10000...done. pre_crc:0xA01E, mem_crc:0x0000, reg_crc:0x0F06, cc_crc:0x6AE7 +Testing bvs_w...2000...4000...6000...8000...10000...done. pre_crc:0x4FF2, mem_crc:0x0000, reg_crc:0xCEDA, cc_crc:0x8B03 +Testing bpl_w...2000...4000...6000...8000...10000...done. pre_crc:0x8CA2, mem_crc:0x0000, reg_crc:0x9164, cc_crc:0xF16E +Testing bmi_w...2000...4000...6000...8000...10000...done. pre_crc:0x954B, mem_crc:0x0000, reg_crc:0xD6D9, cc_crc:0x406E +Testing bge_w...2000...4000...6000...8000...10000...done. pre_crc:0x4AB1, mem_crc:0x0000, reg_crc:0x47F6, cc_crc:0x828D +Testing blt_w...2000...4000...6000...8000...10000...done. pre_crc:0x2CE3, mem_crc:0x0000, reg_crc:0xF3D7, cc_crc:0xFFF6 +Testing bgt_w...2000...4000...6000...8000...10000...done. pre_crc:0x6ECF, mem_crc:0x0000, reg_crc:0x1F34, cc_crc:0x36E2 +Testing ble_w...2000...4000...6000...8000...10000...done. pre_crc:0x1BB2, mem_crc:0x0000, reg_crc:0xE08A, cc_crc:0x320E +Testing bra_l...2000...4000...6000...8000...10000...done. pre_crc:0x10D5, mem_crc:0x0000, reg_crc:0x24A0, cc_crc:0x99C5 +Testing bhi_l...2000...4000...6000...8000...10000...done. pre_crc:0xDECC, mem_crc:0x0000, reg_crc:0xE9E3, cc_crc:0x978A +Testing bls_l...2000...4000...6000...8000...10000...done. pre_crc:0x84FD, mem_crc:0x0000, reg_crc:0x7CA4, cc_crc:0x4CC8 +Testing bcc_l...2000...4000...6000...8000...10000...done. pre_crc:0x0B65, mem_crc:0x0000, reg_crc:0x86F7, cc_crc:0x7E90 +Testing bcs_l...2000...4000...6000...8000...10000...done. pre_crc:0xCD11, mem_crc:0x0000, reg_crc:0xA1D6, cc_crc:0x71CC +Testing bne_l...2000...4000...6000...8000...10000...done. pre_crc:0x3618, mem_crc:0x0000, reg_crc:0x9BC2, cc_crc:0x9096 +Testing beq_l...2000...4000...6000...8000...10000...done. pre_crc:0x27F0, mem_crc:0x0000, reg_crc:0xB63E, cc_crc:0xBF6D +Testing bvc_l...2000...4000...6000...8000...10000...done. pre_crc:0x6F17, mem_crc:0x0000, reg_crc:0x8887, cc_crc:0xB7B2 +Testing bvs_l...2000...4000...6000...8000...10000...done. pre_crc:0x1100, mem_crc:0x0000, reg_crc:0xFDA4, cc_crc:0xF1AD +Testing bpl_l...2000...4000...6000...8000...10000...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0xCE31, cc_crc:0xA918 +Testing bmi_l...2000...4000...6000...8000...10000...done. pre_crc:0xAEEA, mem_crc:0x0000, reg_crc:0x2BE1, cc_crc:0xB562 +Testing bge_l...2000...4000...6000...8000...10000...done. pre_crc:0x34FB, mem_crc:0x0000, reg_crc:0x9EDF, cc_crc:0x296D +Testing blt_l...2000...4000...6000...8000...10000...done. pre_crc:0x7495, mem_crc:0x0000, reg_crc:0x345E, cc_crc:0xCD15 +Testing bgt_l...2000...4000...6000...8000...10000...done. pre_crc:0xA52F, mem_crc:0x0000, reg_crc:0xCE20, cc_crc:0x070D +Testing ble_l...2000...4000...6000...8000...10000...done. pre_crc:0x9B33, mem_crc:0x0000, reg_crc:0x3E20, cc_crc:0x01C1 +Testing bchg_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x817C, mem_crc:0x0000, reg_crc:0x2992, cc_crc:0xBF13 +Testing bchg_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC24E, mem_crc:0x0000, reg_crc:0x69D8, cc_crc:0x24E2 +Testing bchg_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4051, mem_crc:0xE1AA, reg_crc:0xC07E, cc_crc:0xC297 +Testing bchg_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB68, mem_crc:0xFFC5, reg_crc:0x7FD0, cc_crc:0x16A8 +Testing bchg_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5977, mem_crc:0x6FD1, reg_crc:0x69A9, cc_crc:0xD3A7 +Testing bchg_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x71D2, mem_crc:0x6C71, reg_crc:0x5226, cc_crc:0xF801 +Testing bchg_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xADD7, mem_crc:0x543E, reg_crc:0x28EE, cc_crc:0x54E3 +Testing bchg_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9797, mem_crc:0xE6E3, reg_crc:0x36DB, cc_crc:0xECF8 +Testing bclr_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF8DC, mem_crc:0x0000, reg_crc:0xED3A, cc_crc:0x48F0 +Testing bclr_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9388, mem_crc:0x0000, reg_crc:0xD952, cc_crc:0x6C0A +Testing bclr_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB2A, mem_crc:0xC2A4, reg_crc:0x8D1D, cc_crc:0x5B68 +Testing bclr_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x755A, mem_crc:0x38BA, reg_crc:0x1920, cc_crc:0xE403 +Testing bclr_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x793C, mem_crc:0xBE81, reg_crc:0x568D, cc_crc:0x3548 +Testing bclr_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x74BE, mem_crc:0x4D28, reg_crc:0x2FF1, cc_crc:0x9584 +Testing bclr_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2B42, mem_crc:0x23D6, reg_crc:0x6981, cc_crc:0xF3DB +Testing bclr_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x983A, mem_crc:0x432F, reg_crc:0xE733, cc_crc:0xE2FC +Testing bset_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xB74E, mem_crc:0x0000, reg_crc:0x85A1, cc_crc:0x6A71 +Testing bset_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x760C, mem_crc:0x0000, reg_crc:0xF746, cc_crc:0x14D8 +Testing bset_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2003, mem_crc:0x4537, reg_crc:0xAE2A, cc_crc:0xBA91 +Testing bset_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4928, mem_crc:0xAAF0, reg_crc:0x7C92, cc_crc:0x47AF +Testing bset_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C6B, mem_crc:0xB3C1, reg_crc:0x3408, cc_crc:0x9707 +Testing bset_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7B0F, mem_crc:0x7046, reg_crc:0x73F8, cc_crc:0xE8AA +Testing bset_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2A2D, mem_crc:0x6D5E, reg_crc:0xAF2B, cc_crc:0x6D31 +Testing bset_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7B08, mem_crc:0xC603, reg_crc:0xDA10, cc_crc:0x8BE1 +Testing btst_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x63BF, mem_crc:0x0000, reg_crc:0xDD1D, cc_crc:0xF234 +Testing btst_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x0B62, mem_crc:0x0000, reg_crc:0x1964, cc_crc:0x7278 +Testing btst_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE168, mem_crc:0x0000, reg_crc:0xA66F, cc_crc:0x6303 +Testing btst_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEA32, mem_crc:0x0000, reg_crc:0xA179, cc_crc:0x509A +Testing btst_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4691, mem_crc:0x0000, reg_crc:0xF808, cc_crc:0xE14D +Testing btst_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4654, mem_crc:0x0000, reg_crc:0x6912, cc_crc:0xEDBE +Testing btst_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2C06, mem_crc:0x0000, reg_crc:0xB89C, cc_crc:0x0CD8 +Testing btst_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3EEE, mem_crc:0x0000, reg_crc:0xF67E, cc_crc:0x5458 +Testing bfchg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x7DBD, mem_crc:0x0000, reg_crc:0xD51F, cc_crc:0x270F +Testing bfchg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB27, mem_crc:0xD748, reg_crc:0x7D82, cc_crc:0xC8A7 +Testing bfchg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x17D3, mem_crc:0x62EA, reg_crc:0x688C, cc_crc:0x4B87 +Testing bfchg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x321A, mem_crc:0x909A, reg_crc:0x8A26, cc_crc:0x6E7F +Testing bfclr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x56A8, mem_crc:0x0000, reg_crc:0xC02D, cc_crc:0xE5B0 +Testing bfclr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBB1C, mem_crc:0xFBE6, reg_crc:0x78A5, cc_crc:0xDF15 +Testing bfclr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2604, mem_crc:0x7A15, reg_crc:0xDD4D, cc_crc:0xA861 +Testing bfclr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA49F, mem_crc:0x2943, reg_crc:0xE967, cc_crc:0xAB15 +Testing bfset_reg...2000...4000...6000...8000...10000...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x4F38, cc_crc:0x9E76 +Testing bfset_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4A8F, mem_crc:0x5ECB, reg_crc:0x86A2, cc_crc:0x79E5 +Testing bfset_d16...2000...4000...6000...8000...10000...done. pre_crc:0x06CD, mem_crc:0xBB59, reg_crc:0xFEDF, cc_crc:0x40EC +Testing bfset_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x46CE, reg_crc:0x5653, cc_crc:0x3514 +Testing bftst_reg...2000...4000...6000...8000...10000...done. pre_crc:0x48E0, mem_crc:0x0000, reg_crc:0x492C, cc_crc:0x1B12 +Testing bftst_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8203, mem_crc:0x0000, reg_crc:0xC138, cc_crc:0xC599 +Testing bftst_d16...2000...4000...6000...8000...10000...done. pre_crc:0x998C, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x4A0E +Testing bftst_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD6CD, mem_crc:0x0000, reg_crc:0x1FFB, cc_crc:0x9944 +Testing bfexts_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2979, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xBAB6 +Testing bfexts_ind...2000...4000...6000...8000...10000...done. pre_crc:0x19AB, mem_crc:0x0000, reg_crc:0x06D8, cc_crc:0x6132 +Testing bfexts_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE734, mem_crc:0x0000, reg_crc:0xD169, cc_crc:0x6A55 +Testing bfexts_absl...2000...4000...6000...8000...10000...done. pre_crc:0xACBE, mem_crc:0x0000, reg_crc:0x7F67, cc_crc:0x1E41 +Testing bfextu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x28E9, mem_crc:0x0000, reg_crc:0x9399, cc_crc:0xBA32 +Testing bfextu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBCD6, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xA126 +Testing bfextu_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7744, mem_crc:0x0000, reg_crc:0x01F1, cc_crc:0x33C5 +Testing bfextu_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2531, mem_crc:0x0000, reg_crc:0x43D6, cc_crc:0x7750 +Testing bfffo_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6524, mem_crc:0x0000, reg_crc:0x1C86, cc_crc:0xF413 +Testing bfffo_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A2B, mem_crc:0x0000, reg_crc:0x6832, cc_crc:0x65E8 +Testing bfffo_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA166, mem_crc:0x0000, reg_crc:0x84E2, cc_crc:0xCF27 +Testing bfffo_absl...2000...4000...6000...8000...10000...done. pre_crc:0xDCD2, mem_crc:0x0000, reg_crc:0x3CBD, cc_crc:0x2D82 +Testing bfins_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8117, mem_crc:0x0000, reg_crc:0xDC61, cc_crc:0xBEA5 +Testing bfins_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8362, mem_crc:0x7877, reg_crc:0x699A, cc_crc:0x667D +Testing bfins_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C7B, mem_crc:0x5D89, reg_crc:0x6335, cc_crc:0xA03F +Testing bfins_absl...2000...4000...6000...8000...10000...done. pre_crc:0x167B, mem_crc:0x557B, reg_crc:0x6356, cc_crc:0xE217 +Testing bsr_b...2000...4000...6000...8000...10000...done. pre_crc:0x0F9E, mem_crc:0x9350, reg_crc:0x2562, cc_crc:0xC8D9 +Testing bsr_w...2000...4000...6000...8000...10000...done. pre_crc:0xFC47, mem_crc:0xC2BF, reg_crc:0xB43A, cc_crc:0x40C1 +Testing bsr_l...2000...4000...6000...8000...10000...done. pre_crc:0x158C, mem_crc:0xB0EF, reg_crc:0xB908, cc_crc:0x9078 +Testing cas_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA4EC, mem_crc:0xEA85, reg_crc:0xE33D, cc_crc:0x6731 +Testing cas2_areg...2000...4000...6000...8000...10000...done. pre_crc:0x25D3, mem_crc:0x982A, reg_crc:0x6C6A, cc_crc:0xA05C +Testing cas2_anyreg...2000...4000...6000...8000...10000...done. pre_crc:0xEB9C, mem_crc:0xAB85, reg_crc:0xEEDD, cc_crc:0x8D48 +Testing clr_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAFA3, mem_crc:0x0000, reg_crc:0x4C94, cc_crc:0x51CD +Testing clrb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE55C, mem_crc:0x7D2D, reg_crc:0x2CE0, cc_crc:0xE5F2 +Testing clrwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE518, mem_crc:0x8B3F, reg_crc:0x6BBC, cc_crc:0xC120 +Testing clrb_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B5D, mem_crc:0xBC40, reg_crc:0xB46C, cc_crc:0x0E5E +Testing clrwl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x123D, mem_crc:0x06CF, reg_crc:0x5786, cc_crc:0x69D1 +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4761, mem_crc:0x0000, reg_crc:0x4233, cc_crc:0x5D0E +Testing cmp_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF2A1, mem_crc:0x0000, reg_crc:0x2008, cc_crc:0x7AB6 +Testing cmpb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9FED, mem_crc:0x0000, reg_crc:0xE230, cc_crc:0x405E +Testing cmpwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x11E5, mem_crc:0x0000, reg_crc:0x4F2A, cc_crc:0x9382 +Testing cmpb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE06D, mem_crc:0x0000, reg_crc:0xA611, cc_crc:0xD4A3 +Testing cmpwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD541, mem_crc:0x0000, reg_crc:0x0944, cc_crc:0x3521 +Testing cmpa_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE4A5, mem_crc:0x0000, reg_crc:0x68FD, cc_crc:0xA517 +Testing cmpa_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6AA4, mem_crc:0x0000, reg_crc:0x3D45, cc_crc:0x1E7D +Testing cmpa_ind2...2000...4000...6000...8000...10000...done. pre_crc:0xD1BF, mem_crc:0x0000, reg_crc:0x2F10, cc_crc:0xD629 +Testing cmpa_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD05, mem_crc:0x0000, reg_crc:0x2083, cc_crc:0xC14A +Testing cmpa_d16_2...2000...4000...6000...8000...10000...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0xE412, cc_crc:0x2D8D +Testing cmpa_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0x7F2F, cc_crc:0xBECA +Testing cmpibw_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF401, mem_crc:0x0000, reg_crc:0x1755, cc_crc:0x8DAA +Testing cmpil_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBC0C, mem_crc:0x0000, reg_crc:0xC3E7, cc_crc:0x853B +Testing cmpib_ind...2000...4000...6000...8000...10000...done. pre_crc:0x796C, mem_crc:0x0000, reg_crc:0x320D, cc_crc:0xB118 +Testing cmpiw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCD6F, mem_crc:0x0000, reg_crc:0xBC92, cc_crc:0x449A +Testing cmpil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6F88, mem_crc:0x0000, reg_crc:0x095C, cc_crc:0xD9C4 +Testing cmpmb...2000...4000...6000...8000...10000...done. pre_crc:0xB182, mem_crc:0x0000, reg_crc:0xDDC0, cc_crc:0x418D +Testing cmpmwl...2000...4000...6000...8000...10000...done. pre_crc:0xD437, mem_crc:0x0000, reg_crc:0xA8DF, cc_crc:0x201F +Testing cmp2b_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA01B, mem_crc:0x0000, reg_crc:0x36E7, cc_crc:0xFB29 +Testing cmp2wl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0E96, mem_crc:0x0000, reg_crc:0x7D1B, cc_crc:0x0536 +Testing dbcc...2000...4000...6000...8000...10000...done. pre_crc:0xE667, mem_crc:0x0000, reg_crc:0x8133, cc_crc:0x616B +Testing divs_reg...2000...4000...6000...8000...10000...done. pre_crc:0x90C6, mem_crc:0x0000, reg_crc:0x1D78, cc_crc:0xBB9F +Testing divs_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA2A8, mem_crc:0x0000, reg_crc:0x02B9, cc_crc:0x3220 +Testing divs_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4392, mem_crc:0x0000, reg_crc:0xB1F9, cc_crc:0xF802 +Testing divs_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFCC1, mem_crc:0x0000, reg_crc:0xECBC, cc_crc:0x8A8F +Testing divu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2D15, mem_crc:0x0000, reg_crc:0xA83B, cc_crc:0xD1F5 +Testing divu_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC71D, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xAB7F +Testing divu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF92B, mem_crc:0x0000, reg_crc:0x106D, cc_crc:0xED21 +Testing divu_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA203, mem_crc:0x0000, reg_crc:0x1B81, cc_crc:0x6A71 +Testing divul_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE0F6, mem_crc:0x0000, reg_crc:0xFA14, cc_crc:0x8D5A +Testing divul_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0x28AB, mem_crc:0x0000, reg_crc:0xE487, cc_crc:0x1C0E +Testing divul_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE21A, mem_crc:0x0000, reg_crc:0x22C3, cc_crc:0xDA08 +Testing eor_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5EA4, mem_crc:0x0000, reg_crc:0xE130, cc_crc:0xBBE4 +Testing eor_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE2C1, mem_crc:0x9990, reg_crc:0x55DE, cc_crc:0x73CB +Testing eor_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFC62, mem_crc:0x4351, reg_crc:0x4109, cc_crc:0x8290 +Testing eor_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE1FA, mem_crc:0x68F4, reg_crc:0x8A80, cc_crc:0xF627 +Testing eoribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6129, mem_crc:0x0000, reg_crc:0x1817, cc_crc:0xD1C3 +Testing eoril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7000, mem_crc:0x0000, reg_crc:0x7877, cc_crc:0x5DCB +Testing eoribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2284, mem_crc:0x60B7, reg_crc:0xFFC5, cc_crc:0x77EB +Testing eoril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xD20B, mem_crc:0xBAAB, reg_crc:0x5C9C, cc_crc:0xB7A0 +Testing eoribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4BFF, mem_crc:0x4CA1, reg_crc:0xEEC3, cc_crc:0xB4B2 +Testing eoril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB199, mem_crc:0x455D, reg_crc:0x4698, cc_crc:0xB6D3 +Testing eoribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC3EB, mem_crc:0xC318, reg_crc:0xAE86, cc_crc:0xFD5E +Testing eoril_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB1C2, mem_crc:0x5A24, reg_crc:0x17CC, cc_crc:0xCC95 +Testing eori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0xC7C1, cc_crc:0x6348 +Testing exg...2000...4000...6000...8000...10000...done. pre_crc:0x3636, mem_crc:0x0000, reg_crc:0x1C92, cc_crc:0xD45C +Testing ext...2000...4000...6000...8000...10000...done. pre_crc:0x7020, mem_crc:0x0000, reg_crc:0xCC6F, cc_crc:0x3C22 +Testing jmp_absl...2000...4000...6000...8000...10000...done. pre_crc:0x264A, mem_crc:0x0000, reg_crc:0xD052, cc_crc:0x5415 +Testing jmp_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5D81, mem_crc:0x0000, reg_crc:0x5801, cc_crc:0x1652 +Testing jmp_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3B8F, mem_crc:0x0000, reg_crc:0x2FBC, cc_crc:0x23A2 +Testing jsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB252, mem_crc:0x9021, reg_crc:0xCC42, cc_crc:0x4985 +Testing jsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x122E, mem_crc:0x97C4, reg_crc:0xC79B, cc_crc:0xD3A8 +Testing jsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C2A, mem_crc:0x9164, reg_crc:0x7BFC, cc_crc:0x16C4 +Testing lea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9516, mem_crc:0x0000, reg_crc:0x2EE8, cc_crc:0xC452 +Testing lea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4E75, mem_crc:0x0000, reg_crc:0x473A, cc_crc:0xFEC4 +Testing lea_absw...2000...4000...6000...8000...10000...done. pre_crc:0xA64A, mem_crc:0x0000, reg_crc:0xAE0D, cc_crc:0x25A8 +Testing lea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6527, mem_crc:0x0000, reg_crc:0x097D, cc_crc:0x9410 +Testing linkw...2000...4000...6000...8000...10000...done. pre_crc:0x9D80, mem_crc:0x342A, reg_crc:0x72BB, cc_crc:0x43FE +Testing linkl...2000...4000...6000...8000...10000...done. pre_crc:0xAA30, mem_crc:0x56C5, reg_crc:0xAD94, cc_crc:0x1392 +Testing move16_postinc_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x17CC, mem_crc:0x6858, reg_crc:0xE156, cc_crc:0x39A6 +Testing move16_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDE6C, mem_crc:0x52C8, reg_crc:0xD490, cc_crc:0x5387 +Testing move16_absl_postinc...2000...4000...6000...8000...10000...done. pre_crc:0xB7F5, mem_crc:0x2C89, reg_crc:0x5489, cc_crc:0x8221 +Testing move16_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8FD0, mem_crc:0x45BC, reg_crc:0x7E12, cc_crc:0xA095 +Testing move16_postinc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xEAED, mem_crc:0xB2B2, reg_crc:0xC7D6, cc_crc:0x3826 +Testing moveb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xCCB7, mem_crc:0x0000, reg_crc:0x9AE1, cc_crc:0xFDB5 +Testing movewl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90B6, mem_crc:0x0000, reg_crc:0x03B7, cc_crc:0x4FCB +Testing moveb_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7490, mem_crc:0x0000, reg_crc:0x786A, cc_crc:0x213F +Testing movewl_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7906, mem_crc:0x0000, reg_crc:0x8916, cc_crc:0x78F6 +Testing moveb_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0850, mem_crc:0x0000, reg_crc:0xDA64, cc_crc:0xB39D +Testing movewl_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE0BE, mem_crc:0x0000, reg_crc:0xECC8, cc_crc:0xF98D +Testing moveb_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7C87, mem_crc:0x0000, reg_crc:0xE00D, cc_crc:0xFF5A +Testing movewl_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD859, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0x5138 +Testing movebw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF4C1, mem_crc:0x0000, reg_crc:0xE217, cc_crc:0x4424 +Testing movel_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0x1D77, cc_crc:0x5C06 +Testing moveb_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A9E, mem_crc:0x375D, reg_crc:0x4CD0, cc_crc:0x3506 +Testing movewl_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBC94, mem_crc:0x3B3E, reg_crc:0xB1F6, cc_crc:0x5129 +Testing moveb_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFAD7, mem_crc:0xB35D, reg_crc:0x8733, cc_crc:0xFDE5 +Testing movewl_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA0E0, mem_crc:0x0F2B, reg_crc:0xDD6A, cc_crc:0x6A0C +Testing moveb_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1650, mem_crc:0x866E, reg_crc:0xFE73, cc_crc:0x4AB6 +Testing movewl_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x619A, mem_crc:0xC43E, reg_crc:0xF395, cc_crc:0xD1D8 +Testing moveb_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF5E6, mem_crc:0x4AC7, reg_crc:0x0684, cc_crc:0x2919 +Testing moveb_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0DCD, mem_crc:0x6123, reg_crc:0xB9CE, cc_crc:0x2728 +Testing moveb_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA739, mem_crc:0x9BB5, reg_crc:0xCE2F, cc_crc:0x534E +Testing movewl_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x62A3, mem_crc:0x2842, reg_crc:0xC3E1, cc_crc:0x2818 +Testing movewl_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDBFC, mem_crc:0x7E93, reg_crc:0xDA89, cc_crc:0x0955 +Testing moveb_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD252, mem_crc:0x8236, reg_crc:0xCA8E, cc_crc:0x9FA0 +Testing movewl_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6DEF, mem_crc:0xF08D, reg_crc:0x3599, cc_crc:0x10D9 +Testing moveb_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8B0C, mem_crc:0x741B, reg_crc:0x2DDE, cc_crc:0x4CC1 +Testing movewl_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF679, mem_crc:0xA314, reg_crc:0x5B89, cc_crc:0xF8FE +Testing moveb_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x47C5, mem_crc:0x27DD, reg_crc:0x73DC, cc_crc:0x2255 +Testing movewl_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2B48, mem_crc:0x9918, reg_crc:0xE8A9, cc_crc:0xAE08 +Testing moveb_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5B5C, mem_crc:0x384A, reg_crc:0xFD61, cc_crc:0xA63C +Testing movewl_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB400, mem_crc:0x913D, reg_crc:0x5AF3, cc_crc:0x517F +Testing moveb_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x90DE, mem_crc:0x1E21, reg_crc:0x7806, cc_crc:0x6B29 +Testing movewl_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x89B9, mem_crc:0x27B8, reg_crc:0x78D7, cc_crc:0xCE04 +Testing moveb_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7A9A, mem_crc:0x8BDB, reg_crc:0x99F0, cc_crc:0x8916 +Testing movewl_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x408F, mem_crc:0xF4FE, reg_crc:0x0802, cc_crc:0x7FAD +Testing moveb_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0361, mem_crc:0xA069, reg_crc:0x5DD9, cc_crc:0x9CB2 +Testing moveb_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5FE6, mem_crc:0x6D86, reg_crc:0x755D, cc_crc:0x659F +Testing moveb_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0CCC, mem_crc:0xE01F, reg_crc:0xD1E1, cc_crc:0xDF79 +Testing movew_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC05F, mem_crc:0xB81B, reg_crc:0xFAEB, cc_crc:0xA684 +Testing movew_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF8E0, mem_crc:0xD6A4, reg_crc:0x174E, cc_crc:0x3A78 +Testing movew_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5967, mem_crc:0xF528, reg_crc:0xC783, cc_crc:0x8529 +Testing movel_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x200F, mem_crc:0xA511, reg_crc:0xC642, cc_crc:0x2537 +Testing movel_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7C51, mem_crc:0x91F7, reg_crc:0x4067, cc_crc:0x4B03 +Testing movel_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0xAE75, mem_crc:0x0B8F, reg_crc:0x4662, cc_crc:0xD88D +Testing movea_reg...2000...4000...6000...8000...10000...done. pre_crc:0x861B, mem_crc:0x0000, reg_crc:0x956A, cc_crc:0x7FE6 +Testing movea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2C5E, mem_crc:0x0000, reg_crc:0xD8CA, cc_crc:0x1007 +Testing movea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6EC4, mem_crc:0x0000, reg_crc:0xA6F5, cc_crc:0x889A +Testing movea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF876, mem_crc:0x0000, reg_crc:0xC45B, cc_crc:0x7B4D +Testing moveaw_const...2000...4000...6000...8000...10000...done. pre_crc:0xB99A, mem_crc:0x0000, reg_crc:0xBEE1, cc_crc:0x70F2 +Testing moveal_const...2000...4000...6000...8000...10000...done. pre_crc:0x0D69, mem_crc:0x0000, reg_crc:0x7F73, cc_crc:0xF5E4 +Testing move_from_ccr_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEEEB, mem_crc:0x0000, reg_crc:0xBFA7, cc_crc:0x6420 +Testing move_from_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x976B, mem_crc:0x0000, reg_crc:0x1A92, cc_crc:0x5F84 +Testing move_from_ccr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF84A, mem_crc:0x0000, reg_crc:0xD16C, cc_crc:0x2B53 +Testing move_to_ccr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2B8A, mem_crc:0x0000, reg_crc:0x601B, cc_crc:0xF93C +Testing move_to_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEDA3, mem_crc:0x0000, reg_crc:0xB9C1, cc_crc:0xEB9F +Testing movem_to_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9B28, mem_crc:0x975E, reg_crc:0xAF77, cc_crc:0x7507 +Testing movem_to_predec...2000...4000...6000...8000...10000...done. pre_crc:0xD6B7, mem_crc:0xD658, reg_crc:0x2F67, cc_crc:0xBB4D +Testing movem_to_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC8F0, mem_crc:0x8DEB, reg_crc:0xD89F, cc_crc:0x4AD0 +Testing movem_to_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8CEE, mem_crc:0xC6D7, reg_crc:0x1D2E, cc_crc:0x40B5 +Testing movem_from_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86D6, mem_crc:0x0000, reg_crc:0x5ED9, cc_crc:0xF4BF +Testing movem_from_ind...2000...4000...6000...8000...10000...done. pre_crc:0x399F, mem_crc:0x0000, reg_crc:0x281B, cc_crc:0xEAEA +Testing movem_from_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FA0, mem_crc:0x0000, reg_crc:0x6C77, cc_crc:0x4561 +Testing movep_to_mem...2000...4000...6000...8000...10000...done. pre_crc:0x5A5B, mem_crc:0x170F, reg_crc:0xB29A, cc_crc:0xE1C5 +Testing movep_from_mem...2000...4000...6000...8000...10000...done. pre_crc:0x1F11, mem_crc:0x0000, reg_crc:0xCF30, cc_crc:0x3EEF +Testing moveq...2000...4000...6000...8000...10000...done. pre_crc:0xAAF9, mem_crc:0x0000, reg_crc:0xAF6C, cc_crc:0x73FD +Testing mulsw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBCCC, mem_crc:0x0000, reg_crc:0xDEFF, cc_crc:0xD03B +Testing mulsw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE7C9, mem_crc:0x0000, reg_crc:0xED7B, cc_crc:0x72D1 +Testing mulsw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA827, mem_crc:0x0000, reg_crc:0x9D43, cc_crc:0xAE31 +Testing mulsw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA7DD, mem_crc:0x0000, reg_crc:0x01AE, cc_crc:0x6875 +Testing muluw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x0854, cc_crc:0x9A2B +Testing muluw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE9A0, mem_crc:0x0000, reg_crc:0x4188, cc_crc:0xBBAF +Testing muluw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8B1C, mem_crc:0x0000, reg_crc:0xA08E, cc_crc:0x86B9 +Testing muluw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6CC2, mem_crc:0x0000, reg_crc:0x6BA8, cc_crc:0xEE4B +Testing mulsl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1960, mem_crc:0x0000, reg_crc:0x4CF7, cc_crc:0xFEF8 +Testing mulsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFA22, mem_crc:0x0000, reg_crc:0x106E, cc_crc:0x0873 +Testing mulsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0x18EB, cc_crc:0x0665 +Testing mulsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x862F, mem_crc:0x0000, reg_crc:0x8D09, cc_crc:0xF628 +Testing mulul_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA4B9, mem_crc:0x0000, reg_crc:0x7EB2, cc_crc:0x901D +Testing mulul_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3AE0, mem_crc:0x0000, reg_crc:0x6770, cc_crc:0xEEB4 +Testing mulul_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15E9, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0x531E +Testing mulul_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FD2, mem_crc:0x0000, reg_crc:0xA831, cc_crc:0xFC59 +Testing nbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA576, mem_crc:0x0000, reg_crc:0x06AA, cc_crc:0x5F8E +Testing nbcd_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0818, mem_crc:0xA922, reg_crc:0xD549, cc_crc:0x08DC +Testing nbcd_d16...2000...4000...6000...8000...10000...done. pre_crc:0x33B4, mem_crc:0x367B, reg_crc:0x8A08, cc_crc:0xF9E4 +Testing nbcd_absl...2000...4000...6000...8000...10000...done. pre_crc:0x419A, mem_crc:0x2567, reg_crc:0xB20C, cc_crc:0x5DE9 +Testing neg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5A85, mem_crc:0x0000, reg_crc:0xDF04, cc_crc:0xB2E4 +Testing negb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x013F, mem_crc:0x58D0, reg_crc:0xA347, cc_crc:0xBE28 +Testing negwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3E95, mem_crc:0xCA00, reg_crc:0x1CC1, cc_crc:0xAC9A +Testing negb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE89F, mem_crc:0x919B, reg_crc:0x3B19, cc_crc:0x0F93 +Testing negwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEF77, mem_crc:0x7349, reg_crc:0x3536, cc_crc:0xABD3 +Testing neg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3A10, mem_crc:0xD22B, reg_crc:0x227E, cc_crc:0xB375 +Testing negx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8C17, mem_crc:0x0000, reg_crc:0x2414, cc_crc:0xCE97 +Testing negxb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x565B, mem_crc:0xA327, reg_crc:0x9285, cc_crc:0xF0BE +Testing negxwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x26BA, mem_crc:0x69F5, reg_crc:0x265B, cc_crc:0x3B45 +Testing negxb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x70FF, mem_crc:0x6704, reg_crc:0x4320, cc_crc:0x4B93 +Testing negxwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x445B, mem_crc:0x6050, reg_crc:0x57DF, cc_crc:0x6055 +Testing negx_absl...2000...4000...6000...8000...10000...done. pre_crc:0x79B4, mem_crc:0xE637, reg_crc:0x9C48, cc_crc:0x364D +Testing nop...2000...4000...6000...8000...10000...done. pre_crc:0x26B8, mem_crc:0x0000, reg_crc:0x153D, cc_crc:0xD96E +Testing not_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x6134, cc_crc:0x1F29 +Testing notb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x98CD, mem_crc:0x5226, reg_crc:0xB4A3, cc_crc:0x6A11 +Testing notwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x71D8, mem_crc:0x32FE, reg_crc:0xED81, cc_crc:0x6101 +Testing notb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD90C, mem_crc:0x194F, reg_crc:0xBA3E, cc_crc:0x79B3 +Testing notwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1346, mem_crc:0x3234, reg_crc:0x0944, cc_crc:0x3521 +Testing not_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF983, mem_crc:0x0486, reg_crc:0x86FD, cc_crc:0x487D +Testing or_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC936, mem_crc:0x0000, reg_crc:0x86AD, cc_crc:0x0ACA +Testing or_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x9BBE, mem_crc:0x0000, reg_crc:0xCE0B, cc_crc:0xD24E +Testing or_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7387, mem_crc:0x0000, reg_crc:0x61FB, cc_crc:0x62C4 +Testing or_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8E27, mem_crc:0x0000, reg_crc:0xB2EB, cc_crc:0x4144 +Testing orbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8285, mem_crc:0x0000, reg_crc:0xE9BF, cc_crc:0x84C0 +Testing orl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x451E, mem_crc:0x0000, reg_crc:0x231A, cc_crc:0xCCF0 +Testing or_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8A96, mem_crc:0xCB4F, reg_crc:0xED74, cc_crc:0x4FE5 +Testing or_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x599A, mem_crc:0x9475, reg_crc:0x4FD6, cc_crc:0xC2CE +Testing or_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B95, mem_crc:0x6977, reg_crc:0x969A, cc_crc:0x7755 +Testing oribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1EB0, mem_crc:0x0000, reg_crc:0x0324, cc_crc:0x11E8 +Testing oril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDD29, mem_crc:0x0000, reg_crc:0x65DD, cc_crc:0xA9D1 +Testing oribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0857, mem_crc:0x5CCC, reg_crc:0xE658, cc_crc:0xCAFA +Testing oril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAFAF, mem_crc:0x523B, reg_crc:0x280F, cc_crc:0xFD2A +Testing oribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x36A9, mem_crc:0x2C86, reg_crc:0xE866, cc_crc:0xCB20 +Testing oril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE846, mem_crc:0x34AD, reg_crc:0xF0D2, cc_crc:0xA396 +Testing oribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC57A, mem_crc:0x8325, reg_crc:0xF4F7, cc_crc:0x085B +Testing oril_absl...2000...4000...6000...8000...10000...done. pre_crc:0x36F9, mem_crc:0xCF27, reg_crc:0xD4C3, cc_crc:0xE5C7 +Testing ori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x1AE9, mem_crc:0x0000, reg_crc:0x51DC, cc_crc:0xF03C +Testing pack_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D52, mem_crc:0x0000, reg_crc:0x18FF, cc_crc:0x6BA2 +Testing pack_mem...2000...4000...6000...8000...10000...done. pre_crc:0xEAC4, mem_crc:0x1F8A, reg_crc:0xCF05, cc_crc:0x1A04 +Testing pea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3BC3, mem_crc:0xDF7C, reg_crc:0xAC77, cc_crc:0x2B8D +Testing pea_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBAB7, mem_crc:0xB7FC, reg_crc:0x2357, cc_crc:0xF82A +Testing pea_absw...2000...4000...6000...8000...10000...done. pre_crc:0x4192, mem_crc:0x3555, reg_crc:0x16C7, cc_crc:0x2F67 +Testing pea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x687D, mem_crc:0x76AE, reg_crc:0xE12D, cc_crc:0x51EA +Testing rol_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x1E89, mem_crc:0x0000, reg_crc:0xDB84, cc_crc:0x2A75 +Testing rol_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x789C, mem_crc:0x0000, reg_crc:0x1E06, cc_crc:0xD7AA +Testing rol_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5100, mem_crc:0x950F, reg_crc:0x638D, cc_crc:0x302E +Testing rol_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9969, mem_crc:0x0275, reg_crc:0x1CE0, cc_crc:0x1531 +Testing rol_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9DEB, mem_crc:0x402C, reg_crc:0x0A63, cc_crc:0xC535 +Testing ror_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x2D9D, mem_crc:0x0000, reg_crc:0xF825, cc_crc:0x1144 +Testing ror_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xCB2E, mem_crc:0x0000, reg_crc:0xB8C0, cc_crc:0xF15D +Testing ror_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3551, mem_crc:0x8FE9, reg_crc:0x6D40, cc_crc:0x70D0 +Testing ror_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86CE, mem_crc:0xC3C5, reg_crc:0xA0C3, cc_crc:0x48CA +Testing ror_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6E9E, mem_crc:0x2250, reg_crc:0x9EF2, cc_crc:0x4537 +Testing roxl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5FFD, mem_crc:0x0000, reg_crc:0x568D, cc_crc:0x5B97 +Testing roxl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8813, mem_crc:0x0000, reg_crc:0xB06B, cc_crc:0x3E79 +Testing roxl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7C26, mem_crc:0xC831, reg_crc:0xD02F, cc_crc:0x3944 +Testing roxl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD251, mem_crc:0x9251, reg_crc:0x5D91, cc_crc:0xB54A +Testing roxl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x71B1, mem_crc:0x7427, reg_crc:0x554E, cc_crc:0xF2A4 +Testing roxr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF819, mem_crc:0x0000, reg_crc:0x2B96, cc_crc:0x383D +Testing roxr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFB96, mem_crc:0x0000, reg_crc:0x878B, cc_crc:0xD24E +Testing roxr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC468, mem_crc:0x2379, reg_crc:0xB711, cc_crc:0x36A3 +Testing roxr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x18E3, mem_crc:0xCDEC, reg_crc:0xEA7F, cc_crc:0x054D +Testing roxr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBA00, mem_crc:0xC879, reg_crc:0xC081, cc_crc:0xC635 +Testing rtd...2000...4000...6000...8000...10000...done. pre_crc:0x8AF7, mem_crc:0x0000, reg_crc:0x544A, cc_crc:0xF560 +Testing rtr...2000...4000...6000...8000...10000...done. pre_crc:0xF73D, mem_crc:0x0000, reg_crc:0xF544, cc_crc:0x36FF +Testing rts...2000...4000...6000...8000...10000...done. pre_crc:0x2E26, mem_crc:0x0000, reg_crc:0x8516, cc_crc:0x27B7 +Testing sbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9195, mem_crc:0x0000, reg_crc:0x62B3, cc_crc:0xC0DD +Testing sbcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x15BA, mem_crc:0x0892, reg_crc:0xF4AE, cc_crc:0xE299 +Testing Scc_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x6816, cc_crc:0x5FCF +Testing Scc_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3142, mem_crc:0x8A4F, reg_crc:0x08A2, cc_crc:0x3996 +Testing Scc_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5CBC, mem_crc:0xE122, reg_crc:0x71F3, cc_crc:0x8F6D +Testing Scc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFD07, mem_crc:0xCE85, reg_crc:0x170A, cc_crc:0xD691 +Testing subb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12EF, mem_crc:0x0000, reg_crc:0x6D97, cc_crc:0xFA88 +Testing subw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x350C, mem_crc:0x0000, reg_crc:0x7B71, cc_crc:0xAA5A +Testing subl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA32C, mem_crc:0x0000, reg_crc:0x6161, cc_crc:0xC151 +Testing sub_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x57B7, mem_crc:0x0000, reg_crc:0xECA2, cc_crc:0xB06E +Testing sub_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC4B8, mem_crc:0x0000, reg_crc:0xD135, cc_crc:0x274B +Testing sub_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x39B4, mem_crc:0x0000, reg_crc:0x6A18, cc_crc:0x2F4A +Testing subb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1B39, mem_crc:0x0000, reg_crc:0x1064, cc_crc:0xB958 +Testing subw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0B2A, mem_crc:0x0000, reg_crc:0xECE9, cc_crc:0xC3D2 +Testing subl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2A5E, mem_crc:0x0000, reg_crc:0x27A3, cc_crc:0x4205 +Testing sub_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCC3F, mem_crc:0x12A0, reg_crc:0x83BA, cc_crc:0xACB4 +Testing sub_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB34D, mem_crc:0xBD6A, reg_crc:0xE373, cc_crc:0xE694 +Testing sub_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD8BA, mem_crc:0x5ACC, reg_crc:0x910E, cc_crc:0x2824 +Testing subaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xDB02, mem_crc:0x0000, reg_crc:0xE540, cc_crc:0xB02C +Testing subal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xA1B6, mem_crc:0x0000, reg_crc:0x6113, cc_crc:0xB0EC +Testing suba_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0xEE63, mem_crc:0x0000, reg_crc:0x3D52, cc_crc:0x59D8 +Testing suba_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0xE757, mem_crc:0x0000, reg_crc:0x6E64, cc_crc:0x20E3 +Testing suba_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x9132, mem_crc:0x0000, reg_crc:0x8958, cc_crc:0xF9FA +Testing subaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x89AF, mem_crc:0x0000, reg_crc:0x4908, cc_crc:0xD95E +Testing subal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1D3D, mem_crc:0x0000, reg_crc:0xE5C7, cc_crc:0x1F16 +Testing subibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4719, mem_crc:0x0000, reg_crc:0x35E1, cc_crc:0xD1A6 +Testing subil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x66E0, mem_crc:0x0000, reg_crc:0xC969, cc_crc:0xE827 +Testing subibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2431, mem_crc:0xA377, reg_crc:0x4ED2, cc_crc:0x4C68 +Testing subil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3F7D, mem_crc:0xC5A0, reg_crc:0x3226, cc_crc:0xAFED +Testing subibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC774, mem_crc:0xE278, reg_crc:0xA699, cc_crc:0x111D +Testing subil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBF55, mem_crc:0xE409, reg_crc:0xC633, cc_crc:0x97EF +Testing subibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1144, mem_crc:0x73DF, reg_crc:0x5EE6, cc_crc:0x42D7 +Testing subil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7178, mem_crc:0xA603, reg_crc:0x8B59, cc_crc:0x82EB +Testing subq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFCA6, mem_crc:0x0000, reg_crc:0xFA4D, cc_crc:0xC95C +Testing subq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xB2EF, mem_crc:0x0000, reg_crc:0x19C2, cc_crc:0x8142 +Testing subq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CB3, mem_crc:0xF7FD, reg_crc:0xE9F8, cc_crc:0x0289 +Testing subq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8C0D, mem_crc:0x038B, reg_crc:0x8D05, cc_crc:0x47F6 +Testing subq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC055, mem_crc:0x5CE2, reg_crc:0x10B9, cc_crc:0xBE74 +Testing subx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x16E2, mem_crc:0x0000, reg_crc:0x667D, cc_crc:0x54A1 +Testing subx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x261C, mem_crc:0x5A3A, reg_crc:0x5999, cc_crc:0x6C09 +Testing swap...2000...4000...6000...8000...10000...done. pre_crc:0x13BF, mem_crc:0x0000, reg_crc:0x23B6, cc_crc:0x6988 +Testing tas_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB548, mem_crc:0x0000, reg_crc:0xE6B9, cc_crc:0xB4AC +Testing tas_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CD4, mem_crc:0x1075, reg_crc:0xD830, cc_crc:0x6CD7 +Testing tas_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C23, mem_crc:0x46C7, reg_crc:0x6AD1, cc_crc:0xCD15 +Testing tas_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF539, mem_crc:0xC180, reg_crc:0xD994, cc_crc:0xFD80 +Testing tstb_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4DEE, mem_crc:0x0000, reg_crc:0xC1B5, cc_crc:0xF630 +Testing tstwl_reg...2000...4000...6000...8000...10000...done. pre_crc:0xDDAF, mem_crc:0x0000, reg_crc:0x9D2A, cc_crc:0x01F8 +Testing tstb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0534, mem_crc:0x0000, reg_crc:0xABCE, cc_crc:0xB8B8 +Testing tstwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF804, mem_crc:0x0000, reg_crc:0x9311, cc_crc:0xABCE +Testing tstb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15BB, mem_crc:0x0000, reg_crc:0x1F23, cc_crc:0x2610 +Testing tstwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEE40, mem_crc:0x0000, reg_crc:0xDFEC, cc_crc:0x3708 +Testing tst_absl...2000...4000...6000...8000...10000...done. pre_crc:0x737C, mem_crc:0x0000, reg_crc:0x4B3C, cc_crc:0xC2B0 diff --git a/test/alpha.new.noncc b/test/alpha.new.noncc new file mode 100644 index 0000000..467d575 --- /dev/null +++ b/test/alpha.new.noncc @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x61C3, mem_crc:0x0000, reg_crc:0x4A40, cc_crc:0xD5BA +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3363, mem_crc:0x7469, reg_crc:0x9CE7, cc_crc:0x0D4C +Testing unlk...2000...4000...6000...8000...10000...done. pre_crc:0x2F13, mem_crc:0x0000, reg_crc:0x293B, cc_crc:0x7DE8 +Testing movewl_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1DC8, mem_crc:0xACC5, reg_crc:0x716A, cc_crc:0x5889 +Testing divsl_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2290, mem_crc:0x0000, reg_crc:0x51EC, cc_crc:0x65B4 +Testing divsl_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0xECF1, mem_crc:0x0000, reg_crc:0x6445, cc_crc:0xE6E6 +Testing divsl_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x103F, mem_crc:0x0000, reg_crc:0xB860, cc_crc:0x5834 +Testing lea_pc_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x911D, mem_crc:0x0000, reg_crc:0x20AD, cc_crc:0x2FD3 +Testing lea_pc_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x7F95, mem_crc:0x0000, reg_crc:0x4C29, cc_crc:0xBA70 +Testing moveb_pc_ind_preix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD498, mem_crc:0x0000, reg_crc:0x7AC4, cc_crc:0x4744 +Testing moveb_pc_ind_postix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB983, mem_crc:0x0000, reg_crc:0xD040, cc_crc:0xF900 +Testing moveb_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3257, mem_crc:0x0000, reg_crc:0xD34C, cc_crc:0xA9A5 +Testing movewl_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x421A, mem_crc:0x0000, reg_crc:0x17EE, cc_crc:0x2205 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x393A, mem_crc:0x0000, reg_crc:0x8FDC, cc_crc:0xB84D +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x7DD8, cc_crc:0xA415 +Testing moveb_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC45E, mem_crc:0x0000, reg_crc:0xE7B1, cc_crc:0xA4B6 +Testing movewl_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x52FC, mem_crc:0x0000, reg_crc:0x7D82, cc_crc:0x0E6E +Testing lea_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x6E8D, mem_crc:0x0000, reg_crc:0x3446, cc_crc:0x25AE +Testing lea_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0xD0AC, mem_crc:0x0000, reg_crc:0xF22F, cc_crc:0x24A3 +Testing add_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBEDB, mem_crc:0x0000, reg_crc:0xC98B, cc_crc:0xF70B +Testing abcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAE76, mem_crc:0x0000, reg_crc:0x7B96, cc_crc:0x001E +Testing abcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3CF2, mem_crc:0xFA6F, reg_crc:0x079B, cc_crc:0x6603 +Testing addb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8B43, mem_crc:0x0000, reg_crc:0xA854, cc_crc:0xAC2B +Testing addw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x48CA, mem_crc:0x0000, reg_crc:0x974A, cc_crc:0x6B32 +Testing addl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD379, mem_crc:0x0000, reg_crc:0x946E, cc_crc:0xF78C +Testing add_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE463, mem_crc:0x0000, reg_crc:0xD38F, cc_crc:0x8187 +Testing addb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDC74, mem_crc:0x0000, reg_crc:0x0030, cc_crc:0xCCD7 +Testing addw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0D95, mem_crc:0x0000, reg_crc:0x4C0E, cc_crc:0xA4F1 +Testing add_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9341, mem_crc:0x3C84, reg_crc:0xDC4F, cc_crc:0xC90A +Testing add_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12BE, mem_crc:0x0000, reg_crc:0x9D23, cc_crc:0x8BDB +Testing addl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1BFA, mem_crc:0x0000, reg_crc:0xA3C6, cc_crc:0x95E7 +Testing add_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3686, mem_crc:0x505F, reg_crc:0x28A9, cc_crc:0xEE0A +Testing add_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBB52, mem_crc:0xC02D, reg_crc:0x218E, cc_crc:0x2389 +Testing addaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0x2B03, mem_crc:0x0000, reg_crc:0x3322, cc_crc:0x3312 +Testing addal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xBC77, mem_crc:0x0000, reg_crc:0xB8FC, cc_crc:0x3996 +Testing adda_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x16E6, mem_crc:0x0000, reg_crc:0xBB7D, cc_crc:0xFB49 +Testing adda_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0xF0A3, cc_crc:0xACC5 +Testing adda_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x426D, mem_crc:0x0000, reg_crc:0xA90F, cc_crc:0xF55C +Testing addaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7B7F, mem_crc:0x0000, reg_crc:0x02A8, cc_crc:0x4EF5 +Testing addal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7738, mem_crc:0x0000, reg_crc:0xFE38, cc_crc:0xCE1C +Testing addibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEF65, mem_crc:0x0000, reg_crc:0x4D6F, cc_crc:0x56C3 +Testing addil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD31F, mem_crc:0x0000, reg_crc:0x76CB, cc_crc:0x9069 +Testing addibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7B5D, mem_crc:0x3F2B, reg_crc:0xEBC9, cc_crc:0xFC3A +Testing addil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF4D1, mem_crc:0xF944, reg_crc:0x3408, cc_crc:0x49DF +Testing addibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x92D7, mem_crc:0xB495, reg_crc:0x58DF, cc_crc:0x4233 +Testing addil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7EAD, mem_crc:0x4F45, reg_crc:0x6ED0, cc_crc:0xA89D +Testing addibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB98B, mem_crc:0x19B9, reg_crc:0x44C3, cc_crc:0xD1BE +Testing addil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9A57, mem_crc:0x243C, reg_crc:0xA892, cc_crc:0x1B74 +Testing addq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7B4F, mem_crc:0x0000, reg_crc:0x2D9C, cc_crc:0x6636 +Testing addq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF932, mem_crc:0x0000, reg_crc:0x9F93, cc_crc:0xDCC7 +Testing addq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2ECA, mem_crc:0xEA7A, reg_crc:0x717B, cc_crc:0x27AC +Testing addq_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF89F, mem_crc:0x2C16, reg_crc:0x44D2, cc_crc:0xB282 +Testing addq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFE06, mem_crc:0x2F2C, reg_crc:0xE015, cc_crc:0x8364 +Testing addx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x1E5E, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x4EEE +Testing addx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3DC6, mem_crc:0x60C9, reg_crc:0x40E9, cc_crc:0x7FE3 +Testing and_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB92D, mem_crc:0x0000, reg_crc:0x20E6, cc_crc:0x5993 +Testing and_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6B03, mem_crc:0x0000, reg_crc:0x48A3, cc_crc:0xF069 +Testing and_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFC96, mem_crc:0x0000, reg_crc:0x16DA, cc_crc:0xED4E +Testing and_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF0D7, mem_crc:0x0000, reg_crc:0xDF1C, cc_crc:0x157A +Testing andbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x74B9, mem_crc:0x0000, reg_crc:0x5C9F, cc_crc:0xD782 +Testing andl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8BDA, mem_crc:0x0000, reg_crc:0x1620, cc_crc:0x46A1 +Testing and_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9A23, mem_crc:0x8E74, reg_crc:0x0C8E, cc_crc:0x47FF +Testing and_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB1F8, mem_crc:0xB166, reg_crc:0x0636, cc_crc:0xC656 +Testing and_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2875, mem_crc:0xB787, reg_crc:0x3794, cc_crc:0x6CB8 +Testing andibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7F29, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xBD22 +Testing andil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE8AF, mem_crc:0x0000, reg_crc:0x503C, cc_crc:0xB90B +Testing andibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x203B, mem_crc:0x8E5C, reg_crc:0x06D7, cc_crc:0x80C8 +Testing andil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x20C4, mem_crc:0x8178, reg_crc:0x6A4D, cc_crc:0x48D2 +Testing andibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7380, mem_crc:0xB744, reg_crc:0xBEAC, cc_crc:0x3754 +Testing andil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBA4C, mem_crc:0x8459, reg_crc:0x65F9, cc_crc:0xE3C4 +Testing andibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5EE5, mem_crc:0xD4B7, reg_crc:0x260D, cc_crc:0xC369 +Testing andil_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE2BB, mem_crc:0x3279, reg_crc:0x8D2E, cc_crc:0x3A0F +Testing andi_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x4422, mem_crc:0x0000, reg_crc:0x6BA1, cc_crc:0x07D3 +Testing asl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFBA3, mem_crc:0x0000, reg_crc:0x1067, cc_crc:0x861A +Testing asl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF2CE, mem_crc:0x0000, reg_crc:0x583D, cc_crc:0x5152 +Testing asl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB18, mem_crc:0xA52E, reg_crc:0xE2CC, cc_crc:0x8E22 +Testing asl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1598, mem_crc:0x305A, reg_crc:0x2D77, cc_crc:0x7C9B +Testing asl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x88CB, mem_crc:0x4DB4, reg_crc:0xB975, cc_crc:0xD70C +Testing asr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5094, mem_crc:0x0000, reg_crc:0xC5CF, cc_crc:0x018F +Testing asr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF283, mem_crc:0x0000, reg_crc:0x7652, cc_crc:0x021C +Testing asr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1A7A, mem_crc:0xAB01, reg_crc:0x783A, cc_crc:0x8967 +Testing asr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xDBC5, mem_crc:0xE218, reg_crc:0x78AA, cc_crc:0x7DF5 +Testing asr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFDC3, mem_crc:0x17D4, reg_crc:0xEDBB, cc_crc:0xD2EB +Testing lsl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x6A33, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0x150E +Testing lsl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xA5F0, mem_crc:0x0000, reg_crc:0x590A, cc_crc:0x8973 +Testing lsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB1B, mem_crc:0xBBFA, reg_crc:0xA31D, cc_crc:0x6D80 +Testing lsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x51A6, mem_crc:0x07D6, reg_crc:0x37AB, cc_crc:0x71A0 +Testing lsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5593, mem_crc:0xE907, reg_crc:0x7008, cc_crc:0x8397 +Testing lsr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5610, mem_crc:0x0000, reg_crc:0xBEAF, cc_crc:0x8477 +Testing lsr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8E56, mem_crc:0x0000, reg_crc:0x7CC2, cc_crc:0x1546 +Testing lsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x31D1, mem_crc:0x449F, reg_crc:0x584C, cc_crc:0xF158 +Testing lsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5D5A, mem_crc:0xB3A2, reg_crc:0x2FC8, cc_crc:0x442E +Testing lsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x502D, mem_crc:0x8383, reg_crc:0xFE73, cc_crc:0xF641 +Testing bra_b...2000...4000...6000...8000...10000...done. pre_crc:0x14AC, mem_crc:0x0000, reg_crc:0xFA65, cc_crc:0xFE02 +Testing bhi_b...2000...4000...6000...8000...10000...done. pre_crc:0x02E8, mem_crc:0x0000, reg_crc:0xDF0D, cc_crc:0xE6E5 +Testing bls_b...2000...4000...6000...8000...10000...done. pre_crc:0xA40B, mem_crc:0x0000, reg_crc:0xBB93, cc_crc:0x012F +Testing bcc_b...2000...4000...6000...8000...10000...done. pre_crc:0x17F7, mem_crc:0x0000, reg_crc:0xFA35, cc_crc:0x7447 +Testing bcs_b...2000...4000...6000...8000...10000...done. pre_crc:0xE14B, mem_crc:0x0000, reg_crc:0x2016, cc_crc:0x00CC +Testing bne_b...2000...4000...6000...8000...10000...done. pre_crc:0x6EFE, mem_crc:0x0000, reg_crc:0x602D, cc_crc:0x749F +Testing beq_b...2000...4000...6000...8000...10000...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x37D6, cc_crc:0x5035 +Testing bvc_b...2000...4000...6000...8000...10000...done. pre_crc:0x8A64, mem_crc:0x0000, reg_crc:0xB86A, cc_crc:0xD1C0 +Testing bvs_b...2000...4000...6000...8000...10000...done. pre_crc:0xDB88, mem_crc:0x0000, reg_crc:0x9B67, cc_crc:0x370B +Testing bpl_b...2000...4000...6000...8000...10000...done. pre_crc:0x1227, mem_crc:0x0000, reg_crc:0x9892, cc_crc:0x10CB +Testing bmi_b...2000...4000...6000...8000...10000...done. pre_crc:0x8F4F, mem_crc:0x0000, reg_crc:0x31A1, cc_crc:0x7CB5 +Testing bge_b...2000...4000...6000...8000...10000...done. pre_crc:0xCA78, mem_crc:0x0000, reg_crc:0x9630, cc_crc:0xC033 +Testing blt_b...2000...4000...6000...8000...10000...done. pre_crc:0xFE2D, mem_crc:0x0000, reg_crc:0x4EF9, cc_crc:0x4F19 +Testing bgt_b...2000...4000...6000...8000...10000...done. pre_crc:0x38BD, mem_crc:0x0000, reg_crc:0x8938, cc_crc:0x0B49 +Testing ble_b...2000...4000...6000...8000...10000...done. pre_crc:0x8833, mem_crc:0x0000, reg_crc:0x1307, cc_crc:0x41F9 +Testing bra_w...2000...4000...6000...8000...10000...done. pre_crc:0x67E5, mem_crc:0x0000, reg_crc:0x1A7C, cc_crc:0x5D75 +Testing bhi_w...2000...4000...6000...8000...10000...done. pre_crc:0x8AAD, mem_crc:0x0000, reg_crc:0x3868, cc_crc:0x7F8C +Testing bls_w...2000...4000...6000...8000...10000...done. pre_crc:0x8F5F, mem_crc:0x0000, reg_crc:0xC0CA, cc_crc:0x8277 +Testing bcc_w...2000...4000...6000...8000...10000...done. pre_crc:0xBD81, mem_crc:0x0000, reg_crc:0x1BE2, cc_crc:0xD26F +Testing bcs_w...2000...4000...6000...8000...10000...done. pre_crc:0xAE6B, mem_crc:0x0000, reg_crc:0x9624, cc_crc:0x85E9 +Testing bne_w...2000...4000...6000...8000...10000...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0x075B, cc_crc:0x4C4A +Testing beq_w...2000...4000...6000...8000...10000...done. pre_crc:0x9EC5, mem_crc:0x0000, reg_crc:0xB6D5, cc_crc:0xCF3A +Testing bvc_w...2000...4000...6000...8000...10000...done. pre_crc:0xA01E, mem_crc:0x0000, reg_crc:0x0F06, cc_crc:0x6AE7 +Testing bvs_w...2000...4000...6000...8000...10000...done. pre_crc:0x4FF2, mem_crc:0x0000, reg_crc:0xCEDA, cc_crc:0x8B03 +Testing bpl_w...2000...4000...6000...8000...10000...done. pre_crc:0x8CA2, mem_crc:0x0000, reg_crc:0x9164, cc_crc:0xF16E +Testing bmi_w...2000...4000...6000...8000...10000...done. pre_crc:0x954B, mem_crc:0x0000, reg_crc:0xD6D9, cc_crc:0x406E +Testing bge_w...2000...4000...6000...8000...10000...done. pre_crc:0x4AB1, mem_crc:0x0000, reg_crc:0x47F6, cc_crc:0x828D +Testing blt_w...2000...4000...6000...8000...10000...done. pre_crc:0x2CE3, mem_crc:0x0000, reg_crc:0xF3D7, cc_crc:0xFFF6 +Testing bgt_w...2000...4000...6000...8000...10000...done. pre_crc:0x6ECF, mem_crc:0x0000, reg_crc:0x1F34, cc_crc:0x36E2 +Testing ble_w...2000...4000...6000...8000...10000...done. pre_crc:0x1BB2, mem_crc:0x0000, reg_crc:0xE08A, cc_crc:0x320E +Testing bra_l...2000...4000...6000...8000...10000...done. pre_crc:0x10D5, mem_crc:0x0000, reg_crc:0x24A0, cc_crc:0x99C5 +Testing bhi_l...2000...4000...6000...8000...10000...done. pre_crc:0xDECC, mem_crc:0x0000, reg_crc:0xE9E3, cc_crc:0x978A +Testing bls_l...2000...4000...6000...8000...10000...done. pre_crc:0x84FD, mem_crc:0x0000, reg_crc:0x7CA4, cc_crc:0x4CC8 +Testing bcc_l...2000...4000...6000...8000...10000...done. pre_crc:0x0B65, mem_crc:0x0000, reg_crc:0x86F7, cc_crc:0x7E90 +Testing bcs_l...2000...4000...6000...8000...10000...done. pre_crc:0xCD11, mem_crc:0x0000, reg_crc:0xA1D6, cc_crc:0x71CC +Testing bne_l...2000...4000...6000...8000...10000...done. pre_crc:0x3618, mem_crc:0x0000, reg_crc:0x9BC2, cc_crc:0x9096 +Testing beq_l...2000...4000...6000...8000...10000...done. pre_crc:0x27F0, mem_crc:0x0000, reg_crc:0xB63E, cc_crc:0xBF6D +Testing bvc_l...2000...4000...6000...8000...10000...done. pre_crc:0x6F17, mem_crc:0x0000, reg_crc:0x8887, cc_crc:0xB7B2 +Testing bvs_l...2000...4000...6000...8000...10000...done. pre_crc:0x1100, mem_crc:0x0000, reg_crc:0xFDA4, cc_crc:0xF1AD +Testing bpl_l...2000...4000...6000...8000...10000...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0xCE31, cc_crc:0xA918 +Testing bmi_l...2000...4000...6000...8000...10000...done. pre_crc:0xAEEA, mem_crc:0x0000, reg_crc:0x2BE1, cc_crc:0xB562 +Testing bge_l...2000...4000...6000...8000...10000...done. pre_crc:0x34FB, mem_crc:0x0000, reg_crc:0x9EDF, cc_crc:0x296D +Testing blt_l...2000...4000...6000...8000...10000...done. pre_crc:0x7495, mem_crc:0x0000, reg_crc:0x345E, cc_crc:0xCD15 +Testing bgt_l...2000...4000...6000...8000...10000...done. pre_crc:0xA52F, mem_crc:0x0000, reg_crc:0xCE20, cc_crc:0x070D +Testing ble_l...2000...4000...6000...8000...10000...done. pre_crc:0x9B33, mem_crc:0x0000, reg_crc:0x3E20, cc_crc:0x01C1 +Testing bchg_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x817C, mem_crc:0x0000, reg_crc:0x2992, cc_crc:0xBF13 +Testing bchg_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC24E, mem_crc:0x0000, reg_crc:0x69D8, cc_crc:0x24E2 +Testing bchg_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4051, mem_crc:0xE1AA, reg_crc:0xC07E, cc_crc:0xC297 +Testing bchg_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB68, mem_crc:0xFFC5, reg_crc:0x7FD0, cc_crc:0x16A8 +Testing bchg_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5977, mem_crc:0x6FD1, reg_crc:0x69A9, cc_crc:0xD3A7 +Testing bchg_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x71D2, mem_crc:0x6C71, reg_crc:0x5226, cc_crc:0xF801 +Testing bchg_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xADD7, mem_crc:0x543E, reg_crc:0x28EE, cc_crc:0x54E3 +Testing bchg_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9797, mem_crc:0xE6E3, reg_crc:0x36DB, cc_crc:0xECF8 +Testing bclr_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF8DC, mem_crc:0x0000, reg_crc:0xED3A, cc_crc:0x48F0 +Testing bclr_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9388, mem_crc:0x0000, reg_crc:0xD952, cc_crc:0x6C0A +Testing bclr_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB2A, mem_crc:0xC2A4, reg_crc:0x8D1D, cc_crc:0x5B68 +Testing bclr_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x755A, mem_crc:0x38BA, reg_crc:0x1920, cc_crc:0xE403 +Testing bclr_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x793C, mem_crc:0xBE81, reg_crc:0x568D, cc_crc:0x3548 +Testing bclr_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x74BE, mem_crc:0x4D28, reg_crc:0x2FF1, cc_crc:0x9584 +Testing bclr_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2B42, mem_crc:0x23D6, reg_crc:0x6981, cc_crc:0xF3DB +Testing bclr_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x983A, mem_crc:0x432F, reg_crc:0xE733, cc_crc:0xE2FC +Testing bset_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xB74E, mem_crc:0x0000, reg_crc:0x85A1, cc_crc:0x6A71 +Testing bset_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x760C, mem_crc:0x0000, reg_crc:0xF746, cc_crc:0x14D8 +Testing bset_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2003, mem_crc:0x4537, reg_crc:0xAE2A, cc_crc:0xBA91 +Testing bset_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4928, mem_crc:0xAAF0, reg_crc:0x7C92, cc_crc:0x47AF +Testing bset_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C6B, mem_crc:0xB3C1, reg_crc:0x3408, cc_crc:0x9707 +Testing bset_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7B0F, mem_crc:0x7046, reg_crc:0x73F8, cc_crc:0xE8AA +Testing bset_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2A2D, mem_crc:0x6D5E, reg_crc:0xAF2B, cc_crc:0x6D31 +Testing bset_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7B08, mem_crc:0xC603, reg_crc:0xDA10, cc_crc:0x8BE1 +Testing btst_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x63BF, mem_crc:0x0000, reg_crc:0xDD1D, cc_crc:0xF234 +Testing btst_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x0B62, mem_crc:0x0000, reg_crc:0x1964, cc_crc:0x7278 +Testing btst_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE168, mem_crc:0x0000, reg_crc:0xA66F, cc_crc:0x6303 +Testing btst_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEA32, mem_crc:0x0000, reg_crc:0xA179, cc_crc:0x509A +Testing btst_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4691, mem_crc:0x0000, reg_crc:0xF808, cc_crc:0xE14D +Testing btst_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4654, mem_crc:0x0000, reg_crc:0x6912, cc_crc:0xEDBE +Testing btst_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2C06, mem_crc:0x0000, reg_crc:0xB89C, cc_crc:0x0CD8 +Testing btst_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3EEE, mem_crc:0x0000, reg_crc:0xF67E, cc_crc:0x5458 +Testing bfchg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x7DBD, mem_crc:0x0000, reg_crc:0xD51F, cc_crc:0x270F +Testing bfchg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB27, mem_crc:0xD748, reg_crc:0x7D82, cc_crc:0xC8A7 +Testing bfchg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x17D3, mem_crc:0x62EA, reg_crc:0x688C, cc_crc:0x4B87 +Testing bfchg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x321A, mem_crc:0x909A, reg_crc:0x8A26, cc_crc:0x6E7F +Testing bfclr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x56A8, mem_crc:0x0000, reg_crc:0xC02D, cc_crc:0xE5B0 +Testing bfclr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBB1C, mem_crc:0xFBE6, reg_crc:0x78A5, cc_crc:0xDF15 +Testing bfclr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2604, mem_crc:0x7A15, reg_crc:0xDD4D, cc_crc:0xA861 +Testing bfclr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA49F, mem_crc:0x2943, reg_crc:0xE967, cc_crc:0xAB15 +Testing bfset_reg...2000...4000...6000...8000...10000...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x4F38, cc_crc:0x9E76 +Testing bfset_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4A8F, mem_crc:0x5ECB, reg_crc:0x86A2, cc_crc:0x79E5 +Testing bfset_d16...2000...4000...6000...8000...10000...done. pre_crc:0x06CD, mem_crc:0xBB59, reg_crc:0xFEDF, cc_crc:0x40EC +Testing bfset_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x46CE, reg_crc:0x5653, cc_crc:0x3514 +Testing bftst_reg...2000...4000...6000...8000...10000...done. pre_crc:0x48E0, mem_crc:0x0000, reg_crc:0x492C, cc_crc:0x1B12 +Testing bftst_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8203, mem_crc:0x0000, reg_crc:0xC138, cc_crc:0xC599 +Testing bftst_d16...2000...4000...6000...8000...10000...done. pre_crc:0x998C, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x4A0E +Testing bftst_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD6CD, mem_crc:0x0000, reg_crc:0x1FFB, cc_crc:0x9944 +Testing bfexts_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2979, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xBAB6 +Testing bfexts_ind...2000...4000...6000...8000...10000...done. pre_crc:0x19AB, mem_crc:0x0000, reg_crc:0x06D8, cc_crc:0x6132 +Testing bfexts_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE734, mem_crc:0x0000, reg_crc:0xD169, cc_crc:0x6A55 +Testing bfexts_absl...2000...4000...6000...8000...10000...done. pre_crc:0xACBE, mem_crc:0x0000, reg_crc:0x7F67, cc_crc:0x1E41 +Testing bfextu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x28E9, mem_crc:0x0000, reg_crc:0x9399, cc_crc:0xBA32 +Testing bfextu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBCD6, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xA126 +Testing bfextu_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7744, mem_crc:0x0000, reg_crc:0x01F1, cc_crc:0x33C5 +Testing bfextu_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2531, mem_crc:0x0000, reg_crc:0x43D6, cc_crc:0x7750 +Testing bfffo_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6524, mem_crc:0x0000, reg_crc:0x1C86, cc_crc:0xF413 +Testing bfffo_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A2B, mem_crc:0x0000, reg_crc:0x6832, cc_crc:0x65E8 +Testing bfffo_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA166, mem_crc:0x0000, reg_crc:0x84E2, cc_crc:0xCF27 +Testing bfffo_absl...2000...4000...6000...8000...10000...done. pre_crc:0xDCD2, mem_crc:0x0000, reg_crc:0x3CBD, cc_crc:0x2D82 +Testing bfins_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8117, mem_crc:0x0000, reg_crc:0xDC61, cc_crc:0xBEA5 +Testing bfins_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8362, mem_crc:0x7877, reg_crc:0x699A, cc_crc:0x667D +Testing bfins_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C7B, mem_crc:0x5D89, reg_crc:0x6335, cc_crc:0xA03F +Testing bfins_absl...2000...4000...6000...8000...10000...done. pre_crc:0x167B, mem_crc:0x557B, reg_crc:0x6356, cc_crc:0xE217 +Testing bsr_b...2000...4000...6000...8000...10000...done. pre_crc:0x0F9E, mem_crc:0x9350, reg_crc:0x2562, cc_crc:0xC8D9 +Testing bsr_w...2000...4000...6000...8000...10000...done. pre_crc:0xFC47, mem_crc:0xC2BF, reg_crc:0xB43A, cc_crc:0x40C1 +Testing bsr_l...2000...4000...6000...8000...10000...done. pre_crc:0x158C, mem_crc:0xB0EF, reg_crc:0xB908, cc_crc:0x9078 +Testing cas_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA4EC, mem_crc:0xEA85, reg_crc:0xE33D, cc_crc:0x6731 +Testing cas2_areg...2000...4000...6000...8000...10000...done. pre_crc:0x25D3, mem_crc:0x982A, reg_crc:0x6C6A, cc_crc:0xA05C +Testing cas2_anyreg...2000...4000...6000...8000...10000...done. pre_crc:0xEB9C, mem_crc:0xAB85, reg_crc:0xEEDD, cc_crc:0x8D48 +Testing clr_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAFA3, mem_crc:0x0000, reg_crc:0x4C94, cc_crc:0x51CD +Testing clrb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE55C, mem_crc:0x7D2D, reg_crc:0x2CE0, cc_crc:0xE5F2 +Testing clrwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE518, mem_crc:0x8B3F, reg_crc:0x6BBC, cc_crc:0xC120 +Testing clrb_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B5D, mem_crc:0xBC40, reg_crc:0xB46C, cc_crc:0x0E5E +Testing clrwl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x123D, mem_crc:0x06CF, reg_crc:0x5786, cc_crc:0x69D1 +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4761, mem_crc:0x0000, reg_crc:0x4233, cc_crc:0x5D0E +Testing cmp_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF2A1, mem_crc:0x0000, reg_crc:0x2008, cc_crc:0x7AB6 +Testing cmpb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9FED, mem_crc:0x0000, reg_crc:0xE230, cc_crc:0x405E +Testing cmpwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x11E5, mem_crc:0x0000, reg_crc:0x4F2A, cc_crc:0x9382 +Testing cmpb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE06D, mem_crc:0x0000, reg_crc:0xA611, cc_crc:0xD4A3 +Testing cmpwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD541, mem_crc:0x0000, reg_crc:0x0944, cc_crc:0x3521 +Testing cmpa_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE4A5, mem_crc:0x0000, reg_crc:0x68FD, cc_crc:0xA517 +Testing cmpa_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6AA4, mem_crc:0x0000, reg_crc:0x3D45, cc_crc:0x1E7D +Testing cmpa_ind2...2000...4000...6000...8000...10000...done. pre_crc:0xD1BF, mem_crc:0x0000, reg_crc:0x2F10, cc_crc:0xD629 +Testing cmpa_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD05, mem_crc:0x0000, reg_crc:0x2083, cc_crc:0xC14A +Testing cmpa_d16_2...2000...4000...6000...8000...10000...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0xE412, cc_crc:0x2D8D +Testing cmpa_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0x7F2F, cc_crc:0xBECA +Testing cmpibw_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF401, mem_crc:0x0000, reg_crc:0x1755, cc_crc:0x8DAA +Testing cmpil_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBC0C, mem_crc:0x0000, reg_crc:0xC3E7, cc_crc:0x853B +Testing cmpib_ind...2000...4000...6000...8000...10000...done. pre_crc:0x796C, mem_crc:0x0000, reg_crc:0x320D, cc_crc:0xB118 +Testing cmpiw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCD6F, mem_crc:0x0000, reg_crc:0xBC92, cc_crc:0x449A +Testing cmpil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6F88, mem_crc:0x0000, reg_crc:0x095C, cc_crc:0xD9C4 +Testing cmpmb...2000...4000...6000...8000...10000...done. pre_crc:0xB182, mem_crc:0x0000, reg_crc:0xDDC0, cc_crc:0x418D +Testing cmpmwl...2000...4000...6000...8000...10000...done. pre_crc:0xD437, mem_crc:0x0000, reg_crc:0xA8DF, cc_crc:0x201F +Testing cmp2b_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA01B, mem_crc:0x0000, reg_crc:0x36E7, cc_crc:0xFB29 +Testing cmp2wl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0E96, mem_crc:0x0000, reg_crc:0x7D1B, cc_crc:0x0536 +Testing dbcc...2000...4000...6000...8000...10000...done. pre_crc:0xE667, mem_crc:0x0000, reg_crc:0x8133, cc_crc:0x616B +Testing divs_reg...2000...4000...6000...8000...10000...done. pre_crc:0x90C6, mem_crc:0x0000, reg_crc:0x1D78, cc_crc:0xBB9F +Testing divs_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA2A8, mem_crc:0x0000, reg_crc:0x02B9, cc_crc:0x3220 +Testing divs_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4392, mem_crc:0x0000, reg_crc:0xB1F9, cc_crc:0xF802 +Testing divs_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFCC1, mem_crc:0x0000, reg_crc:0xECBC, cc_crc:0x8A8F +Testing divu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2D15, mem_crc:0x0000, reg_crc:0xA83B, cc_crc:0xD1F5 +Testing divu_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC71D, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xAB7F +Testing divu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF92B, mem_crc:0x0000, reg_crc:0x106D, cc_crc:0xED21 +Testing divu_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA203, mem_crc:0x0000, reg_crc:0x1B81, cc_crc:0x6A71 +Testing divul_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE0F6, mem_crc:0x0000, reg_crc:0xFA14, cc_crc:0x8D5A +Testing divul_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0x28AB, mem_crc:0x0000, reg_crc:0xE487, cc_crc:0x1C0E +Testing divul_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE21A, mem_crc:0x0000, reg_crc:0x22C3, cc_crc:0xDA08 +Testing eor_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5EA4, mem_crc:0x0000, reg_crc:0xE130, cc_crc:0xBBE4 +Testing eor_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE2C1, mem_crc:0x9990, reg_crc:0x55DE, cc_crc:0x73CB +Testing eor_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFC62, mem_crc:0x4351, reg_crc:0x4109, cc_crc:0x8290 +Testing eor_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE1FA, mem_crc:0x68F4, reg_crc:0x8A80, cc_crc:0xF627 +Testing eoribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6129, mem_crc:0x0000, reg_crc:0x1817, cc_crc:0xD1C3 +Testing eoril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7000, mem_crc:0x0000, reg_crc:0x7877, cc_crc:0x5DCB +Testing eoribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2284, mem_crc:0x60B7, reg_crc:0xFFC5, cc_crc:0x77EB +Testing eoril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xD20B, mem_crc:0xBAAB, reg_crc:0x5C9C, cc_crc:0xB7A0 +Testing eoribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4BFF, mem_crc:0x4CA1, reg_crc:0xEEC3, cc_crc:0xB4B2 +Testing eoril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB199, mem_crc:0x455D, reg_crc:0x4698, cc_crc:0xB6D3 +Testing eoribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC3EB, mem_crc:0xC318, reg_crc:0xAE86, cc_crc:0xFD5E +Testing eoril_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB1C2, mem_crc:0x5A24, reg_crc:0x17CC, cc_crc:0xCC95 +Testing eori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0xC7C1, cc_crc:0x6348 +Testing exg...2000...4000...6000...8000...10000...done. pre_crc:0x3636, mem_crc:0x0000, reg_crc:0x1C92, cc_crc:0xD45C +Testing ext...2000...4000...6000...8000...10000...done. pre_crc:0x7020, mem_crc:0x0000, reg_crc:0xCC6F, cc_crc:0x3C22 +Testing jmp_absl...2000...4000...6000...8000...10000...done. pre_crc:0x264A, mem_crc:0x0000, reg_crc:0xD052, cc_crc:0x5415 +Testing jmp_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5D81, mem_crc:0x0000, reg_crc:0x5801, cc_crc:0x1652 +Testing jmp_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3B8F, mem_crc:0x0000, reg_crc:0x2FBC, cc_crc:0x23A2 +Testing jsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB252, mem_crc:0x9021, reg_crc:0xCC42, cc_crc:0x4985 +Testing jsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x122E, mem_crc:0x97C4, reg_crc:0xC79B, cc_crc:0xD3A8 +Testing jsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C2A, mem_crc:0x9164, reg_crc:0x7BFC, cc_crc:0x16C4 +Testing lea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9516, mem_crc:0x0000, reg_crc:0x2EE8, cc_crc:0xC452 +Testing lea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4E75, mem_crc:0x0000, reg_crc:0x473A, cc_crc:0xFEC4 +Testing lea_absw...2000...4000...6000...8000...10000...done. pre_crc:0xA64A, mem_crc:0x0000, reg_crc:0xAE0D, cc_crc:0x25A8 +Testing lea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6527, mem_crc:0x0000, reg_crc:0x097D, cc_crc:0x9410 +Testing linkw...2000...4000...6000...8000...10000...done. pre_crc:0x9D80, mem_crc:0x342A, reg_crc:0x72BB, cc_crc:0x43FE +Testing linkl...2000...4000...6000...8000...10000...done. pre_crc:0xAA30, mem_crc:0x56C5, reg_crc:0xAD94, cc_crc:0x1392 +Testing move16_postinc_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x17CC, mem_crc:0x6858, reg_crc:0xE156, cc_crc:0x39A6 +Testing move16_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDE6C, mem_crc:0x52C8, reg_crc:0xD490, cc_crc:0x5387 +Testing move16_absl_postinc...2000...4000...6000...8000...10000...done. pre_crc:0xB7F5, mem_crc:0x2C89, reg_crc:0x5489, cc_crc:0x8221 +Testing move16_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8FD0, mem_crc:0x45BC, reg_crc:0x7E12, cc_crc:0xA095 +Testing move16_postinc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xEAED, mem_crc:0xB2B2, reg_crc:0xC7D6, cc_crc:0x3826 +Testing moveb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xCCB7, mem_crc:0x0000, reg_crc:0x9AE1, cc_crc:0xFDB5 +Testing movewl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90B6, mem_crc:0x0000, reg_crc:0x03B7, cc_crc:0x4FCB +Testing moveb_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7490, mem_crc:0x0000, reg_crc:0x786A, cc_crc:0x213F +Testing movewl_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7906, mem_crc:0x0000, reg_crc:0x8916, cc_crc:0x78F6 +Testing moveb_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0850, mem_crc:0x0000, reg_crc:0xDA64, cc_crc:0xB39D +Testing movewl_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE0BE, mem_crc:0x0000, reg_crc:0xECC8, cc_crc:0xF98D +Testing moveb_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7C87, mem_crc:0x0000, reg_crc:0xE00D, cc_crc:0xFF5A +Testing movewl_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD859, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0x5138 +Testing movebw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF4C1, mem_crc:0x0000, reg_crc:0xE217, cc_crc:0x4424 +Testing movel_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0x1D77, cc_crc:0x5C06 +Testing moveb_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A9E, mem_crc:0x375D, reg_crc:0x4CD0, cc_crc:0x3506 +Testing movewl_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBC94, mem_crc:0x3B3E, reg_crc:0xB1F6, cc_crc:0x5129 +Testing moveb_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFAD7, mem_crc:0xB35D, reg_crc:0x8733, cc_crc:0xFDE5 +Testing movewl_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA0E0, mem_crc:0x0F2B, reg_crc:0xDD6A, cc_crc:0x6A0C +Testing moveb_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1650, mem_crc:0x866E, reg_crc:0xFE73, cc_crc:0x4AB6 +Testing movewl_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x619A, mem_crc:0xC43E, reg_crc:0xF395, cc_crc:0xD1D8 +Testing moveb_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF5E6, mem_crc:0x4AC7, reg_crc:0x0684, cc_crc:0x2919 +Testing moveb_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0DCD, mem_crc:0x6123, reg_crc:0xB9CE, cc_crc:0x2728 +Testing moveb_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA739, mem_crc:0x9BB5, reg_crc:0xCE2F, cc_crc:0x534E +Testing movewl_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x62A3, mem_crc:0x2842, reg_crc:0xC3E1, cc_crc:0x2818 +Testing movewl_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDBFC, mem_crc:0x7E93, reg_crc:0xDA89, cc_crc:0x0955 +Testing moveb_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD252, mem_crc:0x8236, reg_crc:0xCA8E, cc_crc:0x9FA0 +Testing movewl_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6DEF, mem_crc:0xF08D, reg_crc:0x3599, cc_crc:0x10D9 +Testing moveb_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8B0C, mem_crc:0x741B, reg_crc:0x2DDE, cc_crc:0x4CC1 +Testing movewl_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF679, mem_crc:0xA314, reg_crc:0x5B89, cc_crc:0xF8FE +Testing moveb_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x47C5, mem_crc:0x27DD, reg_crc:0x73DC, cc_crc:0x2255 +Testing movewl_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2B48, mem_crc:0x9918, reg_crc:0xE8A9, cc_crc:0xAE08 +Testing moveb_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5B5C, mem_crc:0x384A, reg_crc:0xFD61, cc_crc:0xA63C +Testing movewl_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB400, mem_crc:0x913D, reg_crc:0x5AF3, cc_crc:0x517F +Testing moveb_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x90DE, mem_crc:0x1E21, reg_crc:0x7806, cc_crc:0x6B29 +Testing movewl_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x89B9, mem_crc:0x27B8, reg_crc:0x78D7, cc_crc:0xCE04 +Testing moveb_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7A9A, mem_crc:0x8BDB, reg_crc:0x99F0, cc_crc:0x8916 +Testing movewl_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x408F, mem_crc:0xF4FE, reg_crc:0x0802, cc_crc:0x7FAD +Testing moveb_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0361, mem_crc:0xA069, reg_crc:0x5DD9, cc_crc:0x9CB2 +Testing moveb_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5FE6, mem_crc:0x6D86, reg_crc:0x755D, cc_crc:0x659F +Testing moveb_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0CCC, mem_crc:0xE01F, reg_crc:0xD1E1, cc_crc:0xDF79 +Testing movew_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC05F, mem_crc:0xB81B, reg_crc:0xFAEB, cc_crc:0xA684 +Testing movew_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF8E0, mem_crc:0xD6A4, reg_crc:0x174E, cc_crc:0x3A78 +Testing movew_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5967, mem_crc:0xF528, reg_crc:0xC783, cc_crc:0x8529 +Testing movel_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x200F, mem_crc:0xA511, reg_crc:0xC642, cc_crc:0x2537 +Testing movel_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7C51, mem_crc:0x91F7, reg_crc:0x4067, cc_crc:0x4B03 +Testing movel_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0xAE75, mem_crc:0x0B8F, reg_crc:0x4662, cc_crc:0xD88D +Testing movea_reg...2000...4000...6000...8000...10000...done. pre_crc:0x861B, mem_crc:0x0000, reg_crc:0x956A, cc_crc:0x7FE6 +Testing movea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2C5E, mem_crc:0x0000, reg_crc:0xD8CA, cc_crc:0x1007 +Testing movea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6EC4, mem_crc:0x0000, reg_crc:0xA6F5, cc_crc:0x889A +Testing movea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF876, mem_crc:0x0000, reg_crc:0xC45B, cc_crc:0x7B4D +Testing moveaw_const...2000...4000...6000...8000...10000...done. pre_crc:0xB99A, mem_crc:0x0000, reg_crc:0xBEE1, cc_crc:0x70F2 +Testing moveal_const...2000...4000...6000...8000...10000...done. pre_crc:0x0D69, mem_crc:0x0000, reg_crc:0x7F73, cc_crc:0xF5E4 +Testing move_from_ccr_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEEEB, mem_crc:0x0000, reg_crc:0xBFA7, cc_crc:0x6420 +Testing move_from_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x976B, mem_crc:0x0000, reg_crc:0x1A92, cc_crc:0x5F84 +Testing move_from_ccr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF84A, mem_crc:0x0000, reg_crc:0xD16C, cc_crc:0x2B53 +Testing move_to_ccr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2B8A, mem_crc:0x0000, reg_crc:0x601B, cc_crc:0xF93C +Testing move_to_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEDA3, mem_crc:0x0000, reg_crc:0xB9C1, cc_crc:0xEB9F +Testing movem_to_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9B28, mem_crc:0x975E, reg_crc:0xAF77, cc_crc:0x7507 +Testing movem_to_predec...2000...4000...6000...8000...10000...done. pre_crc:0xD6B7, mem_crc:0xD658, reg_crc:0x2F67, cc_crc:0xBB4D +Testing movem_to_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC8F0, mem_crc:0x8DEB, reg_crc:0xD89F, cc_crc:0x4AD0 +Testing movem_to_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8CEE, mem_crc:0xC6D7, reg_crc:0x1D2E, cc_crc:0x40B5 +Testing movem_from_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86D6, mem_crc:0x0000, reg_crc:0x5ED9, cc_crc:0xF4BF +Testing movem_from_ind...2000...4000...6000...8000...10000...done. pre_crc:0x399F, mem_crc:0x0000, reg_crc:0x281B, cc_crc:0xEAEA +Testing movem_from_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FA0, mem_crc:0x0000, reg_crc:0x6C77, cc_crc:0x4561 +Testing movep_to_mem...2000...4000...6000...8000...10000...done. pre_crc:0x5A5B, mem_crc:0x170F, reg_crc:0xB29A, cc_crc:0xE1C5 +Testing movep_from_mem...2000...4000...6000...8000...10000...done. pre_crc:0x1F11, mem_crc:0x0000, reg_crc:0xCF30, cc_crc:0x3EEF +Testing moveq...2000...4000...6000...8000...10000...done. pre_crc:0xAAF9, mem_crc:0x0000, reg_crc:0xAF6C, cc_crc:0x73FD +Testing mulsw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBCCC, mem_crc:0x0000, reg_crc:0xDEFF, cc_crc:0xD03B +Testing mulsw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE7C9, mem_crc:0x0000, reg_crc:0xED7B, cc_crc:0x72D1 +Testing mulsw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA827, mem_crc:0x0000, reg_crc:0x9D43, cc_crc:0xAE31 +Testing mulsw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA7DD, mem_crc:0x0000, reg_crc:0x01AE, cc_crc:0x6875 +Testing muluw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x0854, cc_crc:0x9A2B +Testing muluw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE9A0, mem_crc:0x0000, reg_crc:0x4188, cc_crc:0xBBAF +Testing muluw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8B1C, mem_crc:0x0000, reg_crc:0xA08E, cc_crc:0x86B9 +Testing muluw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6CC2, mem_crc:0x0000, reg_crc:0x6BA8, cc_crc:0xEE4B +Testing mulsl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1960, mem_crc:0x0000, reg_crc:0x4CF7, cc_crc:0xFEF8 +Testing mulsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFA22, mem_crc:0x0000, reg_crc:0x106E, cc_crc:0x0873 +Testing mulsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0x18EB, cc_crc:0x0665 +Testing mulsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x862F, mem_crc:0x0000, reg_crc:0x8D09, cc_crc:0xF628 +Testing mulul_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA4B9, mem_crc:0x0000, reg_crc:0x7EB2, cc_crc:0x901D +Testing mulul_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3AE0, mem_crc:0x0000, reg_crc:0x6770, cc_crc:0xEEB4 +Testing mulul_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15E9, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0x531E +Testing mulul_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FD2, mem_crc:0x0000, reg_crc:0xA831, cc_crc:0xFC59 +Testing nbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA576, mem_crc:0x0000, reg_crc:0x06AA, cc_crc:0x5F8E +Testing nbcd_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0818, mem_crc:0xA922, reg_crc:0xD549, cc_crc:0x08DC +Testing nbcd_d16...2000...4000...6000...8000...10000...done. pre_crc:0x33B4, mem_crc:0x367B, reg_crc:0x8A08, cc_crc:0xF9E4 +Testing nbcd_absl...2000...4000...6000...8000...10000...done. pre_crc:0x419A, mem_crc:0x2567, reg_crc:0xB20C, cc_crc:0x5DE9 +Testing neg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5A85, mem_crc:0x0000, reg_crc:0xDF04, cc_crc:0xB2E4 +Testing negb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x013F, mem_crc:0x58D0, reg_crc:0xA347, cc_crc:0xBE28 +Testing negwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3E95, mem_crc:0xCA00, reg_crc:0x1CC1, cc_crc:0xAC9A +Testing negb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE89F, mem_crc:0x919B, reg_crc:0x3B19, cc_crc:0x0F93 +Testing negwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEF77, mem_crc:0x7349, reg_crc:0x3536, cc_crc:0xABD3 +Testing neg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3A10, mem_crc:0xD22B, reg_crc:0x227E, cc_crc:0xB375 +Testing negx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8C17, mem_crc:0x0000, reg_crc:0x2414, cc_crc:0xCE97 +Testing negxb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x565B, mem_crc:0xA327, reg_crc:0x9285, cc_crc:0xF0BE +Testing negxwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x26BA, mem_crc:0x69F5, reg_crc:0x265B, cc_crc:0x3B45 +Testing negxb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x70FF, mem_crc:0x6704, reg_crc:0x4320, cc_crc:0x4B93 +Testing negxwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x445B, mem_crc:0x6050, reg_crc:0x57DF, cc_crc:0x6055 +Testing negx_absl...2000...4000...6000...8000...10000...done. pre_crc:0x79B4, mem_crc:0xE637, reg_crc:0x9C48, cc_crc:0x364D +Testing nop...2000...4000...6000...8000...10000...done. pre_crc:0x26B8, mem_crc:0x0000, reg_crc:0x153D, cc_crc:0xD96E +Testing not_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x6134, cc_crc:0x1F29 +Testing notb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x98CD, mem_crc:0x5226, reg_crc:0xB4A3, cc_crc:0x6A11 +Testing notwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x71D8, mem_crc:0x32FE, reg_crc:0xED81, cc_crc:0x6101 +Testing notb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD90C, mem_crc:0x194F, reg_crc:0xBA3E, cc_crc:0x79B3 +Testing notwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1346, mem_crc:0x3234, reg_crc:0x0944, cc_crc:0x3521 +Testing not_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF983, mem_crc:0x0486, reg_crc:0x86FD, cc_crc:0x487D +Testing or_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC936, mem_crc:0x0000, reg_crc:0x86AD, cc_crc:0x0ACA +Testing or_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x9BBE, mem_crc:0x0000, reg_crc:0xCE0B, cc_crc:0xD24E +Testing or_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7387, mem_crc:0x0000, reg_crc:0x61FB, cc_crc:0x62C4 +Testing or_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8E27, mem_crc:0x0000, reg_crc:0xB2EB, cc_crc:0x4144 +Testing orbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8285, mem_crc:0x0000, reg_crc:0xE9BF, cc_crc:0x84C0 +Testing orl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x451E, mem_crc:0x0000, reg_crc:0x231A, cc_crc:0xCCF0 +Testing or_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8A96, mem_crc:0xCB4F, reg_crc:0xED74, cc_crc:0x4FE5 +Testing or_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x599A, mem_crc:0x9475, reg_crc:0x4FD6, cc_crc:0xC2CE +Testing or_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B95, mem_crc:0x6977, reg_crc:0x969A, cc_crc:0x7755 +Testing oribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1EB0, mem_crc:0x0000, reg_crc:0x0324, cc_crc:0x11E8 +Testing oril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDD29, mem_crc:0x0000, reg_crc:0x65DD, cc_crc:0xA9D1 +Testing oribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0857, mem_crc:0x5CCC, reg_crc:0xE658, cc_crc:0xCAFA +Testing oril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAFAF, mem_crc:0x523B, reg_crc:0x280F, cc_crc:0xFD2A +Testing oribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x36A9, mem_crc:0x2C86, reg_crc:0xE866, cc_crc:0xCB20 +Testing oril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE846, mem_crc:0x34AD, reg_crc:0xF0D2, cc_crc:0xA396 +Testing oribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC57A, mem_crc:0x8325, reg_crc:0xF4F7, cc_crc:0x085B +Testing oril_absl...2000...4000...6000...8000...10000...done. pre_crc:0x36F9, mem_crc:0xCF27, reg_crc:0xD4C3, cc_crc:0xE5C7 +Testing ori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x1AE9, mem_crc:0x0000, reg_crc:0x51DC, cc_crc:0xF03C +Testing pack_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D52, mem_crc:0x0000, reg_crc:0x18FF, cc_crc:0x6BA2 +Testing pack_mem...2000...4000...6000...8000...10000...done. pre_crc:0xEAC4, mem_crc:0x1F8A, reg_crc:0xCF05, cc_crc:0x1A04 +Testing pea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3BC3, mem_crc:0xDF7C, reg_crc:0xAC77, cc_crc:0x2B8D +Testing pea_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBAB7, mem_crc:0xB7FC, reg_crc:0x2357, cc_crc:0xF82A +Testing pea_absw...2000...4000...6000...8000...10000...done. pre_crc:0x4192, mem_crc:0x3555, reg_crc:0x16C7, cc_crc:0x2F67 +Testing pea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x687D, mem_crc:0x76AE, reg_crc:0xE12D, cc_crc:0x51EA +Testing rol_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x1E89, mem_crc:0x0000, reg_crc:0xDB84, cc_crc:0x2A75 +Testing rol_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x789C, mem_crc:0x0000, reg_crc:0x1E06, cc_crc:0xD7AA +Testing rol_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5100, mem_crc:0x950F, reg_crc:0x638D, cc_crc:0x302E +Testing rol_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9969, mem_crc:0x0275, reg_crc:0x1CE0, cc_crc:0x1531 +Testing rol_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9DEB, mem_crc:0x402C, reg_crc:0x0A63, cc_crc:0xC535 +Testing ror_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x2D9D, mem_crc:0x0000, reg_crc:0xF825, cc_crc:0x1144 +Testing ror_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xCB2E, mem_crc:0x0000, reg_crc:0xB8C0, cc_crc:0xF15D +Testing ror_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3551, mem_crc:0x8FE9, reg_crc:0x6D40, cc_crc:0x70D0 +Testing ror_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86CE, mem_crc:0xC3C5, reg_crc:0xA0C3, cc_crc:0x48CA +Testing ror_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6E9E, mem_crc:0x2250, reg_crc:0x9EF2, cc_crc:0x4537 +Testing roxl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5FFD, mem_crc:0x0000, reg_crc:0x568D, cc_crc:0x5B97 +Testing roxl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8813, mem_crc:0x0000, reg_crc:0xB06B, cc_crc:0x3E79 +Testing roxl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7C26, mem_crc:0xC831, reg_crc:0xD02F, cc_crc:0x3944 +Testing roxl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD251, mem_crc:0x9251, reg_crc:0x5D91, cc_crc:0xB54A +Testing roxl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x71B1, mem_crc:0x7427, reg_crc:0x554E, cc_crc:0xF2A4 +Testing roxr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF819, mem_crc:0x0000, reg_crc:0x2B96, cc_crc:0x383D +Testing roxr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFB96, mem_crc:0x0000, reg_crc:0x878B, cc_crc:0xD24E +Testing roxr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC468, mem_crc:0x2379, reg_crc:0xB711, cc_crc:0x36A3 +Testing roxr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x18E3, mem_crc:0xCDEC, reg_crc:0xEA7F, cc_crc:0x054D +Testing roxr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBA00, mem_crc:0xC879, reg_crc:0xC081, cc_crc:0xC635 +Testing rtd...2000...4000...6000...8000...10000...done. pre_crc:0x8AF7, mem_crc:0x0000, reg_crc:0x544A, cc_crc:0xF560 +Testing rtr...2000...4000...6000...8000...10000...done. pre_crc:0xF73D, mem_crc:0x0000, reg_crc:0xF544, cc_crc:0x36FF +Testing rts...2000...4000...6000...8000...10000...done. pre_crc:0x2E26, mem_crc:0x0000, reg_crc:0x8516, cc_crc:0x27B7 +Testing sbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9195, mem_crc:0x0000, reg_crc:0x62B3, cc_crc:0xC0DD +Testing sbcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x15BA, mem_crc:0x0892, reg_crc:0xF4AE, cc_crc:0xE299 +Testing Scc_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x6816, cc_crc:0x5FCF +Testing Scc_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3142, mem_crc:0x8A4F, reg_crc:0x08A2, cc_crc:0x3996 +Testing Scc_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5CBC, mem_crc:0xE122, reg_crc:0x71F3, cc_crc:0x8F6D +Testing Scc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFD07, mem_crc:0xCE85, reg_crc:0x170A, cc_crc:0xD691 +Testing subb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12EF, mem_crc:0x0000, reg_crc:0x6D97, cc_crc:0xFA88 +Testing subw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x350C, mem_crc:0x0000, reg_crc:0x7B71, cc_crc:0xAA5A +Testing subl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA32C, mem_crc:0x0000, reg_crc:0x6161, cc_crc:0xC151 +Testing sub_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x57B7, mem_crc:0x0000, reg_crc:0xECA2, cc_crc:0xB06E +Testing sub_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC4B8, mem_crc:0x0000, reg_crc:0xD135, cc_crc:0x274B +Testing sub_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x39B4, mem_crc:0x0000, reg_crc:0x6A18, cc_crc:0x2F4A +Testing subb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1B39, mem_crc:0x0000, reg_crc:0x1064, cc_crc:0xB958 +Testing subw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0B2A, mem_crc:0x0000, reg_crc:0xECE9, cc_crc:0xC3D2 +Testing subl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2A5E, mem_crc:0x0000, reg_crc:0x27A3, cc_crc:0x4205 +Testing sub_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCC3F, mem_crc:0x12A0, reg_crc:0x83BA, cc_crc:0xACB4 +Testing sub_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB34D, mem_crc:0xBD6A, reg_crc:0xE373, cc_crc:0xE694 +Testing sub_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD8BA, mem_crc:0x5ACC, reg_crc:0x910E, cc_crc:0x2824 +Testing subaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xDB02, mem_crc:0x0000, reg_crc:0xE540, cc_crc:0xB02C +Testing subal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xA1B6, mem_crc:0x0000, reg_crc:0x6113, cc_crc:0xB0EC +Testing suba_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0xEE63, mem_crc:0x0000, reg_crc:0x3D52, cc_crc:0x59D8 +Testing suba_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0xE757, mem_crc:0x0000, reg_crc:0x6E64, cc_crc:0x20E3 +Testing suba_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x9132, mem_crc:0x0000, reg_crc:0x8958, cc_crc:0xF9FA +Testing subaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x89AF, mem_crc:0x0000, reg_crc:0x4908, cc_crc:0xD95E +Testing subal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1D3D, mem_crc:0x0000, reg_crc:0xE5C7, cc_crc:0x1F16 +Testing subibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4719, mem_crc:0x0000, reg_crc:0x35E1, cc_crc:0xD1A6 +Testing subil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x66E0, mem_crc:0x0000, reg_crc:0xC969, cc_crc:0xE827 +Testing subibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2431, mem_crc:0xA377, reg_crc:0x4ED2, cc_crc:0x4C68 +Testing subil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3F7D, mem_crc:0xC5A0, reg_crc:0x3226, cc_crc:0xAFED +Testing subibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC774, mem_crc:0xE278, reg_crc:0xA699, cc_crc:0x111D +Testing subil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBF55, mem_crc:0xE409, reg_crc:0xC633, cc_crc:0x97EF +Testing subibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1144, mem_crc:0x73DF, reg_crc:0x5EE6, cc_crc:0x42D7 +Testing subil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7178, mem_crc:0xA603, reg_crc:0x8B59, cc_crc:0x82EB +Testing subq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFCA6, mem_crc:0x0000, reg_crc:0xFA4D, cc_crc:0xC95C +Testing subq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xB2EF, mem_crc:0x0000, reg_crc:0x19C2, cc_crc:0x8142 +Testing subq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CB3, mem_crc:0xF7FD, reg_crc:0xE9F8, cc_crc:0x0289 +Testing subq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8C0D, mem_crc:0x038B, reg_crc:0x8D05, cc_crc:0x47F6 +Testing subq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC055, mem_crc:0x5CE2, reg_crc:0x10B9, cc_crc:0xBE74 +Testing subx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x16E2, mem_crc:0x0000, reg_crc:0x667D, cc_crc:0x54A1 +Testing subx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x261C, mem_crc:0x5A3A, reg_crc:0x5999, cc_crc:0x6C09 +Testing swap...2000...4000...6000...8000...10000...done. pre_crc:0x13BF, mem_crc:0x0000, reg_crc:0x23B6, cc_crc:0x6988 +Testing tas_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB548, mem_crc:0x0000, reg_crc:0xE6B9, cc_crc:0xB4AC +Testing tas_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CD4, mem_crc:0x1075, reg_crc:0xD830, cc_crc:0x6CD7 +Testing tas_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C23, mem_crc:0x46C7, reg_crc:0x6AD1, cc_crc:0xCD15 +Testing tas_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF539, mem_crc:0xC180, reg_crc:0xD994, cc_crc:0xFD80 +Testing tstb_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4DEE, mem_crc:0x0000, reg_crc:0xC1B5, cc_crc:0xF630 +Testing tstwl_reg...2000...4000...6000...8000...10000...done. pre_crc:0xDDAF, mem_crc:0x0000, reg_crc:0x9D2A, cc_crc:0x01F8 +Testing tstb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0534, mem_crc:0x0000, reg_crc:0xABCE, cc_crc:0xB8B8 +Testing tstwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF804, mem_crc:0x0000, reg_crc:0x9311, cc_crc:0xABCE +Testing tstb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15BB, mem_crc:0x0000, reg_crc:0x1F23, cc_crc:0x2610 +Testing tstwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEE40, mem_crc:0x0000, reg_crc:0xDFEC, cc_crc:0x3708 +Testing tst_absl...2000...4000...6000...8000...10000...done. pre_crc:0x737C, mem_crc:0x0000, reg_crc:0x4B3C, cc_crc:0xC2B0 diff --git a/test/callemulator.s b/test/callemulator.s new file mode 100644 index 0000000..0c3cc04 --- /dev/null +++ b/test/callemulator.s @@ -0,0 +1,21 @@ +#NO_APP +.text + .align 1 +.globl _call_emulator +_call_emulator: + link a6,#0 + pea 100:w + pea a6@(8) + pea a6@(-2048) + jbsr _memcpy + lea a6@(-2048),a0 + movel #0x00FFF000,a0@ + movel a0,_cpu_state+60 + movel a6,_cpu_state+56 + movel a6@(8),sp@- + jbsr _hash_lookup_code_and_create_if_needed + movel d0,sp@- + jbsr _interpret_code + movel _cpu_state,d0 + unlk a6 + rts diff --git a/test/ccr8.1 b/test/ccr8.1 new file mode 100644 index 0000000..e4483fe --- /dev/null +++ b/test/ccr8.1 @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0x1AE0 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0xEBAA +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x81C0, mem_crc:0xE9D6, reg_crc:0x7C94 +Testing unlk...done. pre_crc:0x3300, mem_crc:0x0000, reg_crc:0xB315 +Testing movewl_ind_ind...done. pre_crc:0x2730, mem_crc:0xB7E2, reg_crc:0xB3A8 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0xD020 +Testing divsl_ll_ind...done. pre_crc:0x73F0, mem_crc:0x0000, reg_crc:0x0158 +Testing divsl_ll_absl...done. pre_crc:0x0266, mem_crc:0x0000, reg_crc:0xC726 +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0x2520 +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0x6DCD +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x1398 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0xA54B +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0x02F8 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0xD362 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0x36A9 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0x2068 +Testing lea_ind_preix...done. pre_crc:0x5C4A, mem_crc:0x0000, reg_crc:0xB0AD +Testing lea_ind_postix...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0x3A4D +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xA420 +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x586B +Testing abcd_mem...done. pre_crc:0x5636, mem_crc:0x1F54, reg_crc:0xDE2D +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0xE20F +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x3B6D +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0xFD98 +Testing add_d16_dreg...done. pre_crc:0x429B, mem_crc:0x0000, reg_crc:0x4B84 +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xBABC +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xD839 +Testing add_dreg_ind...done. pre_crc:0x8BE2, mem_crc:0x169E, reg_crc:0xE9F4 +Testing add_ind_dreg...done. pre_crc:0x00A3, mem_crc:0x0000, reg_crc:0x1662 +Testing addl_const_dreg...done. pre_crc:0x0BD7, mem_crc:0x0000, reg_crc:0xEBD7 +Testing add_dreg_d16...done. pre_crc:0x7DC4, mem_crc:0xC78C, reg_crc:0x3F24 +Testing add_dreg_absl...done. pre_crc:0xE583, mem_crc:0x15A2, reg_crc:0x9AAF +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x492F +Testing addal_reg_areg...done. pre_crc:0xB728, mem_crc:0x0000, reg_crc:0xAD83 +Testing adda_ind_areg...done. pre_crc:0xFD08, mem_crc:0x0000, reg_crc:0xEA5E +Testing adda_d16_areg...done. pre_crc:0x707D, mem_crc:0x0000, reg_crc:0x9060 +Testing adda_absl_areg...done. pre_crc:0x94A7, mem_crc:0x0000, reg_crc:0xACA0 +Testing addaw_const_areg...done. pre_crc:0xBB14, mem_crc:0x0000, reg_crc:0x9550 +Testing addal_const_areg...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0x89E0 +Testing addibw_dreg...done. pre_crc:0x260E, mem_crc:0x0000, reg_crc:0xC3D8 +Testing addil_dreg...done. pre_crc:0x62BD, mem_crc:0x0000, reg_crc:0x7D30 +Testing addibw_ind...done. pre_crc:0x1434, mem_crc:0x0219, reg_crc:0x211D +Testing addil_ind...done. pre_crc:0x7592, mem_crc:0x91A4, reg_crc:0xEFD0 +Testing addibw_d16...done. pre_crc:0x4A71, mem_crc:0x3497, reg_crc:0xADD6 +Testing addil_d16...done. pre_crc:0x6001, mem_crc:0x1453, reg_crc:0xD540 +Testing addibw_absl...done. pre_crc:0x5139, mem_crc:0x00D1, reg_crc:0x4B60 +Testing addil_absl...done. pre_crc:0xEB1E, mem_crc:0xA5C5, reg_crc:0xA292 +Testing addq_dreg...done. pre_crc:0xD176, mem_crc:0x0000, reg_crc:0xAC06 +Testing addq_areg...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0x78E7 +Testing addq_ind...done. pre_crc:0x0053, mem_crc:0x1BA5, reg_crc:0x9A0A +Testing addq_d16...done. pre_crc:0xA776, mem_crc:0x7E00, reg_crc:0xFA14 +Testing addq_absl...done. pre_crc:0xFD05, mem_crc:0x2747, reg_crc:0x2778 +Testing addx_reg...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0xF02B +Testing addx_mem...done. pre_crc:0xAA3B, mem_crc:0xCDF4, reg_crc:0x4A23 +Testing and_dreg_dreg...done. pre_crc:0xBD22, mem_crc:0x0000, reg_crc:0x7D21 +Testing and_ind_dreg...done. pre_crc:0x475D, mem_crc:0x0000, reg_crc:0xE51F +Testing and_d16_dreg...done. pre_crc:0x6A6C, mem_crc:0x0000, reg_crc:0x35CA +Testing and_absl_dreg...done. pre_crc:0x67B2, mem_crc:0x0000, reg_crc:0xC81C +Testing andbw_const_dreg...done. pre_crc:0x0165, mem_crc:0x0000, reg_crc:0xFF84 +Testing andl_const_dreg...done. pre_crc:0xD8DC, mem_crc:0x0000, reg_crc:0x66C3 +Testing and_dreg_ind...done. pre_crc:0x3B26, mem_crc:0x823F, reg_crc:0xCA47 +Testing and_dreg_d16...done. pre_crc:0x4641, mem_crc:0xD34F, reg_crc:0xD418 +Testing and_dreg_absl...done. pre_crc:0x8354, mem_crc:0xF4B9, reg_crc:0x7BAA +Testing andibw_dreg...done. pre_crc:0x56E9, mem_crc:0x0000, reg_crc:0x5566 +Testing andil_dreg...done. pre_crc:0x3C94, mem_crc:0x0000, reg_crc:0x5704 +Testing andibw_ind...done. pre_crc:0xC9D4, mem_crc:0x6E2C, reg_crc:0xC577 +Testing andil_ind...done. pre_crc:0x5F56, mem_crc:0x79C4, reg_crc:0x4C91 +Testing andibw_d16...done. pre_crc:0xF62C, mem_crc:0x4148, reg_crc:0x7D21 +Testing andil_d16...done. pre_crc:0xB9D2, mem_crc:0x8ED7, reg_crc:0xEACB +Testing andibw_absl...done. pre_crc:0x3D1C, mem_crc:0x02C4, reg_crc:0xBD42 +Testing andil_absl...done. pre_crc:0xB921, mem_crc:0x987A, reg_crc:0xCBD6 +Testing andi_to_ccr...done. pre_crc:0x3F68, mem_crc:0x0000, reg_crc:0x4DD8 +Testing asl_dx_dy...done. pre_crc:0x223C, mem_crc:0x0000, reg_crc:0x5F24 +Testing asl_const_dy...done. pre_crc:0x3313, mem_crc:0x0000, reg_crc:0x833B +Testing asl_ind...done. pre_crc:0x2E7B, mem_crc:0xB30D, reg_crc:0x1BC5 +Testing asl_d16...done. pre_crc:0xAB5F, mem_crc:0x5A95, reg_crc:0x7444 +Testing asl_absl...done. pre_crc:0x21E1, mem_crc:0x5EEA, reg_crc:0x8575 +Testing asr_dx_dy...done. pre_crc:0xDEF4, mem_crc:0x0000, reg_crc:0xFF53 +Testing asr_const_dy...done. pre_crc:0x9019, mem_crc:0x0000, reg_crc:0xC02D +Testing asr_ind...done. pre_crc:0x045F, mem_crc:0xB433, reg_crc:0xA786 +Testing asr_d16...done. pre_crc:0xD44B, mem_crc:0xA53A, reg_crc:0x183C +Testing asr_absl...done. pre_crc:0xF150, mem_crc:0xD295, reg_crc:0x7CFB +Testing lsl_dx_dy...done. pre_crc:0xD75E, mem_crc:0x0000, reg_crc:0x16DA +Testing lsl_const_dy...done. pre_crc:0xFEBB, mem_crc:0x0000, reg_crc:0xE625 +Testing lsl_ind...done. pre_crc:0x31FF, mem_crc:0x8B22, reg_crc:0x4BC0 +Testing lsl_d16...done. pre_crc:0x7673, mem_crc:0xC768, reg_crc:0xEBA6 +Testing lsl_absl...done. pre_crc:0x25E2, mem_crc:0x1B50, reg_crc:0x9FC5 +Testing lsr_dx_dy...done. pre_crc:0x0541, mem_crc:0x0000, reg_crc:0x2EBD +Testing lsr_const_dy...done. pre_crc:0x26C9, mem_crc:0x0000, reg_crc:0x0335 +Testing lsr_ind...done. pre_crc:0xD4B0, mem_crc:0xE943, reg_crc:0x6716 +Testing lsr_d16...done. pre_crc:0x923D, mem_crc:0x6CBB, reg_crc:0xFC14 +Testing lsr_absl...done. pre_crc:0x002C, mem_crc:0x321C, reg_crc:0x47CF +Testing bra_b...done. pre_crc:0x892A, mem_crc:0x0000, reg_crc:0x247D +Testing bhi_b...done. pre_crc:0x6996, mem_crc:0x0000, reg_crc:0xA81F +Testing bls_b...done. pre_crc:0x708C, mem_crc:0x0000, reg_crc:0x47BE +Testing bcc_b...done. pre_crc:0xD3A7, mem_crc:0x0000, reg_crc:0xBE99 +Testing bcs_b...done. pre_crc:0x11D9, mem_crc:0x0000, reg_crc:0x7E65 +Testing bne_b...done. pre_crc:0x2CFC, mem_crc:0x0000, reg_crc:0xB5AE +Testing beq_b...done. pre_crc:0xE18A, mem_crc:0x0000, reg_crc:0x3DA4 +Testing bvc_b...done. pre_crc:0xCD22, mem_crc:0x0000, reg_crc:0x0596 +Testing bvs_b...done. pre_crc:0x204C, mem_crc:0x0000, reg_crc:0xDEFA +Testing bpl_b...done. pre_crc:0x8711, mem_crc:0x0000, reg_crc:0x55D7 +Testing bmi_b...done. pre_crc:0x1736, mem_crc:0x0000, reg_crc:0x7DFA +Testing bge_b...done. pre_crc:0x480E, mem_crc:0x0000, reg_crc:0x8FA8 +Testing blt_b...done. pre_crc:0xECE0, mem_crc:0x0000, reg_crc:0x4769 +Testing bgt_b...done. pre_crc:0x2A70, mem_crc:0x0000, reg_crc:0x4A52 +Testing ble_b...done. pre_crc:0xADB3, mem_crc:0x0000, reg_crc:0x46FB +Testing bra_w...done. pre_crc:0x962F, mem_crc:0x0000, reg_crc:0x6E2A +Testing bhi_w...done. pre_crc:0x0856, mem_crc:0x0000, reg_crc:0x2A6E +Testing bls_w...done. pre_crc:0x972B, mem_crc:0x0000, reg_crc:0xEE60 +Testing bcc_w...done. pre_crc:0x9873, mem_crc:0x0000, reg_crc:0xB144 +Testing bcs_w...done. pre_crc:0x0B72, mem_crc:0x0000, reg_crc:0xA0CF +Testing bne_w...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0xCF35 +Testing beq_w...done. pre_crc:0xE339, mem_crc:0x0000, reg_crc:0x1DD1 +Testing bvc_w...done. pre_crc:0x88C7, mem_crc:0x0000, reg_crc:0xF653 +Testing bvs_w...done. pre_crc:0x4DB3, mem_crc:0x0000, reg_crc:0xDA37 +Testing bpl_w...done. pre_crc:0x9D12, mem_crc:0x0000, reg_crc:0x77E4 +Testing bmi_w...done. pre_crc:0xDF78, mem_crc:0x0000, reg_crc:0xABFB +Testing bge_w...done. pre_crc:0x0F7D, mem_crc:0x0000, reg_crc:0x2D4D +Testing blt_w...done. pre_crc:0xCF04, mem_crc:0x0000, reg_crc:0xABF2 +Testing bgt_w...done. pre_crc:0x6345, mem_crc:0x0000, reg_crc:0x07D6 +Testing ble_w...done. pre_crc:0xD85E, mem_crc:0x0000, reg_crc:0x2D96 +Testing bra_l...done. pre_crc:0xFF14, mem_crc:0x0000, reg_crc:0xCB75 +Testing bhi_l...done. pre_crc:0x6C7B, mem_crc:0x0000, reg_crc:0x0678 +Testing bls_l...done. pre_crc:0x86F4, mem_crc:0x0000, reg_crc:0x0AFC +Testing bcc_l...done. pre_crc:0x1C70, mem_crc:0x0000, reg_crc:0xE81E +Testing bcs_l...done. pre_crc:0xCD68, mem_crc:0x0000, reg_crc:0x964B +Testing bne_l...done. pre_crc:0xEC8E, mem_crc:0x0000, reg_crc:0xD414 +Testing beq_l...done. pre_crc:0x34C7, mem_crc:0x0000, reg_crc:0xCD08 +Testing bvc_l...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0xFD7A +Testing bvs_l...done. pre_crc:0x174C, mem_crc:0x0000, reg_crc:0xAA88 +Testing bpl_l...done. pre_crc:0xF6B1, mem_crc:0x0000, reg_crc:0x2B12 +Testing bmi_l...done. pre_crc:0x4653, mem_crc:0x0000, reg_crc:0x50F3 +Testing bge_l...done. pre_crc:0x1804, mem_crc:0x0000, reg_crc:0x539C +Testing blt_l...done. pre_crc:0xA540, mem_crc:0x0000, reg_crc:0xD80C +Testing bgt_l...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x902E +Testing ble_l...done. pre_crc:0xBCDA, mem_crc:0x0000, reg_crc:0xF995 +Testing bchg_reg_reg...done. pre_crc:0x079F, mem_crc:0x0000, reg_crc:0x424D +Testing bchg_const_reg...done. pre_crc:0x30E8, mem_crc:0x0000, reg_crc:0xD392 +Testing bchg_reg_ind...done. pre_crc:0xE961, mem_crc:0x21DD, reg_crc:0xDA0D +Testing bchg_const_ind...done. pre_crc:0x2F8E, mem_crc:0xF6AC, reg_crc:0x9935 +Testing bchg_reg_d16...done. pre_crc:0xC74A, mem_crc:0xFE49, reg_crc:0x75C1 +Testing bchg_const_d16...done. pre_crc:0xFE4F, mem_crc:0xBD8B, reg_crc:0x7075 +Testing bchg_reg_absl...done. pre_crc:0x2C28, mem_crc:0x2FFE, reg_crc:0x4C43 +Testing bchg_const_absl...done. pre_crc:0x125E, mem_crc:0x6292, reg_crc:0x258F +Testing bclr_reg_reg...done. pre_crc:0x08D2, mem_crc:0x0000, reg_crc:0x78FA +Testing bclr_const_reg...done. pre_crc:0x5163, mem_crc:0x0000, reg_crc:0x7850 +Testing bclr_reg_ind...done. pre_crc:0xF2C1, mem_crc:0x6A05, reg_crc:0x6DC8 +Testing bclr_const_ind...done. pre_crc:0x1D2F, mem_crc:0x646B, reg_crc:0xABB9 +Testing bclr_reg_d16...done. pre_crc:0xAD30, mem_crc:0x390C, reg_crc:0xCEC4 +Testing bclr_const_d16...done. pre_crc:0x52EE, mem_crc:0xB6EA, reg_crc:0x185C +Testing bclr_reg_absl...done. pre_crc:0xAB6F, mem_crc:0xBB50, reg_crc:0x173A +Testing bclr_const_absl...done. pre_crc:0x0752, mem_crc:0x9710, reg_crc:0xBF70 +Testing bset_reg_reg...done. pre_crc:0x9018, mem_crc:0x0000, reg_crc:0x162F +Testing bset_const_reg...done. pre_crc:0x265C, mem_crc:0x0000, reg_crc:0x4976 +Testing bset_reg_ind...done. pre_crc:0x5599, mem_crc:0xE463, reg_crc:0x6A66 +Testing bset_const_ind...done. pre_crc:0x2C3F, mem_crc:0x282D, reg_crc:0xC6E1 +Testing bset_reg_d16...done. pre_crc:0x3481, mem_crc:0xF292, reg_crc:0x38CB +Testing bset_const_d16...done. pre_crc:0xC7A0, mem_crc:0x8830, reg_crc:0x5C8B +Testing bset_reg_absl...done. pre_crc:0xCD7A, mem_crc:0x328A, reg_crc:0xA0A9 +Testing bset_const_absl...done. pre_crc:0x9FB4, mem_crc:0x29DA, reg_crc:0x93D7 +Testing btst_reg_reg...done. pre_crc:0x6DDC, mem_crc:0x0000, reg_crc:0x1F7F +Testing btst_const_reg...done. pre_crc:0x87FC, mem_crc:0x0000, reg_crc:0x9BF8 +Testing btst_reg_ind...done. pre_crc:0x43B9, mem_crc:0x0000, reg_crc:0xB0DC +Testing btst_const_ind...done. pre_crc:0xC6A1, mem_crc:0x0000, reg_crc:0x100D +Testing btst_reg_d16...done. pre_crc:0x0468, mem_crc:0x0000, reg_crc:0xD472 +Testing btst_const_d16...done. pre_crc:0xD60C, mem_crc:0x0000, reg_crc:0xEEE1 +Testing btst_reg_absl...done. pre_crc:0x267C, mem_crc:0x0000, reg_crc:0x61E9 +Testing btst_const_absl...done. pre_crc:0x8263, mem_crc:0x0000, reg_crc:0x9F8B +Testing bfchg_reg...done. pre_crc:0x8A46, mem_crc:0x0000, reg_crc:0x5990 +Testing bfchg_ind...done. pre_crc:0x954C, mem_crc:0xBB4D, reg_crc:0x570B +Testing bfchg_d16...done. pre_crc:0x9CD2, mem_crc:0x1A10, reg_crc:0xF28A +Testing bfchg_absl...done. pre_crc:0x5B2B, mem_crc:0x8BE2, reg_crc:0x08A2 +Testing bfclr_reg...done. pre_crc:0x3998, mem_crc:0x0000, reg_crc:0x82E8 +Testing bfclr_ind...done. pre_crc:0x7CAA, mem_crc:0x4080, reg_crc:0xD8ED +Testing bfclr_d16...done. pre_crc:0x17AA, mem_crc:0xBA8F, reg_crc:0x98A8 +Testing bfclr_absl...done. pre_crc:0x436E, mem_crc:0x3EC7, reg_crc:0x205B +Testing bfset_reg...done. pre_crc:0x0FD5, mem_crc:0x0000, reg_crc:0xD2ED +Testing bfset_ind...done. pre_crc:0x801C, mem_crc:0x74FA, reg_crc:0xF9DE +Testing bfset_d16...done. pre_crc:0x6DB0, mem_crc:0xEF9B, reg_crc:0xC559 +Testing bfset_absl...done. pre_crc:0xE19E, mem_crc:0x556A, reg_crc:0xC9F9 +Testing bftst_reg...done. pre_crc:0x11D7, mem_crc:0x0000, reg_crc:0xD871 +Testing bftst_ind...done. pre_crc:0xEE93, mem_crc:0x0000, reg_crc:0x3005 +Testing bftst_d16...done. pre_crc:0x0D29, mem_crc:0x0000, reg_crc:0xDD39 +Testing bftst_absl...done. pre_crc:0x4813, mem_crc:0x0000, reg_crc:0x8CC2 +Testing bfexts_reg...done. pre_crc:0x9903, mem_crc:0x0000, reg_crc:0x038B +Testing bfexts_ind...done. pre_crc:0x469E, mem_crc:0x0000, reg_crc:0xE20F +Testing bfexts_d16...done. pre_crc:0x72B1, mem_crc:0x0000, reg_crc:0x0D61 +Testing bfexts_absl...done. pre_crc:0x158D, mem_crc:0x0000, reg_crc:0x3E9B +Testing bfextu_reg...done. pre_crc:0x0D1C, mem_crc:0x0000, reg_crc:0x03C0 +Testing bfextu_ind...done. pre_crc:0xF775, mem_crc:0x0000, reg_crc:0xE193 +Testing bfextu_d16...done. pre_crc:0x7591, mem_crc:0x0000, reg_crc:0x3AC5 +Testing bfextu_absl...done. pre_crc:0x51F0, mem_crc:0x0000, reg_crc:0xB156 +Testing bfffo_reg...done. pre_crc:0x2C35, mem_crc:0x0000, reg_crc:0x004B +Testing bfffo_ind...done. pre_crc:0x608E, mem_crc:0x0000, reg_crc:0x090A +Testing bfffo_d16...done. pre_crc:0x1FD0, mem_crc:0x0000, reg_crc:0xD77B +Testing bfffo_absl...done. pre_crc:0xC105, mem_crc:0x0000, reg_crc:0xF4A4 +Testing bfins_reg...done. pre_crc:0x6AAC, mem_crc:0x0000, reg_crc:0x0832 +Testing bfins_ind...done. pre_crc:0xC791, mem_crc:0x9423, reg_crc:0x1AE5 +Testing bfins_d16...done. pre_crc:0xFF05, mem_crc:0xA802, reg_crc:0xF36C +Testing bfins_absl...done. pre_crc:0x23EE, mem_crc:0x81F5, reg_crc:0xC1E9 +Testing bsr_b...done. pre_crc:0x6953, mem_crc:0x2ABF, reg_crc:0x25A1 +Testing bsr_w...done. pre_crc:0x6C2B, mem_crc:0x5798, reg_crc:0x807C +Testing bsr_l...done. pre_crc:0x8133, mem_crc:0x8717, reg_crc:0x8B41 +Testing cas_ind...done. pre_crc:0xD5D7, mem_crc:0x99EE, reg_crc:0x471E +Testing cas2_areg...done. pre_crc:0xF6F1, mem_crc:0xF68B, reg_crc:0x6757 +Testing cas2_anyreg...done. pre_crc:0x6042, mem_crc:0xAFEB, reg_crc:0x73F1 +Testing clr_reg...done. pre_crc:0x4068, mem_crc:0x0000, reg_crc:0x6B40 +Testing clrb_ind...done. pre_crc:0xC11C, mem_crc:0x7FA1, reg_crc:0x875C +Testing clrwl_ind...done. pre_crc:0x0C52, mem_crc:0xADB6, reg_crc:0xECF8 +Testing clrb_absl...done. pre_crc:0x1671, mem_crc:0x0B49, reg_crc:0x3036 +Testing clrwl_absl...done. pre_crc:0x78E5, mem_crc:0xB13A, reg_crc:0x9152 +Testing cmp_dreg...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x281D +Testing cmp_areg...done. pre_crc:0x3101, mem_crc:0x0000, reg_crc:0x6A4E +Testing cmpb_ind...done. pre_crc:0x09D7, mem_crc:0x0000, reg_crc:0x5550 +Testing cmpwl_ind...done. pre_crc:0x9A54, mem_crc:0x0000, reg_crc:0xD1BB +Testing cmpb_d16...done. pre_crc:0x86E9, mem_crc:0x0000, reg_crc:0xCAB1 +Testing cmpwl_d16...done. pre_crc:0x2035, mem_crc:0x0000, reg_crc:0xD049 +Testing cmpa_reg...done. pre_crc:0x4044, mem_crc:0x0000, reg_crc:0x6377 +Testing cmpa_ind...done. pre_crc:0x067E, mem_crc:0x0000, reg_crc:0x405E +Testing cmpa_ind2...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0xD36B +Testing cmpa_d16...done. pre_crc:0x80C3, mem_crc:0x0000, reg_crc:0xC49E +Testing cmpa_d16_2...done. pre_crc:0x2D6B, mem_crc:0x0000, reg_crc:0xB847 +Testing cmpa_absl...done. pre_crc:0xCE41, mem_crc:0x0000, reg_crc:0xC918 +Testing cmpibw_reg...done. pre_crc:0xF433, mem_crc:0x0000, reg_crc:0xD48E +Testing cmpil_reg...done. pre_crc:0xDF59, mem_crc:0x0000, reg_crc:0x6E45 +Testing cmpib_ind...done. pre_crc:0x22A3, mem_crc:0x0000, reg_crc:0x9ED3 +Testing cmpiw_ind...done. pre_crc:0xA49F, mem_crc:0x0000, reg_crc:0x520B +Testing cmpil_ind...done. pre_crc:0x1D6F, mem_crc:0x0000, reg_crc:0x408A +Testing cmpmb...done. pre_crc:0xB7AD, mem_crc:0x0000, reg_crc:0xA7F1 +Testing cmpmwl...done. pre_crc:0xF55E, mem_crc:0x0000, reg_crc:0xA01E +Testing cmp2b_ind...done. pre_crc:0xE14E, mem_crc:0x0000, reg_crc:0x3168 +Testing cmp2wl_ind...done. pre_crc:0x47C7, mem_crc:0x0000, reg_crc:0x8DAF +Testing dbcc...done. pre_crc:0xAD8C, mem_crc:0x0000, reg_crc:0x5BA7 +Testing divs_reg...done. pre_crc:0x770F, mem_crc:0x0000, reg_crc:0x3BCE +Testing divs_same_reg...done. pre_crc:0xF63B, mem_crc:0x0000, reg_crc:0x7DFC +Testing divs_ind...done. pre_crc:0xEE5C, mem_crc:0x0000, reg_crc:0x6577 +Testing divs_absl...done. pre_crc:0x986E, mem_crc:0x0000, reg_crc:0x0873 +Testing divu_reg...done. pre_crc:0xD5B4, mem_crc:0x0000, reg_crc:0x40A8 +Testing divu_same_reg...done. pre_crc:0x39CE, mem_crc:0x0000, reg_crc:0x2106 +Testing divu_ind...done. pre_crc:0x1685, mem_crc:0x0000, reg_crc:0x1736 +Testing divu_absl...done. pre_crc:0x87C9, mem_crc:0x0000, reg_crc:0xD63B +Testing divul_ll_reg...done. pre_crc:0x311F, mem_crc:0x0000, reg_crc:0x613B +Testing divul_ll_ind...done. pre_crc:0xA286, mem_crc:0x0000, reg_crc:0xEFD9 +Testing divul_ll_absl...done. pre_crc:0xB02D, mem_crc:0x0000, reg_crc:0xB325 +Testing eor_reg...done. pre_crc:0x77CD, mem_crc:0x0000, reg_crc:0xFB61 +Testing eor_ind...done. pre_crc:0x4975, mem_crc:0xCB67, reg_crc:0x059F +Testing eor_d16...done. pre_crc:0xB12D, mem_crc:0x3D85, reg_crc:0xC486 +Testing eor_absl...done. pre_crc:0x63D1, mem_crc:0xB52C, reg_crc:0xD37F +Testing eoribw_dreg...done. pre_crc:0xC652, mem_crc:0x0000, reg_crc:0x6EF2 +Testing eoril_dreg...done. pre_crc:0xCA96, mem_crc:0x0000, reg_crc:0x601D +Testing eoribw_ind...done. pre_crc:0xEF84, mem_crc:0xE558, reg_crc:0xE20C +Testing eoril_ind...done. pre_crc:0xF171, mem_crc:0xAC47, reg_crc:0x73A1 +Testing eoribw_d16...done. pre_crc:0x9794, mem_crc:0x782D, reg_crc:0x1CF8 +Testing eoril_d16...done. pre_crc:0x933F, mem_crc:0x607B, reg_crc:0x8855 +Testing eoribw_absl...done. pre_crc:0x0B84, mem_crc:0x1866, reg_crc:0x049D +Testing eoril_absl...done. pre_crc:0x8B97, mem_crc:0xB85F, reg_crc:0xE1D7 +Testing eori_to_ccr...done. pre_crc:0x30BF, mem_crc:0x0000, reg_crc:0xA162 +Testing exg...done. pre_crc:0xB2DB, mem_crc:0x0000, reg_crc:0x1A5D +Testing ext...done. pre_crc:0x7326, mem_crc:0x0000, reg_crc:0x3238 +Testing jmp_absl...done. pre_crc:0x7440, mem_crc:0x0000, reg_crc:0xFE68 +Testing jmp_ind...done. pre_crc:0x617C, mem_crc:0x0000, reg_crc:0x3995 +Testing jmp_d16...done. pre_crc:0xB3BE, mem_crc:0x0000, reg_crc:0x3CA6 +Testing jsr_absl...done. pre_crc:0xEF7F, mem_crc:0x149A, reg_crc:0x3191 +Testing jsr_ind...done. pre_crc:0x4945, mem_crc:0xEF61, reg_crc:0x1A08 +Testing jsr_d16...done. pre_crc:0x0903, mem_crc:0x8FA4, reg_crc:0xC479 +Testing lea_ind...done. pre_crc:0xB20B, mem_crc:0x0000, reg_crc:0xFA74 +Testing lea_d16...done. pre_crc:0x02D4, mem_crc:0x0000, reg_crc:0xA462 +Testing lea_absw...done. pre_crc:0x3CD1, mem_crc:0x0000, reg_crc:0xBF9D +Testing lea_absl...done. pre_crc:0x96D2, mem_crc:0x0000, reg_crc:0x9B16 +Testing linkw...done. pre_crc:0x1FB1, mem_crc:0x60C9, reg_crc:0x00E4 +Testing linkl...done. pre_crc:0xC8F5, mem_crc:0x4F54, reg_crc:0x792F +Testing move16_postinc_postinc...done. pre_crc:0x7377, mem_crc:0x2E81, reg_crc:0xB433 +Testing move16_absl_ind...done. pre_crc:0xAC38, mem_crc:0x4CDA, reg_crc:0xF8DF +Testing move16_absl_postinc...done. pre_crc:0x0E78, mem_crc:0x7AA4, reg_crc:0xD4DB +Testing move16_ind_absl...done. pre_crc:0x0B22, mem_crc:0x1D17, reg_crc:0xB3F7 +Testing move16_postinc_absl...done. pre_crc:0x9625, mem_crc:0xA1B6, reg_crc:0xBE22 +Testing moveb_dreg_dreg...done. pre_crc:0x51C0, mem_crc:0x0000, reg_crc:0x85BA +Testing movewl_reg_dreg...done. pre_crc:0xE4DF, mem_crc:0x0000, reg_crc:0x73E3 +Testing moveb_ind_dreg...done. pre_crc:0xCDD0, mem_crc:0x0000, reg_crc:0xE6C4 +Testing movewl_ind_dreg...done. pre_crc:0xACB3, mem_crc:0x0000, reg_crc:0x7BBB +Testing moveb_d16_dreg...done. pre_crc:0x1B10, mem_crc:0x0000, reg_crc:0x3677 +Testing movewl_d16_dreg...done. pre_crc:0xFF9D, mem_crc:0x0000, reg_crc:0x848D +Testing moveb_absl_dreg...done. pre_crc:0x0B31, mem_crc:0x0000, reg_crc:0x645B +Testing movewl_absl_dreg...done. pre_crc:0x08B5, mem_crc:0x0000, reg_crc:0xFA93 +Testing movebw_const_dreg...done. pre_crc:0x348B, mem_crc:0x0000, reg_crc:0x7FD5 +Testing movel_const_dreg...done. pre_crc:0x7CC3, mem_crc:0x0000, reg_crc:0xD629 +Testing moveb_dreg_ind...done. pre_crc:0xF5C9, mem_crc:0x9D2C, reg_crc:0x0972 +Testing movewl_reg_ind...done. pre_crc:0xBAB0, mem_crc:0x2623, reg_crc:0xEBCC +Testing moveb_dreg_d16...done. pre_crc:0x5F5E, mem_crc:0x1BB1, reg_crc:0x42C9 +Testing movewl_reg_d16...done. pre_crc:0x1344, mem_crc:0xAD02, reg_crc:0x25AD +Testing moveb_dreg_absl...done. pre_crc:0x8BF7, mem_crc:0xB0F1, reg_crc:0xBAE5 +Testing movewl_reg_absl...done. pre_crc:0x9AE3, mem_crc:0x180A, reg_crc:0xBB24 +Testing moveb_ind_ind...done. pre_crc:0x11F1, mem_crc:0x73A7, reg_crc:0xA10B +Testing moveb_ind_d16...done. pre_crc:0x04AE, mem_crc:0x912A, reg_crc:0x4BAF +Testing moveb_d16_ind...done. pre_crc:0x6665, mem_crc:0xE4E8, reg_crc:0xB77B +Testing movewl_ind_d16...done. pre_crc:0xF30A, mem_crc:0x0CA9, reg_crc:0x55F9 +Testing movewl_d16_ind...done. pre_crc:0x5455, mem_crc:0xA95F, reg_crc:0x08FB +Testing moveb_d16_d16...done. pre_crc:0x9611, mem_crc:0xC4DF, reg_crc:0x3FAF +Testing movewl_d16_d16...done. pre_crc:0xEBF5, mem_crc:0x2F54, reg_crc:0xE1CF +Testing moveb_ind_absl...done. pre_crc:0x777C, mem_crc:0x8E7E, reg_crc:0x8774 +Testing movewl_ind_absl...done. pre_crc:0xAD85, mem_crc:0x14CC, reg_crc:0x1DFF +Testing moveb_absl_ind...done. pre_crc:0x27C1, mem_crc:0xBF80, reg_crc:0xE2A9 +Testing movewl_absl_ind...done. pre_crc:0x72CF, mem_crc:0xB5C2, reg_crc:0xAEB0 +Testing moveb_absl_absl...done. pre_crc:0x769A, mem_crc:0xF2FB, reg_crc:0x6530 +Testing movewl_absl_absl...done. pre_crc:0xDC5E, mem_crc:0x4501, reg_crc:0x1C61 +Testing moveb_d16_absl...done. pre_crc:0xAC5A, mem_crc:0x6E0D, reg_crc:0x9990 +Testing movewl_d16_absl...done. pre_crc:0x2A4C, mem_crc:0xA8DA, reg_crc:0x5F8D +Testing moveb_absl_d16...done. pre_crc:0x3B4C, mem_crc:0x392B, reg_crc:0x4931 +Testing movewl_absl_d16...done. pre_crc:0x5E40, mem_crc:0x912C, reg_crc:0x45FE +Testing moveb_const_ind...done. pre_crc:0x3CB4, mem_crc:0xCF50, reg_crc:0x86A1 +Testing moveb_const_d16...done. pre_crc:0x5C50, mem_crc:0xEF1C, reg_crc:0xA86B +Testing moveb_const_absl...done. pre_crc:0xB5BE, mem_crc:0xC596, reg_crc:0xD902 +Testing movew_const_ind...done. pre_crc:0xCF72, mem_crc:0x88E1, reg_crc:0x7CFE +Testing movew_const_d16...done. pre_crc:0x8388, mem_crc:0xC0AC, reg_crc:0x9093 +Testing movew_const_absl...done. pre_crc:0xD2F8, mem_crc:0x20FB, reg_crc:0x9E4C +Testing movel_const_ind...done. pre_crc:0xB95B, mem_crc:0xF12C, reg_crc:0x6461 +Testing movel_const_d16...done. pre_crc:0xB462, mem_crc:0xCBCE, reg_crc:0xC3B4 +Testing movel_const_absl...done. pre_crc:0xA419, mem_crc:0xDDB2, reg_crc:0x82FF +Testing movea_reg...done. pre_crc:0xE773, mem_crc:0x0000, reg_crc:0x1510 +Testing movea_ind...done. pre_crc:0x7412, mem_crc:0x0000, reg_crc:0xF5CA +Testing movea_d16...done. pre_crc:0xE6BD, mem_crc:0x0000, reg_crc:0x94A1 +Testing movea_absl...done. pre_crc:0xD6B3, mem_crc:0x0000, reg_crc:0x7FC4 +Testing moveaw_const...done. pre_crc:0x1103, mem_crc:0x0000, reg_crc:0x71E2 +Testing moveal_const...done. pre_crc:0xF54F, mem_crc:0x0000, reg_crc:0x9EA7 +Testing move_from_ccr_dreg...done. pre_crc:0x22A0, mem_crc:0x0000, reg_crc:0x5FA3 +Testing move_from_ccr_ind...done. pre_crc:0xC182, mem_crc:0x0000, reg_crc:0x3886 +Testing move_from_ccr_d16...done. pre_crc:0xC24C, mem_crc:0x0000, reg_crc:0x54D9 +Testing move_to_ccr_reg...done. pre_crc:0x8EB6, mem_crc:0x0000, reg_crc:0xE67A +Testing move_to_ccr_ind...done. pre_crc:0x53A0, mem_crc:0x0000, reg_crc:0x1250 +Testing movem_to_ind...done. pre_crc:0x4017, mem_crc:0x28D1, reg_crc:0xD9B0 +Testing movem_to_predec...done. pre_crc:0x1219, mem_crc:0x4E9A, reg_crc:0x79AE +Testing movem_to_d16...done. pre_crc:0x4288, mem_crc:0x6786, reg_crc:0xB343 +Testing movem_to_absl...done. pre_crc:0xD7D0, mem_crc:0xFDF2, reg_crc:0xC267 +Testing movem_from_d16...done. pre_crc:0x9A59, mem_crc:0x0000, reg_crc:0xE519 +Testing movem_from_ind...done. pre_crc:0xC708, mem_crc:0x0000, reg_crc:0x43F7 +Testing movem_from_absl...done. pre_crc:0x153C, mem_crc:0x0000, reg_crc:0x3440 +Testing movep_to_mem...done. pre_crc:0x31AF, mem_crc:0xF1EC, reg_crc:0x184D +Testing movep_from_mem...done. pre_crc:0x54CA, mem_crc:0x0000, reg_crc:0x34F7 +Testing moveq...done. pre_crc:0x20AF, mem_crc:0x0000, reg_crc:0x1962 +Testing mulsw_dreg...done. pre_crc:0x1EEE, mem_crc:0x0000, reg_crc:0x7A8A +Testing mulsw_ind...done. pre_crc:0x7FBB, mem_crc:0x0000, reg_crc:0x56DD +Testing mulsw_d16...done. pre_crc:0xB850, mem_crc:0x0000, reg_crc:0xCE8C +Testing mulsw_absl...done. pre_crc:0xD9AD, mem_crc:0x0000, reg_crc:0x530A +Testing muluw_dreg...done. pre_crc:0x0408, mem_crc:0x0000, reg_crc:0x464F +Testing muluw_ind...done. pre_crc:0xE4E6, mem_crc:0x0000, reg_crc:0x8B2E +Testing muluw_d16...done. pre_crc:0xF520, mem_crc:0x0000, reg_crc:0x5FF0 +Testing muluw_absl...done. pre_crc:0xDB57, mem_crc:0x0000, reg_crc:0x3A48 +Testing mulsl_dreg...done. pre_crc:0x1014, mem_crc:0x0000, reg_crc:0x9F1B +Testing mulsl_ind...done. pre_crc:0x282C, mem_crc:0x0000, reg_crc:0x1177 +Testing mulsl_d16...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xFC9F +Testing mulsl_absl...done. pre_crc:0xDA84, mem_crc:0x0000, reg_crc:0x9D6E +Testing mulul_dreg...done. pre_crc:0x89E1, mem_crc:0x0000, reg_crc:0xEBD7 +Testing mulul_ind...done. pre_crc:0xA29B, mem_crc:0x0000, reg_crc:0x15F2 +Testing mulul_d16...done. pre_crc:0x5A4C, mem_crc:0x0000, reg_crc:0xAC05 +Testing mulul_absl...done. pre_crc:0x6690, mem_crc:0x0000, reg_crc:0xECE3 +Testing nbcd_reg...done. pre_crc:0x3F25, mem_crc:0x0000, reg_crc:0x0F88 +Testing nbcd_ind...done. pre_crc:0x9AFB, mem_crc:0x82BD, reg_crc:0x1B56 +Testing nbcd_d16...done. pre_crc:0x5596, mem_crc:0xD93B, reg_crc:0x45B5 +Testing nbcd_absl...done. pre_crc:0x0943, mem_crc:0x3333, reg_crc:0xA955 +Testing neg_reg...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x568B +Testing negb_ind...done. pre_crc:0xA3F8, mem_crc:0x93DD, reg_crc:0xF53F +Testing negwl_ind...done. pre_crc:0xB1A9, mem_crc:0x45B5, reg_crc:0x4766 +Testing negb_d16...done. pre_crc:0xDDA2, mem_crc:0x2728, reg_crc:0x9725 +Testing negwl_d16...done. pre_crc:0xBF89, mem_crc:0x74D8, reg_crc:0x010D +Testing neg_absl...done. pre_crc:0x16D0, mem_crc:0x934E, reg_crc:0x2545 +Testing negx_reg...done. pre_crc:0xC6B8, mem_crc:0x0000, reg_crc:0xF1DC +Testing negxb_ind...done. pre_crc:0xE647, mem_crc:0x4D84, reg_crc:0x1E78 +Testing negxwl_ind...done. pre_crc:0x5665, mem_crc:0xEBF3, reg_crc:0x911F +Testing negxb_d16...done. pre_crc:0xB859, mem_crc:0xADD3, reg_crc:0xC4C2 +Testing negxwl_d16...done. pre_crc:0x8271, mem_crc:0xC0B8, reg_crc:0xDA2C +Testing negx_absl...done. pre_crc:0x946F, mem_crc:0x53FF, reg_crc:0xEFB5 +Testing nop...done. pre_crc:0xF16E, mem_crc:0x0000, reg_crc:0x333C +Testing not_reg...done. pre_crc:0xA924, mem_crc:0x0000, reg_crc:0xC684 +Testing notb_ind...done. pre_crc:0x2227, mem_crc:0x212E, reg_crc:0x578F +Testing notwl_ind...done. pre_crc:0x7D2A, mem_crc:0x2B55, reg_crc:0xF30F +Testing notb_d16...done. pre_crc:0x8306, mem_crc:0x9E75, reg_crc:0x7B95 +Testing notwl_d16...done. pre_crc:0x4ABE, mem_crc:0xF11F, reg_crc:0x4288 +Testing not_absl...done. pre_crc:0xC2DF, mem_crc:0xB8ED, reg_crc:0x066F +Testing or_dreg_dreg...done. pre_crc:0xCF15, mem_crc:0x0000, reg_crc:0xBE22 +Testing or_ind_dreg...done. pre_crc:0x3ECE, mem_crc:0x0000, reg_crc:0xAE6B +Testing or_d16_dreg...done. pre_crc:0xD891, mem_crc:0x0000, reg_crc:0xB4BD +Testing or_absl_dreg...done. pre_crc:0x8AF3, mem_crc:0x0000, reg_crc:0xB299 +Testing orbw_const_dreg...done. pre_crc:0x8724, mem_crc:0x0000, reg_crc:0x5237 +Testing orl_const_dreg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x6292 +Testing or_dreg_ind...done. pre_crc:0x69E4, mem_crc:0x7C62, reg_crc:0x4A02 +Testing or_dreg_d16...done. pre_crc:0xFF69, mem_crc:0x3969, reg_crc:0xA438 +Testing or_dreg_absl...done. pre_crc:0x0375, mem_crc:0xF2B0, reg_crc:0xB3D5 +Testing oribw_dreg...done. pre_crc:0xC232, mem_crc:0x0000, reg_crc:0xB6AD +Testing oril_dreg...done. pre_crc:0xCC77, mem_crc:0x0000, reg_crc:0xF3D2 +Testing oribw_ind...done. pre_crc:0xB593, mem_crc:0xDA9B, reg_crc:0x4C45 +Testing oril_ind...done. pre_crc:0x8460, mem_crc:0x3966, reg_crc:0x8032 +Testing oribw_d16...done. pre_crc:0x1C25, mem_crc:0xBB18, reg_crc:0xAE64 +Testing oril_d16...done. pre_crc:0xB0C5, mem_crc:0x9EA7, reg_crc:0xD623 +Testing oribw_absl...done. pre_crc:0x8FF4, mem_crc:0x1585, reg_crc:0x9BBF +Testing oril_absl...done. pre_crc:0xD927, mem_crc:0xB23A, reg_crc:0x9666 +Testing ori_to_ccr...done. pre_crc:0xD18F, mem_crc:0x0000, reg_crc:0x8664 +Testing pack_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0xAF66 +Testing pack_mem...done. pre_crc:0x3310, mem_crc:0xB661, reg_crc:0x2230 +Testing pea_ind...done. pre_crc:0x44F8, mem_crc:0x61A4, reg_crc:0xA180 +Testing pea_d16...done. pre_crc:0xF8AC, mem_crc:0xC4FE, reg_crc:0x4712 +Testing pea_absw...done. pre_crc:0xF361, mem_crc:0x83A1, reg_crc:0xBFB3 +Testing pea_absl...done. pre_crc:0xD7AB, mem_crc:0x1253, reg_crc:0x7765 +Testing rol_dx_dy...done. pre_crc:0x6179, mem_crc:0x0000, reg_crc:0xFBD0 +Testing rol_const_dy...done. pre_crc:0x0A37, mem_crc:0x0000, reg_crc:0x2338 +Testing rol_ind...done. pre_crc:0x2106, mem_crc:0xA132, reg_crc:0x8091 +Testing rol_d16...done. pre_crc:0xE064, mem_crc:0x1E0A, reg_crc:0x4266 +Testing rol_absl...done. pre_crc:0x06A9, mem_crc:0xDABA, reg_crc:0x770C +Testing ror_dx_dy...done. pre_crc:0x6030, mem_crc:0x0000, reg_crc:0x194A +Testing ror_const_dy...done. pre_crc:0x404E, mem_crc:0x0000, reg_crc:0x9041 +Testing ror_ind...done. pre_crc:0x7282, mem_crc:0xCD2A, reg_crc:0x8AF4 +Testing ror_d16...done. pre_crc:0x3867, mem_crc:0x169E, reg_crc:0x4493 +Testing ror_absl...done. pre_crc:0x9B0A, mem_crc:0x1CEF, reg_crc:0x1439 +Testing roxl_dx_dy...done. pre_crc:0xA011, mem_crc:0x0000, reg_crc:0x5880 +Testing roxl_const_dy...done. pre_crc:0xE66F, mem_crc:0x0000, reg_crc:0xA715 +Testing roxl_ind...done. pre_crc:0x561B, mem_crc:0x08DA, reg_crc:0x5885 +Testing roxl_d16...done. pre_crc:0xE870, mem_crc:0x2FEC, reg_crc:0x4D2B +Testing roxl_absl...done. pre_crc:0xB9BA, mem_crc:0xEC2F, reg_crc:0x3804 +Testing roxr_dx_dy...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0xB4C0 +Testing roxr_const_dy...done. pre_crc:0x3130, mem_crc:0x0000, reg_crc:0x8694 +Testing roxr_ind...done. pre_crc:0x854C, mem_crc:0x6492, reg_crc:0x5CF5 +Testing roxr_d16...done. pre_crc:0x4E08, mem_crc:0x388F, reg_crc:0xBA13 +Testing roxr_absl...done. pre_crc:0x9492, mem_crc:0x6E52, reg_crc:0xF58D +Testing rtd...done. pre_crc:0x5AE5, mem_crc:0x0000, reg_crc:0x85B0 +Testing rtr...done. pre_crc:0xB26B, mem_crc:0x0000, reg_crc:0xCBB3 +Testing rts...done. pre_crc:0x3CFF, mem_crc:0x0000, reg_crc:0x1496 +Testing sbcd_reg...done. pre_crc:0x8669, mem_crc:0x0000, reg_crc:0x25F2 +Testing sbcd_mem...done. pre_crc:0xA0C6, mem_crc:0x0B1C, reg_crc:0xA6F6 +Testing Scc_reg...done. pre_crc:0xF0D0, mem_crc:0x0000, reg_crc:0x03F5 +Testing Scc_ind...done. pre_crc:0x2161, mem_crc:0x0B4F, reg_crc:0x92EA +Testing Scc_d16...done. pre_crc:0xC330, mem_crc:0x0880, reg_crc:0xCA65 +Testing Scc_absl...done. pre_crc:0x1EC1, mem_crc:0xF1E6, reg_crc:0x0536 +Testing subb_dreg_dreg...done. pre_crc:0xAF79, mem_crc:0x0000, reg_crc:0x6AB8 +Testing subw_reg_dreg...done. pre_crc:0x4F07, mem_crc:0x0000, reg_crc:0x0AF3 +Testing subl_reg_dreg...done. pre_crc:0x1AC8, mem_crc:0x0000, reg_crc:0x72C5 +Testing sub_ind_dreg...done. pre_crc:0x154D, mem_crc:0x0000, reg_crc:0x766D +Testing sub_d16_dreg...done. pre_crc:0xBD8A, mem_crc:0x0000, reg_crc:0x2373 +Testing sub_absl_dreg...done. pre_crc:0xD9ED, mem_crc:0x0000, reg_crc:0x63BE +Testing subb_const_dreg...done. pre_crc:0x9B21, mem_crc:0x0000, reg_crc:0x2100 +Testing subw_const_dreg...done. pre_crc:0xD248, mem_crc:0x0000, reg_crc:0x9E4F +Testing subl_const_dreg...done. pre_crc:0x0DCF, mem_crc:0x0000, reg_crc:0x071C +Testing sub_dreg_ind...done. pre_crc:0xAA2D, mem_crc:0xB986, reg_crc:0xFC7B +Testing sub_dreg_d16...done. pre_crc:0x8A45, mem_crc:0x09C9, reg_crc:0x092D +Testing sub_dreg_absl...done. pre_crc:0xD81B, mem_crc:0x60F9, reg_crc:0xD67C +Testing subaw_reg_areg...done. pre_crc:0x7519, mem_crc:0x0000, reg_crc:0x6E23 +Testing subal_reg_areg...done. pre_crc:0xD624, mem_crc:0x0000, reg_crc:0x8136 +Testing suba_ind_areg...done. pre_crc:0x18DC, mem_crc:0x0000, reg_crc:0x857C +Testing suba_d16_areg...done. pre_crc:0x312F, mem_crc:0x0000, reg_crc:0xC27F +Testing suba_absl_areg...done. pre_crc:0x4710, mem_crc:0x0000, reg_crc:0x477E +Testing subaw_const_areg...done. pre_crc:0x4E2A, mem_crc:0x0000, reg_crc:0xDA32 +Testing subal_const_areg...done. pre_crc:0xBB4D, mem_crc:0x0000, reg_crc:0x7E35 +Testing subibw_dreg...done. pre_crc:0x38BF, mem_crc:0x0000, reg_crc:0xEF32 +Testing subil_dreg...done. pre_crc:0x2C9D, mem_crc:0x0000, reg_crc:0x52E9 +Testing subibw_ind...done. pre_crc:0x995B, mem_crc:0x5AC6, reg_crc:0xFF59 +Testing subil_ind...done. pre_crc:0x7D61, mem_crc:0x73BC, reg_crc:0xD6DA +Testing subibw_d16...done. pre_crc:0xDA03, mem_crc:0x3AED, reg_crc:0xA410 +Testing subil_d16...done. pre_crc:0xF7EF, mem_crc:0x8589, reg_crc:0xEB2B +Testing subibw_absl...done. pre_crc:0x770E, mem_crc:0xB4DE, reg_crc:0x11F9 +Testing subil_absl...done. pre_crc:0x0C58, mem_crc:0x395A, reg_crc:0xC4A8 +Testing subq_dreg...done. pre_crc:0xAA1A, mem_crc:0x0000, reg_crc:0x3DF4 +Testing subq_areg...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC4F8 +Testing subq_ind...done. pre_crc:0x5778, mem_crc:0xE40A, reg_crc:0xB428 +Testing subq_d16...done. pre_crc:0x8A71, mem_crc:0xD004, reg_crc:0x4A62 +Testing subq_absl...done. pre_crc:0x79BC, mem_crc:0x3A0C, reg_crc:0x41B8 +Testing subx_reg...done. pre_crc:0x343B, mem_crc:0x0000, reg_crc:0xEE3F +Testing subx_mem...done. pre_crc:0xE2E0, mem_crc:0x898A, reg_crc:0x4970 +Testing swap...done. pre_crc:0xBE86, mem_crc:0x0000, reg_crc:0x29D9 +Testing tas_dreg...done. pre_crc:0x4165, mem_crc:0x0000, reg_crc:0x5BAD +Testing tas_ind...done. pre_crc:0x7D07, mem_crc:0xAA66, reg_crc:0xD496 +Testing tas_d16...done. pre_crc:0xB219, mem_crc:0xC9B1, reg_crc:0x8B27 +Testing tas_absl...done. pre_crc:0xA88A, mem_crc:0x0CF0, reg_crc:0x7247 +Testing tstb_dreg...done. pre_crc:0x6E7A, mem_crc:0x0000, reg_crc:0x94B5 +Testing tstwl_reg...done. pre_crc:0x1C0C, mem_crc:0x0000, reg_crc:0x6162 +Testing tstb_ind...done. pre_crc:0xAEE1, mem_crc:0x0000, reg_crc:0x80D5 +Testing tstwl_ind...done. pre_crc:0x0C55, mem_crc:0x0000, reg_crc:0xFF6A +Testing tstb_d16...done. pre_crc:0x82D8, mem_crc:0x0000, reg_crc:0xA186 +Testing tstwl_d16...done. pre_crc:0x3A3F, mem_crc:0x0000, reg_crc:0x4F32 +Testing tst_absl...done. pre_crc:0xE5E7, mem_crc:0x0000, reg_crc:0x6415 diff --git a/test/crc.c b/test/crc.c new file mode 100644 index 0000000..dfaa689 --- /dev/null +++ b/test/crc.c @@ -0,0 +1,134 @@ +#include "crc.h" + +/* + * Algorithm from "Computer Networks" by Andrew S. Tanenbaum pp. 129-132. + * + * Code lifted from ROMlib's crc.c. by mjhostet (with permission), 3/28/93. + * Lookup table added 3/29/93. + */ + +#define GEN 0x88108000 +#define GEN1 (GEN >> 1) +#define GEN2 (GEN >> 2) +#define GEN3 (GEN >> 3) +#define GEN4 (GEN >> 4) +#define GEN5 (GEN >> 5) +#define GEN6 (GEN >> 6) +#define GEN7 (GEN >> 7) + + +#if 0 +static unsigned long +polydivide(unsigned long l) +{ + if (l & 0x80000000) + l ^= GEN; + if (l & 0x40000000) + l ^= GEN1; + if (l & 0x20000000) + l ^= GEN2; + if (l & 0x10000000) + l ^= GEN3; + if (l & 0x08000000) + l ^= GEN4; + if (l & 0x04000000) + l ^= GEN5; + if (l & 0x02000000) + l ^= GEN6; + if (l & 0x01000000) + l ^= GEN7; + return l; +} +#else +static unsigned long +polydivide (unsigned long l) +{ + static const unsigned long crc_table[] = { + 0x00000000, 0x01102100, 0x02204200, 0x03306300, 0x04408400, 0x0550A500, + 0x0660C600, 0x0770E700, 0x08810800, 0x09912900, 0x0AA14A00, 0x0BB16B00, + 0x0CC18C00, 0x0DD1AD00, 0x0EE1CE00, 0x0FF1EF00, 0x10123100, 0x11021000, + 0x12327300, 0x13225200, 0x1452B500, 0x15429400, 0x1672F700, 0x1762D600, + 0x18933900, 0x19831800, 0x1AB37B00, 0x1BA35A00, 0x1CD3BD00, 0x1DC39C00, + 0x1EF3FF00, 0x1FE3DE00, 0x20246200, 0x21344300, 0x22042000, 0x23140100, + 0x2464E600, 0x2574C700, 0x2644A400, 0x27548500, 0x28A56A00, 0x29B54B00, + 0x2A852800, 0x2B950900, 0x2CE5EE00, 0x2DF5CF00, 0x2EC5AC00, 0x2FD58D00, + 0x30365300, 0x31267200, 0x32161100, 0x33063000, 0x3476D700, 0x3566F600, + 0x36569500, 0x3746B400, 0x38B75B00, 0x39A77A00, 0x3A971900, 0x3B873800, + 0x3CF7DF00, 0x3DE7FE00, 0x3ED79D00, 0x3FC7BC00, 0x4048C400, 0x4158E500, + 0x42688600, 0x4378A700, 0x44084000, 0x45186100, 0x46280200, 0x47382300, + 0x48C9CC00, 0x49D9ED00, 0x4AE98E00, 0x4BF9AF00, 0x4C894800, 0x4D996900, + 0x4EA90A00, 0x4FB92B00, 0x505AF500, 0x514AD400, 0x527AB700, 0x536A9600, + 0x541A7100, 0x550A5000, 0x563A3300, 0x572A1200, 0x58DBFD00, 0x59CBDC00, + 0x5AFBBF00, 0x5BEB9E00, 0x5C9B7900, 0x5D8B5800, 0x5EBB3B00, 0x5FAB1A00, + 0x606CA600, 0x617C8700, 0x624CE400, 0x635CC500, 0x642C2200, 0x653C0300, + 0x660C6000, 0x671C4100, 0x68EDAE00, 0x69FD8F00, 0x6ACDEC00, 0x6BDDCD00, + 0x6CAD2A00, 0x6DBD0B00, 0x6E8D6800, 0x6F9D4900, 0x707E9700, 0x716EB600, + 0x725ED500, 0x734EF400, 0x743E1300, 0x752E3200, 0x761E5100, 0x770E7000, + 0x78FF9F00, 0x79EFBE00, 0x7ADFDD00, 0x7BCFFC00, 0x7CBF1B00, 0x7DAF3A00, + 0x7E9F5900, 0x7F8F7800, 0x80918800, 0x8181A900, 0x82B1CA00, 0x83A1EB00, + 0x84D10C00, 0x85C12D00, 0x86F14E00, 0x87E16F00, 0x88108000, 0x8900A100, + 0x8A30C200, 0x8B20E300, 0x8C500400, 0x8D402500, 0x8E704600, 0x8F606700, + 0x9083B900, 0x91939800, 0x92A3FB00, 0x93B3DA00, 0x94C33D00, 0x95D31C00, + 0x96E37F00, 0x97F35E00, 0x9802B100, 0x99129000, 0x9A22F300, 0x9B32D200, + 0x9C423500, 0x9D521400, 0x9E627700, 0x9F725600, 0xA0B5EA00, 0xA1A5CB00, + 0xA295A800, 0xA3858900, 0xA4F56E00, 0xA5E54F00, 0xA6D52C00, 0xA7C50D00, + 0xA834E200, 0xA924C300, 0xAA14A000, 0xAB048100, 0xAC746600, 0xAD644700, + 0xAE542400, 0xAF440500, 0xB0A7DB00, 0xB1B7FA00, 0xB2879900, 0xB397B800, + 0xB4E75F00, 0xB5F77E00, 0xB6C71D00, 0xB7D73C00, 0xB826D300, 0xB936F200, + 0xBA069100, 0xBB16B000, 0xBC665700, 0xBD767600, 0xBE461500, 0xBF563400, + 0xC0D94C00, 0xC1C96D00, 0xC2F90E00, 0xC3E92F00, 0xC499C800, 0xC589E900, + 0xC6B98A00, 0xC7A9AB00, 0xC8584400, 0xC9486500, 0xCA780600, 0xCB682700, + 0xCC18C000, 0xCD08E100, 0xCE388200, 0xCF28A300, 0xD0CB7D00, 0xD1DB5C00, + 0xD2EB3F00, 0xD3FB1E00, 0xD48BF900, 0xD59BD800, 0xD6ABBB00, 0xD7BB9A00, + 0xD84A7500, 0xD95A5400, 0xDA6A3700, 0xDB7A1600, 0xDC0AF100, 0xDD1AD000, + 0xDE2AB300, 0xDF3A9200, 0xE0FD2E00, 0xE1ED0F00, 0xE2DD6C00, 0xE3CD4D00, + 0xE4BDAA00, 0xE5AD8B00, 0xE69DE800, 0xE78DC900, 0xE87C2600, 0xE96C0700, + 0xEA5C6400, 0xEB4C4500, 0xEC3CA200, 0xED2C8300, 0xEE1CE000, 0xEF0CC100, + 0xF0EF1F00, 0xF1FF3E00, 0xF2CF5D00, 0xF3DF7C00, 0xF4AF9B00, 0xF5BFBA00, + 0xF68FD900, 0xF79FF800, 0xF86E1700, 0xF97E3600, 0xFA4E5500, 0xFB5E7400, + 0xFC2E9300, 0xFD3EB200, 0xFE0ED100, 0xFF1EF000, + }; + + return l ^ crc_table[l >> 24]; +} + +#endif + + +unsigned short +compute_crc (unsigned char *data, long length, unsigned short seed) +{ + unsigned long l; + +#if 0 + if (length == 0) + l = 0; + else if (length == 1) + l = data[0]; + else if (length == 2) + l = (data[0] << 8) | data[1]; + else + l = (data[0] << 16) | (data[1] << 8) | data[2]; + data += 3; + length -= 2; +#else + /* This is spew, but it munges in the seed. */ + if (length == 0) + l = seed; + else + l = (seed << 8) | data[0]; + data++; +#endif + + while (--length > 0) + { + l = (l << 8) | *data++; + l = polydivide(l); + } + l <<= 8; + l = polydivide(l); + l <<= 8; + l = polydivide(l); + + return l >> 8; +} diff --git a/test/diff b/test/diff new file mode 100644 index 0000000..94f7409 --- /dev/null +++ b/test/diff @@ -0,0 +1,39 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +add_dreg_d16...done. +add_dreg_absl...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/diff2 b/test/diff2 new file mode 100644 index 0000000..24e479b --- /dev/null +++ b/test/diff2 @@ -0,0 +1,37 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/diff3 b/test/diff3 new file mode 100644 index 0000000..24e479b --- /dev/null +++ b/test/diff3 @@ -0,0 +1,37 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/diff4 b/test/diff4 new file mode 100644 index 0000000..24e479b --- /dev/null +++ b/test/diff4 @@ -0,0 +1,37 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/driver.c b/test/driver.c new file mode 100644 index 0000000..958b238 --- /dev/null +++ b/test/driver.c @@ -0,0 +1,482 @@ +#include "driver.h" +#include "testbattery.h" +#include "setup.h" +#include "run68k.h" +#include +#include +#include +#include +#include "crc.h" + +#include + +#if !defined (__alpha) +uint32 ROMlib_offset = MEMORY_OFFSET; +#else +unsigned long ROMlib_offset = MEMORY_OFFSET; +#endif + +/* These are set by command-line switches. */ +int test_only_non_cc_variants; /* If 0, test only cc setting variants. */ +int generate_crc; + +uint32 times_called; +uint16 *ccr_addr; +uint32 *return_address_addr; + +static void test_instruction (uint32 times_to_test, const TestInfo *info, + DriverMode mode); +#ifdef mc68000 +static char *unparse_ccr (int ccr, char *buf); +static void hexdump (FILE *stream, uint16 *addr, int num_words); +#endif + +#if defined (__alpha) || defined (__linux__) +#include +#include +#endif /* __alpha || __linux__ */ + +#define SLOP (sizeof(uint16) + sizeof(uint32)) /* for ccr and return_addr */ + +void +test_all_instructions (uint32 try_count) +{ + const TestInfo *info; + + /* Try to provide a consistent address across multiple platforms so that + * crc's of address registers containing ptrs to this space turn out + * the same. To this end we malloc a large block of memory and hope + * the pointer we want is in the middle. If this doesn't work, you'll + * have to hand-massage this. + */ + if (mem == NULL) + { + size_t page_size; + +#define M_SIZE (40 * 1024 * 1024) +#define CODE_SIZE 512 + +#if !defined (__linux__) +#define DESIRED_PTR ((uint8 *) 0x26C0000 + MEMORY_OFFSET) + uint8 *m = (uint8 *)malloc (M_SIZE + CODE_SIZE + MEMORY_OFFSET); +#else /* defined (__linux__) */ +#if !defined (powerpc) && 0 +#define DESIRED_PTR ((uint8 *) 0xAF000000 + MEMORY_OFFSET) +#else +#define DESIRED_PTR ((uint8 *) 0x7F000000 + MEMORY_OFFSET) +#endif + uint8 *m = mmap (DESIRED_PTR, + (M_SIZE + SLOP + 4095) & ~4095, + PROT_READ|PROT_WRITE, + MAP_ANONYMOUS|MAP_FIXED|MAP_PRIVATE, -1, 0); +#endif /* defined (__linux__) */ + +#if !defined (__MINGW32__) + page_size = getpagesize (); +#else +#warning We currently do not use getpagesize because with the version +#warning of MingW32 that we use it winds up pulling in a routine that +#warning we do not currently have available (VirtualProtect). This should +#warning be looked into sometime. + page_size = 4096; +#endif + + if ((DESIRED_PTR < m || DESIRED_PTR >= m + M_SIZE - MEM_SIZE - CODE_SIZE) + && generate_crc) + { + /* Print out address here in case assertion fails. */ + printf ("driver.c: Bad m == 0x%lX, absurd hack didn't work (page_size = %ld, DESIRED_PTR = 0x%lX).\n", + (unsigned long) m, (long) page_size, (unsigned long) DESIRED_PTR); + abort (); + } + + if (generate_crc) + mem = DESIRED_PTR; + else + mem = m; + return_address_addr = (uint32 *)(mem + MEM_SIZE); /* must be a 32 bit address */ + ccr_addr = (uint16 *) ((char *) return_address_addr + + sizeof(*return_address_addr)); + } + if (generate_crc) + printf ("mem == 0x%lX\n", (unsigned long) DESIRED_PTR); + + for (info = test_info; info->name; info++) + { + uint32 times_to_try = try_count; + if (info->max_times_to_call != 0 + && info->max_times_to_call > times_to_try) + times_to_try = info->max_times_to_call; + test_instruction (times_to_try, info, +#ifdef mc68000 + generate_crc ? DM_USE_EMULATOR : DM_COMPARE_AS_YOU_GO +#else + DM_USE_EMULATOR +#endif + ); + } +} + + +static uint8 saved_mem[MEM_SIZE]; + +#ifdef mc68000 + +/* + * Under NEXTSTEP 3.1 it is possible for move16 to not move all sixteen bytes. + */ + +int move16memcmp(const void *emulatedvp, const void *realvp, + const void *savedvp, size_t n) +{ + const char *emulatedp, *realp, *savedp; + int badcount, error; + + emulatedp = emulatedvp; + realp = realvp; + savedp = savedvp; + for (badcount = 0, error = 0; !error && n-- != 0; ++emulatedp, ++realp, + ++savedp) { + if (*realp != *emulatedp) + if (*realp != *savedp || ++badcount > 16) + error = 1; + } + return error; +} +#endif + +static void +test_instruction (uint32 times_to_test, const TestInfo *info, DriverMode mode) +{ + uint32 emulator_return_addr; + /* We'll use arrays of uint8 to guarantee big-endianness. */ + const uint8 header[] = { + 0x44, 0xF9, /* movew abs.l,ccr */ + US_TO_SYN68K (ccr_addr) >> 24, US_TO_SYN68K (ccr_addr) >> 16, + US_TO_SYN68K (ccr_addr) >> 8, US_TO_SYN68K (ccr_addr), + }; + uint8 trailer[] = { + + /* These guys smash the ccr so that we can test the non-cc bit setting + * versions of different instructions. To test the cc-bit setting versions + * of instructions, we clobber these with NOPs below. + */ + 0x44, 0xF9, + US_TO_SYN68K (ccr_addr) >> 24, US_TO_SYN68K (ccr_addr) >> 16, + US_TO_SYN68K (ccr_addr) >> 8, US_TO_SYN68K (ccr_addr), + + /* Here's the main code. */ + 0x42, 0xF9, /* movew ccr,abs.l */ + US_TO_SYN68K (ccr_addr) >> 24, US_TO_SYN68K (ccr_addr) >> 16, + US_TO_SYN68K (ccr_addr) >> 8, US_TO_SYN68K (ccr_addr), + 0x4E, 0xF0, /* jmp memory indirect post-indexed */ + 0x01, 0xF5, /* base suppress + index suppress + LONG bd + no od. */ + US_TO_SYN68K (return_address_addr) >> 24, + US_TO_SYN68K (return_address_addr) >> 16, + US_TO_SYN68K (return_address_addr) >> 8, + US_TO_SYN68K (return_address_addr), + }; + uint16 *m68k_code = (uint16 *) (mem + MEM_SIZE); + uint16 *code_dest; + uint32 entry_point, tc; + uint16 cc; +#ifdef mc68000 + uint32 errors = 0; +#endif + uint16 pre_crc = 0, mem_crc = 0, reg_crc = 0, cc_crc = 0; + + /* NOTE: cc_crc is the old reg_crc, where we include condition codes. + reg_crc now has regs only. I think the way we handle the "seed" + in computer_crc makes having a "crc" of just the condition codes + not work w/o some fiddling. */ + + printf ("Testing %s...", info->name), fflush (stdout); + + /* Copy in trailer. */ + if (!test_only_non_cc_variants) /* NOP out cc clobber if we want cc's. */ + { + static const unsigned char nop_nop_nop[] = { + 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71 + }; + memcpy (trailer, nop_nop_nop, sizeof nop_nop_nop); + } + memcpy (((void *)&m68k_code[128]) - sizeof trailer, trailer, sizeof trailer); + + /* Compute where the 68k code should go. */ + code_dest = ((uint16 *) (((void *)&m68k_code[128]) - sizeof trailer) + - info->code_words); + + /* Copy in header. */ + memcpy (((void *)code_dest) - sizeof header, header, sizeof header); + + entry_point = US_TO_SYN68K (((void *)code_dest) - sizeof header); + +#ifndef mc68000 + if (mode != DM_USE_EMULATOR) + { + fprintf (stderr, "Cannot test on real CPU if it's not a 68000!\n"); + exit (-1); + } +#endif + + emulator_return_addr = SWAPUL_IFLE (MAGIC_EXIT_EMULATOR_ADDRESS); + + for (tc = 0; tc < times_to_test; tc++) + { + M68kReg saved_regs[16]; + + times_called = tc; + + if (((times_called + 1) % 2000) == 0) + printf ("%lu...", times_called + 1), fflush (stdout); + + fully_randomize_regs (); + + if (mode != DM_USE_68000) + { + /* Destroy any previously compiled code we may have been testing. */ + destroy_blocks (US_TO_SYN68K (m68k_code), CODE_SIZE); + } + + if (info->might_change_memory) + randomize_mem (); + + /* Create the 68k code. */ + info->code_creator (code_dest); + + /* Byte swap it if appropriate. */ +#ifdef LITTLEENDIAN + { + int i; + for (i = info->code_words - 1; i >= 0; i--) + code_dest[i] = SWAPUW (code_dest[i]); + } +#endif + + memcpy (saved_regs, cpu_state.regs, sizeof saved_regs); + if (info->might_change_memory) + memcpy (saved_mem, mem, sizeof saved_mem); + +#if defined (NeXT) && defined (mc68000) + if (mode != DM_USE_EMULATOR) + asm ("trap #2"); +#endif + + /* Compute pre_crc if appropriate. pre_crc refers to the checksum + * before the code is emulated. + */ + if (mode != DM_COMPARE_AS_YOU_GO) + { + unsigned char buf[16 * 4]; /* Regs */ + unsigned char *p; + int i; + + pre_crc = compute_crc (saved_mem, MEM_SIZE, pre_crc); + + /* Guarantee byte-order independent crc */ + for (p = buf, i = 0; i < 16; i++) + { + *p++ = saved_regs[i].ul.n >> 24; + *p++ = saved_regs[i].ul.n >> 16; + *p++ = saved_regs[i].ul.n >> 8; + *p++ = saved_regs[i].ul.n; + } + pre_crc = compute_crc (buf, p - buf, pre_crc); + } + + /* Run it. */ + for (cc = 0; cc <= ALL_CCS; cc++) + { + uint16 emulated_cc = 0; + M68kReg emulated_regs[16]; + static uint8 emulated_mem[MEM_SIZE]; + int mask = info->cc_mask; +#ifdef mc68000 + uint16 real_cc = 0; + M68kReg real_regs[16]; + static uint8 real_mem[MEM_SIZE]; + int i; +#endif + + if (mode != DM_USE_68000) + { + *ccr_addr = SWAPUW_IFLE (cc); + *return_address_addr = emulator_return_addr; + memcpy (cpu_state.regs, saved_regs, sizeof saved_regs); + if (info->might_change_memory) + memcpy (mem, saved_mem, sizeof saved_mem); + interpret_code (hash_lookup_code_and_create_if_needed + (entry_point)); + memcpy (emulated_regs, cpu_state.regs, sizeof emulated_regs); + if (info->might_change_memory) + memcpy (emulated_mem, mem, sizeof emulated_mem); + emulated_cc = SWAPUW_IFLE (*ccr_addr); + } + +#ifdef mc68000 + if (mode != DM_USE_EMULATOR) + { + *ccr_addr = SWAPUW_IFLE (cc); + memcpy (cpu_state.regs, saved_regs, sizeof saved_regs); + if (info->might_change_memory) + memcpy (mem, saved_mem, sizeof saved_mem); + run_code_on_68000 (SYN68K_TO_US (entry_point), return_address_addr); + memcpy (real_regs, cpu_state.regs, sizeof real_regs); + if (info->might_change_memory) + memcpy (real_mem, mem, sizeof real_mem); + real_cc = SWAPUW_IFLE (*ccr_addr); + } + + /* If we are doing a divide, and the V bit is set, + * let Z and N be undefined. + */ + if (!strncmp (info->name, "div", 3) && (real_cc & V_BIT)) + mask &= ~(Z_BIT | N_BIT); + + if (mode == DM_COMPARE_AS_YOU_GO) + { + char cc1[6], cc2[6]; + char errbuf[2048] = ""; + + if ((emulated_cc ^ real_cc) & mask) + { + sprintf (errbuf + strlen (errbuf), + "\tOutput ccrs different! emulator = %s, " + "real = %s\n", unparse_ccr (emulated_cc, cc1), + unparse_ccr (real_cc, cc2)); + } + if (memcmp (emulated_regs, real_regs, sizeof emulated_regs)) + { + sprintf (errbuf + strlen (errbuf), + "\tOutput regs different:\n"); + for (i = 0; i < 16; i++) + { + if (emulated_regs[i].ul.n != real_regs[i].ul.n) + sprintf (errbuf + strlen (errbuf), + "\temulator %c%d = 0x%08lX, " + "real %c%d = 0x%08lX\n", + "da"[i >> 3], i % 8, emulated_regs[i].ul.n, + "da"[i >> 3], i % 8, real_regs[i].ul.n); + } + } + if ((info->might_change_memory == MIGHT_CHANGE_MEMORY + && memcmp (emulated_mem, real_mem, sizeof real_mem)) || + (info->might_change_memory == MOVE16_CHANGE_MEMORY + && move16memcmp(emulated_mem, real_mem, saved_mem, + sizeof real_mem))) + { + sprintf (errbuf + strlen (errbuf), + "\tOutput memory images different!\n"); + + for (i = 0; i < MEM_SIZE; i++) + if (emulated_mem[i] != real_mem[i]) + sprintf (errbuf + strlen (errbuf), + "\tmem + 0x%X (%p):\toriginal:0x%02X" + "\temulator:0x%02X\treal:0x%02X\n", + (unsigned) i, (void *) &mem[i], + (unsigned) saved_mem[i], + (unsigned) emulated_mem[i], + (unsigned) real_mem[i]); + } + if (errbuf[0]) + { + fprintf (stderr, "%s failed test for input ccr = %s.\n", + info->name, unparse_ccr (cc, cc1)); + fputs ("Code that caused the problem:\n", stderr); + hexdump (stderr, code_dest, info->code_words); + fputs ("Input regs:\n\t", stderr); + for (i = 0; i < 16; i++) + { + fprintf (stderr, "%c%d = 0x%08lX ", + "da"[i >> 3], i % 8, saved_regs[i].ul.n); + if ((i & 3) == 3) + { + putc ('\n', stderr); + if (i != 15) + putc ('\t', stderr); + } + } + + fputs ("Error log:\n", stderr); + fputs (errbuf, stderr); + fputs ("---------------------------------\n", stderr); + + if (++errors >= MAX_ERRORS) + { + puts ("aborting."); + return; + } + + /* Stop spewing on this code, try new code. */ + break; + } + } +#endif + + /* Compute CRC if appropriate. */ + if (mode != DM_COMPARE_AS_YOU_GO) + { + unsigned char buf[16 * 4 + 1]; /* Regs + cc bits. */ + unsigned char *p; + int i; + + if (info->might_change_memory) + mem_crc = compute_crc (mem, MEM_SIZE, mem_crc); + + /* Guarantee byte-order independent crc */ + for (p = buf, i = 0; i < 16; i++) + { + *p++ = cpu_state.regs[i].ul.n >> 24; + *p++ = cpu_state.regs[i].ul.n >> 16; + *p++ = cpu_state.regs[i].ul.n >> 8; + *p++ = cpu_state.regs[i].ul.n; + } + *p++ = emulated_cc & mask; + reg_crc = compute_crc (buf, p - buf - 1, reg_crc); + cc_crc = compute_crc (buf, p - buf, cc_crc); + } + } + } + + if (mode != DM_COMPARE_AS_YOU_GO) + printf ("done.\tpre_crc:0x%04X, mem_crc:0x%04X, reg_crc:0x%04X, cc_crc:0x%04X\n", + (unsigned) pre_crc, (unsigned) mem_crc, (unsigned) reg_crc, (unsigned) cc_crc); + else + puts ("done"); +} + + +#ifdef mc68000 +static char * +unparse_ccr (int ccr, char *buf) +{ + int i; + + if (ccr >= 32) + { + printf ("illegal ccr: 0x%X\n", (unsigned) ccr); + abort (); + } + + for (i = 0; i < 5; i++) + buf[i] = (ccr & (1 << i)) ? "CVZNX"[i] : '-'; + buf[5] = '\0'; + return buf; +} + + +static void +hexdump (FILE *stream, uint16 *addr, int num_words) +{ + while (num_words--) + { + unsigned n = *addr++; + int i; + + fprintf (stream, "\t0x%04X\t(", n); + for (i = 15; i >= 0; i--) + putc ((n & (1 << i)) ? '1' : '0', stream); + fputs (")\n", stream); + } +} +#endif diff --git a/test/dump-68k-100-cc b/test/dump-68k-100-cc new file mode 100644 index 0000000..212b18a --- /dev/null +++ b/test/dump-68k-100-cc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xAC03 +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x193B +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xA7D3 +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0xD30D +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x29AD +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x7543 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x0B46 +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x8721 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x08C2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xD315 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x8160 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x797F +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0x9BC2 +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x6B02 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x07D5 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0x08B9 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0xC617 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0x49E9 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x6AE8 +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0x50EE +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x7B71 +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0x660F +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0xED22 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xFE67 +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x6F22 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0x7FCD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x1E1D +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x7196 +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0x2EF0 +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x30B7 +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0x1E12 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0xE94A +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xE2AF +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0x1D9A +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x2CC2 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0x204C +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x364B +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xBE18 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xA93C +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x5F12 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x0D1F +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0xF57D +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0x98D3 +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0xACC0 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xAA27 +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x083D +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0x90F3 +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x9E4C +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0x6FD8 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0xB02C +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0x4409 +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x94DA +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x21E7 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFE0E +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0x1C5D +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0x31BF +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0xD887 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0xF9B8 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xA794 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0x575D +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x8FFD +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xFB4C +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0x9B61 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0x1091 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x7F6E +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x53CC +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0x9292 +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x2DE7 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0xFD1F +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x8D9F +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0x5701 +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0xC46B +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x7E09 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0xF587 +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0xAAB1 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xFED0 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0x83B0 +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0x8EC0 +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0x6FD7 +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x2ABC +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xFC4E +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x4F46 +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x2C38 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x58AD +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x5E34 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0xE52A +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0xD6C4 +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x381C +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x90ED +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xAE46 +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0x89F8 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0xD07F +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0xAC24 +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0x6E49 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xED9F +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC9A3 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x523D +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x1A45 +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x0E6D +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xBBB8 +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x3906 +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x7F32 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0xB24E +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0x3F72 +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x3009 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xD4DE +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0x148B +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0xD5FB +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0x2686 +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x5A0A +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4C49 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0xEF6D +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0xDAEA +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0x8F2C +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xB721 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x5F03 +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x0D25 +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0xC807 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x1E0A +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x8F08 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x6EAE +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x3D9D +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x0258 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0x56F5 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0x1ED7 +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0xC475 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0x5B5D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0xD054 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x6A42 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xB320 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0xE6D9 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0xCB94 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0xD6B3 +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x789C +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x6819 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0x6D85 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x5D91 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0x9845 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x35FA +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x1F2A +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4155 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0xC67B +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x9665 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0x0AAF +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x6EE6 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0x8598 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0x78BB +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x2A8A +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0xBED4 +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x55BD +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x8A0D +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x2B71 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0x44C6 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0x71ED +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0x1239 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC2B5 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xFC3F +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0xEAC4 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0xBAF8 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x0F39 +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xB5E6 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0x4907 +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x61BC +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xFF27 +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0x3322 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x0ACF +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0xA21F +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0x0A24 +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0x7499 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0xDEC3 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x200B +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0x4F26 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0xACCF +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC9D4 +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xBB41 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x5DDC +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x566C +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xA5E7 +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x7F0D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0xFC39 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x35BB +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0x9330 +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x970E +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x8BBB +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x626D +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0xC8B6 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x58EC +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x204A +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0xBDEB +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xBA4A +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0xB1E2 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0x7FF7 +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xB1ED +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0x1D6C +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x9D86 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0x43CB +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0xD290 +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x0485 +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0x9FA9 +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x14A6 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x1C3D +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0xE165 +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0x0897 +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0x02EA +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x26C4 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xC500 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0x8C91 +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0x00B2 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x30FF +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0xE839 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0x9B3D +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0x0982 +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0xF115 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x752C +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x3C0F +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xDA3E +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0x0734 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0xCE1C +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0xF1DA +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x47D8 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x3B6E +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0x8BAC +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0xE5AB +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0x19D5 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0xA229 +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0x7D36 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0xA690 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x37BA +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0xD3C1 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x82EB +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x13AE +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x0EE5 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0x76AD +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0x487D +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0x893B +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xC191 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x1B9F +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x976D +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x73EF +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0xD364 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0xB6CB +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x0641 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x258A +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x560C +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x3879 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF2A7 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0xE379 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0x383B +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0x9D2F +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0x4AA1 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0x3FD7 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x0090 +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0x9EAB +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0xA49E +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x3CA0 +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x0EA2 +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x2CB9 +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xF786 +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x2602 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x5D01 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0x9CB2 +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xA7CE +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x20D5 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0xA2AE +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0xAF88 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0x734F +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0x8913 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xAAEE +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0xCBCD +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x2DE4 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0xE7AC +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x8FEA +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x9704 +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0xD9C7 +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x1FC8 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x0A5A +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0x049E +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0xEFBC +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0xDEA0 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0xE3CD +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0xD8F5 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xC443 +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0x505C +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0xD739 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x9A53 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x4B9A +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0x4957 +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x8A34 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0x9729 +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xE77D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0x0BB6 +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x5292 +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xEAAB +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x319E +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x20FB +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0xD023 +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0xB36E +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0x8196 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x2504 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xA982 +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x035C +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x473C +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x0DD3 +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0x0327 +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x2B42 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x915B +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xFE4F +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x4BB4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0x0757 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0x7EC3 +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x8178 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0xEBF9 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x64F8 +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0x1C13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xD6CB +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0x2589 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0x8B55 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x7652 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0xE067 +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0x8A3D +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0xE299 +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x2EAC +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x93B2 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x1051 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0x0ECE +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0xAA00 +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0xA6A5 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0x7255 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0xE004 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x625D +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xE56B +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x6330 +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC494 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x2A34 +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0xDDEB +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x7585 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0xC3D7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xC79B +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x61CD +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5311 +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0xE72E +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x4610 +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0x6B1C +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0xE465 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x5C5C +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x41D7 +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x93A9 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0xFC59 +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x1A3E +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xAA33 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x7E44 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0xE3F4 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7C34 +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0x6B13 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xC521 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x9A17 +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xACC9 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x2F31 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x52AB +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA8C2 +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x0647 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x92CB +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x13A4 +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xE507 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xB263 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x3F35 +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x1FC1 +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0x56BB +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x57E6 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x2F8C +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x355C +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x3618 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x8E09 +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xEC25 +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0xDE5C +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0xBE7B +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0xEA19 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0x9E4A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0x2938 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0x291A +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0x7946 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0xAC2B +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x0198 +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x8EBD +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0xE16F +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0x2BE4 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x20DA +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x42B4 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA2E9 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0xD896 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0xEC7A +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB759 +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x9C69 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x7026 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x066C +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0x06D1 +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x1637 +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x28F3 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0xFAC6 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0xCC22 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0xBADC +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x018C +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x5641 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x0CA6 +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xE8F6 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0xB86C +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0xCF0C +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0xCD68 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x88BB +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0xCE7A +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3B70 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0xD1BB +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0x838C diff --git a/test/dump-68k-100-noncc b/test/dump-68k-100-noncc new file mode 100644 index 0000000..c07e0af --- /dev/null +++ b/test/dump-68k-100-noncc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xB12B +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x9410 +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xFDEA +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0x0A74 +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x521A +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x1B39 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x9CBB +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x7F57 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x4CC2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xEEF9 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x0140 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x9261 +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0xEEAC +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x1D05 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x8375 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0xB9E6 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0x4CE6 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xB068 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x841E +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0xA89D +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x39FF +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0xA867 +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0x2E11 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xEC6E +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x4724 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0xD9FD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x08CB +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x00EB +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0xB57F +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x570B +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0xF7C4 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0x45BC +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xFC0F +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0xE670 +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x8FA1 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0xE41B +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x3E57 +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xC164 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xFA99 +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x6D85 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x3DCB +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0x1DA3 +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0xCC8E +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0x0D73 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xEC9D +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x1D63 +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0xC5CA +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x82AF +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0xC366 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0x545E +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0xC1FE +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x0123 +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x02B5 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFA69 +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0xC63F +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0xDE87 +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0x3974 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0x6D40 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xE6B3 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0xC3C0 +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x118E +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xDEAA +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0xC9E2 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0xC5E4 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x1FAE +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x9B25 +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0xA79E +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x4722 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0x0CD1 +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x3143 +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0xAE4C +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0x5518 +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x1E96 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0x739E +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0x9186 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xE7D7 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0xCDBF +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0xB55B +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0xA03A +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x14AF +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xF00F +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x2C7C +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x7D50 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x311C +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x05D7 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0x8133 +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0x808F +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x9A42 +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x00E1 +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xA7EC +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0xB200 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0x7952 +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0x375B +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0xA1A4 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xD38C +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC5E2 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x3107 +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x4B2D +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x67DC +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xE05B +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x5D1F +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x2979 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0x1010 +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0xAF7E +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x39A3 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xEF26 +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0xBDA6 +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0x4E84 +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0xE96B +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x6419 +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4008 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0x8C57 +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0x8B82 +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0xE69D +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xECC2 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x3B1A +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x5B6E +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0x6A59 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x8E06 +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x86A2 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x5556 +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x94B0 +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x9927 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0xE5E3 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0xC64E +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0x5628 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0xEF9D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0x7227 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x90B8 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xBE71 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0x2755 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0x9E57 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0x17AF +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x53E7 +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x8EA6 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0xEC98 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x29D3 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0xDF89 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x5BDC +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x8A49 +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4E88 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0x8945 +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x29A1 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0xA582 +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x55B1 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0xD9E6 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0xB3C8 +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x8709 +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0x1B2E +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x5FB4 +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x6CF3 +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x7002 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0xC095 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0xA49D +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0xE821 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC9B1 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xE3EF +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0x6EE9 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0x1F61 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x7FDC +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xD3D0 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0xCF0F +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x1640 +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xEBFC +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0xED90 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x1C94 +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0x2020 +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0xAE3D +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0xA8D9 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0x89C1 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x7C08 +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0xD346 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0x50B1 +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0x7D5F +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xE368 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x52FE +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x1403 +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xD63B +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x6C7D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0x7299 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x5682 +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0xDCEA +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x1793 +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x782B +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x1531 +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0x0BE0 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x2E1B +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x8FB6 +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0x32B6 +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xB442 +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0x30A0 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0xB88B +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xF249 +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0xE0D3 +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x6039 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0xBE74 +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0x2F2F +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x110A +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0xAF2E +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x07F8 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x3095 +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0x1FDA +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0xAD6D +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0xB7A9 +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x1EC6 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xFF06 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0xA38E +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0xB962 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x4698 +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0x5C41 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0xE5B5 +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0xEE7B +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0x8323 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x9B92 +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x5D8A +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xE209 +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0xDFE5 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0x7265 +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0x74B7 +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x1D81 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x29F1 +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0xD459 +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0x01EC +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0xA267 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0x315E +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0xE340 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0x8A54 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x8D1B +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0x9F03 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x5DC2 +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x62C1 +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x12D4 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0xE916 +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0xE195 +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0xF483 +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xF3A6 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x9DD0 +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x4608 +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x1E27 +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0x18A0 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0x4ABF +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x9BC4 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x7686 +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0xDEEB +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x74A6 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF7D5 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0x5641 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0xAE0D +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0xEEC9 +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0xE676 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0xC922 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x613B +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0xA6D2 +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0x798F +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x72AC +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x2D0F +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x7D4B +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xFF2E +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x7112 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x6528 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0xC73E +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xEE55 +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x8680 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0x90D2 +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0x9B94 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0xAACC +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0xD4C3 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xFADB +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0x4504 +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x9381 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0x32AE +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x334B +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x2ADC +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0x387F +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x29D3 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x3249 +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0xCDEC +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0x488B +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0x8398 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0x4FE0 +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0x8376 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xD2FF +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0xB537 +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0x1736 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x79D5 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x5CE8 +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0xAB9B +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x1697 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0xB5BF +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xEF3D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0xEC8C +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x350F +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xB80F +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x08A1 +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x3011 +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0x09FC +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0x7052 +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0xCE37 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x5775 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xE7CC +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x8F23 +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x6DEF +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x3D7A +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0xA6AF +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x0754 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x4781 +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xF578 +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x18B4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0xB667 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0xE5EA +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x30B7 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0x5F56 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x852F +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0xFB13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xDEB8 +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0xFD10 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0xBFB9 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x8ED4 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0x461A +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0xBD03 +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0x505A +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x17D7 +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x17A3 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x4759 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0xE136 +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0x36BB +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0x30A0 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0xED17 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0x34A1 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x33FF +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xB7EB +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x921C +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC022 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x272D +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0x096F +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x3183 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0x77E7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xB067 +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x3898 +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5D3B +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0x17CC +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x723A +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0xB2FA +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0x1FF1 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x0DD6 +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x6D5D +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x7814 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0x6DDF +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x08BA +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xC446 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x9737 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0x52D5 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7F3B +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0xFAA6 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xDEE8 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x0F9C +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xB1B8 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x00A6 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x2FAE +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA9FF +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x87F3 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x1C76 +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x0F7E +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xF066 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xC1A7 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x2FCD +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x983B +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0xBE1E +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x09E4 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x0FE8 +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x5C8E +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x77A3 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x28DE +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xBAAE +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0x4A76 +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0x2908 +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0x7032 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0xC05A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0xC826 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0xBF16 +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0xA930 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0x9CA0 +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x556C +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x23C1 +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0x237A +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0xC7E9 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x5CCC +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x0FC0 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA194 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0x8BE8 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0x5605 +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB3BA +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x53F9 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x1FB9 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x3F8E +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0xB71B +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x606C +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x1C32 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0x4B88 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0x65F6 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0x2DB4 +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x1626 +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x3042 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x056C +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xDAC1 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0x62F1 +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0x0DBA +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0x4CE3 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x1EEE +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0x3C5C +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3EF8 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0x7B6A +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0xF077 diff --git a/test/dump-i486-linux-100-cc b/test/dump-i486-linux-100-cc new file mode 100644 index 0000000..212b18a --- /dev/null +++ b/test/dump-i486-linux-100-cc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xAC03 +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x193B +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xA7D3 +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0xD30D +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x29AD +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x7543 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x0B46 +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x8721 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x08C2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xD315 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x8160 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x797F +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0x9BC2 +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x6B02 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x07D5 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0x08B9 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0xC617 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0x49E9 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x6AE8 +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0x50EE +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x7B71 +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0x660F +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0xED22 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xFE67 +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x6F22 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0x7FCD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x1E1D +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x7196 +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0x2EF0 +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x30B7 +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0x1E12 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0xE94A +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xE2AF +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0x1D9A +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x2CC2 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0x204C +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x364B +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xBE18 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xA93C +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x5F12 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x0D1F +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0xF57D +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0x98D3 +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0xACC0 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xAA27 +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x083D +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0x90F3 +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x9E4C +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0x6FD8 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0xB02C +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0x4409 +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x94DA +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x21E7 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFE0E +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0x1C5D +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0x31BF +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0xD887 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0xF9B8 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xA794 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0x575D +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x8FFD +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xFB4C +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0x9B61 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0x1091 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x7F6E +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x53CC +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0x9292 +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x2DE7 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0xFD1F +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x8D9F +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0x5701 +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0xC46B +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x7E09 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0xF587 +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0xAAB1 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xFED0 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0x83B0 +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0x8EC0 +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0x6FD7 +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x2ABC +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xFC4E +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x4F46 +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x2C38 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x58AD +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x5E34 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0xE52A +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0xD6C4 +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x381C +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x90ED +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xAE46 +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0x89F8 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0xD07F +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0xAC24 +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0x6E49 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xED9F +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC9A3 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x523D +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x1A45 +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x0E6D +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xBBB8 +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x3906 +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x7F32 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0xB24E +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0x3F72 +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x3009 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xD4DE +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0x148B +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0xD5FB +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0x2686 +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x5A0A +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4C49 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0xEF6D +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0xDAEA +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0x8F2C +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xB721 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x5F03 +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x0D25 +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0xC807 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x1E0A +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x8F08 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x6EAE +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x3D9D +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x0258 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0x56F5 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0x1ED7 +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0xC475 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0x5B5D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0xD054 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x6A42 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xB320 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0xE6D9 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0xCB94 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0xD6B3 +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x789C +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x6819 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0x6D85 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x5D91 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0x9845 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x35FA +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x1F2A +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4155 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0xC67B +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x9665 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0x0AAF +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x6EE6 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0x8598 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0x78BB +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x2A8A +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0xBED4 +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x55BD +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x8A0D +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x2B71 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0x44C6 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0x71ED +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0x1239 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC2B5 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xFC3F +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0xEAC4 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0xBAF8 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x0F39 +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xB5E6 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0x4907 +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x61BC +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xFF27 +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0x3322 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x0ACF +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0xA21F +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0x0A24 +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0x7499 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0xDEC3 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x200B +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0x4F26 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0xACCF +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC9D4 +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xBB41 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x5DDC +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x566C +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xA5E7 +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x7F0D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0xFC39 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x35BB +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0x9330 +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x970E +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x8BBB +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x626D +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0xC8B6 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x58EC +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x204A +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0xBDEB +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xBA4A +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0xB1E2 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0x7FF7 +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xB1ED +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0x1D6C +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x9D86 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0x43CB +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0xD290 +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x0485 +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0x9FA9 +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x14A6 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x1C3D +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0xE165 +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0x0897 +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0x02EA +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x26C4 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xC500 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0x8C91 +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0x00B2 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x30FF +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0xE839 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0x9B3D +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0x0982 +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0xF115 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x752C +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x3C0F +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xDA3E +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0x0734 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0xCE1C +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0xF1DA +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x47D8 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x3B6E +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0x8BAC +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0xE5AB +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0x19D5 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0xA229 +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0x7D36 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0xA690 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x37BA +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0xD3C1 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x82EB +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x13AE +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x0EE5 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0x76AD +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0x487D +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0x893B +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xC191 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x1B9F +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x976D +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x73EF +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0xD364 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0xB6CB +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x0641 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x258A +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x560C +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x3879 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF2A7 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0xE379 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0x383B +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0x9D2F +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0x4AA1 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0x3FD7 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x0090 +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0x9EAB +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0xA49E +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x3CA0 +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x0EA2 +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x2CB9 +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xF786 +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x2602 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x5D01 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0x9CB2 +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xA7CE +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x20D5 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0xA2AE +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0xAF88 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0x734F +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0x8913 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xAAEE +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0xCBCD +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x2DE4 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0xE7AC +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x8FEA +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x9704 +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0xD9C7 +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x1FC8 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x0A5A +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0x049E +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0xEFBC +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0xDEA0 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0xE3CD +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0xD8F5 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xC443 +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0x505C +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0xD739 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x9A53 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x4B9A +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0x4957 +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x8A34 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0x9729 +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xE77D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0x0BB6 +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x5292 +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xEAAB +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x319E +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x20FB +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0xD023 +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0xB36E +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0x8196 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x2504 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xA982 +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x035C +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x473C +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x0DD3 +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0x0327 +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x2B42 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x915B +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xFE4F +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x4BB4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0x0757 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0x7EC3 +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x8178 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0xEBF9 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x64F8 +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0x1C13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xD6CB +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0x2589 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0x8B55 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x7652 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0xE067 +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0x8A3D +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0xE299 +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x2EAC +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x93B2 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x1051 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0x0ECE +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0xAA00 +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0xA6A5 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0x7255 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0xE004 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x625D +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xE56B +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x6330 +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC494 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x2A34 +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0xDDEB +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x7585 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0xC3D7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xC79B +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x61CD +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5311 +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0xE72E +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x4610 +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0x6B1C +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0xE465 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x5C5C +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x41D7 +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x93A9 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0xFC59 +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x1A3E +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xAA33 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x7E44 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0xE3F4 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7C34 +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0x6B13 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xC521 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x9A17 +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xACC9 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x2F31 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x52AB +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA8C2 +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x0647 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x92CB +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x13A4 +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xE507 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xB263 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x3F35 +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x1FC1 +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0x56BB +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x57E6 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x2F8C +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x355C +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x3618 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x8E09 +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xEC25 +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0xDE5C +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0xBE7B +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0xEA19 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0x9E4A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0x2938 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0x291A +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0x7946 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0xAC2B +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x0198 +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x8EBD +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0xE16F +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0x2BE4 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x20DA +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x42B4 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA2E9 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0xD896 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0xEC7A +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB759 +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x9C69 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x7026 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x066C +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0x06D1 +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x1637 +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x28F3 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0xFAC6 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0xCC22 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0xBADC +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x018C +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x5641 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x0CA6 +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xE8F6 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0xB86C +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0xCF0C +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0xCD68 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x88BB +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0xCE7A +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3B70 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0xD1BB +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0x838C diff --git a/test/dump-i486-linux-100-noncc b/test/dump-i486-linux-100-noncc new file mode 100644 index 0000000..c07e0af --- /dev/null +++ b/test/dump-i486-linux-100-noncc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xB12B +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x9410 +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xFDEA +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0x0A74 +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x521A +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x1B39 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x9CBB +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x7F57 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x4CC2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xEEF9 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x0140 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x9261 +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0xEEAC +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x1D05 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x8375 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0xB9E6 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0x4CE6 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xB068 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x841E +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0xA89D +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x39FF +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0xA867 +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0x2E11 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xEC6E +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x4724 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0xD9FD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x08CB +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x00EB +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0xB57F +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x570B +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0xF7C4 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0x45BC +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xFC0F +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0xE670 +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x8FA1 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0xE41B +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x3E57 +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xC164 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xFA99 +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x6D85 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x3DCB +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0x1DA3 +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0xCC8E +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0x0D73 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xEC9D +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x1D63 +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0xC5CA +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x82AF +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0xC366 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0x545E +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0xC1FE +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x0123 +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x02B5 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFA69 +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0xC63F +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0xDE87 +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0x3974 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0x6D40 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xE6B3 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0xC3C0 +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x118E +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xDEAA +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0xC9E2 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0xC5E4 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x1FAE +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x9B25 +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0xA79E +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x4722 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0x0CD1 +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x3143 +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0xAE4C +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0x5518 +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x1E96 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0x739E +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0x9186 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xE7D7 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0xCDBF +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0xB55B +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0xA03A +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x14AF +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xF00F +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x2C7C +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x7D50 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x311C +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x05D7 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0x8133 +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0x808F +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x9A42 +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x00E1 +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xA7EC +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0xB200 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0x7952 +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0x375B +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0xA1A4 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xD38C +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC5E2 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x3107 +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x4B2D +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x67DC +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xE05B +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x5D1F +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x2979 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0x1010 +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0xAF7E +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x39A3 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xEF26 +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0xBDA6 +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0x4E84 +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0xE96B +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x6419 +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4008 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0x8C57 +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0x8B82 +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0xE69D +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xECC2 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x3B1A +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x5B6E +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0x6A59 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x8E06 +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x86A2 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x5556 +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x94B0 +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x9927 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0xE5E3 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0xC64E +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0x5628 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0xEF9D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0x7227 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x90B8 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xBE71 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0x2755 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0x9E57 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0x17AF +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x53E7 +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x8EA6 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0xEC98 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x29D3 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0xDF89 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x5BDC +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x8A49 +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4E88 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0x8945 +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x29A1 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0xA582 +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x55B1 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0xD9E6 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0xB3C8 +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x8709 +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0x1B2E +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x5FB4 +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x6CF3 +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x7002 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0xC095 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0xA49D +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0xE821 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC9B1 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xE3EF +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0x6EE9 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0x1F61 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x7FDC +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xD3D0 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0xCF0F +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x1640 +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xEBFC +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0xED90 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x1C94 +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0x2020 +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0xAE3D +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0xA8D9 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0x89C1 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x7C08 +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0xD346 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0x50B1 +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0x7D5F +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xE368 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x52FE +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x1403 +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xD63B +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x6C7D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0x7299 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x5682 +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0xDCEA +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x1793 +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x782B +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x1531 +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0x0BE0 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x2E1B +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x8FB6 +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0x32B6 +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xB442 +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0x30A0 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0xB88B +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xF249 +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0xE0D3 +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x6039 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0xBE74 +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0x2F2F +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x110A +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0xAF2E +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x07F8 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x3095 +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0x1FDA +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0xAD6D +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0xB7A9 +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x1EC6 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xFF06 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0xA38E +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0xB962 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x4698 +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0x5C41 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0xE5B5 +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0xEE7B +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0x8323 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x9B92 +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x5D8A +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xE209 +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0xDFE5 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0x7265 +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0x74B7 +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x1D81 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x29F1 +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0xD459 +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0x01EC +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0xA267 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0x315E +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0xE340 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0x8A54 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x8D1B +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0x9F03 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x5DC2 +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x62C1 +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x12D4 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0xE916 +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0xE195 +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0xF483 +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xF3A6 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x9DD0 +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x4608 +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x1E27 +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0x18A0 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0x4ABF +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x9BC4 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x7686 +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0xDEEB +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x74A6 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF7D5 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0x5641 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0xAE0D +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0xEEC9 +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0xE676 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0xC922 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x613B +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0xA6D2 +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0x798F +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x72AC +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x2D0F +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x7D4B +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xFF2E +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x7112 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x6528 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0xC73E +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xEE55 +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x8680 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0x90D2 +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0x9B94 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0xAACC +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0xD4C3 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xFADB +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0x4504 +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x9381 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0x32AE +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x334B +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x2ADC +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0x387F +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x29D3 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x3249 +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0xCDEC +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0x488B +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0x8398 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0x4FE0 +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0x8376 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xD2FF +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0xB537 +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0x1736 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x79D5 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x5CE8 +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0xAB9B +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x1697 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0xB5BF +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xEF3D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0xEC8C +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x350F +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xB80F +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x08A1 +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x3011 +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0x09FC +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0x7052 +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0xCE37 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x5775 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xE7CC +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x8F23 +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x6DEF +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x3D7A +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0xA6AF +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x0754 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x4781 +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xF578 +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x18B4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0xB667 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0xE5EA +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x30B7 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0x5F56 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x852F +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0xFB13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xDEB8 +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0xFD10 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0xBFB9 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x8ED4 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0x461A +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0xBD03 +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0x505A +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x17D7 +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x17A3 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x4759 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0xE136 +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0x36BB +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0x30A0 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0xED17 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0x34A1 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x33FF +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xB7EB +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x921C +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC022 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x272D +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0x096F +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x3183 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0x77E7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xB067 +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x3898 +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5D3B +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0x17CC +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x723A +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0xB2FA +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0x1FF1 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x0DD6 +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x6D5D +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x7814 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0x6DDF +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x08BA +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xC446 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x9737 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0x52D5 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7F3B +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0xFAA6 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xDEE8 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x0F9C +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xB1B8 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x00A6 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x2FAE +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA9FF +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x87F3 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x1C76 +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x0F7E +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xF066 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xC1A7 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x2FCD +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x983B +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0xBE1E +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x09E4 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x0FE8 +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x5C8E +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x77A3 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x28DE +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xBAAE +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0x4A76 +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0x2908 +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0x7032 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0xC05A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0xC826 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0xBF16 +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0xA930 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0x9CA0 +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x556C +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x23C1 +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0x237A +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0xC7E9 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x5CCC +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x0FC0 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA194 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0x8BE8 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0x5605 +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB3BA +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x53F9 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x1FB9 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x3F8E +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0xB71B +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x606C +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x1C32 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0x4B88 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0x65F6 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0x2DB4 +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x1626 +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x3042 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x056C +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xDAC1 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0x62F1 +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0x0DBA +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0x4CE3 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x1EEE +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0x3C5C +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3EF8 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0x7B6A +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0xF077 diff --git a/test/dump-nonnative-100-cc b/test/dump-nonnative-100-cc new file mode 100644 index 0000000..212b18a --- /dev/null +++ b/test/dump-nonnative-100-cc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xAC03 +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x193B +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xA7D3 +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0xD30D +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x29AD +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x7543 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x0B46 +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x8721 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x08C2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xD315 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x8160 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x797F +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0x9BC2 +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x6B02 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x07D5 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0x08B9 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0xC617 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0x49E9 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x6AE8 +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0x50EE +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x7B71 +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0x660F +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0xED22 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xFE67 +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x6F22 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0x7FCD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x1E1D +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x7196 +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0x2EF0 +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x30B7 +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0x1E12 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0xE94A +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xE2AF +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0x1D9A +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x2CC2 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0x204C +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x364B +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xBE18 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xA93C +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x5F12 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x0D1F +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0xF57D +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0x98D3 +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0xACC0 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xAA27 +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x083D +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0x90F3 +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x9E4C +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0x6FD8 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0xB02C +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0x4409 +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x94DA +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x21E7 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFE0E +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0x1C5D +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0x31BF +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0xD887 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0xF9B8 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xA794 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0x575D +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x8FFD +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xFB4C +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0x9B61 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0x1091 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x7F6E +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x53CC +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0x9292 +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x2DE7 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0xFD1F +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x8D9F +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0x5701 +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0xC46B +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x7E09 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0xF587 +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0xAAB1 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xFED0 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0x83B0 +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0x8EC0 +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0x6FD7 +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x2ABC +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xFC4E +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x4F46 +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x2C38 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x58AD +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x5E34 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0xE52A +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0xD6C4 +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x381C +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x90ED +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xAE46 +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0x89F8 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0xD07F +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0xAC24 +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0x6E49 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xED9F +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC9A3 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x523D +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x1A45 +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x0E6D +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xBBB8 +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x3906 +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x7F32 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0xB24E +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0x3F72 +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x3009 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xD4DE +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0x148B +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0xD5FB +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0x2686 +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x5A0A +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4C49 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0xEF6D +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0xDAEA +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0x8F2C +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xB721 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x5F03 +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x0D25 +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0xC807 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x1E0A +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x8F08 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x6EAE +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x3D9D +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x0258 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0x56F5 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0x1ED7 +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0xC475 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0x5B5D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0xD054 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x6A42 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xB320 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0xE6D9 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0xCB94 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0xD6B3 +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x789C +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x6819 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0x6D85 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x5D91 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0x9845 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x35FA +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x1F2A +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4155 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0xC67B +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x9665 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0x0AAF +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x6EE6 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0x8598 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0x78BB +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x2A8A +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0xBED4 +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x55BD +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x8A0D +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x2B71 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0x44C6 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0x71ED +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0x1239 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC2B5 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xFC3F +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0xEAC4 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0xBAF8 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x0F39 +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xB5E6 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0x4907 +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x61BC +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xFF27 +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0x3322 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x0ACF +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0xA21F +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0x0A24 +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0x7499 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0xDEC3 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x200B +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0x4F26 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0xACCF +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC9D4 +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xBB41 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x5DDC +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x566C +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xA5E7 +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x7F0D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0xFC39 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x35BB +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0x9330 +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x970E +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x8BBB +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x626D +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0xC8B6 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x58EC +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x204A +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0xBDEB +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xBA4A +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0xB1E2 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0x7FF7 +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xB1ED +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0x1D6C +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x9D86 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0x43CB +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0xD290 +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x0485 +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0x9FA9 +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x14A6 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x1C3D +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0xE165 +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0x0897 +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0x02EA +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x26C4 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xC500 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0x8C91 +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0x00B2 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x30FF +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0xE839 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0x9B3D +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0x0982 +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0xF115 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x752C +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x3C0F +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xDA3E +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0x0734 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0xCE1C +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0xF1DA +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x47D8 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x3B6E +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0x8BAC +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0xE5AB +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0x19D5 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0xA229 +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0x7D36 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0xA690 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x37BA +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0xD3C1 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x82EB +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x13AE +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x0EE5 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0x76AD +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0x487D +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0x893B +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xC191 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x1B9F +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x976D +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x73EF +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0xD364 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0xB6CB +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x0641 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x258A +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x560C +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x3879 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF2A7 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0xE379 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0x383B +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0x9D2F +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0x4AA1 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0x3FD7 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x0090 +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0x9EAB +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0xA49E +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x3CA0 +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x0EA2 +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x2CB9 +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xF786 +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x2602 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x5D01 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0x9CB2 +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xA7CE +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x20D5 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0xA2AE +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0xAF88 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0x734F +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0x8913 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xAAEE +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0xCBCD +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x2DE4 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0xE7AC +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x8FEA +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x9704 +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0xD9C7 +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x1FC8 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x0A5A +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0x049E +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0xEFBC +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0xDEA0 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0xE3CD +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0xD8F5 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xC443 +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0x505C +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0xD739 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x9A53 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x4B9A +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0x4957 +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x8A34 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0x9729 +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xE77D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0x0BB6 +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x5292 +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xEAAB +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x319E +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x20FB +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0xD023 +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0xB36E +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0x8196 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x2504 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xA982 +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x035C +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x473C +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x0DD3 +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0x0327 +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x2B42 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x915B +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xFE4F +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x4BB4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0x0757 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0x7EC3 +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x8178 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0xEBF9 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x64F8 +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0x1C13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xD6CB +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0x2589 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0x8B55 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x7652 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0xE067 +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0x8A3D +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0xE299 +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x2EAC +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x93B2 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x1051 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0x0ECE +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0xAA00 +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0xA6A5 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0x7255 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0xE004 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x625D +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xE56B +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x6330 +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC494 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x2A34 +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0xDDEB +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x7585 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0xC3D7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xC79B +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x61CD +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5311 +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0xE72E +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x4610 +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0x6B1C +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0xE465 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x5C5C +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x41D7 +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x93A9 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0xFC59 +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x1A3E +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xAA33 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x7E44 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0xE3F4 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7C34 +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0x6B13 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xC521 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x9A17 +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xACC9 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x2F31 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x52AB +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA8C2 +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x0647 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x92CB +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x13A4 +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xE507 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xB263 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x3F35 +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x1FC1 +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0x56BB +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x57E6 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x2F8C +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x355C +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x3618 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x8E09 +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xEC25 +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0xDE5C +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0xBE7B +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0xEA19 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0x9E4A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0x2938 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0x291A +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0x7946 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0xAC2B +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x0198 +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x8EBD +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0xE16F +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0x2BE4 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x20DA +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x42B4 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA2E9 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0xD896 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0xEC7A +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB759 +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x9C69 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x7026 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x066C +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0x06D1 +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x1637 +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x28F3 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0xFAC6 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0xCC22 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0xBADC +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x018C +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x5641 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x0CA6 +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xE8F6 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0xB86C +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0xCF0C +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0xCD68 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x88BB +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0xCE7A +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3B70 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0xD1BB +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0x838C diff --git a/test/dump-nonnative-100-noncc b/test/dump-nonnative-100-noncc new file mode 100644 index 0000000..c07e0af --- /dev/null +++ b/test/dump-nonnative-100-noncc @@ -0,0 +1,480 @@ +mem == 0x300000 +Testing unpk_reg...done. pre_crc:0x4EA5, mem_crc:0x0000, reg_crc:0xCD19 +Testing unpk_mem...done. pre_crc:0xDF31, mem_crc:0x4A13, reg_crc:0xA948 +Testing unlk...done. pre_crc:0x5C73, mem_crc:0x0000, reg_crc:0x2646 +Testing movewl_ind_ind...done. pre_crc:0x9128, mem_crc:0x3F00, reg_crc:0xB12B +Testing divsl_ll_reg...done. pre_crc:0x3BD3, mem_crc:0x0000, reg_crc:0x9410 +Testing divsl_ll_ind...done. pre_crc:0x1F5D, mem_crc:0x0000, reg_crc:0xFDEA +Testing divsl_ll_absl...done. pre_crc:0xA861, mem_crc:0x0000, reg_crc:0x0A74 +Testing lea_pc_ind_preix...done. pre_crc:0xD34D, mem_crc:0x0000, reg_crc:0xE67C +Testing lea_pc_ind_postix...done. pre_crc:0xEAB9, mem_crc:0x0000, reg_crc:0x55CA +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x919F, mem_crc:0x0000, reg_crc:0x521A +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFC99, mem_crc:0x0000, reg_crc:0x1B39 +Testing moveb_pcd16_dreg...done. pre_crc:0x0441, mem_crc:0x0000, reg_crc:0x9CBB +Testing movewl_pcd16_dreg...done. pre_crc:0xB320, mem_crc:0x0000, reg_crc:0x7F57 +Testing moveb_pcd8_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x4CC2 +Testing movewl_pcd8_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xEEF9 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1DD9, mem_crc:0x0000, reg_crc:0x0140 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xC4F1, mem_crc:0x0000, reg_crc:0x9261 +Testing lea_ind_preix...done. pre_crc:0x0564, mem_crc:0x0000, reg_crc:0x49D5 +Testing lea_ind_postix...done. pre_crc:0x687C, mem_crc:0x0000, reg_crc:0xB0B0 +Testing add_absl_dreg...done. pre_crc:0xDEE0, mem_crc:0x0000, reg_crc:0xEEAC +Testing abcd_reg...done. pre_crc:0x4B1C, mem_crc:0x0000, reg_crc:0x1D05 +Testing abcd_mem...done. pre_crc:0x58CA, mem_crc:0xFE2A, reg_crc:0x8375 +Testing addb_dreg_dreg...done. pre_crc:0x7994, mem_crc:0x0000, reg_crc:0xB9E6 +Testing addw_reg_dreg...done. pre_crc:0x052C, mem_crc:0x0000, reg_crc:0x4CE6 +Testing addl_reg_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xB068 +Testing add_d16_dreg...done. pre_crc:0xECA8, mem_crc:0x0000, reg_crc:0x841E +Testing addb_const_dreg...done. pre_crc:0xA812, mem_crc:0x0000, reg_crc:0xA89D +Testing addw_const_dreg...done. pre_crc:0x1EE6, mem_crc:0x0000, reg_crc:0x39FF +Testing add_dreg_ind...done. pre_crc:0x58FB, mem_crc:0x9074, reg_crc:0xA867 +Testing add_ind_dreg...done. pre_crc:0xBA80, mem_crc:0x0000, reg_crc:0x2E11 +Testing addl_const_dreg...done. pre_crc:0x9FC9, mem_crc:0x0000, reg_crc:0xEC6E +Testing add_dreg_d16...done. pre_crc:0x2D77, mem_crc:0x3F06, reg_crc:0x4724 +Testing add_dreg_absl...done. pre_crc:0x9402, mem_crc:0x0DEF, reg_crc:0xD9FD +Testing addaw_reg_areg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x154C +Testing addal_reg_areg...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0xEE93 +Testing adda_ind_areg...done. pre_crc:0xAE48, mem_crc:0x0000, reg_crc:0xD0E5 +Testing adda_d16_areg...done. pre_crc:0x8ED7, mem_crc:0x0000, reg_crc:0x7AE3 +Testing adda_absl_areg...done. pre_crc:0x0BE5, mem_crc:0x0000, reg_crc:0x83A4 +Testing addaw_const_areg...done. pre_crc:0x480C, mem_crc:0x0000, reg_crc:0xFEDC +Testing addal_const_areg...done. pre_crc:0x0855, mem_crc:0x0000, reg_crc:0xCEB9 +Testing addibw_dreg...done. pre_crc:0x7B5D, mem_crc:0x0000, reg_crc:0x08CB +Testing addil_dreg...done. pre_crc:0x9025, mem_crc:0x0000, reg_crc:0x00EB +Testing addibw_ind...done. pre_crc:0xC0DD, mem_crc:0xC9A9, reg_crc:0xB57F +Testing addil_ind...done. pre_crc:0x8AF7, mem_crc:0xBEA0, reg_crc:0x570B +Testing addibw_d16...done. pre_crc:0x3B38, mem_crc:0x998D, reg_crc:0xF7C4 +Testing addil_d16...done. pre_crc:0xAB19, mem_crc:0x1F02, reg_crc:0x45BC +Testing addibw_absl...done. pre_crc:0xEED3, mem_crc:0x95F9, reg_crc:0xFC0F +Testing addil_absl...done. pre_crc:0xFEB7, mem_crc:0x6D91, reg_crc:0xE670 +Testing addq_dreg...done. pre_crc:0x69F2, mem_crc:0x0000, reg_crc:0x8FA1 +Testing addq_areg...done. pre_crc:0x27FA, mem_crc:0x0000, reg_crc:0xE72E +Testing addq_ind...done. pre_crc:0x20AF, mem_crc:0x7CD5, reg_crc:0xE41B +Testing addq_d16...done. pre_crc:0xDE25, mem_crc:0x5F66, reg_crc:0x3E57 +Testing addq_absl...done. pre_crc:0xD144, mem_crc:0xCD6E, reg_crc:0xC164 +Testing addx_reg...done. pre_crc:0x121A, mem_crc:0x0000, reg_crc:0xFA99 +Testing addx_mem...done. pre_crc:0x6D30, mem_crc:0x6B20, reg_crc:0x6D85 +Testing and_dreg_dreg...done. pre_crc:0x8CCE, mem_crc:0x0000, reg_crc:0x3DCB +Testing and_ind_dreg...done. pre_crc:0x37F9, mem_crc:0x0000, reg_crc:0x1DA3 +Testing and_d16_dreg...done. pre_crc:0x40D5, mem_crc:0x0000, reg_crc:0xCC8E +Testing and_absl_dreg...done. pre_crc:0x1213, mem_crc:0x0000, reg_crc:0x0D73 +Testing andbw_const_dreg...done. pre_crc:0xA8AF, mem_crc:0x0000, reg_crc:0xEC9D +Testing andl_const_dreg...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0x1D63 +Testing and_dreg_ind...done. pre_crc:0xF6C5, mem_crc:0x9ED0, reg_crc:0xC5CA +Testing and_dreg_d16...done. pre_crc:0xE00B, mem_crc:0xC2EA, reg_crc:0x82AF +Testing and_dreg_absl...done. pre_crc:0x12AD, mem_crc:0x71E7, reg_crc:0xC366 +Testing andibw_dreg...done. pre_crc:0xC058, mem_crc:0x0000, reg_crc:0x545E +Testing andil_dreg...done. pre_crc:0x3387, mem_crc:0x0000, reg_crc:0xC1FE +Testing andibw_ind...done. pre_crc:0x0A0F, mem_crc:0x369C, reg_crc:0x0123 +Testing andil_ind...done. pre_crc:0xFC88, mem_crc:0x1551, reg_crc:0x02B5 +Testing andibw_d16...done. pre_crc:0x3E64, mem_crc:0x848D, reg_crc:0xFA69 +Testing andil_d16...done. pre_crc:0x2B57, mem_crc:0xE139, reg_crc:0xC63F +Testing andibw_absl...done. pre_crc:0xD93A, mem_crc:0x8397, reg_crc:0xDE87 +Testing andil_absl...done. pre_crc:0xE4DA, mem_crc:0x3C22, reg_crc:0x3974 +Testing andi_to_ccr...done. pre_crc:0x1FE6, mem_crc:0x0000, reg_crc:0x6D40 +Testing asl_dx_dy...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xE6B3 +Testing asl_const_dy...done. pre_crc:0x04B8, mem_crc:0x0000, reg_crc:0xC3C0 +Testing asl_ind...done. pre_crc:0x67F3, mem_crc:0x0D85, reg_crc:0x118E +Testing asl_d16...done. pre_crc:0x5764, mem_crc:0x5E04, reg_crc:0xDEAA +Testing asl_absl...done. pre_crc:0x4798, mem_crc:0x942C, reg_crc:0xC9E2 +Testing asr_dx_dy...done. pre_crc:0x45A6, mem_crc:0x0000, reg_crc:0xC5E4 +Testing asr_const_dy...done. pre_crc:0x58F9, mem_crc:0x0000, reg_crc:0x1FAE +Testing asr_ind...done. pre_crc:0xB96D, mem_crc:0xA682, reg_crc:0x9B25 +Testing asr_d16...done. pre_crc:0x6545, mem_crc:0xD020, reg_crc:0xA79E +Testing asr_absl...done. pre_crc:0xB81D, mem_crc:0x99A5, reg_crc:0x4722 +Testing lsl_dx_dy...done. pre_crc:0xFE40, mem_crc:0x0000, reg_crc:0x0CD1 +Testing lsl_const_dy...done. pre_crc:0x2F9F, mem_crc:0x0000, reg_crc:0x3143 +Testing lsl_ind...done. pre_crc:0xE73E, mem_crc:0xEAF1, reg_crc:0xAE4C +Testing lsl_d16...done. pre_crc:0xA92D, mem_crc:0xF618, reg_crc:0x5518 +Testing lsl_absl...done. pre_crc:0x6F7B, mem_crc:0x5FC3, reg_crc:0x1E96 +Testing lsr_dx_dy...done. pre_crc:0xBD23, mem_crc:0x0000, reg_crc:0x739E +Testing lsr_const_dy...done. pre_crc:0xB2F1, mem_crc:0x0000, reg_crc:0x9186 +Testing lsr_ind...done. pre_crc:0x91FD, mem_crc:0x83E5, reg_crc:0xE7D7 +Testing lsr_d16...done. pre_crc:0xE1F8, mem_crc:0x6A41, reg_crc:0xCDBF +Testing lsr_absl...done. pre_crc:0x3051, mem_crc:0x4E2D, reg_crc:0xB55B +Testing bra_b...done. pre_crc:0x507D, mem_crc:0x0000, reg_crc:0xA03A +Testing bhi_b...done. pre_crc:0xFBDD, mem_crc:0x0000, reg_crc:0x14AF +Testing bls_b...done. pre_crc:0x3523, mem_crc:0x0000, reg_crc:0xF00F +Testing bcc_b...done. pre_crc:0x7BD2, mem_crc:0x0000, reg_crc:0x2C7C +Testing bcs_b...done. pre_crc:0x29EE, mem_crc:0x0000, reg_crc:0x7D50 +Testing bne_b...done. pre_crc:0x98EC, mem_crc:0x0000, reg_crc:0x311C +Testing beq_b...done. pre_crc:0x1F04, mem_crc:0x0000, reg_crc:0x05D7 +Testing bvc_b...done. pre_crc:0xB969, mem_crc:0x0000, reg_crc:0x8133 +Testing bvs_b...done. pre_crc:0x9F4E, mem_crc:0x0000, reg_crc:0x808F +Testing bpl_b...done. pre_crc:0x1EB2, mem_crc:0x0000, reg_crc:0x9A42 +Testing bmi_b...done. pre_crc:0x1F77, mem_crc:0x0000, reg_crc:0x00E1 +Testing bge_b...done. pre_crc:0x4107, mem_crc:0x0000, reg_crc:0xA7EC +Testing blt_b...done. pre_crc:0xC76C, mem_crc:0x0000, reg_crc:0xB200 +Testing bgt_b...done. pre_crc:0x5328, mem_crc:0x0000, reg_crc:0x7952 +Testing ble_b...done. pre_crc:0x7EBB, mem_crc:0x0000, reg_crc:0x375B +Testing bra_w...done. pre_crc:0x4613, mem_crc:0x0000, reg_crc:0xA1A4 +Testing bhi_w...done. pre_crc:0x9952, mem_crc:0x0000, reg_crc:0xD38C +Testing bls_w...done. pre_crc:0x99E4, mem_crc:0x0000, reg_crc:0xC5E2 +Testing bcc_w...done. pre_crc:0xEF63, mem_crc:0x0000, reg_crc:0x3107 +Testing bcs_w...done. pre_crc:0xE7FC, mem_crc:0x0000, reg_crc:0x4B2D +Testing bne_w...done. pre_crc:0x9331, mem_crc:0x0000, reg_crc:0x67DC +Testing beq_w...done. pre_crc:0x7DD8, mem_crc:0x0000, reg_crc:0xE05B +Testing bvc_w...done. pre_crc:0xEC21, mem_crc:0x0000, reg_crc:0x5D1F +Testing bvs_w...done. pre_crc:0x5F35, mem_crc:0x0000, reg_crc:0x2979 +Testing bpl_w...done. pre_crc:0xC777, mem_crc:0x0000, reg_crc:0x1010 +Testing bmi_w...done. pre_crc:0xF7AD, mem_crc:0x0000, reg_crc:0xAF7E +Testing bge_w...done. pre_crc:0x7CD9, mem_crc:0x0000, reg_crc:0x39A3 +Testing blt_w...done. pre_crc:0x5DB3, mem_crc:0x0000, reg_crc:0xEF26 +Testing bgt_w...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0xBDA6 +Testing ble_w...done. pre_crc:0x2E74, mem_crc:0x0000, reg_crc:0x4E84 +Testing bra_l...done. pre_crc:0x355D, mem_crc:0x0000, reg_crc:0xE96B +Testing bhi_l...done. pre_crc:0xB595, mem_crc:0x0000, reg_crc:0x6419 +Testing bls_l...done. pre_crc:0xD972, mem_crc:0x0000, reg_crc:0x4008 +Testing bcc_l...done. pre_crc:0x4BF7, mem_crc:0x0000, reg_crc:0x8C57 +Testing bcs_l...done. pre_crc:0x621F, mem_crc:0x0000, reg_crc:0x8B82 +Testing bne_l...done. pre_crc:0x7C71, mem_crc:0x0000, reg_crc:0xE69D +Testing beq_l...done. pre_crc:0x23DD, mem_crc:0x0000, reg_crc:0xECC2 +Testing bvc_l...done. pre_crc:0x1B90, mem_crc:0x0000, reg_crc:0x3B1A +Testing bvs_l...done. pre_crc:0x4EF8, mem_crc:0x0000, reg_crc:0x5B6E +Testing bpl_l...done. pre_crc:0xE25E, mem_crc:0x0000, reg_crc:0x6A59 +Testing bmi_l...done. pre_crc:0x511F, mem_crc:0x0000, reg_crc:0x8E06 +Testing bge_l...done. pre_crc:0x0686, mem_crc:0x0000, reg_crc:0x86A2 +Testing blt_l...done. pre_crc:0x0AC7, mem_crc:0x0000, reg_crc:0x5556 +Testing bgt_l...done. pre_crc:0x08C6, mem_crc:0x0000, reg_crc:0x94B0 +Testing ble_l...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0x9927 +Testing bchg_reg_reg...done. pre_crc:0x9C30, mem_crc:0x0000, reg_crc:0xE5E3 +Testing bchg_const_reg...done. pre_crc:0x1CA3, mem_crc:0x0000, reg_crc:0xC64E +Testing bchg_reg_ind...done. pre_crc:0x9752, mem_crc:0x0CDD, reg_crc:0x5628 +Testing bchg_const_ind...done. pre_crc:0x77AC, mem_crc:0x6E9B, reg_crc:0xEF9D +Testing bchg_reg_d16...done. pre_crc:0x0B34, mem_crc:0x3823, reg_crc:0x7227 +Testing bchg_const_d16...done. pre_crc:0xFB94, mem_crc:0x31C4, reg_crc:0x90B8 +Testing bchg_reg_absl...done. pre_crc:0x8CC2, mem_crc:0x267C, reg_crc:0xBE71 +Testing bchg_const_absl...done. pre_crc:0x7C94, mem_crc:0x36E4, reg_crc:0x2755 +Testing bclr_reg_reg...done. pre_crc:0xECB2, mem_crc:0x0000, reg_crc:0x9E57 +Testing bclr_const_reg...done. pre_crc:0x36B5, mem_crc:0x0000, reg_crc:0x17AF +Testing bclr_reg_ind...done. pre_crc:0x505B, mem_crc:0x8EDB, reg_crc:0x53E7 +Testing bclr_const_ind...done. pre_crc:0x665D, mem_crc:0x1C01, reg_crc:0x8EA6 +Testing bclr_reg_d16...done. pre_crc:0x161C, mem_crc:0x7DFA, reg_crc:0xEC98 +Testing bclr_const_d16...done. pre_crc:0xFFB7, mem_crc:0x969A, reg_crc:0x29D3 +Testing bclr_reg_absl...done. pre_crc:0x03FF, mem_crc:0xA7EC, reg_crc:0xDF89 +Testing bclr_const_absl...done. pre_crc:0x0A54, mem_crc:0x0E98, reg_crc:0x5BDC +Testing bset_reg_reg...done. pre_crc:0x2BE7, mem_crc:0x0000, reg_crc:0x8A49 +Testing bset_const_reg...done. pre_crc:0x5EEA, mem_crc:0x0000, reg_crc:0x4E88 +Testing bset_reg_ind...done. pre_crc:0x1C9A, mem_crc:0x60C9, reg_crc:0x8945 +Testing bset_const_ind...done. pre_crc:0x3B50, mem_crc:0x3C96, reg_crc:0x29A1 +Testing bset_reg_d16...done. pre_crc:0x8C15, mem_crc:0xC9F6, reg_crc:0xA582 +Testing bset_const_d16...done. pre_crc:0x60BD, mem_crc:0x3B52, reg_crc:0x55B1 +Testing bset_reg_absl...done. pre_crc:0x7C55, mem_crc:0x0B3E, reg_crc:0xD9E6 +Testing bset_const_absl...done. pre_crc:0xBB29, mem_crc:0x2FCE, reg_crc:0xB3C8 +Testing btst_reg_reg...done. pre_crc:0x3C83, mem_crc:0x0000, reg_crc:0x8709 +Testing btst_const_reg...done. pre_crc:0xBDC5, mem_crc:0x0000, reg_crc:0x1B2E +Testing btst_reg_ind...done. pre_crc:0x1101, mem_crc:0x0000, reg_crc:0x5FB4 +Testing btst_const_ind...done. pre_crc:0xD786, mem_crc:0x0000, reg_crc:0x6CF3 +Testing btst_reg_d16...done. pre_crc:0x3A6A, mem_crc:0x0000, reg_crc:0x7002 +Testing btst_const_d16...done. pre_crc:0xBE1F, mem_crc:0x0000, reg_crc:0xC095 +Testing btst_reg_absl...done. pre_crc:0x4DD0, mem_crc:0x0000, reg_crc:0xA49D +Testing btst_const_absl...done. pre_crc:0xB671, mem_crc:0x0000, reg_crc:0xE821 +Testing bfchg_reg...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xC9B1 +Testing bfchg_ind...done. pre_crc:0x8007, mem_crc:0x771D, reg_crc:0xE3EF +Testing bfchg_d16...done. pre_crc:0x2916, mem_crc:0x8586, reg_crc:0x6EE9 +Testing bfchg_absl...done. pre_crc:0xB9DE, mem_crc:0x07B6, reg_crc:0x1F61 +Testing bfclr_reg...done. pre_crc:0x4BA2, mem_crc:0x0000, reg_crc:0x7FDC +Testing bfclr_ind...done. pre_crc:0x9F39, mem_crc:0x0AD1, reg_crc:0xD3D0 +Testing bfclr_d16...done. pre_crc:0xBF2A, mem_crc:0xAB01, reg_crc:0xCF0F +Testing bfclr_absl...done. pre_crc:0xE540, mem_crc:0xE106, reg_crc:0x1640 +Testing bfset_reg...done. pre_crc:0xC767, mem_crc:0x0000, reg_crc:0xEBFC +Testing bfset_ind...done. pre_crc:0x76E6, mem_crc:0x07EF, reg_crc:0xED90 +Testing bfset_d16...done. pre_crc:0x0E8E, mem_crc:0x1DAC, reg_crc:0x1C94 +Testing bfset_absl...done. pre_crc:0xB428, mem_crc:0x0A59, reg_crc:0x2020 +Testing bftst_reg...done. pre_crc:0x4A87, mem_crc:0x0000, reg_crc:0xAE3D +Testing bftst_ind...done. pre_crc:0x3211, mem_crc:0x0000, reg_crc:0xA8D9 +Testing bftst_d16...done. pre_crc:0xEE89, mem_crc:0x0000, reg_crc:0x89C1 +Testing bftst_absl...done. pre_crc:0x7FF8, mem_crc:0x0000, reg_crc:0x7C08 +Testing bfexts_reg...done. pre_crc:0x6E11, mem_crc:0x0000, reg_crc:0xD346 +Testing bfexts_ind...done. pre_crc:0x1333, mem_crc:0x0000, reg_crc:0x50B1 +Testing bfexts_d16...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0x7D5F +Testing bfexts_absl...done. pre_crc:0x2C2E, mem_crc:0x0000, reg_crc:0xE368 +Testing bfextu_reg...done. pre_crc:0xB2FF, mem_crc:0x0000, reg_crc:0x52FE +Testing bfextu_ind...done. pre_crc:0xDA94, mem_crc:0x0000, reg_crc:0x1403 +Testing bfextu_d16...done. pre_crc:0x3EB8, mem_crc:0x0000, reg_crc:0xD63B +Testing bfextu_absl...done. pre_crc:0x440D, mem_crc:0x0000, reg_crc:0x6C7D +Testing bfffo_reg...done. pre_crc:0x515A, mem_crc:0x0000, reg_crc:0x7299 +Testing bfffo_ind...done. pre_crc:0xEB40, mem_crc:0x0000, reg_crc:0x5682 +Testing bfffo_d16...done. pre_crc:0x1B4D, mem_crc:0x0000, reg_crc:0xDCEA +Testing bfffo_absl...done. pre_crc:0xAAAA, mem_crc:0x0000, reg_crc:0x1793 +Testing bfins_reg...done. pre_crc:0x3A96, mem_crc:0x0000, reg_crc:0x782B +Testing bfins_ind...done. pre_crc:0xF996, mem_crc:0xB124, reg_crc:0x1531 +Testing bfins_d16...done. pre_crc:0x60BF, mem_crc:0xAAA9, reg_crc:0x0BE0 +Testing bfins_absl...done. pre_crc:0x032B, mem_crc:0x01F7, reg_crc:0x2E1B +Testing bsr_b...done. pre_crc:0x30D3, mem_crc:0x2515, reg_crc:0x8FB6 +Testing bsr_w...done. pre_crc:0x568C, mem_crc:0x17CF, reg_crc:0x32B6 +Testing bsr_l...done. pre_crc:0xAF0A, mem_crc:0x93DE, reg_crc:0xB442 +Testing cas_ind...done. pre_crc:0xDFED, mem_crc:0x47B1, reg_crc:0x30A0 +Testing cas2_areg...done. pre_crc:0x6592, mem_crc:0x0745, reg_crc:0xB88B +Testing cas2_anyreg...done. pre_crc:0x5442, mem_crc:0x04FD, reg_crc:0xF249 +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0xE0D3 +Testing clrb_ind...done. pre_crc:0x3C4B, mem_crc:0x19D3, reg_crc:0x6039 +Testing clrwl_ind...done. pre_crc:0x3F90, mem_crc:0xA006, reg_crc:0xBE74 +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0x2F2F +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0x110A +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0xAF2E +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x07F8 +Testing cmpb_ind...done. pre_crc:0x3144, mem_crc:0x0000, reg_crc:0x3095 +Testing cmpwl_ind...done. pre_crc:0x1A09, mem_crc:0x0000, reg_crc:0x1FDA +Testing cmpb_d16...done. pre_crc:0xCA9D, mem_crc:0x0000, reg_crc:0xAD6D +Testing cmpwl_d16...done. pre_crc:0x1795, mem_crc:0x0000, reg_crc:0xB7A9 +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0x1EC6 +Testing cmpa_ind...done. pre_crc:0x0BF4, mem_crc:0x0000, reg_crc:0xFF06 +Testing cmpa_ind2...done. pre_crc:0x23C8, mem_crc:0x0000, reg_crc:0xA38E +Testing cmpa_d16...done. pre_crc:0x131E, mem_crc:0x0000, reg_crc:0xB962 +Testing cmpa_d16_2...done. pre_crc:0xF3F1, mem_crc:0x0000, reg_crc:0x4698 +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0x5C41 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0xE5B5 +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0xEE7B +Testing cmpib_ind...done. pre_crc:0x7A02, mem_crc:0x0000, reg_crc:0x8323 +Testing cmpiw_ind...done. pre_crc:0x662F, mem_crc:0x0000, reg_crc:0x9B92 +Testing cmpil_ind...done. pre_crc:0xE8E9, mem_crc:0x0000, reg_crc:0x5D8A +Testing cmpmb...done. pre_crc:0x8D55, mem_crc:0x0000, reg_crc:0xE209 +Testing cmpmwl...done. pre_crc:0x0931, mem_crc:0x0000, reg_crc:0xDFE5 +Testing cmp2b_ind...done. pre_crc:0x8A08, mem_crc:0x0000, reg_crc:0x7265 +Testing cmp2wl_ind...done. pre_crc:0xCBB9, mem_crc:0x0000, reg_crc:0x74B7 +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0x1D81 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x29F1 +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0xD459 +Testing divs_ind...done. pre_crc:0x2B32, mem_crc:0x0000, reg_crc:0x01EC +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0xA267 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0x315E +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0xE340 +Testing divu_ind...done. pre_crc:0x92BA, mem_crc:0x0000, reg_crc:0x8A54 +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x8D1B +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0x9F03 +Testing divul_ll_ind...done. pre_crc:0x9A73, mem_crc:0x0000, reg_crc:0x5DC2 +Testing divul_ll_absl...done. pre_crc:0xF01F, mem_crc:0x0000, reg_crc:0x62C1 +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x12D4 +Testing eor_ind...done. pre_crc:0xB8B3, mem_crc:0x6F78, reg_crc:0xE916 +Testing eor_d16...done. pre_crc:0x23C6, mem_crc:0x336C, reg_crc:0xE195 +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0xF483 +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0xF3A6 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x9DD0 +Testing eoribw_ind...done. pre_crc:0x95D0, mem_crc:0x24F3, reg_crc:0x4608 +Testing eoril_ind...done. pre_crc:0x2D8A, mem_crc:0x0F2B, reg_crc:0x1E27 +Testing eoribw_d16...done. pre_crc:0xEF88, mem_crc:0x59F9, reg_crc:0x18A0 +Testing eoril_d16...done. pre_crc:0x6976, mem_crc:0xD943, reg_crc:0x4ABF +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x9BC4 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0x7686 +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0xDEEB +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x74A6 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0xF7D5 +Testing jmp_ind...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0x5641 +Testing jmp_d16...done. pre_crc:0x538B, mem_crc:0x0000, reg_crc:0xAE0D +Testing jsr_absl...done. pre_crc:0x1D90, mem_crc:0x64A4, reg_crc:0xEEC9 +Testing jsr_ind...done. pre_crc:0x1202, mem_crc:0x1853, reg_crc:0xE676 +Testing jsr_d16...done. pre_crc:0x8507, mem_crc:0x39DB, reg_crc:0xC922 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xF9A0 +Testing linkw...done. pre_crc:0xDD70, mem_crc:0x85FB, reg_crc:0x0C47 +Testing linkl...done. pre_crc:0xBF81, mem_crc:0x8ED8, reg_crc:0x0387 +Testing move16_postinc_postinc...done. pre_crc:0xC529, mem_crc:0x35EE, reg_crc:0x7DC5 +Testing move16_absl_ind...done. pre_crc:0xE659, mem_crc:0x8C2A, reg_crc:0xF11F +Testing move16_absl_postinc...done. pre_crc:0xFE54, mem_crc:0x3A66, reg_crc:0xF622 +Testing move16_ind_absl...done. pre_crc:0xEF13, mem_crc:0x406D, reg_crc:0xBA13 +Testing move16_postinc_absl...done. pre_crc:0x2893, mem_crc:0x2424, reg_crc:0x1DFC +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x613B +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0xA6D2 +Testing moveb_ind_dreg...done. pre_crc:0x6E03, mem_crc:0x0000, reg_crc:0x798F +Testing movewl_ind_dreg...done. pre_crc:0x989F, mem_crc:0x0000, reg_crc:0x72AC +Testing moveb_d16_dreg...done. pre_crc:0xC039, mem_crc:0x0000, reg_crc:0x2D0F +Testing movewl_d16_dreg...done. pre_crc:0x88F0, mem_crc:0x0000, reg_crc:0x7D4B +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0xFF2E +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x7112 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x6528 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0xC73E +Testing moveb_dreg_ind...done. pre_crc:0x09DF, mem_crc:0x8579, reg_crc:0xEE55 +Testing movewl_reg_ind...done. pre_crc:0x7E36, mem_crc:0xEFF2, reg_crc:0x8680 +Testing moveb_dreg_d16...done. pre_crc:0xCC92, mem_crc:0x0E67, reg_crc:0x90D2 +Testing movewl_reg_d16...done. pre_crc:0xE611, mem_crc:0xF454, reg_crc:0x9B94 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0xAACC +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0xD4C3 +Testing moveb_ind_ind...done. pre_crc:0xDBC4, mem_crc:0xE6B9, reg_crc:0xFADB +Testing moveb_ind_d16...done. pre_crc:0xAD20, mem_crc:0xE0A4, reg_crc:0x4504 +Testing moveb_d16_ind...done. pre_crc:0x455B, mem_crc:0x0517, reg_crc:0x9381 +Testing movewl_ind_d16...done. pre_crc:0xECCC, mem_crc:0xF614, reg_crc:0x32AE +Testing movewl_d16_ind...done. pre_crc:0x0A96, mem_crc:0x5E6E, reg_crc:0x334B +Testing moveb_d16_d16...done. pre_crc:0x0627, mem_crc:0x17CF, reg_crc:0x2ADC +Testing movewl_d16_d16...done. pre_crc:0x3F45, mem_crc:0xD72E, reg_crc:0x387F +Testing moveb_ind_absl...done. pre_crc:0xECFF, mem_crc:0x9129, reg_crc:0x29D3 +Testing movewl_ind_absl...done. pre_crc:0x1B01, mem_crc:0xB27D, reg_crc:0x3249 +Testing moveb_absl_ind...done. pre_crc:0xC62A, mem_crc:0x8620, reg_crc:0xCDEC +Testing movewl_absl_ind...done. pre_crc:0x1728, mem_crc:0x225A, reg_crc:0x488B +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0x8398 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0x4FE0 +Testing moveb_d16_absl...done. pre_crc:0x05E5, mem_crc:0xE82D, reg_crc:0x8376 +Testing movewl_d16_absl...done. pre_crc:0x7FED, mem_crc:0x963F, reg_crc:0xD2FF +Testing moveb_absl_d16...done. pre_crc:0x220B, mem_crc:0x28AA, reg_crc:0xB537 +Testing movewl_absl_d16...done. pre_crc:0x3624, mem_crc:0x3935, reg_crc:0x1736 +Testing moveb_const_ind...done. pre_crc:0x813D, mem_crc:0x988C, reg_crc:0x79D5 +Testing moveb_const_d16...done. pre_crc:0x9F3A, mem_crc:0xE31F, reg_crc:0x5CE8 +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0xAB9B +Testing movew_const_ind...done. pre_crc:0x7367, mem_crc:0x84AF, reg_crc:0x1697 +Testing movew_const_d16...done. pre_crc:0x3273, mem_crc:0x73AE, reg_crc:0xB5BF +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0xEF3D +Testing movel_const_ind...done. pre_crc:0xED30, mem_crc:0x2C97, reg_crc:0xEC8C +Testing movel_const_d16...done. pre_crc:0x3B0C, mem_crc:0x3322, reg_crc:0x350F +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xB80F +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0xD7DB +Testing movea_ind...done. pre_crc:0x007A, mem_crc:0x0000, reg_crc:0xA31D +Testing movea_d16...done. pre_crc:0x7091, mem_crc:0x0000, reg_crc:0x67A2 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0xEAD2, mem_crc:0x0000, reg_crc:0x53BB +Testing move_from_ccr_d16...done. pre_crc:0xD9F9, mem_crc:0x0000, reg_crc:0xB718 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x08A1 +Testing move_to_ccr_ind...done. pre_crc:0x1ECE, mem_crc:0x0000, reg_crc:0x3011 +Testing movem_to_ind...done. pre_crc:0x1C15, mem_crc:0x3C28, reg_crc:0x4CFB +Testing movem_to_predec...done. pre_crc:0x3F54, mem_crc:0x0659, reg_crc:0x4812 +Testing movem_to_d16...done. pre_crc:0xA378, mem_crc:0x21C0, reg_crc:0xFB3D +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x1791, mem_crc:0x0000, reg_crc:0x3BF7 +Testing movem_from_ind...done. pre_crc:0x8469, mem_crc:0x0000, reg_crc:0x38BC +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0xBF8E, mem_crc:0x3B5D, reg_crc:0xA6AC +Testing movep_from_mem...done. pre_crc:0xC8EE, mem_crc:0x0000, reg_crc:0xE441 +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0x09FC +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0x7052 +Testing mulsw_ind...done. pre_crc:0xAA10, mem_crc:0x0000, reg_crc:0xCE37 +Testing mulsw_d16...done. pre_crc:0x51ED, mem_crc:0x0000, reg_crc:0x5775 +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xE7CC +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0x8F23 +Testing muluw_ind...done. pre_crc:0xFBE9, mem_crc:0x0000, reg_crc:0x6DEF +Testing muluw_d16...done. pre_crc:0xE848, mem_crc:0x0000, reg_crc:0x3D7A +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0xA6AF +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0x0754 +Testing mulsl_ind...done. pre_crc:0x6A64, mem_crc:0x0000, reg_crc:0x4781 +Testing mulsl_d16...done. pre_crc:0x3102, mem_crc:0x0000, reg_crc:0xF578 +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0x18B4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0xB667 +Testing mulul_ind...done. pre_crc:0x89AA, mem_crc:0x0000, reg_crc:0xE5EA +Testing mulul_d16...done. pre_crc:0x3A21, mem_crc:0x0000, reg_crc:0x30B7 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0x5F56 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x852F +Testing nbcd_ind...done. pre_crc:0xFD67, mem_crc:0xC0C6, reg_crc:0xFB13 +Testing nbcd_d16...done. pre_crc:0xD72C, mem_crc:0x3BC7, reg_crc:0xDEB8 +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0xFD10 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0xBFB9 +Testing negb_ind...done. pre_crc:0xF23D, mem_crc:0x0EEC, reg_crc:0x8ED4 +Testing negwl_ind...done. pre_crc:0xBB4D, mem_crc:0x26AE, reg_crc:0x461A +Testing negb_d16...done. pre_crc:0x0584, mem_crc:0xDBBE, reg_crc:0xBD03 +Testing negwl_d16...done. pre_crc:0x5EC1, mem_crc:0x4697, reg_crc:0x505A +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x17D7 +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x17A3 +Testing negxb_ind...done. pre_crc:0xA580, mem_crc:0xAAA5, reg_crc:0x4759 +Testing negxwl_ind...done. pre_crc:0x8A66, mem_crc:0xCA17, reg_crc:0xE136 +Testing negxb_d16...done. pre_crc:0xC2A0, mem_crc:0x58AD, reg_crc:0x36BB +Testing negxwl_d16...done. pre_crc:0x5F02, mem_crc:0x5C21, reg_crc:0x30A0 +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0xED17 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0x34A1 +Testing notb_ind...done. pre_crc:0x883F, mem_crc:0xAD01, reg_crc:0x33FF +Testing notwl_ind...done. pre_crc:0x1850, mem_crc:0x397E, reg_crc:0xB7EB +Testing notb_d16...done. pre_crc:0x9B91, mem_crc:0x7FAE, reg_crc:0x921C +Testing notwl_d16...done. pre_crc:0xFE70, mem_crc:0x5F5A, reg_crc:0xC022 +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x272D +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0x096F +Testing or_ind_dreg...done. pre_crc:0x193F, mem_crc:0x0000, reg_crc:0x3183 +Testing or_d16_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0x77E7 +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0xB067 +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0x3898 +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5D3B +Testing or_dreg_ind...done. pre_crc:0x15A3, mem_crc:0xA360, reg_crc:0x17CC +Testing or_dreg_d16...done. pre_crc:0xD80C, mem_crc:0x5162, reg_crc:0x723A +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0xB2FA +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0x1FF1 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x0DD6 +Testing oribw_ind...done. pre_crc:0xD52D, mem_crc:0x8B06, reg_crc:0x6D5D +Testing oril_ind...done. pre_crc:0x0294, mem_crc:0x574A, reg_crc:0x7814 +Testing oribw_d16...done. pre_crc:0x02D4, mem_crc:0xE9C4, reg_crc:0x6DDF +Testing oril_d16...done. pre_crc:0x9EE6, mem_crc:0xA108, reg_crc:0x08BA +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0xC446 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0x9737 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0x52D5 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0xF73D +Testing pack_mem...done. pre_crc:0x6AAA, mem_crc:0x2C29, reg_crc:0x7362 +Testing pea_ind...done. pre_crc:0xEACA, mem_crc:0xE361, reg_crc:0x66F5 +Testing pea_d16...done. pre_crc:0xC535, mem_crc:0xD703, reg_crc:0x9179 +Testing pea_absw...done. pre_crc:0x1276, mem_crc:0x52AD, reg_crc:0xCA2B +Testing pea_absl...done. pre_crc:0x6B9B, mem_crc:0x11CC, reg_crc:0x5D4F +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x7F3B +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0xFAA6 +Testing rol_ind...done. pre_crc:0xD587, mem_crc:0x714B, reg_crc:0xDEE8 +Testing rol_d16...done. pre_crc:0x0DEB, mem_crc:0x0883, reg_crc:0x0F9C +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xB1B8 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0x00A6 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x2FAE +Testing ror_ind...done. pre_crc:0x4203, mem_crc:0xB2DE, reg_crc:0xA9FF +Testing ror_d16...done. pre_crc:0x25BB, mem_crc:0xC03F, reg_crc:0x87F3 +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x1C76 +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x0F7E +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xF066 +Testing roxl_ind...done. pre_crc:0xAE7C, mem_crc:0x30E2, reg_crc:0xC1A7 +Testing roxl_d16...done. pre_crc:0x798F, mem_crc:0xF8A7, reg_crc:0x2FCD +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x983B +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0xBE1E +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x09E4 +Testing roxr_ind...done. pre_crc:0xD7D3, mem_crc:0x9861, reg_crc:0x0FE8 +Testing roxr_d16...done. pre_crc:0xDB8E, mem_crc:0x3491, reg_crc:0x5C8E +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0x77A3 +Testing rtd...done. pre_crc:0x26B2, mem_crc:0x0000, reg_crc:0x1781 +Testing rtr...done. pre_crc:0xDC6F, mem_crc:0x0000, reg_crc:0x28DE +Testing rts...done. pre_crc:0x47CD, mem_crc:0x0000, reg_crc:0x1F40 +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0xBAAE +Testing sbcd_mem...done. pre_crc:0x8A5C, mem_crc:0xC9BE, reg_crc:0x4A76 +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xE153 +Testing Scc_ind...done. pre_crc:0xC9E4, mem_crc:0x7EEB, reg_crc:0x3E80 +Testing Scc_d16...done. pre_crc:0x7F11, mem_crc:0xD340, reg_crc:0x3E64 +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0x2908 +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0x7032 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0xC05A +Testing sub_ind_dreg...done. pre_crc:0x1972, mem_crc:0x0000, reg_crc:0xC826 +Testing sub_d16_dreg...done. pre_crc:0x505A, mem_crc:0x0000, reg_crc:0xBF16 +Testing sub_absl_dreg...done. pre_crc:0x2CF5, mem_crc:0x0000, reg_crc:0xA930 +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0x9CA0 +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x556C +Testing subl_const_dreg...done. pre_crc:0x8FC8, mem_crc:0x0000, reg_crc:0x23C1 +Testing sub_dreg_ind...done. pre_crc:0xDC7E, mem_crc:0x6C44, reg_crc:0x237A +Testing sub_dreg_d16...done. pre_crc:0x9C13, mem_crc:0xC614, reg_crc:0xC7E9 +Testing sub_dreg_absl...done. pre_crc:0xCE51, mem_crc:0xAD25, reg_crc:0x5CCC +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0xB9F4, mem_crc:0x0000, reg_crc:0xDCAD +Testing suba_d16_areg...done. pre_crc:0xE6CA, mem_crc:0x0000, reg_crc:0xC476 +Testing suba_absl_areg...done. pre_crc:0xF4AD, mem_crc:0x0000, reg_crc:0x0909 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x0FC0 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xA194 +Testing subibw_ind...done. pre_crc:0xD4E7, mem_crc:0x05DB, reg_crc:0x8BE8 +Testing subil_ind...done. pre_crc:0xCE5A, mem_crc:0xCDFE, reg_crc:0x5605 +Testing subibw_d16...done. pre_crc:0x0B82, mem_crc:0xB31C, reg_crc:0xB3BA +Testing subil_d16...done. pre_crc:0x2579, mem_crc:0xDC5E, reg_crc:0x53F9 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x1FB9 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x3F8E +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0xB71B +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0x4736 +Testing subq_ind...done. pre_crc:0xF044, mem_crc:0xE8B2, reg_crc:0x606C +Testing subq_d16...done. pre_crc:0x72FD, mem_crc:0x11A3, reg_crc:0x1C32 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0x4B88 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0x65F6 +Testing subx_mem...done. pre_crc:0x224B, mem_crc:0x7EB1, reg_crc:0x2DB4 +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0x1626 +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0x3042 +Testing tas_ind...done. pre_crc:0xBD2D, mem_crc:0x5055, reg_crc:0x056C +Testing tas_d16...done. pre_crc:0x3506, mem_crc:0x056C, reg_crc:0xDAC1 +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0x62F1 +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0x0DBA +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0x4CE3 +Testing tstb_ind...done. pre_crc:0x3370, mem_crc:0x0000, reg_crc:0x1EEE +Testing tstwl_ind...done. pre_crc:0x1672, mem_crc:0x0000, reg_crc:0x3C5C +Testing tstb_d16...done. pre_crc:0x1F33, mem_crc:0x0000, reg_crc:0x3EF8 +Testing tstwl_d16...done. pre_crc:0x7FED, mem_crc:0x0000, reg_crc:0x7B6A +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0xF077 diff --git a/test/freq b/test/freq new file mode 100644 index 0000000..571e6c1 --- /dev/null +++ b/test/freq @@ -0,0 +1,9 @@ +1925792.000000 instructions total. +0x14C0: 525216 27.27% +0x0056: 350144 18.18% +0x0000: 175072 9.09% +0x00B2: 175072 9.09% +0x059F: 175072 9.09% +0x05C2: 175072 9.09% +0x0A2A: 175072 9.09% +0x14FB: 175072 9.09% diff --git a/test/glibc.1 b/test/glibc.1 new file mode 100644 index 0000000..04fd267 --- /dev/null +++ b/test/glibc.1 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0x8A5E, cc_crc:0x1AE0 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0x7CA7, cc_crc:0xEBAA +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0x4435, cc_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x8062, mem_crc:0xE9D6, reg_crc:0x2B60, cc_crc:0xDD8E +Testing unlk...done. pre_crc:0x32A2, mem_crc:0x0000, reg_crc:0xD36E, cc_crc:0x120F +Testing movewl_ind_ind...done. pre_crc:0x2692, mem_crc:0xB7E2, reg_crc:0x9524, cc_crc:0x12B2 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0xC96A, cc_crc:0xD020 +Testing divsl_ll_ind...done. pre_crc:0x7252, mem_crc:0x0000, reg_crc:0x7C10, cc_crc:0xA042 +Testing divsl_ll_absl...done. pre_crc:0x03C4, mem_crc:0x0000, reg_crc:0xE16F, cc_crc:0x663C +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0xF642, cc_crc:0xD6BA +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0xEC5E, cc_crc:0x7EB4 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x0000, cc_crc:0x1398 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0x9EAD, cc_crc:0xA54B +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0x69CF, cc_crc:0x02F8 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0x8222, cc_crc:0xD362 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0xE5B5, cc_crc:0x36A9 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0x5C88, cc_crc:0x2068 +Testing lea_ind_preix...done. pre_crc:0x3E75, mem_crc:0x0000, reg_crc:0xA39C, cc_crc:0x5A99 +Testing lea_ind_postix...done. pre_crc:0xAACB, mem_crc:0x0000, reg_crc:0xCF35, cc_crc:0x4343 +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xCEAD, cc_crc:0xA420 +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x2D7D, cc_crc:0x586B +Testing abcd_mem...done. pre_crc:0x5794, mem_crc:0x1F54, reg_crc:0xEBD2, cc_crc:0x7F37 +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0x9443, cc_crc:0xE20F +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x2DA9, cc_crc:0x1A9E +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0x5B57, cc_crc:0xFD98 +Testing add_d16_dreg...done. pre_crc:0x4339, mem_crc:0x0000, reg_crc:0xE1CC, cc_crc:0xEA9E +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xED69, cc_crc:0x9B4F +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xC862, cc_crc:0xD839 +Testing add_dreg_ind...done. pre_crc:0x8A40, mem_crc:0x169E, reg_crc:0x1C6E, cc_crc:0x48EE +Testing add_ind_dreg...done. pre_crc:0x0101, mem_crc:0x0000, reg_crc:0x9294, cc_crc:0x968B +Testing addl_const_dreg...done. pre_crc:0x0A75, mem_crc:0x0000, reg_crc:0x6129, cc_crc:0x4ACD +Testing add_dreg_d16...done. pre_crc:0x7C66, mem_crc:0xC78C, reg_crc:0xB6F8, cc_crc:0x9E3E +Testing add_dreg_absl...done. pre_crc:0xE421, mem_crc:0x15A2, reg_crc:0xDA5D, cc_crc:0x3BB5 +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x3DBA, cc_crc:0x492F +Testing addal_reg_areg...done. pre_crc:0xB728, mem_crc:0x0000, reg_crc:0xC85B, cc_crc:0xAD83 +Testing adda_ind_areg...done. pre_crc:0xFCAA, mem_crc:0x0000, reg_crc:0x1439, cc_crc:0x4B44 +Testing adda_d16_areg...done. pre_crc:0x71DF, mem_crc:0x0000, reg_crc:0xC8E6, cc_crc:0x317A +Testing adda_absl_areg...done. pre_crc:0x9505, mem_crc:0x0000, reg_crc:0x3113, cc_crc:0x0DBA +Testing addaw_const_areg...done. pre_crc:0xBB14, mem_crc:0x0000, reg_crc:0x0F56, cc_crc:0x9550 +Testing addal_const_areg...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0xD456, cc_crc:0x89E0 +Testing addibw_dreg...done. pre_crc:0x260E, mem_crc:0x0000, reg_crc:0x6B91, cc_crc:0xC3D8 +Testing addil_dreg...done. pre_crc:0x62BD, mem_crc:0x0000, reg_crc:0xC776, cc_crc:0x7D30 +Testing addibw_ind...done. pre_crc:0x1596, mem_crc:0x0219, reg_crc:0xF3F3, cc_crc:0x8007 +Testing addil_ind...done. pre_crc:0x7430, mem_crc:0x91A4, reg_crc:0x4DEB, cc_crc:0x4ECA +Testing addibw_d16...done. pre_crc:0x4BD3, mem_crc:0x3497, reg_crc:0xCD08, cc_crc:0x2D3F +Testing addil_d16...done. pre_crc:0x61A3, mem_crc:0x1453, reg_crc:0x8711, cc_crc:0x745A +Testing addibw_absl...done. pre_crc:0x5139, mem_crc:0x00D1, reg_crc:0xDA97, cc_crc:0x4B60 +Testing addil_absl...done. pre_crc:0xEB1E, mem_crc:0xA5C5, reg_crc:0x9F9A, cc_crc:0xA292 +Testing addq_dreg...done. pre_crc:0xD176, mem_crc:0x0000, reg_crc:0xB35D, cc_crc:0xAC06 +Testing addq_areg...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0x54C4, cc_crc:0x78E7 +Testing addq_ind...done. pre_crc:0x01F1, mem_crc:0x1BA5, reg_crc:0x181B, cc_crc:0x3B10 +Testing addq_d16...done. pre_crc:0xA6D4, mem_crc:0x7E00, reg_crc:0xCDAB, cc_crc:0x5B0E +Testing addq_absl...done. pre_crc:0xFD05, mem_crc:0x2747, reg_crc:0x3E57, cc_crc:0x2778 +Testing addx_reg...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0xCFAC, cc_crc:0xF02B +Testing addx_mem...done. pre_crc:0xAB99, mem_crc:0xCDF4, reg_crc:0x536F, cc_crc:0xEB39 +Testing and_dreg_dreg...done. pre_crc:0xBD22, mem_crc:0x0000, reg_crc:0x95B2, cc_crc:0x7D21 +Testing and_ind_dreg...done. pre_crc:0x46FF, mem_crc:0x0000, reg_crc:0x1878, cc_crc:0x4405 +Testing and_d16_dreg...done. pre_crc:0x6BCE, mem_crc:0x0000, reg_crc:0x34AE, cc_crc:0x94D0 +Testing and_absl_dreg...done. pre_crc:0x67B2, mem_crc:0x0000, reg_crc:0xA3EB, cc_crc:0xC81C +Testing andbw_const_dreg...done. pre_crc:0x0165, mem_crc:0x0000, reg_crc:0xF99A, cc_crc:0xFF84 +Testing andl_const_dreg...done. pre_crc:0xD8DC, mem_crc:0x0000, reg_crc:0xBDD4, cc_crc:0x66C3 +Testing and_dreg_ind...done. pre_crc:0x3A84, mem_crc:0x823F, reg_crc:0x2DED, cc_crc:0x6B5D +Testing and_dreg_d16...done. pre_crc:0x47E3, mem_crc:0xD34F, reg_crc:0x15E5, cc_crc:0x7502 +Testing and_dreg_absl...done. pre_crc:0x8354, mem_crc:0xF4B9, reg_crc:0xA15D, cc_crc:0x7BAA +Testing andibw_dreg...done. pre_crc:0x56E9, mem_crc:0x0000, reg_crc:0xFA22, cc_crc:0x5566 +Testing andil_dreg...done. pre_crc:0x3C94, mem_crc:0x0000, reg_crc:0x8E21, cc_crc:0x5704 +Testing andibw_ind...done. pre_crc:0xC876, mem_crc:0x6E2C, reg_crc:0x5798, cc_crc:0x646D +Testing andil_ind...done. pre_crc:0x5EF4, mem_crc:0x79C4, reg_crc:0x0F8D, cc_crc:0xED8B +Testing andibw_d16...done. pre_crc:0xF78E, mem_crc:0x4148, reg_crc:0xD567, cc_crc:0xDC3B +Testing andil_d16...done. pre_crc:0xB870, mem_crc:0x8ED7, reg_crc:0xA90F, cc_crc:0x4BD1 +Testing andibw_absl...done. pre_crc:0x3D1C, mem_crc:0x02C4, reg_crc:0x92A1, cc_crc:0xBD42 +Testing andil_absl...done. pre_crc:0xB921, mem_crc:0x987A, reg_crc:0x217D, cc_crc:0xCBD6 +Testing andi_to_ccr...done. pre_crc:0x3F68, mem_crc:0x0000, reg_crc:0xF3D4, cc_crc:0x4DD8 +Testing asl_dx_dy...done. pre_crc:0x223C, mem_crc:0x0000, reg_crc:0x2BD2, cc_crc:0x5F24 +Testing asl_const_dy...done. pre_crc:0x3313, mem_crc:0x0000, reg_crc:0xD4D7, cc_crc:0x833B +Testing asl_ind...done. pre_crc:0x2FD9, mem_crc:0xB30D, reg_crc:0x164C, cc_crc:0xBADF +Testing asl_d16...done. pre_crc:0xAAFD, mem_crc:0x5A95, reg_crc:0xADDA, cc_crc:0xD55E +Testing asl_absl...done. pre_crc:0x21E1, mem_crc:0x5EEA, reg_crc:0x37F2, cc_crc:0x8575 +Testing asr_dx_dy...done. pre_crc:0xDEF4, mem_crc:0x0000, reg_crc:0x3C0C, cc_crc:0xFF53 +Testing asr_const_dy...done. pre_crc:0x9019, mem_crc:0x0000, reg_crc:0x5E64, cc_crc:0xC02D +Testing asr_ind...done. pre_crc:0x05FD, mem_crc:0xB433, reg_crc:0x09C9, cc_crc:0x069C +Testing asr_d16...done. pre_crc:0xD5E9, mem_crc:0xA53A, reg_crc:0xF81F, cc_crc:0xB926 +Testing asr_absl...done. pre_crc:0xF150, mem_crc:0xD295, reg_crc:0x1F76, cc_crc:0x7CFB +Testing lsl_dx_dy...done. pre_crc:0xD75E, mem_crc:0x0000, reg_crc:0x80B5, cc_crc:0x16DA +Testing lsl_const_dy...done. pre_crc:0xFEBB, mem_crc:0x0000, reg_crc:0x106B, cc_crc:0xE625 +Testing lsl_ind...done. pre_crc:0x305D, mem_crc:0x8B22, reg_crc:0xBB1E, cc_crc:0xEADA +Testing lsl_d16...done. pre_crc:0x77D1, mem_crc:0xC768, reg_crc:0xF4BC, cc_crc:0x4ABC +Testing lsl_absl...done. pre_crc:0x25E2, mem_crc:0x1B50, reg_crc:0x2D21, cc_crc:0x9FC5 +Testing lsr_dx_dy...done. pre_crc:0x0541, mem_crc:0x0000, reg_crc:0xB56B, cc_crc:0x2EBD +Testing lsr_const_dy...done. pre_crc:0x26C9, mem_crc:0x0000, reg_crc:0xDE2D, cc_crc:0x0335 +Testing lsr_ind...done. pre_crc:0xD512, mem_crc:0xE943, reg_crc:0x27F6, cc_crc:0xC60C +Testing lsr_d16...done. pre_crc:0x939F, mem_crc:0x6CBB, reg_crc:0xB64C, cc_crc:0x5D0E +Testing lsr_absl...done. pre_crc:0x002C, mem_crc:0x321C, reg_crc:0xF8BF, cc_crc:0x47CF +Testing bra_b...done. pre_crc:0x892A, mem_crc:0x0000, reg_crc:0xD25F, cc_crc:0x247D +Testing bhi_b...done. pre_crc:0x6996, mem_crc:0x0000, reg_crc:0x355F, cc_crc:0xA81F +Testing bls_b...done. pre_crc:0x708C, mem_crc:0x0000, reg_crc:0xFEEC, cc_crc:0x47BE +Testing bcc_b...done. pre_crc:0xD3A7, mem_crc:0x0000, reg_crc:0x3454, cc_crc:0xBE99 +Testing bcs_b...done. pre_crc:0x11D9, mem_crc:0x0000, reg_crc:0x1379, cc_crc:0x7E65 +Testing bne_b...done. pre_crc:0x2CFC, mem_crc:0x0000, reg_crc:0x475F, cc_crc:0xB5AE +Testing beq_b...done. pre_crc:0xE18A, mem_crc:0x0000, reg_crc:0x34E0, cc_crc:0x3DA4 +Testing bvc_b...done. pre_crc:0xCD22, mem_crc:0x0000, reg_crc:0xD5AE, cc_crc:0x0596 +Testing bvs_b...done. pre_crc:0x204C, mem_crc:0x0000, reg_crc:0xFFD7, cc_crc:0xDEFA +Testing bpl_b...done. pre_crc:0x8711, mem_crc:0x0000, reg_crc:0x0CC9, cc_crc:0x55D7 +Testing bmi_b...done. pre_crc:0x1736, mem_crc:0x0000, reg_crc:0x1F62, cc_crc:0x7DFA +Testing bge_b...done. pre_crc:0x480E, mem_crc:0x0000, reg_crc:0xC9BB, cc_crc:0x8FA8 +Testing blt_b...done. pre_crc:0xECE0, mem_crc:0x0000, reg_crc:0x80E5, cc_crc:0x4769 +Testing bgt_b...done. pre_crc:0x2A70, mem_crc:0x0000, reg_crc:0x27B7, cc_crc:0x4A52 +Testing ble_b...done. pre_crc:0xADB3, mem_crc:0x0000, reg_crc:0x5688, cc_crc:0x46FB +Testing bra_w...done. pre_crc:0x962F, mem_crc:0x0000, reg_crc:0xA941, cc_crc:0x6E2A +Testing bhi_w...done. pre_crc:0x0856, mem_crc:0x0000, reg_crc:0xAC65, cc_crc:0x2A6E +Testing bls_w...done. pre_crc:0x972B, mem_crc:0x0000, reg_crc:0xF3B1, cc_crc:0xEE60 +Testing bcc_w...done. pre_crc:0x9873, mem_crc:0x0000, reg_crc:0xB777, cc_crc:0xB144 +Testing bcs_w...done. pre_crc:0x0B72, mem_crc:0x0000, reg_crc:0xCDCB, cc_crc:0xA0CF +Testing bne_w...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0x62E0, cc_crc:0xCF35 +Testing beq_w...done. pre_crc:0xE339, mem_crc:0x0000, reg_crc:0xBF8A, cc_crc:0x1DD1 +Testing bvc_w...done. pre_crc:0x88C7, mem_crc:0x0000, reg_crc:0x3CD1, cc_crc:0xF653 +Testing bvs_w...done. pre_crc:0x4DB3, mem_crc:0x0000, reg_crc:0xE50E, cc_crc:0xDA37 +Testing bpl_w...done. pre_crc:0x9D12, mem_crc:0x0000, reg_crc:0xACF5, cc_crc:0x77E4 +Testing bmi_w...done. pre_crc:0xDF78, mem_crc:0x0000, reg_crc:0xBE3F, cc_crc:0xABFB +Testing bge_w...done. pre_crc:0x0F7D, mem_crc:0x0000, reg_crc:0x8EB7, cc_crc:0x2D4D +Testing blt_w...done. pre_crc:0xCF04, mem_crc:0x0000, reg_crc:0xF4E6, cc_crc:0xABF2 +Testing bgt_w...done. pre_crc:0x6345, mem_crc:0x0000, reg_crc:0xB811, cc_crc:0x07D6 +Testing ble_w...done. pre_crc:0xD85E, mem_crc:0x0000, reg_crc:0x5791, cc_crc:0x2D96 +Testing bra_l...done. pre_crc:0xFF14, mem_crc:0x0000, reg_crc:0x3857, cc_crc:0xCB75 +Testing bhi_l...done. pre_crc:0x6C7B, mem_crc:0x0000, reg_crc:0xDC1F, cc_crc:0x0678 +Testing bls_l...done. pre_crc:0x86F4, mem_crc:0x0000, reg_crc:0x9280, cc_crc:0x0AFC +Testing bcc_l...done. pre_crc:0x1C70, mem_crc:0x0000, reg_crc:0x3E2F, cc_crc:0xE81E +Testing bcs_l...done. pre_crc:0xCD68, mem_crc:0x0000, reg_crc:0x2D33, cc_crc:0x964B +Testing bne_l...done. pre_crc:0xEC8E, mem_crc:0x0000, reg_crc:0xDDC6, cc_crc:0xD414 +Testing beq_l...done. pre_crc:0x34C7, mem_crc:0x0000, reg_crc:0xC7FB, cc_crc:0xCD08 +Testing bvc_l...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0xAD32, cc_crc:0xFD7A +Testing bvs_l...done. pre_crc:0x174C, mem_crc:0x0000, reg_crc:0x2BBB, cc_crc:0xAA88 +Testing bpl_l...done. pre_crc:0xF6B1, mem_crc:0x0000, reg_crc:0xF2B3, cc_crc:0x2B12 +Testing bmi_l...done. pre_crc:0x4653, mem_crc:0x0000, reg_crc:0x11D7, cc_crc:0x50F3 +Testing bge_l...done. pre_crc:0x1804, mem_crc:0x0000, reg_crc:0xAF95, cc_crc:0x539C +Testing blt_l...done. pre_crc:0xA540, mem_crc:0x0000, reg_crc:0x8AAD, cc_crc:0xD80C +Testing bgt_l...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x14A9, cc_crc:0x902E +Testing ble_l...done. pre_crc:0xBCDA, mem_crc:0x0000, reg_crc:0xAC55, cc_crc:0xF995 +Testing bchg_reg_reg...done. pre_crc:0x079F, mem_crc:0x0000, reg_crc:0x7BA3, cc_crc:0x424D +Testing bchg_const_reg...done. pre_crc:0x30E8, mem_crc:0x0000, reg_crc:0x17E2, cc_crc:0xD392 +Testing bchg_reg_ind...done. pre_crc:0xE8C3, mem_crc:0x21DD, reg_crc:0xECC7, cc_crc:0x7B17 +Testing bchg_const_ind...done. pre_crc:0x2E2C, mem_crc:0xF6AC, reg_crc:0x3E8A, cc_crc:0x382F +Testing bchg_reg_d16...done. pre_crc:0xC6E8, mem_crc:0xFE49, reg_crc:0x0204, cc_crc:0xD4DB +Testing bchg_const_d16...done. pre_crc:0xFFED, mem_crc:0xBD8B, reg_crc:0x90E2, cc_crc:0xD16F +Testing bchg_reg_absl...done. pre_crc:0x2C28, mem_crc:0x2FFE, reg_crc:0x59C0, cc_crc:0x4C43 +Testing bchg_const_absl...done. pre_crc:0x125E, mem_crc:0x6292, reg_crc:0x9EE3, cc_crc:0x258F +Testing bclr_reg_reg...done. pre_crc:0x08D2, mem_crc:0x0000, reg_crc:0xCFA6, cc_crc:0x78FA +Testing bclr_const_reg...done. pre_crc:0x5163, mem_crc:0x0000, reg_crc:0x8863, cc_crc:0x7850 +Testing bclr_reg_ind...done. pre_crc:0xF363, mem_crc:0x6A05, reg_crc:0xA039, cc_crc:0xCCD2 +Testing bclr_const_ind...done. pre_crc:0x1C8D, mem_crc:0x646B, reg_crc:0xB8C5, cc_crc:0x0AA3 +Testing bclr_reg_d16...done. pre_crc:0xAC92, mem_crc:0x390C, reg_crc:0x875C, cc_crc:0x6FDE +Testing bclr_const_d16...done. pre_crc:0x534C, mem_crc:0xB6EA, reg_crc:0x790E, cc_crc:0xB946 +Testing bclr_reg_absl...done. pre_crc:0xAB6F, mem_crc:0xBB50, reg_crc:0xA27C, cc_crc:0x173A +Testing bclr_const_absl...done. pre_crc:0x0752, mem_crc:0x9710, reg_crc:0xE2B2, cc_crc:0xBF70 +Testing bset_reg_reg...done. pre_crc:0x9018, mem_crc:0x0000, reg_crc:0x558B, cc_crc:0x162F +Testing bset_const_reg...done. pre_crc:0x265C, mem_crc:0x0000, reg_crc:0xFC0A, cc_crc:0x4976 +Testing bset_reg_ind...done. pre_crc:0x543B, mem_crc:0xE463, reg_crc:0xF548, cc_crc:0xCB7C +Testing bset_const_ind...done. pre_crc:0x2D9D, mem_crc:0x282D, reg_crc:0x7139, cc_crc:0x67FB +Testing bset_reg_d16...done. pre_crc:0x3523, mem_crc:0xF292, reg_crc:0x1B6C, cc_crc:0x99D1 +Testing bset_const_d16...done. pre_crc:0xC602, mem_crc:0x8830, reg_crc:0x287E, cc_crc:0xFD91 +Testing bset_reg_absl...done. pre_crc:0xCD7A, mem_crc:0x328A, reg_crc:0x7E69, cc_crc:0xA0A9 +Testing bset_const_absl...done. pre_crc:0x9FB4, mem_crc:0x29DA, reg_crc:0x904E, cc_crc:0x93D7 +Testing btst_reg_reg...done. pre_crc:0x6DDC, mem_crc:0x0000, reg_crc:0xFBA1, cc_crc:0x1F7F +Testing btst_const_reg...done. pre_crc:0x87FC, mem_crc:0x0000, reg_crc:0xB03E, cc_crc:0x9BF8 +Testing btst_reg_ind...done. pre_crc:0x421B, mem_crc:0x0000, reg_crc:0xD1BD, cc_crc:0x11C6 +Testing btst_const_ind...done. pre_crc:0xC703, mem_crc:0x0000, reg_crc:0xEDE1, cc_crc:0xB117 +Testing btst_reg_d16...done. pre_crc:0x05CA, mem_crc:0x0000, reg_crc:0xFFB8, cc_crc:0x7568 +Testing btst_const_d16...done. pre_crc:0xD7AE, mem_crc:0x0000, reg_crc:0x61DF, cc_crc:0x4FFB +Testing btst_reg_absl...done. pre_crc:0x267C, mem_crc:0x0000, reg_crc:0xC0E7, cc_crc:0x61E9 +Testing btst_const_absl...done. pre_crc:0x8263, mem_crc:0x0000, reg_crc:0x217E, cc_crc:0x9F8B +Testing bfchg_reg...done. pre_crc:0x8A46, mem_crc:0x0000, reg_crc:0x7DEE, cc_crc:0x5990 +Testing bfchg_ind...done. pre_crc:0x94EE, mem_crc:0xBB4D, reg_crc:0x4B77, cc_crc:0xF611 +Testing bfchg_d16...done. pre_crc:0x9D70, mem_crc:0x1A10, reg_crc:0x5FF6, cc_crc:0x5390 +Testing bfchg_absl...done. pre_crc:0x5B2B, mem_crc:0x8BE2, reg_crc:0xA413, cc_crc:0x08A2 +Testing bfclr_reg...done. pre_crc:0x3998, mem_crc:0x0000, reg_crc:0x7812, cc_crc:0x82E8 +Testing bfclr_ind...done. pre_crc:0x7D08, mem_crc:0x4080, reg_crc:0xB78D, cc_crc:0x79F7 +Testing bfclr_d16...done. pre_crc:0x1608, mem_crc:0xBA8F, reg_crc:0x9E10, cc_crc:0x39B2 +Testing bfclr_absl...done. pre_crc:0x436E, mem_crc:0x3EC7, reg_crc:0xEF45, cc_crc:0x205B +Testing bfset_reg...done. pre_crc:0x0FD5, mem_crc:0x0000, reg_crc:0x0A48, cc_crc:0xD2ED +Testing bfset_ind...done. pre_crc:0x81BE, mem_crc:0x74FA, reg_crc:0x5C55, cc_crc:0x58C4 +Testing bfset_d16...done. pre_crc:0x6C12, mem_crc:0xEF9B, reg_crc:0xDAD6, cc_crc:0x6443 +Testing bfset_absl...done. pre_crc:0xE19E, mem_crc:0x556A, reg_crc:0x2315, cc_crc:0xC9F9 +Testing bftst_reg...done. pre_crc:0x11D7, mem_crc:0x0000, reg_crc:0xFEF7, cc_crc:0xD871 +Testing bftst_ind...done. pre_crc:0xEF31, mem_crc:0x0000, reg_crc:0x9E49, cc_crc:0x911F +Testing bftst_d16...done. pre_crc:0x0C8B, mem_crc:0x0000, reg_crc:0xFBEA, cc_crc:0x7C23 +Testing bftst_absl...done. pre_crc:0x4813, mem_crc:0x0000, reg_crc:0x7013, cc_crc:0x8CC2 +Testing bfexts_reg...done. pre_crc:0x9903, mem_crc:0x0000, reg_crc:0x47B2, cc_crc:0x038B +Testing bfexts_ind...done. pre_crc:0x473C, mem_crc:0x0000, reg_crc:0xC7FE, cc_crc:0x4315 +Testing bfexts_d16...done. pre_crc:0x7313, mem_crc:0x0000, reg_crc:0x310E, cc_crc:0xAC7B +Testing bfexts_absl...done. pre_crc:0x158D, mem_crc:0x0000, reg_crc:0x244E, cc_crc:0x3E9B +Testing bfextu_reg...done. pre_crc:0x0D1C, mem_crc:0x0000, reg_crc:0xE9DA, cc_crc:0x03C0 +Testing bfextu_ind...done. pre_crc:0xF6D7, mem_crc:0x0000, reg_crc:0xD583, cc_crc:0x4089 +Testing bfextu_d16...done. pre_crc:0x7433, mem_crc:0x0000, reg_crc:0xF300, cc_crc:0x9BDF +Testing bfextu_absl...done. pre_crc:0x51F0, mem_crc:0x0000, reg_crc:0x066C, cc_crc:0xB156 +Testing bfffo_reg...done. pre_crc:0x2C35, mem_crc:0x0000, reg_crc:0x6208, cc_crc:0x004B +Testing bfffo_ind...done. pre_crc:0x612C, mem_crc:0x0000, reg_crc:0xCD5B, cc_crc:0xA810 +Testing bfffo_d16...done. pre_crc:0x1E72, mem_crc:0x0000, reg_crc:0x5B23, cc_crc:0x7661 +Testing bfffo_absl...done. pre_crc:0xC105, mem_crc:0x0000, reg_crc:0x98B3, cc_crc:0xF4A4 +Testing bfins_reg...done. pre_crc:0x6AAC, mem_crc:0x0000, reg_crc:0x0D9B, cc_crc:0x0832 +Testing bfins_ind...done. pre_crc:0xC633, mem_crc:0x9423, reg_crc:0x372C, cc_crc:0xBBFF +Testing bfins_d16...done. pre_crc:0xFEA7, mem_crc:0xA802, reg_crc:0xFAAC, cc_crc:0x5276 +Testing bfins_absl...done. pre_crc:0x23EE, mem_crc:0x81F5, reg_crc:0x61B6, cc_crc:0xC1E9 +Testing bsr_b...done. pre_crc:0x0CC7, mem_crc:0x807F, reg_crc:0xC7C1, cc_crc:0x36D8 +Testing bsr_w...done. pre_crc:0x09BF, mem_crc:0x043B, reg_crc:0x95BE, cc_crc:0x9305 +Testing bsr_l...done. pre_crc:0xE4A7, mem_crc:0xFB34, reg_crc:0xCA14, cc_crc:0x9838 +Testing cas_ind...done. pre_crc:0x150B, mem_crc:0x99EE, reg_crc:0x3ED3, cc_crc:0x4C07 +Testing cas2_areg...done. pre_crc:0x362D, mem_crc:0xF68B, reg_crc:0x3F05, cc_crc:0x6C4E +Testing cas2_anyreg...done. pre_crc:0xDF46, mem_crc:0xAFEB, reg_crc:0x227D, cc_crc:0x5FB8 +Testing clr_reg...done. pre_crc:0x4068, mem_crc:0x0000, reg_crc:0xCC66, cc_crc:0x6B40 +Testing clrb_ind...done. pre_crc:0x01C0, mem_crc:0x7FA1, reg_crc:0x9F3C, cc_crc:0x8C45 +Testing clrwl_ind...done. pre_crc:0xCC8E, mem_crc:0xADB6, reg_crc:0x2501, cc_crc:0xE7E1 +Testing clrb_absl...done. pre_crc:0x1671, mem_crc:0x0B49, reg_crc:0x6D51, cc_crc:0x3036 +Testing clrwl_absl...done. pre_crc:0x78E5, mem_crc:0xB13A, reg_crc:0xAF0A, cc_crc:0x9152 +Testing cmp_dreg...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x3D0D, cc_crc:0x281D +Testing cmp_areg...done. pre_crc:0x3101, mem_crc:0x0000, reg_crc:0x7320, cc_crc:0x6A4E +Testing cmpb_ind...done. pre_crc:0xC90B, mem_crc:0x0000, reg_crc:0x877B, cc_crc:0x5E49 +Testing cmpwl_ind...done. pre_crc:0x5A88, mem_crc:0x0000, reg_crc:0xF4B9, cc_crc:0x9B4F +Testing cmpb_d16...done. pre_crc:0x874B, mem_crc:0x0000, reg_crc:0xC41C, cc_crc:0x6BAB +Testing cmpwl_d16...done. pre_crc:0x2197, mem_crc:0x0000, reg_crc:0x07FD, cc_crc:0x30BE +Testing cmpa_reg...done. pre_crc:0x4044, mem_crc:0x0000, reg_crc:0x69C9, cc_crc:0x6377 +Testing cmpa_ind...done. pre_crc:0x07DC, mem_crc:0x0000, reg_crc:0xF324, cc_crc:0xB537 +Testing cmpa_ind2...done. pre_crc:0x08E6, mem_crc:0x0000, reg_crc:0xF9D1, cc_crc:0xE8BB +Testing cmpa_d16...done. pre_crc:0x8161, mem_crc:0x0000, reg_crc:0xB6F4, cc_crc:0x31F7 +Testing cmpa_d16_2...done. pre_crc:0xFDB3, mem_crc:0x0000, reg_crc:0xF648, cc_crc:0x6053 +Testing cmpa_absl...done. pre_crc:0xCE41, mem_crc:0x0000, reg_crc:0xFD7A, cc_crc:0xC918 +Testing cmpibw_reg...done. pre_crc:0xF433, mem_crc:0x0000, reg_crc:0x5582, cc_crc:0xD48E +Testing cmpil_reg...done. pre_crc:0xDF59, mem_crc:0x0000, reg_crc:0x51F4, cc_crc:0x6E45 +Testing cmpib_ind...done. pre_crc:0x2301, mem_crc:0x0000, reg_crc:0xACCF, cc_crc:0x3FC9 +Testing cmpiw_ind...done. pre_crc:0xA53D, mem_crc:0x0000, reg_crc:0x1C80, cc_crc:0xF311 +Testing cmpil_ind...done. pre_crc:0x1CCD, mem_crc:0x0000, reg_crc:0x6FFA, cc_crc:0xA07D +Testing cmpmb...done. pre_crc:0xB60F, mem_crc:0x0000, reg_crc:0xA140, cc_crc:0x06EB +Testing cmpmwl...done. pre_crc:0xF4FC, mem_crc:0x0000, reg_crc:0xA533, cc_crc:0x0104 +Testing cmp2b_ind...done. pre_crc:0xE0EC, mem_crc:0x0000, reg_crc:0xAB13, cc_crc:0x9072 +Testing cmp2wl_ind...done. pre_crc:0x4665, mem_crc:0x0000, reg_crc:0xED56, cc_crc:0x2CB5 +Testing dbcc...done. pre_crc:0xAD8C, mem_crc:0x0000, reg_crc:0x9C11, cc_crc:0x5BA7 +Testing divs_reg...done. pre_crc:0x770F, mem_crc:0x0000, reg_crc:0x5F05, cc_crc:0x3BCE +Testing divs_same_reg...done. pre_crc:0xF63B, mem_crc:0x0000, reg_crc:0x4A51, cc_crc:0x7DFC +Testing divs_ind...done. pre_crc:0xEFFE, mem_crc:0x0000, reg_crc:0x7B84, cc_crc:0xC46D +Testing divs_absl...done. pre_crc:0x986E, mem_crc:0x0000, reg_crc:0xB453, cc_crc:0x0873 +Testing divu_reg...done. pre_crc:0xD5B4, mem_crc:0x0000, reg_crc:0x737F, cc_crc:0x40A8 +Testing divu_same_reg...done. pre_crc:0x39CE, mem_crc:0x0000, reg_crc:0xE247, cc_crc:0x2106 +Testing divu_ind...done. pre_crc:0x1727, mem_crc:0x0000, reg_crc:0x0E76, cc_crc:0xB62C +Testing divu_absl...done. pre_crc:0x87C9, mem_crc:0x0000, reg_crc:0xE9C2, cc_crc:0xD63B +Testing divul_ll_reg...done. pre_crc:0x311F, mem_crc:0x0000, reg_crc:0xD67F, cc_crc:0x613B +Testing divul_ll_ind...done. pre_crc:0xA324, mem_crc:0x0000, reg_crc:0xAD32, cc_crc:0x4EC3 +Testing divul_ll_absl...done. pre_crc:0xB18F, mem_crc:0x0000, reg_crc:0x7316, cc_crc:0x123F +Testing eor_reg...done. pre_crc:0x77CD, mem_crc:0x0000, reg_crc:0x1951, cc_crc:0xFB61 +Testing eor_ind...done. pre_crc:0x48D7, mem_crc:0xCB67, reg_crc:0xB1B2, cc_crc:0xA485 +Testing eor_d16...done. pre_crc:0xB08F, mem_crc:0x3D85, reg_crc:0xC55C, cc_crc:0x659C +Testing eor_absl...done. pre_crc:0x63D1, mem_crc:0xB52C, reg_crc:0xBCA1, cc_crc:0xD37F +Testing eoribw_dreg...done. pre_crc:0xC652, mem_crc:0x0000, reg_crc:0xF7BA, cc_crc:0x6EF2 +Testing eoril_dreg...done. pre_crc:0xCA96, mem_crc:0x0000, reg_crc:0x3C74, cc_crc:0x601D +Testing eoribw_ind...done. pre_crc:0xEE26, mem_crc:0xE558, reg_crc:0x4C6B, cc_crc:0x4316 +Testing eoril_ind...done. pre_crc:0xF0D3, mem_crc:0xAC47, reg_crc:0x9AA3, cc_crc:0xD2BB +Testing eoribw_d16...done. pre_crc:0x9636, mem_crc:0x782D, reg_crc:0xDC79, cc_crc:0xBDE2 +Testing eoril_d16...done. pre_crc:0x929D, mem_crc:0x607B, reg_crc:0x6A84, cc_crc:0x294F +Testing eoribw_absl...done. pre_crc:0x0B84, mem_crc:0x1866, reg_crc:0xEE06, cc_crc:0x049D +Testing eoril_absl...done. pre_crc:0x8B97, mem_crc:0xB85F, reg_crc:0xBEBD, cc_crc:0xE1D7 +Testing eori_to_ccr...done. pre_crc:0x30BF, mem_crc:0x0000, reg_crc:0x0078, cc_crc:0xA162 +Testing exg...done. pre_crc:0xB2DB, mem_crc:0x0000, reg_crc:0xCC14, cc_crc:0x1A5D +Testing ext...done. pre_crc:0x7326, mem_crc:0x0000, reg_crc:0xC9C5, cc_crc:0x3238 +Testing jmp_absl...done. pre_crc:0x7440, mem_crc:0x0000, reg_crc:0x927F, cc_crc:0xFE68 +Testing jmp_ind...done. pre_crc:0xCA82, mem_crc:0x0000, reg_crc:0x8F80, cc_crc:0xB37F +Testing jmp_d16...done. pre_crc:0x62C4, mem_crc:0x0000, reg_crc:0xDF2A, cc_crc:0x45A8 +Testing jsr_absl...done. pre_crc:0x2E28, mem_crc:0xEB05, reg_crc:0x1855, cc_crc:0x51E9 +Testing jsr_ind...done. pre_crc:0x370B, mem_crc:0xC737, reg_crc:0x8A75, cc_crc:0x3434 +Testing jsr_d16...done. pre_crc:0xBDED, mem_crc:0x5BDF, reg_crc:0x61FB, cc_crc:0xAE0E +Testing lea_ind...done. pre_crc:0xB20B, mem_crc:0x0000, reg_crc:0xA98E, cc_crc:0xFA74 +Testing lea_d16...done. pre_crc:0x02D4, mem_crc:0x0000, reg_crc:0xB60D, cc_crc:0xA462 +Testing lea_absw...done. pre_crc:0x3CD1, mem_crc:0x0000, reg_crc:0xA0E8, cc_crc:0xBF9D +Testing lea_absl...done. pre_crc:0x96D2, mem_crc:0x0000, reg_crc:0x79F1, cc_crc:0x9B16 +Testing linkw...done. pre_crc:0x7A25, mem_crc:0x60C9, reg_crc:0x45DA, cc_crc:0x6A93 +Testing linkl...done. pre_crc:0xAD61, mem_crc:0x4F54, reg_crc:0xAE16, cc_crc:0x9F72 +Testing move16_postinc_postinc...done. pre_crc:0x72D5, mem_crc:0x2E81, reg_crc:0xECB3, cc_crc:0x1529 +Testing move16_absl_ind...done. pre_crc:0xAD9A, mem_crc:0x4CDA, reg_crc:0x5081, cc_crc:0x59C5 +Testing move16_absl_postinc...done. pre_crc:0x0FDA, mem_crc:0x7AA4, reg_crc:0xE730, cc_crc:0x75C1 +Testing move16_ind_absl...done. pre_crc:0x0A80, mem_crc:0x1D17, reg_crc:0x1F67, cc_crc:0x12ED +Testing move16_postinc_absl...done. pre_crc:0x9787, mem_crc:0xA1B6, reg_crc:0xFE3E, cc_crc:0x1F38 +Testing moveb_dreg_dreg...done. pre_crc:0x51C0, mem_crc:0x0000, reg_crc:0xFA4D, cc_crc:0x85BA +Testing movewl_reg_dreg...done. pre_crc:0xE4DF, mem_crc:0x0000, reg_crc:0x58A7, cc_crc:0x73E3 +Testing moveb_ind_dreg...done. pre_crc:0xCC72, mem_crc:0x0000, reg_crc:0xAA7B, cc_crc:0x47DE +Testing movewl_ind_dreg...done. pre_crc:0xAD11, mem_crc:0x0000, reg_crc:0x7F2C, cc_crc:0xDAA1 +Testing moveb_d16_dreg...done. pre_crc:0x1AB2, mem_crc:0x0000, reg_crc:0x802F, cc_crc:0x976D +Testing movewl_d16_dreg...done. pre_crc:0xFE3F, mem_crc:0x0000, reg_crc:0x6006, cc_crc:0x2597 +Testing moveb_absl_dreg...done. pre_crc:0x0B31, mem_crc:0x0000, reg_crc:0x68CB, cc_crc:0x645B +Testing movewl_absl_dreg...done. pre_crc:0x08B5, mem_crc:0x0000, reg_crc:0x7139, cc_crc:0xFA93 +Testing movebw_const_dreg...done. pre_crc:0x348B, mem_crc:0x0000, reg_crc:0xE103, cc_crc:0x7FD5 +Testing movel_const_dreg...done. pre_crc:0x7CC3, mem_crc:0x0000, reg_crc:0x9377, cc_crc:0xD629 +Testing moveb_dreg_ind...done. pre_crc:0xF46B, mem_crc:0x9D2C, reg_crc:0xD0FE, cc_crc:0xA868 +Testing movewl_reg_ind...done. pre_crc:0xBB12, mem_crc:0x2623, reg_crc:0x3AF0, cc_crc:0x4AD6 +Testing moveb_dreg_d16...done. pre_crc:0x5EFC, mem_crc:0x1BB1, reg_crc:0xBD05, cc_crc:0xE3D3 +Testing movewl_reg_d16...done. pre_crc:0x12E6, mem_crc:0xAD02, reg_crc:0xCE9E, cc_crc:0x84B7 +Testing moveb_dreg_absl...done. pre_crc:0x8BF7, mem_crc:0xB0F1, reg_crc:0xEB69, cc_crc:0xBAE5 +Testing movewl_reg_absl...done. pre_crc:0x9AE3, mem_crc:0x180A, reg_crc:0xEFC4, cc_crc:0xBB24 +Testing moveb_ind_ind...done. pre_crc:0x1053, mem_crc:0x73A7, reg_crc:0xFCF5, cc_crc:0x0011 +Testing moveb_ind_d16...done. pre_crc:0x050C, mem_crc:0x912A, reg_crc:0x2C7C, cc_crc:0xEAB5 +Testing moveb_d16_ind...done. pre_crc:0x67C7, mem_crc:0xE4E8, reg_crc:0xE48D, cc_crc:0x1661 +Testing movewl_ind_d16...done. pre_crc:0xF2A8, mem_crc:0x0CA9, reg_crc:0xE7C5, cc_crc:0xF4E3 +Testing movewl_d16_ind...done. pre_crc:0x55F7, mem_crc:0xA95F, reg_crc:0xF1AE, cc_crc:0xA9E1 +Testing moveb_d16_d16...done. pre_crc:0x97B3, mem_crc:0xC4DF, reg_crc:0x3590, cc_crc:0x9EB5 +Testing movewl_d16_d16...done. pre_crc:0xEA57, mem_crc:0x2F54, reg_crc:0x3D4C, cc_crc:0x40D5 +Testing moveb_ind_absl...done. pre_crc:0x76DE, mem_crc:0x8E7E, reg_crc:0x8E55, cc_crc:0x266E +Testing movewl_ind_absl...done. pre_crc:0xAC27, mem_crc:0x14CC, reg_crc:0xE1B7, cc_crc:0xBCE5 +Testing moveb_absl_ind...done. pre_crc:0x2663, mem_crc:0xBF80, reg_crc:0x5125, cc_crc:0x43B3 +Testing movewl_absl_ind...done. pre_crc:0x736D, mem_crc:0xB5C2, reg_crc:0x67B9, cc_crc:0x0FAA +Testing moveb_absl_absl...done. pre_crc:0x769A, mem_crc:0xF2FB, reg_crc:0x5A9A, cc_crc:0x6530 +Testing movewl_absl_absl...done. pre_crc:0xDC5E, mem_crc:0x4501, reg_crc:0x199D, cc_crc:0x1C61 +Testing moveb_d16_absl...done. pre_crc:0xADF8, mem_crc:0x6E0D, reg_crc:0xB034, cc_crc:0x388A +Testing movewl_d16_absl...done. pre_crc:0x2BEE, mem_crc:0xA8DA, reg_crc:0x0966, cc_crc:0xFE97 +Testing moveb_absl_d16...done. pre_crc:0x3AEE, mem_crc:0x392B, reg_crc:0xFE68, cc_crc:0xE82B +Testing movewl_absl_d16...done. pre_crc:0x5FE2, mem_crc:0x912C, reg_crc:0xC374, cc_crc:0xE4E4 +Testing moveb_const_ind...done. pre_crc:0x3D16, mem_crc:0xCF50, reg_crc:0x98C2, cc_crc:0x27BB +Testing moveb_const_d16...done. pre_crc:0x5DF2, mem_crc:0xEF1C, reg_crc:0x6A87, cc_crc:0x0971 +Testing moveb_const_absl...done. pre_crc:0xB5BE, mem_crc:0xC596, reg_crc:0xD08A, cc_crc:0xD902 +Testing movew_const_ind...done. pre_crc:0xCED0, mem_crc:0x88E1, reg_crc:0xCAED, cc_crc:0xDDE4 +Testing movew_const_d16...done. pre_crc:0x822A, mem_crc:0xC0AC, reg_crc:0x7352, cc_crc:0x3189 +Testing movew_const_absl...done. pre_crc:0xD2F8, mem_crc:0x20FB, reg_crc:0xB128, cc_crc:0x9E4C +Testing movel_const_ind...done. pre_crc:0xB8F9, mem_crc:0xF12C, reg_crc:0xC653, cc_crc:0xC57B +Testing movel_const_d16...done. pre_crc:0xB5C0, mem_crc:0xCBCE, reg_crc:0x468A, cc_crc:0x62AE +Testing movel_const_absl...done. pre_crc:0xA419, mem_crc:0xDDB2, reg_crc:0xE1BD, cc_crc:0x82FF +Testing movea_reg...done. pre_crc:0xE773, mem_crc:0x0000, reg_crc:0x5663, cc_crc:0x1510 +Testing movea_ind...done. pre_crc:0x75B0, mem_crc:0x0000, reg_crc:0x6A59, cc_crc:0x9232 +Testing movea_d16...done. pre_crc:0xE71F, mem_crc:0x0000, reg_crc:0xF9B1, cc_crc:0x8ED2 +Testing movea_absl...done. pre_crc:0xD6B3, mem_crc:0x0000, reg_crc:0xE787, cc_crc:0x7FC4 +Testing moveaw_const...done. pre_crc:0x1103, mem_crc:0x0000, reg_crc:0xE190, cc_crc:0x71E2 +Testing moveal_const...done. pre_crc:0xF54F, mem_crc:0x0000, reg_crc:0xB881, cc_crc:0x9EA7 +Testing move_from_ccr_dreg...done. pre_crc:0x22A0, mem_crc:0x0000, reg_crc:0xB323, cc_crc:0x5FA3 +Testing move_from_ccr_ind...done. pre_crc:0xC020, mem_crc:0x0000, reg_crc:0x17EE, cc_crc:0x999C +Testing move_from_ccr_d16...done. pre_crc:0xC3EE, mem_crc:0x0000, reg_crc:0xE3DC, cc_crc:0xF5C3 +Testing move_to_ccr_reg...done. pre_crc:0x8EB6, mem_crc:0x0000, reg_crc:0xEAC2, cc_crc:0xE67A +Testing move_to_ccr_ind...done. pre_crc:0x5202, mem_crc:0x0000, reg_crc:0xD598, cc_crc:0xB34A +Testing movem_to_ind...done. pre_crc:0x2228, mem_crc:0xA729, reg_crc:0xC473, cc_crc:0x3384 +Testing movem_to_predec...done. pre_crc:0x71F9, mem_crc:0x4E9A, reg_crc:0x1E33, cc_crc:0xC2C7 +Testing movem_to_d16...done. pre_crc:0x7219, mem_crc:0x6786, reg_crc:0xDA43, cc_crc:0x40D9 +Testing movem_to_absl...done. pre_crc:0xD7D0, mem_crc:0xFDF2, reg_crc:0x8FE3, cc_crc:0xC267 +Testing movem_from_d16...done. pre_crc:0x4B23, mem_crc:0x0000, reg_crc:0xE7DB, cc_crc:0x9C17 +Testing movem_from_ind...done. pre_crc:0xA29C, mem_crc:0x0000, reg_crc:0x4CDF, cc_crc:0x43F7 +Testing movem_from_absl...done. pre_crc:0x153C, mem_crc:0x0000, reg_crc:0x37A7, cc_crc:0x3440 +Testing movep_to_mem...done. pre_crc:0x300D, mem_crc:0xF1EC, reg_crc:0x3372, cc_crc:0xB957 +Testing movep_from_mem...done. pre_crc:0x5568, mem_crc:0x0000, reg_crc:0x0E34, cc_crc:0x95ED +Testing moveq...done. pre_crc:0x20AF, mem_crc:0x0000, reg_crc:0x8304, cc_crc:0x1962 +Testing mulsw_dreg...done. pre_crc:0x1EEE, mem_crc:0x0000, reg_crc:0x3D64, cc_crc:0x7A8A +Testing mulsw_ind...done. pre_crc:0x7E19, mem_crc:0x0000, reg_crc:0x7844, cc_crc:0xF7C7 +Testing mulsw_d16...done. pre_crc:0xB9F2, mem_crc:0x0000, reg_crc:0x4068, cc_crc:0x6F96 +Testing mulsw_absl...done. pre_crc:0xD9AD, mem_crc:0x0000, reg_crc:0xFF63, cc_crc:0x530A +Testing muluw_dreg...done. pre_crc:0x0408, mem_crc:0x0000, reg_crc:0x480F, cc_crc:0x464F +Testing muluw_ind...done. pre_crc:0xE544, mem_crc:0x0000, reg_crc:0x965F, cc_crc:0x2A34 +Testing muluw_d16...done. pre_crc:0xF482, mem_crc:0x0000, reg_crc:0x366C, cc_crc:0xFEEA +Testing muluw_absl...done. pre_crc:0xDB57, mem_crc:0x0000, reg_crc:0x55E7, cc_crc:0x3A48 +Testing mulsl_dreg...done. pre_crc:0x1014, mem_crc:0x0000, reg_crc:0x1B06, cc_crc:0x9F1B +Testing mulsl_ind...done. pre_crc:0x298E, mem_crc:0x0000, reg_crc:0xBD60, cc_crc:0xB06D +Testing mulsl_d16...done. pre_crc:0x5CE3, mem_crc:0x0000, reg_crc:0x441D, cc_crc:0x5D85 +Testing mulsl_absl...done. pre_crc:0xDA84, mem_crc:0x0000, reg_crc:0x4626, cc_crc:0x9D6E +Testing mulul_dreg...done. pre_crc:0x89E1, mem_crc:0x0000, reg_crc:0xED9C, cc_crc:0xEBD7 +Testing mulul_ind...done. pre_crc:0xA339, mem_crc:0x0000, reg_crc:0x832A, cc_crc:0xB4E8 +Testing mulul_d16...done. pre_crc:0x5BEE, mem_crc:0x0000, reg_crc:0x6B75, cc_crc:0x0D1F +Testing mulul_absl...done. pre_crc:0x6690, mem_crc:0x0000, reg_crc:0x77FC, cc_crc:0xECE3 +Testing nbcd_reg...done. pre_crc:0x3F25, mem_crc:0x0000, reg_crc:0xF3E8, cc_crc:0x0F88 +Testing nbcd_ind...done. pre_crc:0x9B59, mem_crc:0x82BD, reg_crc:0x4FD0, cc_crc:0xBA4C +Testing nbcd_d16...done. pre_crc:0x5434, mem_crc:0xD93B, reg_crc:0x05F5, cc_crc:0xE4AF +Testing nbcd_absl...done. pre_crc:0x0943, mem_crc:0x3333, reg_crc:0xC5A5, cc_crc:0xA955 +Testing neg_reg...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0xB1AA, cc_crc:0x568B +Testing negb_ind...done. pre_crc:0xA25A, mem_crc:0x93DD, reg_crc:0xFF6F, cc_crc:0x5425 +Testing negwl_ind...done. pre_crc:0xB00B, mem_crc:0x45B5, reg_crc:0x0FBB, cc_crc:0xE67C +Testing negb_d16...done. pre_crc:0xDC00, mem_crc:0x2728, reg_crc:0xFCD7, cc_crc:0x363F +Testing negwl_d16...done. pre_crc:0xBE2B, mem_crc:0x74D8, reg_crc:0xA1B6, cc_crc:0xA017 +Testing neg_absl...done. pre_crc:0x16D0, mem_crc:0x934E, reg_crc:0x23B6, cc_crc:0x2545 +Testing negx_reg...done. pre_crc:0xC6B8, mem_crc:0x0000, reg_crc:0xB1A0, cc_crc:0xF1DC +Testing negxb_ind...done. pre_crc:0xE7E5, mem_crc:0x4D84, reg_crc:0x2AAB, cc_crc:0xBF62 +Testing negxwl_ind...done. pre_crc:0x57C7, mem_crc:0xEBF3, reg_crc:0x9044, cc_crc:0x3005 +Testing negxb_d16...done. pre_crc:0xB9FB, mem_crc:0xADD3, reg_crc:0x865E, cc_crc:0x65D8 +Testing negxwl_d16...done. pre_crc:0x83D3, mem_crc:0xC0B8, reg_crc:0xC01B, cc_crc:0x7B36 +Testing negx_absl...done. pre_crc:0x946F, mem_crc:0x53FF, reg_crc:0x5599, cc_crc:0xEFB5 +Testing nop...done. pre_crc:0xF16E, mem_crc:0x0000, reg_crc:0x498F, cc_crc:0x333C +Testing not_reg...done. pre_crc:0xA924, mem_crc:0x0000, reg_crc:0xF003, cc_crc:0xC684 +Testing notb_ind...done. pre_crc:0x2385, mem_crc:0x212E, reg_crc:0xF0C5, cc_crc:0xF695 +Testing notwl_ind...done. pre_crc:0x7C88, mem_crc:0x2B55, reg_crc:0xAFB8, cc_crc:0x5215 +Testing notb_d16...done. pre_crc:0x82A4, mem_crc:0x9E75, reg_crc:0x5C53, cc_crc:0xDA8F +Testing notwl_d16...done. pre_crc:0x4B1C, mem_crc:0xF11F, reg_crc:0x1A70, cc_crc:0xE392 +Testing not_absl...done. pre_crc:0xC2DF, mem_crc:0xB8ED, reg_crc:0x42B4, cc_crc:0x066F +Testing or_dreg_dreg...done. pre_crc:0xCF15, mem_crc:0x0000, reg_crc:0x88FA, cc_crc:0xBE22 +Testing or_ind_dreg...done. pre_crc:0x3F6C, mem_crc:0x0000, reg_crc:0x6059, cc_crc:0x0F71 +Testing or_d16_dreg...done. pre_crc:0xD933, mem_crc:0x0000, reg_crc:0x1934, cc_crc:0x15A7 +Testing or_absl_dreg...done. pre_crc:0x8AF3, mem_crc:0x0000, reg_crc:0xD76C, cc_crc:0xB299 +Testing orbw_const_dreg...done. pre_crc:0x8724, mem_crc:0x0000, reg_crc:0x2CE0, cc_crc:0x5237 +Testing orl_const_dreg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0xDEF5, cc_crc:0x6292 +Testing or_dreg_ind...done. pre_crc:0x6846, mem_crc:0x7C62, reg_crc:0xF846, cc_crc:0xEB18 +Testing or_dreg_d16...done. pre_crc:0xFECB, mem_crc:0x3969, reg_crc:0x2F0D, cc_crc:0x0522 +Testing or_dreg_absl...done. pre_crc:0x0375, mem_crc:0xF2B0, reg_crc:0xEAFB, cc_crc:0xB3D5 +Testing oribw_dreg...done. pre_crc:0xC232, mem_crc:0x0000, reg_crc:0x4863, cc_crc:0xB6AD +Testing oril_dreg...done. pre_crc:0xCC77, mem_crc:0x0000, reg_crc:0x41B7, cc_crc:0xF3D2 +Testing oribw_ind...done. pre_crc:0xB431, mem_crc:0xDA9B, reg_crc:0x52E6, cc_crc:0xED5F +Testing oril_ind...done. pre_crc:0x85C2, mem_crc:0x3966, reg_crc:0x6F09, cc_crc:0x2128 +Testing oribw_d16...done. pre_crc:0x1D87, mem_crc:0xBB18, reg_crc:0xE5DA, cc_crc:0x0F7E +Testing oril_d16...done. pre_crc:0xB167, mem_crc:0x9EA7, reg_crc:0xAB86, cc_crc:0x7739 +Testing oribw_absl...done. pre_crc:0x8FF4, mem_crc:0x1585, reg_crc:0x83B0, cc_crc:0x9BBF +Testing oril_absl...done. pre_crc:0xD927, mem_crc:0xB23A, reg_crc:0x6CFF, cc_crc:0x9666 +Testing ori_to_ccr...done. pre_crc:0xD18F, mem_crc:0x0000, reg_crc:0x9CCA, cc_crc:0x8664 +Testing pack_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0x5377, cc_crc:0xAF66 +Testing pack_mem...done. pre_crc:0x32B2, mem_crc:0xB661, reg_crc:0xB002, cc_crc:0x832A +Testing pea_ind...done. pre_crc:0x216C, mem_crc:0xF3B7, reg_crc:0x4EC5, cc_crc:0xB2F9 +Testing pea_d16...done. pre_crc:0x9D38, mem_crc:0xC4FE, reg_crc:0x56D1, cc_crc:0x546B +Testing pea_absw...done. pre_crc:0x96F5, mem_crc:0x83A1, reg_crc:0x7952, cc_crc:0xACCA +Testing pea_absl...done. pre_crc:0xB23F, mem_crc:0x1253, reg_crc:0x5095, cc_crc:0x641C +Testing rol_dx_dy...done. pre_crc:0x6179, mem_crc:0x0000, reg_crc:0x8FD6, cc_crc:0xFBD0 +Testing rol_const_dy...done. pre_crc:0x0A37, mem_crc:0x0000, reg_crc:0xA183, cc_crc:0x2338 +Testing rol_ind...done. pre_crc:0x20A4, mem_crc:0xA132, reg_crc:0xECBF, cc_crc:0x218B +Testing rol_d16...done. pre_crc:0xE1C6, mem_crc:0x1E0A, reg_crc:0xEFAD, cc_crc:0xE37C +Testing rol_absl...done. pre_crc:0x06A9, mem_crc:0xDABA, reg_crc:0x86B3, cc_crc:0x770C +Testing ror_dx_dy...done. pre_crc:0x6030, mem_crc:0x0000, reg_crc:0xA770, cc_crc:0x194A +Testing ror_const_dy...done. pre_crc:0x404E, mem_crc:0x0000, reg_crc:0x18DE, cc_crc:0x9041 +Testing ror_ind...done. pre_crc:0x7320, mem_crc:0xCD2A, reg_crc:0x9CB8, cc_crc:0x2BEE +Testing ror_d16...done. pre_crc:0x39C5, mem_crc:0x169E, reg_crc:0xC1EC, cc_crc:0xE589 +Testing ror_absl...done. pre_crc:0x9B0A, mem_crc:0x1CEF, reg_crc:0x4901, cc_crc:0x1439 +Testing roxl_dx_dy...done. pre_crc:0xA011, mem_crc:0x0000, reg_crc:0x3451, cc_crc:0x5880 +Testing roxl_const_dy...done. pre_crc:0xE66F, mem_crc:0x0000, reg_crc:0x5EF7, cc_crc:0xA715 +Testing roxl_ind...done. pre_crc:0x57B9, mem_crc:0x08DA, reg_crc:0xD9A4, cc_crc:0xF99F +Testing roxl_d16...done. pre_crc:0xE9D2, mem_crc:0x2FEC, reg_crc:0x0DEC, cc_crc:0xEC31 +Testing roxl_absl...done. pre_crc:0xB9BA, mem_crc:0xEC2F, reg_crc:0xBFC2, cc_crc:0x3804 +Testing roxr_dx_dy...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x2625, cc_crc:0xB4C0 +Testing roxr_const_dy...done. pre_crc:0x3130, mem_crc:0x0000, reg_crc:0x4287, cc_crc:0x8694 +Testing roxr_ind...done. pre_crc:0x84EE, mem_crc:0x6492, reg_crc:0x70F1, cc_crc:0xFDEF +Testing roxr_d16...done. pre_crc:0x4FAA, mem_crc:0x388F, reg_crc:0x0A6F, cc_crc:0x1B09 +Testing roxr_absl...done. pre_crc:0x9492, mem_crc:0x6E52, reg_crc:0xAFC6, cc_crc:0xF58D +Testing rtd...done. pre_crc:0x3F71, mem_crc:0x0000, reg_crc:0x91B5, cc_crc:0x96C9 +Testing rtr...done. pre_crc:0xD7FF, mem_crc:0x0000, reg_crc:0xFFF3, cc_crc:0xD8CA +Testing rts...done. pre_crc:0x596B, mem_crc:0x0000, reg_crc:0x794C, cc_crc:0x07EF +Testing sbcd_reg...done. pre_crc:0x8669, mem_crc:0x0000, reg_crc:0xAE01, cc_crc:0x25F2 +Testing sbcd_mem...done. pre_crc:0xA164, mem_crc:0x0B1C, reg_crc:0xD7A0, cc_crc:0x07EC +Testing Scc_reg...done. pre_crc:0xF0D0, mem_crc:0x0000, reg_crc:0x0039, cc_crc:0x03F5 +Testing Scc_ind...done. pre_crc:0x20C3, mem_crc:0x0B4F, reg_crc:0xA6F9, cc_crc:0x33F0 +Testing Scc_d16...done. pre_crc:0xC292, mem_crc:0x0880, reg_crc:0xE99D, cc_crc:0x6B7F +Testing Scc_absl...done. pre_crc:0x1EC1, mem_crc:0xF1E6, reg_crc:0xD42E, cc_crc:0x0536 +Testing subb_dreg_dreg...done. pre_crc:0xAF79, mem_crc:0x0000, reg_crc:0x1AF2, cc_crc:0x6AB8 +Testing subw_reg_dreg...done. pre_crc:0x4F07, mem_crc:0x0000, reg_crc:0xA505, cc_crc:0x0AF3 +Testing subl_reg_dreg...done. pre_crc:0x1AC8, mem_crc:0x0000, reg_crc:0x054D, cc_crc:0x72C5 +Testing sub_ind_dreg...done. pre_crc:0x14EF, mem_crc:0x0000, reg_crc:0x77B1, cc_crc:0xD777 +Testing sub_d16_dreg...done. pre_crc:0xBC28, mem_crc:0x0000, reg_crc:0xF8DF, cc_crc:0x8269 +Testing sub_absl_dreg...done. pre_crc:0xD84F, mem_crc:0x0000, reg_crc:0xC06F, cc_crc:0xC2A4 +Testing subb_const_dreg...done. pre_crc:0x9B21, mem_crc:0x0000, reg_crc:0x292C, cc_crc:0x2100 +Testing subw_const_dreg...done. pre_crc:0xD248, mem_crc:0x0000, reg_crc:0x8D5C, cc_crc:0x9E4F +Testing subl_const_dreg...done. pre_crc:0x0C6D, mem_crc:0x0000, reg_crc:0xEAC4, cc_crc:0xA606 +Testing sub_dreg_ind...done. pre_crc:0xAB8F, mem_crc:0xB986, reg_crc:0x437F, cc_crc:0x5D61 +Testing sub_dreg_d16...done. pre_crc:0x8BE7, mem_crc:0x09C9, reg_crc:0xCF48, cc_crc:0xA837 +Testing sub_dreg_absl...done. pre_crc:0xD9B9, mem_crc:0x60F9, reg_crc:0xD10C, cc_crc:0x7766 +Testing subaw_reg_areg...done. pre_crc:0x7519, mem_crc:0x0000, reg_crc:0x6167, cc_crc:0x6E23 +Testing subal_reg_areg...done. pre_crc:0xD624, mem_crc:0x0000, reg_crc:0x709E, cc_crc:0x8136 +Testing suba_ind_areg...done. pre_crc:0x197E, mem_crc:0x0000, reg_crc:0xB5EA, cc_crc:0x2466 +Testing suba_d16_areg...done. pre_crc:0x308D, mem_crc:0x0000, reg_crc:0xA223, cc_crc:0x6365 +Testing suba_absl_areg...done. pre_crc:0x46B2, mem_crc:0x0000, reg_crc:0xE35E, cc_crc:0xE664 +Testing subaw_const_areg...done. pre_crc:0x4E2A, mem_crc:0x0000, reg_crc:0xB428, cc_crc:0xDA32 +Testing subal_const_areg...done. pre_crc:0xBB4D, mem_crc:0x0000, reg_crc:0xDB72, cc_crc:0x7E35 +Testing subibw_dreg...done. pre_crc:0x38BF, mem_crc:0x0000, reg_crc:0x0A3A, cc_crc:0xEF32 +Testing subil_dreg...done. pre_crc:0x2C9D, mem_crc:0x0000, reg_crc:0xB4F6, cc_crc:0x52E9 +Testing subibw_ind...done. pre_crc:0x98F9, mem_crc:0x5AC6, reg_crc:0x0E45, cc_crc:0x0A30 +Testing subil_ind...done. pre_crc:0x7CC3, mem_crc:0x73BC, reg_crc:0x47D7, cc_crc:0x77C0 +Testing subibw_d16...done. pre_crc:0xDBA1, mem_crc:0x3AED, reg_crc:0xC719, cc_crc:0x050A +Testing subil_d16...done. pre_crc:0xF64D, mem_crc:0x8589, reg_crc:0x63B7, cc_crc:0x4A31 +Testing subibw_absl...done. pre_crc:0x770E, mem_crc:0xB4DE, reg_crc:0x4877, cc_crc:0x11F9 +Testing subil_absl...done. pre_crc:0x0C58, mem_crc:0x395A, reg_crc:0xDA1A, cc_crc:0xC4A8 +Testing subq_dreg...done. pre_crc:0xAA1A, mem_crc:0x0000, reg_crc:0x06CF, cc_crc:0x3DF4 +Testing subq_areg...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xD80F, cc_crc:0xC4F8 +Testing subq_ind...done. pre_crc:0x56DA, mem_crc:0xE40A, reg_crc:0x5E73, cc_crc:0x1532 +Testing subq_d16...done. pre_crc:0x8BD3, mem_crc:0xD004, reg_crc:0x4496, cc_crc:0xEB78 +Testing subq_absl...done. pre_crc:0x79BC, mem_crc:0x3A0C, reg_crc:0xC476, cc_crc:0x41B8 +Testing subx_reg...done. pre_crc:0x343B, mem_crc:0x0000, reg_crc:0x6429, cc_crc:0xEE3F +Testing subx_mem...done. pre_crc:0xE342, mem_crc:0x898A, reg_crc:0xE444, cc_crc:0xE86A +Testing swap...done. pre_crc:0xBE86, mem_crc:0x0000, reg_crc:0x6A36, cc_crc:0x29D9 +Testing tas_dreg...done. pre_crc:0x4165, mem_crc:0x0000, reg_crc:0xB5BF, cc_crc:0x5BAD +Testing tas_ind...done. pre_crc:0x7CA5, mem_crc:0xAA66, reg_crc:0xD673, cc_crc:0x758C +Testing tas_d16...done. pre_crc:0xB3BB, mem_crc:0xC9B1, reg_crc:0xBAE6, cc_crc:0x2A3D +Testing tas_absl...done. pre_crc:0xA88A, mem_crc:0x0CF0, reg_crc:0x0E15, cc_crc:0x7247 +Testing tstb_dreg...done. pre_crc:0x6E7A, mem_crc:0x0000, reg_crc:0xB9B9, cc_crc:0x94B5 +Testing tstwl_reg...done. pre_crc:0x1C0C, mem_crc:0x0000, reg_crc:0xB22E, cc_crc:0x6162 +Testing tstb_ind...done. pre_crc:0xAF43, mem_crc:0x0000, reg_crc:0x81AF, cc_crc:0x21CF +Testing tstwl_ind...done. pre_crc:0x0DF7, mem_crc:0x0000, reg_crc:0xA458, cc_crc:0x5E70 +Testing tstb_d16...done. pre_crc:0x837A, mem_crc:0x0000, reg_crc:0xC5CF, cc_crc:0x009C +Testing tstwl_d16...done. pre_crc:0x3B9D, mem_crc:0x0000, reg_crc:0xA02B, cc_crc:0xEE28 +Testing tst_absl...done. pre_crc:0xE5E7, mem_crc:0x0000, reg_crc:0x3B04, cc_crc:0x6415 diff --git a/test/glibc.10 b/test/glibc.10 new file mode 100644 index 0000000..8c0dc2e --- /dev/null +++ b/test/glibc.10 @@ -0,0 +1,2 @@ +mem == 0x7F002000 +Testing cmp_dreg...done. pre_crc:0xB455, mem_crc:0x0000, reg_crc:0x8551, cc_crc:0x7658 diff --git a/test/glibc.100 b/test/glibc.100 new file mode 100644 index 0000000..6f9c764 --- /dev/null +++ b/test/glibc.100 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0xA9A4, mem_crc:0x0000, reg_crc:0xCA00, cc_crc:0x73FB +Testing movewl_pcd8_dreg...done. pre_crc:0x658D, mem_crc:0x0000, reg_crc:0xB869, cc_crc:0xC254 +Testing unpk_reg...done. pre_crc:0x86D0, mem_crc:0x0000, reg_crc:0x6C65, cc_crc:0x1AA7 +Testing unpk_mem...done. pre_crc:0xA488, mem_crc:0xAC59, reg_crc:0x99BB, cc_crc:0x6559 +Testing unlk...done. pre_crc:0x2A56, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x693F +Testing movewl_ind_ind...done. pre_crc:0x7855, mem_crc:0x21F9, reg_crc:0xCE40, cc_crc:0x81FC +Testing divsl_ll_reg...done. pre_crc:0xD2BA, mem_crc:0x0000, reg_crc:0x1265, cc_crc:0x313E +Testing divsl_ll_ind...done. pre_crc:0xFE21, mem_crc:0x0000, reg_crc:0xD266, cc_crc:0x27AF +Testing divsl_ll_absl...done. pre_crc:0x77EA, mem_crc:0x0000, reg_crc:0x3A88, cc_crc:0x37C8 +Testing lea_pc_ind_preix...done. pre_crc:0x619A, mem_crc:0x0000, reg_crc:0xB3A7, cc_crc:0x0C96 +Testing lea_pc_ind_postix...done. pre_crc:0x63E7, mem_crc:0x0000, reg_crc:0x7E93, cc_crc:0x00BB +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xA13A, mem_crc:0x0000, reg_crc:0xC5D1, cc_crc:0xEC43 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x18E5, mem_crc:0x0000, reg_crc:0x6359, cc_crc:0xE2FF +Testing moveb_pcd16_dreg...done. pre_crc:0xC0B2, mem_crc:0x0000, reg_crc:0xA627, cc_crc:0xBC43 +Testing movewl_pcd16_dreg...done. pre_crc:0xAD96, mem_crc:0x0000, reg_crc:0x6E4A, cc_crc:0x5425 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xC308, mem_crc:0x0000, reg_crc:0xDDD7, cc_crc:0x630A +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xF345, mem_crc:0x0000, reg_crc:0xF369, cc_crc:0x7C4A +Testing lea_ind_preix...done. pre_crc:0x6509, mem_crc:0x0000, reg_crc:0x9752, cc_crc:0xA04D +Testing lea_ind_postix...done. pre_crc:0x11B9, mem_crc:0x0000, reg_crc:0x6125, cc_crc:0xA9A3 +Testing add_absl_dreg...done. pre_crc:0xB62D, mem_crc:0x0000, reg_crc:0x58C1, cc_crc:0x0213 +Testing abcd_reg...done. pre_crc:0xFF5C, mem_crc:0x0000, reg_crc:0x142D, cc_crc:0x57D0 +Testing abcd_mem...done. pre_crc:0x8093, mem_crc:0x0179, reg_crc:0x4602, cc_crc:0x2FD6 +Testing addb_dreg_dreg...done. pre_crc:0x2739, mem_crc:0x0000, reg_crc:0x297A, cc_crc:0x73EC +Testing addw_reg_dreg...done. pre_crc:0x63CA, mem_crc:0x0000, reg_crc:0x7010, cc_crc:0x5B89 +Testing addl_reg_dreg...done. pre_crc:0x1D4C, mem_crc:0x0000, reg_crc:0xEC70, cc_crc:0xDDF0 +Testing add_d16_dreg...done. pre_crc:0x53F4, mem_crc:0x0000, reg_crc:0x1221, cc_crc:0x6BC1 +Testing addb_const_dreg...done. pre_crc:0x39FC, mem_crc:0x0000, reg_crc:0x7E59, cc_crc:0x842E +Testing addw_const_dreg...done. pre_crc:0xFA5C, mem_crc:0x0000, reg_crc:0x1C51, cc_crc:0x3D52 +Testing add_dreg_ind...done. pre_crc:0xE025, mem_crc:0x87C5, reg_crc:0x401C, cc_crc:0x512A +Testing add_ind_dreg...done. pre_crc:0xF97A, mem_crc:0x0000, reg_crc:0x1367, cc_crc:0x2C98 +Testing addl_const_dreg...done. pre_crc:0x86F9, mem_crc:0x0000, reg_crc:0x94DC, cc_crc:0x68DA +Testing add_dreg_d16...done. pre_crc:0xFB19, mem_crc:0xC8E6, reg_crc:0x2EE4, cc_crc:0x779A +Testing add_dreg_absl...done. pre_crc:0x7EC3, mem_crc:0x5342, reg_crc:0x0213, cc_crc:0x4CAB +Testing addaw_reg_areg...done. pre_crc:0xE6CC, mem_crc:0x0000, reg_crc:0xC816, cc_crc:0x221B +Testing addal_reg_areg...done. pre_crc:0xAE7E, mem_crc:0x0000, reg_crc:0xB5BF, cc_crc:0x5CF6 +Testing adda_ind_areg...done. pre_crc:0xF137, mem_crc:0x0000, reg_crc:0xD79F, cc_crc:0x2CB3 +Testing adda_d16_areg...done. pre_crc:0x8BB9, mem_crc:0x0000, reg_crc:0x581A, cc_crc:0x05DB +Testing adda_absl_areg...done. pre_crc:0xD78C, mem_crc:0x0000, reg_crc:0xCA47, cc_crc:0x2B69 +Testing addaw_const_areg...done. pre_crc:0xD11C, mem_crc:0x0000, reg_crc:0x3C39, cc_crc:0x291C +Testing addal_const_areg...done. pre_crc:0xCBC2, mem_crc:0x0000, reg_crc:0x0773, cc_crc:0xAA71 +Testing addibw_dreg...done. pre_crc:0xDAF3, mem_crc:0x0000, reg_crc:0xF82F, cc_crc:0x26EA +Testing addil_dreg...done. pre_crc:0xBBB3, mem_crc:0x0000, reg_crc:0xE860, cc_crc:0x2717 +Testing addibw_ind...done. pre_crc:0xE13C, mem_crc:0x6E49, reg_crc:0x1FE6, cc_crc:0xDABA +Testing addil_ind...done. pre_crc:0x7D06, mem_crc:0x46E0, reg_crc:0x669C, cc_crc:0xC8A1 +Testing addibw_d16...done. pre_crc:0x2CE3, mem_crc:0x346D, reg_crc:0x09D8, cc_crc:0x4405 +Testing addil_d16...done. pre_crc:0xED66, mem_crc:0xAD73, reg_crc:0x81BD, cc_crc:0x9F36 +Testing addibw_absl...done. pre_crc:0xD796, mem_crc:0x6F0C, reg_crc:0xEA9D, cc_crc:0x1326 +Testing addil_absl...done. pre_crc:0xBE06, mem_crc:0xFD7F, reg_crc:0xBC68, cc_crc:0x726C +Testing addq_dreg...done. pre_crc:0xC9D1, mem_crc:0x0000, reg_crc:0x3D85, cc_crc:0x96F9 +Testing addq_areg...done. pre_crc:0xC7D0, mem_crc:0x0000, reg_crc:0xD519, cc_crc:0xD2AC +Testing addq_ind...done. pre_crc:0x2844, mem_crc:0x5DB3, reg_crc:0x40EF, cc_crc:0x00AA +Testing addq_d16...done. pre_crc:0xE0F9, mem_crc:0x8031, reg_crc:0x5655, cc_crc:0xA458 +Testing addq_absl...done. pre_crc:0xD41C, mem_crc:0xB4A9, reg_crc:0x02C4, cc_crc:0x6B01 +Testing addx_reg...done. pre_crc:0xD339, mem_crc:0x0000, reg_crc:0xCFCA, cc_crc:0x6E76 +Testing addx_mem...done. pre_crc:0x161F, mem_crc:0x7C1F, reg_crc:0xD08A, cc_crc:0x4379 +Testing and_dreg_dreg...done. pre_crc:0xCDBC, mem_crc:0x0000, reg_crc:0x78B1, cc_crc:0x5317 +Testing and_ind_dreg...done. pre_crc:0x93F3, mem_crc:0x0000, reg_crc:0xE2BE, cc_crc:0x40E5 +Testing and_d16_dreg...done. pre_crc:0xC3D5, mem_crc:0x0000, reg_crc:0x8D6F, cc_crc:0x7008 +Testing and_absl_dreg...done. pre_crc:0x84A4, mem_crc:0x0000, reg_crc:0x47B4, cc_crc:0x6065 +Testing andbw_const_dreg...done. pre_crc:0x7EE0, mem_crc:0x0000, reg_crc:0x3820, cc_crc:0x0027 +Testing andl_const_dreg...done. pre_crc:0xB2E1, mem_crc:0x0000, reg_crc:0xDE90, cc_crc:0x0600 +Testing and_dreg_ind...done. pre_crc:0x3EB8, mem_crc:0x9DC2, reg_crc:0x9AAF, cc_crc:0xF54B +Testing and_dreg_d16...done. pre_crc:0x70D1, mem_crc:0xD5BF, reg_crc:0x6AAA, cc_crc:0x855B +Testing and_dreg_absl...done. pre_crc:0xF0A5, mem_crc:0xD27D, reg_crc:0xB57A, cc_crc:0x9B83 +Testing andibw_dreg...done. pre_crc:0x5541, mem_crc:0x0000, reg_crc:0x2CC8, cc_crc:0xAF4B +Testing andil_dreg...done. pre_crc:0xCBDF, mem_crc:0x0000, reg_crc:0xF898, cc_crc:0x6E7C +Testing andibw_ind...done. pre_crc:0x120D, mem_crc:0x0845, reg_crc:0x7B2E, cc_crc:0x1A0E +Testing andil_ind...done. pre_crc:0x3B8D, mem_crc:0x519D, reg_crc:0x34B9, cc_crc:0x3873 +Testing andibw_d16...done. pre_crc:0x7726, mem_crc:0xFD62, reg_crc:0x6571, cc_crc:0x2091 +Testing andil_d16...done. pre_crc:0x36D4, mem_crc:0xB4A5, reg_crc:0xA9F3, cc_crc:0xF624 +Testing andibw_absl...done. pre_crc:0x9891, mem_crc:0x465E, reg_crc:0x7F3D, cc_crc:0xF8A8 +Testing andil_absl...done. pre_crc:0xA965, mem_crc:0x709D, reg_crc:0xFE20, cc_crc:0x0EE6 +Testing andi_to_ccr...done. pre_crc:0xE3DF, mem_crc:0x0000, reg_crc:0x8428, cc_crc:0xF751 +Testing asl_dx_dy...done. pre_crc:0x1F56, mem_crc:0x0000, reg_crc:0x444D, cc_crc:0x6A56 +Testing asl_const_dy...done. pre_crc:0x1097, mem_crc:0x0000, reg_crc:0x49E0, cc_crc:0x01C8 +Testing asl_ind...done. pre_crc:0x73CC, mem_crc:0x1FE0, reg_crc:0x2DDE, cc_crc:0xBC5E +Testing asl_d16...done. pre_crc:0xD67C, mem_crc:0x42C6, reg_crc:0x5918, cc_crc:0x6157 +Testing asl_absl...done. pre_crc:0xED0E, mem_crc:0xF11C, reg_crc:0x0885, cc_crc:0xBBF0 +Testing asr_dx_dy...done. pre_crc:0x544C, mem_crc:0x0000, reg_crc:0x92D6, cc_crc:0x452F +Testing asr_const_dy...done. pre_crc:0x8FBC, mem_crc:0x0000, reg_crc:0xCEC8, cc_crc:0x5807 +Testing asr_ind...done. pre_crc:0xEE3E, mem_crc:0x9875, reg_crc:0xE206, cc_crc:0x25BF +Testing asr_d16...done. pre_crc:0x5B6D, mem_crc:0xB0C2, reg_crc:0x6C14, cc_crc:0xD4C6 +Testing asr_absl...done. pre_crc:0xEF35, mem_crc:0x316E, reg_crc:0xA5F0, cc_crc:0x27A3 +Testing lsl_dx_dy...done. pre_crc:0x758E, mem_crc:0x0000, reg_crc:0x7499, cc_crc:0xE91C +Testing lsl_const_dy...done. pre_crc:0x3380, mem_crc:0x0000, reg_crc:0x168A, cc_crc:0xE0A8 +Testing lsl_ind...done. pre_crc:0x73D7, mem_crc:0xEA16, reg_crc:0x0494, cc_crc:0x79D9 +Testing lsl_d16...done. pre_crc:0x10F6, mem_crc:0x1730, reg_crc:0x002B, cc_crc:0x6443 +Testing lsl_absl...done. pre_crc:0xECAD, mem_crc:0x18E8, reg_crc:0x23C4, cc_crc:0x6656 +Testing lsr_dx_dy...done. pre_crc:0xC68B, mem_crc:0x0000, reg_crc:0x192A, cc_crc:0x892A +Testing lsr_const_dy...done. pre_crc:0x6909, mem_crc:0x0000, reg_crc:0x5656, cc_crc:0x3D45 +Testing lsr_ind...done. pre_crc:0xF014, mem_crc:0xD253, reg_crc:0x55CF, cc_crc:0xEA1C +Testing lsr_d16...done. pre_crc:0xCB12, mem_crc:0x7CEC, reg_crc:0xC1DC, cc_crc:0x5840 +Testing lsr_absl...done. pre_crc:0xAC3A, mem_crc:0x559F, reg_crc:0x41B4, cc_crc:0x9981 +Testing bra_b...done. pre_crc:0x39C6, mem_crc:0x0000, reg_crc:0xD4C0, cc_crc:0xBDC9 +Testing bhi_b...done. pre_crc:0x90B7, mem_crc:0x0000, reg_crc:0x5DC4, cc_crc:0x9B3D +Testing bls_b...done. pre_crc:0xAD89, mem_crc:0x0000, reg_crc:0xBB90, cc_crc:0x0861 +Testing bcc_b...done. pre_crc:0xD1BB, mem_crc:0x0000, reg_crc:0x6D2F, cc_crc:0x9050 +Testing bcs_b...done. pre_crc:0x69C2, mem_crc:0x0000, reg_crc:0x2D44, cc_crc:0x2583 +Testing bne_b...done. pre_crc:0xF285, mem_crc:0x0000, reg_crc:0xE47E, cc_crc:0x3560 +Testing beq_b...done. pre_crc:0xDF85, mem_crc:0x0000, reg_crc:0x8F73, cc_crc:0x39EB +Testing bvc_b...done. pre_crc:0x3703, mem_crc:0x0000, reg_crc:0xF14C, cc_crc:0x4AE3 +Testing bvs_b...done. pre_crc:0xD8DE, mem_crc:0x0000, reg_crc:0xA9DB, cc_crc:0x45B9 +Testing bpl_b...done. pre_crc:0xFF8C, mem_crc:0x0000, reg_crc:0x1C29, cc_crc:0x8F8A +Testing bmi_b...done. pre_crc:0x6923, mem_crc:0x0000, reg_crc:0x211B, cc_crc:0x0E1A +Testing bge_b...done. pre_crc:0x1080, mem_crc:0x0000, reg_crc:0x5E26, cc_crc:0x0C24 +Testing blt_b...done. pre_crc:0x7FB6, mem_crc:0x0000, reg_crc:0x2B77, cc_crc:0xA773 +Testing bgt_b...done. pre_crc:0x9AA8, mem_crc:0x0000, reg_crc:0xF521, cc_crc:0x8B72 +Testing ble_b...done. pre_crc:0xD69A, mem_crc:0x0000, reg_crc:0x40D0, cc_crc:0x1698 +Testing bra_w...done. pre_crc:0x6F3A, mem_crc:0x0000, reg_crc:0x1670, cc_crc:0x4C23 +Testing bhi_w...done. pre_crc:0xEA2C, mem_crc:0x0000, reg_crc:0x9318, cc_crc:0xA544 +Testing bls_w...done. pre_crc:0x5192, mem_crc:0x0000, reg_crc:0xD766, cc_crc:0xD33B +Testing bcc_w...done. pre_crc:0x1570, mem_crc:0x0000, reg_crc:0x3EA7, cc_crc:0xE010 +Testing bcs_w...done. pre_crc:0x7445, mem_crc:0x0000, reg_crc:0x07E6, cc_crc:0xCF30 +Testing bne_w...done. pre_crc:0xEF70, mem_crc:0x0000, reg_crc:0x7654, cc_crc:0xA95A +Testing beq_w...done. pre_crc:0xD431, mem_crc:0x0000, reg_crc:0xBC13, cc_crc:0x88B8 +Testing bvc_w...done. pre_crc:0x2236, mem_crc:0x0000, reg_crc:0xAFB2, cc_crc:0x48A3 +Testing bvs_w...done. pre_crc:0x8425, mem_crc:0x0000, reg_crc:0xB417, cc_crc:0x4361 +Testing bpl_w...done. pre_crc:0x3E19, mem_crc:0x0000, reg_crc:0x15EC, cc_crc:0xEA62 +Testing bmi_w...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x000A, cc_crc:0x3A3F +Testing bge_w...done. pre_crc:0x5710, mem_crc:0x0000, reg_crc:0xD80F, cc_crc:0x5566 +Testing blt_w...done. pre_crc:0x71F8, mem_crc:0x0000, reg_crc:0x8B95, cc_crc:0x6826 +Testing bgt_w...done. pre_crc:0x1132, mem_crc:0x0000, reg_crc:0x55AF, cc_crc:0xF292 +Testing ble_w...done. pre_crc:0xD116, mem_crc:0x0000, reg_crc:0x9F39, cc_crc:0x975D +Testing bra_l...done. pre_crc:0x58E0, mem_crc:0x0000, reg_crc:0xDC7C, cc_crc:0x793B +Testing bhi_l...done. pre_crc:0x70FD, mem_crc:0x0000, reg_crc:0xE4C0, cc_crc:0x3B91 +Testing bls_l...done. pre_crc:0xFA29, mem_crc:0x0000, reg_crc:0xBF8F, cc_crc:0x4288 +Testing bcc_l...done. pre_crc:0xFE60, mem_crc:0x0000, reg_crc:0xADF7, cc_crc:0xA9DE +Testing bcs_l...done. pre_crc:0x13D1, mem_crc:0x0000, reg_crc:0xFCEB, cc_crc:0xBE56 +Testing bne_l...done. pre_crc:0x7748, mem_crc:0x0000, reg_crc:0x25BA, cc_crc:0x69B4 +Testing beq_l...done. pre_crc:0xC611, mem_crc:0x0000, reg_crc:0xC1C1, cc_crc:0x52E6 +Testing bvc_l...done. pre_crc:0x54D0, mem_crc:0x0000, reg_crc:0xEAA8, cc_crc:0x0687 +Testing bvs_l...done. pre_crc:0x7613, mem_crc:0x0000, reg_crc:0x4D77, cc_crc:0xC462 +Testing bpl_l...done. pre_crc:0x1470, mem_crc:0x0000, reg_crc:0x888D, cc_crc:0xD759 +Testing bmi_l...done. pre_crc:0x8E06, mem_crc:0x0000, reg_crc:0x8B69, cc_crc:0x7546 +Testing bge_l...done. pre_crc:0xA41A, mem_crc:0x0000, reg_crc:0x2686, cc_crc:0x20F8 +Testing blt_l...done. pre_crc:0xBBC5, mem_crc:0x0000, reg_crc:0xFE3D, cc_crc:0xC4B0 +Testing bgt_l...done. pre_crc:0x694C, mem_crc:0x0000, reg_crc:0xD50E, cc_crc:0x6021 +Testing ble_l...done. pre_crc:0xE3A0, mem_crc:0x0000, reg_crc:0x405B, cc_crc:0xD0F2 +Testing bchg_reg_reg...done. pre_crc:0xD339, mem_crc:0x0000, reg_crc:0x97AD, cc_crc:0x5AF3 +Testing bchg_const_reg...done. pre_crc:0x2346, mem_crc:0x0000, reg_crc:0xC8CB, cc_crc:0x9071 +Testing bchg_reg_ind...done. pre_crc:0x2138, mem_crc:0xCD43, reg_crc:0x9921, cc_crc:0x768C +Testing bchg_const_ind...done. pre_crc:0x1BFB, mem_crc:0xC8CE, reg_crc:0x2AEF, cc_crc:0x7589 +Testing bchg_reg_d16...done. pre_crc:0x0064, mem_crc:0x6905, reg_crc:0x064D, cc_crc:0xB9DA +Testing bchg_const_d16...done. pre_crc:0x29A4, mem_crc:0x9237, reg_crc:0x3987, cc_crc:0xABAB +Testing bchg_reg_absl...done. pre_crc:0x3DF1, mem_crc:0xE4A0, reg_crc:0x5324, cc_crc:0xB6DF +Testing bchg_const_absl...done. pre_crc:0x5D0D, mem_crc:0x3B10, reg_crc:0x14E2, cc_crc:0x81AC +Testing bclr_reg_reg...done. pre_crc:0x1839, mem_crc:0x0000, reg_crc:0x67BC, cc_crc:0x1057 +Testing bclr_const_reg...done. pre_crc:0x445A, mem_crc:0x0000, reg_crc:0x8619, cc_crc:0xF1FB +Testing bclr_reg_ind...done. pre_crc:0x4E87, mem_crc:0x7456, reg_crc:0x66B1, cc_crc:0xF060 +Testing bclr_const_ind...done. pre_crc:0x910D, mem_crc:0xCDF4, reg_crc:0x990F, cc_crc:0x9152 +Testing bclr_reg_d16...done. pre_crc:0xD3FF, mem_crc:0x6E2C, reg_crc:0x5C99, cc_crc:0x372F +Testing bclr_const_d16...done. pre_crc:0xC4E8, mem_crc:0x42D8, reg_crc:0xF443, cc_crc:0x165D +Testing bclr_reg_absl...done. pre_crc:0x2D33, mem_crc:0xB392, reg_crc:0xE325, cc_crc:0x0B80 +Testing bclr_const_absl...done. pre_crc:0x79B3, mem_crc:0x3715, reg_crc:0x77F0, cc_crc:0xB747 +Testing bset_reg_reg...done. pre_crc:0xEEDF, mem_crc:0x0000, reg_crc:0xA696, cc_crc:0xBF7F +Testing bset_const_reg...done. pre_crc:0x2150, mem_crc:0x0000, reg_crc:0xE5A8, cc_crc:0x242E +Testing bset_reg_ind...done. pre_crc:0xEA4F, mem_crc:0x3D8C, reg_crc:0xEB39, cc_crc:0x3719 +Testing bset_const_ind...done. pre_crc:0x3056, mem_crc:0x3C55, reg_crc:0x5EA1, cc_crc:0x966F +Testing bset_reg_d16...done. pre_crc:0x6AE7, mem_crc:0x2C58, reg_crc:0xF8B3, cc_crc:0x8D33 +Testing bset_const_d16...done. pre_crc:0xDB8A, mem_crc:0xB19A, reg_crc:0x65CA, cc_crc:0xA666 +Testing bset_reg_absl...done. pre_crc:0x73DA, mem_crc:0x53A5, reg_crc:0xF917, cc_crc:0xE76C +Testing bset_const_absl...done. pre_crc:0x86D2, mem_crc:0x2FD5, reg_crc:0x9CB8, cc_crc:0x0378 +Testing btst_reg_reg...done. pre_crc:0xB619, mem_crc:0x0000, reg_crc:0xD441, cc_crc:0x13D9 +Testing btst_const_reg...done. pre_crc:0xAE63, mem_crc:0x0000, reg_crc:0x6C93, cc_crc:0xB736 +Testing btst_reg_ind...done. pre_crc:0xB0EC, mem_crc:0x0000, reg_crc:0x5879, cc_crc:0x9D29 +Testing btst_const_ind...done. pre_crc:0x10D9, mem_crc:0x0000, reg_crc:0x0D2F, cc_crc:0x4E55 +Testing btst_reg_d16...done. pre_crc:0x0E31, mem_crc:0x0000, reg_crc:0x0A4B, cc_crc:0x09D7 +Testing btst_const_d16...done. pre_crc:0x7D71, mem_crc:0x0000, reg_crc:0x0CD4, cc_crc:0xB568 +Testing btst_reg_absl...done. pre_crc:0xA3EF, mem_crc:0x0000, reg_crc:0x0198, cc_crc:0x787E +Testing btst_const_absl...done. pre_crc:0xF910, mem_crc:0x0000, reg_crc:0x99D1, cc_crc:0x9BAB +Testing bfchg_reg...done. pre_crc:0xF8F4, mem_crc:0x0000, reg_crc:0x0028, cc_crc:0x25B0 +Testing bfchg_ind...done. pre_crc:0x3C16, mem_crc:0xB046, reg_crc:0xD1DE, cc_crc:0x9DE0 +Testing bfchg_d16...done. pre_crc:0x5A68, mem_crc:0x7EB8, reg_crc:0xB683, cc_crc:0x310E +Testing bfchg_absl...done. pre_crc:0x191D, mem_crc:0x0D67, reg_crc:0xA5F6, cc_crc:0x23CE +Testing bfclr_reg...done. pre_crc:0x2159, mem_crc:0x0000, reg_crc:0x2034, cc_crc:0x5F03 +Testing bfclr_ind...done. pre_crc:0x02E2, mem_crc:0xEF64, reg_crc:0x0C4E, cc_crc:0x6CD7 +Testing bfclr_d16...done. pre_crc:0x2F8F, mem_crc:0x6116, reg_crc:0xC22A, cc_crc:0x6A84 +Testing bfclr_absl...done. pre_crc:0x9F12, mem_crc:0xFDFE, reg_crc:0x2367, cc_crc:0x9B7A +Testing bfset_reg...done. pre_crc:0xD125, mem_crc:0x0000, reg_crc:0x0294, cc_crc:0x0A48 +Testing bfset_ind...done. pre_crc:0xAC7B, mem_crc:0x0E2C, reg_crc:0x06DD, cc_crc:0x8272 +Testing bfset_d16...done. pre_crc:0x1804, mem_crc:0x0A42, reg_crc:0xAEE6, cc_crc:0x203D +Testing bfset_absl...done. pre_crc:0x9164, mem_crc:0xC19B, reg_crc:0x2529, cc_crc:0x6EF8 +Testing bftst_reg...done. pre_crc:0xF92F, mem_crc:0x0000, reg_crc:0x412E, cc_crc:0xCB4C +Testing bftst_ind...done. pre_crc:0x0EBF, mem_crc:0x0000, reg_crc:0x3F11, cc_crc:0x1160 +Testing bftst_d16...done. pre_crc:0x9CFD, mem_crc:0x0000, reg_crc:0xBE2D, cc_crc:0x366C +Testing bftst_absl...done. pre_crc:0x398C, mem_crc:0x0000, reg_crc:0x03F3, cc_crc:0x1C04 +Testing bfexts_reg...done. pre_crc:0xDF40, mem_crc:0x0000, reg_crc:0x684A, cc_crc:0xBA9B +Testing bfexts_ind...done. pre_crc:0xAE05, mem_crc:0x0000, reg_crc:0x01CD, cc_crc:0x269E +Testing bfexts_d16...done. pre_crc:0xAF69, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x7D74 +Testing bfexts_absl...done. pre_crc:0x8B07, mem_crc:0x0000, reg_crc:0x80F8, cc_crc:0x55C9 +Testing bfextu_reg...done. pre_crc:0x50A4, mem_crc:0x0000, reg_crc:0x3A8E, cc_crc:0xEFF4 +Testing bfextu_ind...done. pre_crc:0xAF9B, mem_crc:0x0000, reg_crc:0x51FD, cc_crc:0xEDA6 +Testing bfextu_d16...done. pre_crc:0xFE3B, mem_crc:0x0000, reg_crc:0x5D25, cc_crc:0x301D +Testing bfextu_absl...done. pre_crc:0xD38E, mem_crc:0x0000, reg_crc:0xA816, cc_crc:0x5F12 +Testing bfffo_reg...done. pre_crc:0x4EB4, mem_crc:0x0000, reg_crc:0x536C, cc_crc:0x00CC +Testing bfffo_ind...done. pre_crc:0xCAF3, mem_crc:0x0000, reg_crc:0xCF77, cc_crc:0x9D0B +Testing bfffo_d16...done. pre_crc:0x5A34, mem_crc:0x0000, reg_crc:0xD652, cc_crc:0x8481 +Testing bfffo_absl...done. pre_crc:0xEECD, mem_crc:0x0000, reg_crc:0xD877, cc_crc:0xC688 +Testing bfins_reg...done. pre_crc:0x03EA, mem_crc:0x0000, reg_crc:0xE856, cc_crc:0x639A +Testing bfins_ind...done. pre_crc:0x1D74, mem_crc:0xA933, reg_crc:0x99E7, cc_crc:0xC83D +Testing bfins_d16...done. pre_crc:0x3F0B, mem_crc:0x84E8, reg_crc:0x044A, cc_crc:0x6454 +Testing bfins_absl...done. pre_crc:0x6C47, mem_crc:0xFB75, reg_crc:0xD148, cc_crc:0x3D2F +Testing bsr_b...done. pre_crc:0xE5AA, mem_crc:0x8803, reg_crc:0x4DAA, cc_crc:0x8994 +Testing bsr_w...done. pre_crc:0x83F5, mem_crc:0xD907, reg_crc:0x9E5E, cc_crc:0x1435 +Testing bsr_l...done. pre_crc:0x7A73, mem_crc:0x322C, reg_crc:0x5B3B, cc_crc:0x1394 +Testing cas_ind...done. pre_crc:0x6BE1, mem_crc:0x47B1, reg_crc:0xBD2B, cc_crc:0x04A1 +Testing cas2_areg...done. pre_crc:0xD19E, mem_crc:0x0745, reg_crc:0xD13C, cc_crc:0x329B +Testing cas2_anyreg...done. pre_crc:0x29C0, mem_crc:0x04FD, reg_crc:0xB833, cc_crc:0xAFCA +Testing clr_reg...done. pre_crc:0x197A, mem_crc:0x0000, reg_crc:0x3B8F, cc_crc:0x1D6C +Testing clrb_ind...done. pre_crc:0x8847, mem_crc:0x19D3, reg_crc:0xAE4C, cc_crc:0x5FFF +Testing clrwl_ind...done. pre_crc:0x8B9C, mem_crc:0xA006, reg_crc:0x4DC9, cc_crc:0x81B2 +Testing clrb_absl...done. pre_crc:0xA0AB, mem_crc:0x0D7A, reg_crc:0x69F3, cc_crc:0xD290 +Testing clrwl_absl...done. pre_crc:0x48BE, mem_crc:0x3587, reg_crc:0xB352, cc_crc:0x0485 +Testing cmp_dreg...done. pre_crc:0x6C8F, mem_crc:0x0000, reg_crc:0x2744, cc_crc:0x9FA9 +Testing cmp_areg...done. pre_crc:0x9E69, mem_crc:0x0000, reg_crc:0x3990, cc_crc:0xEB18 +Testing cmpb_ind...done. pre_crc:0x8548, mem_crc:0x0000, reg_crc:0x4890, cc_crc:0xDE44 +Testing cmpwl_ind...done. pre_crc:0xAE05, mem_crc:0x0000, reg_crc:0x75F7, cc_crc:0xF4DC +Testing cmpb_d16...done. pre_crc:0x76BE, mem_crc:0x0000, reg_crc:0xF30A, cc_crc:0x52BC +Testing cmpwl_d16...done. pre_crc:0xABB6, mem_crc:0x0000, reg_crc:0x1307, cc_crc:0x0FBD +Testing cmpa_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0xDC80, cc_crc:0x502D +Testing cmpa_ind...done. pre_crc:0xB7D7, mem_crc:0x0000, reg_crc:0x2CA2, cc_crc:0xB098 +Testing cmpa_ind2...done. pre_crc:0xF1C7, mem_crc:0x0000, reg_crc:0x1E6C, cc_crc:0x6D80 +Testing cmpa_d16...done. pre_crc:0xAF3D, mem_crc:0x0000, reg_crc:0x8896, cc_crc:0x5C3A +Testing cmpa_d16_2...done. pre_crc:0x21FE, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x3984 +Testing cmpa_absl...done. pre_crc:0xA5F5, mem_crc:0x0000, reg_crc:0x7E81, cc_crc:0x12F9 +Testing cmpibw_reg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0x88FF, cc_crc:0x9B3D +Testing cmpil_reg...done. pre_crc:0x85CD, mem_crc:0x0000, reg_crc:0x50DD, cc_crc:0x0982 +Testing cmpib_ind...done. pre_crc:0xC621, mem_crc:0x0000, reg_crc:0xD920, cc_crc:0xAB3E +Testing cmpiw_ind...done. pre_crc:0xDA0C, mem_crc:0x0000, reg_crc:0x2985, cc_crc:0x2F07 +Testing cmpil_ind...done. pre_crc:0x54CA, mem_crc:0x0000, reg_crc:0x5A2D, cc_crc:0x6624 +Testing cmpmb...done. pre_crc:0x3176, mem_crc:0x0000, reg_crc:0xAF5A, cc_crc:0x8015 +Testing cmpmwl...done. pre_crc:0xB512, mem_crc:0x0000, reg_crc:0x4822, cc_crc:0x5D1F +Testing cmp2b_ind...done. pre_crc:0x362B, mem_crc:0x0000, reg_crc:0x7DF9, cc_crc:0x9437 +Testing cmp2wl_ind...done. pre_crc:0x779A, mem_crc:0x0000, reg_crc:0xCD6E, cc_crc:0x0E94 +Testing dbcc...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0xD11B, cc_crc:0x47D8 +Testing divs_reg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x4A38, cc_crc:0x3B6E +Testing divs_same_reg...done. pre_crc:0x5CA8, mem_crc:0x0000, reg_crc:0x5E8A, cc_crc:0x8BAC +Testing divs_ind...done. pre_crc:0x9711, mem_crc:0x0000, reg_crc:0x29E9, cc_crc:0xBF80 +Testing divs_absl...done. pre_crc:0x3B88, mem_crc:0x0000, reg_crc:0x91B5, cc_crc:0x19D5 +Testing divu_reg...done. pre_crc:0x907F, mem_crc:0x0000, reg_crc:0xC831, cc_crc:0xA229 +Testing divu_same_reg...done. pre_crc:0xE786, mem_crc:0x0000, reg_crc:0x97D9, cc_crc:0x7D36 +Testing divu_ind...done. pre_crc:0x2E99, mem_crc:0x0000, reg_crc:0xEDC6, cc_crc:0xFCBB +Testing divu_absl...done. pre_crc:0x9A17, mem_crc:0x0000, reg_crc:0x4308, cc_crc:0x37BA +Testing divul_ll_reg...done. pre_crc:0x8969, mem_crc:0x0000, reg_crc:0x68FD, cc_crc:0xD3C1 +Testing divul_ll_ind...done. pre_crc:0x2650, mem_crc:0x0000, reg_crc:0xDBC3, cc_crc:0xD8C0 +Testing divul_ll_absl...done. pre_crc:0x4C3C, mem_crc:0x0000, reg_crc:0x59B8, cc_crc:0x4985 +Testing eor_reg...done. pre_crc:0xD85F, mem_crc:0x0000, reg_crc:0x6FAA, cc_crc:0x0EE5 +Testing eor_ind...done. pre_crc:0x0490, mem_crc:0x6F78, reg_crc:0x5AFC, cc_crc:0x2C86 +Testing eor_d16...done. pre_crc:0x9FE5, mem_crc:0x336C, reg_crc:0x3A0F, cc_crc:0x1256 +Testing eor_absl...done. pre_crc:0xBA68, mem_crc:0x45E3, reg_crc:0x4557, cc_crc:0x893B +Testing eoribw_dreg...done. pre_crc:0xC1D7, mem_crc:0x0000, reg_crc:0x50BB, cc_crc:0xC191 +Testing eoril_dreg...done. pre_crc:0x930C, mem_crc:0x0000, reg_crc:0x80E0, cc_crc:0x1B9F +Testing eoribw_ind...done. pre_crc:0x29F3, mem_crc:0x24F3, reg_crc:0x991E, cc_crc:0xCD46 +Testing eoril_ind...done. pre_crc:0x91A9, mem_crc:0x0F2B, reg_crc:0x4579, cc_crc:0x29C4 +Testing eoribw_d16...done. pre_crc:0x53AB, mem_crc:0x59F9, reg_crc:0x808C, cc_crc:0x894F +Testing eoril_d16...done. pre_crc:0xD555, mem_crc:0xD943, reg_crc:0x150E, cc_crc:0xECE0 +Testing eoribw_absl...done. pre_crc:0x003B, mem_crc:0x246F, reg_crc:0x6CB1, cc_crc:0x0641 +Testing eoril_absl...done. pre_crc:0x7576, mem_crc:0xB943, reg_crc:0xA699, cc_crc:0x258A +Testing eori_to_ccr...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x3C5C, cc_crc:0x560C +Testing exg...done. pre_crc:0x738F, mem_crc:0x0000, reg_crc:0xD610, cc_crc:0x4463 +Testing ext...done. pre_crc:0x27B3, mem_crc:0x0000, reg_crc:0x8A4C, cc_crc:0x3879 +Testing jmp_absl...done. pre_crc:0xAB61, mem_crc:0x0000, reg_crc:0x654B, cc_crc:0xF2A7 +Testing jmp_ind...done. pre_crc:0xDDC1, mem_crc:0x0000, reg_crc:0xB777, cc_crc:0x3249 +Testing jmp_d16...done. pre_crc:0x2020, mem_crc:0x0000, reg_crc:0x580D, cc_crc:0xE90B +Testing jsr_absl...done. pre_crc:0xC8E9, mem_crc:0x07C7, reg_crc:0xEFEC, cc_crc:0x34F1 +Testing jsr_ind...done. pre_crc:0x5C43, mem_crc:0xF5F0, reg_crc:0x650C, cc_crc:0x0336 +Testing jsr_d16...done. pre_crc:0xCB46, mem_crc:0x9B04, reg_crc:0x2433, cc_crc:0x7640 +Testing lea_ind...done. pre_crc:0xD8A2, mem_crc:0x0000, reg_crc:0xA43D, cc_crc:0x7EC0 +Testing lea_d16...done. pre_crc:0x7575, mem_crc:0x0000, reg_crc:0xC713, cc_crc:0x3B2A +Testing lea_absw...done. pre_crc:0x22AE, mem_crc:0x0000, reg_crc:0x9AB1, cc_crc:0x5F41 +Testing lea_absl...done. pre_crc:0x375E, mem_crc:0x0000, reg_crc:0xBB8D, cc_crc:0xF9A0 +Testing linkw...done. pre_crc:0x0809, mem_crc:0x0974, reg_crc:0x1629, cc_crc:0xC285 +Testing linkl...done. pre_crc:0x6AF8, mem_crc:0x171D, reg_crc:0xF677, cc_crc:0xBF98 +Testing move16_postinc_postinc...done. pre_crc:0x790A, mem_crc:0x35EE, reg_crc:0x0FAA, cc_crc:0x27EE +Testing move16_absl_ind...done. pre_crc:0x5A7A, mem_crc:0x8C2A, reg_crc:0xEC19, cc_crc:0xAB34 +Testing move16_absl_postinc...done. pre_crc:0x4277, mem_crc:0x3A66, reg_crc:0xF7C4, cc_crc:0xAC09 +Testing move16_ind_absl...done. pre_crc:0x5330, mem_crc:0x406D, reg_crc:0x6B9D, cc_crc:0xE038 +Testing move16_postinc_absl...done. pre_crc:0x94B0, mem_crc:0x2424, reg_crc:0xB493, cc_crc:0x47D7 +Testing moveb_dreg_dreg...done. pre_crc:0xE09B, mem_crc:0x0000, reg_crc:0x7531, cc_crc:0x0090 +Testing movewl_reg_dreg...done. pre_crc:0xC833, mem_crc:0x0000, reg_crc:0x4AC7, cc_crc:0x9EAB +Testing moveb_ind_dreg...done. pre_crc:0xD220, mem_crc:0x0000, reg_crc:0x9B7A, cc_crc:0xFEB5 +Testing movewl_ind_dreg...done. pre_crc:0x24BC, mem_crc:0x0000, reg_crc:0xC684, cc_crc:0x668B +Testing moveb_d16_dreg...done. pre_crc:0x7C1A, mem_crc:0x0000, reg_crc:0x7D66, cc_crc:0x5489 +Testing movewl_d16_dreg...done. pre_crc:0x34D3, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x7692 +Testing moveb_absl_dreg...done. pre_crc:0x74C5, mem_crc:0x0000, reg_crc:0x3550, cc_crc:0xF786 +Testing movewl_absl_dreg...done. pre_crc:0x6549, mem_crc:0x0000, reg_crc:0x663F, cc_crc:0x2602 +Testing movebw_const_dreg...done. pre_crc:0x6D3D, mem_crc:0x0000, reg_crc:0x65B7, cc_crc:0x5D01 +Testing movel_const_dreg...done. pre_crc:0xFF07, mem_crc:0x0000, reg_crc:0xB26C, cc_crc:0x9CB2 +Testing moveb_dreg_ind...done. pre_crc:0xB5FC, mem_crc:0x8579, reg_crc:0x0C22, cc_crc:0xFDE5 +Testing movewl_reg_ind...done. pre_crc:0xC215, mem_crc:0x37D3, reg_crc:0xC9AC, cc_crc:0x7AFE +Testing moveb_dreg_d16...done. pre_crc:0x70B1, mem_crc:0x0E67, reg_crc:0x78A6, cc_crc:0xF885 +Testing movewl_reg_d16...done. pre_crc:0x5A32, mem_crc:0x9981, reg_crc:0xDC6B, cc_crc:0xF5A3 +Testing moveb_dreg_absl...done. pre_crc:0xFD6D, mem_crc:0xAF65, reg_crc:0xD135, cc_crc:0x734F +Testing movewl_reg_absl...done. pre_crc:0xA9B2, mem_crc:0xE1A5, reg_crc:0x26BF, cc_crc:0x8913 +Testing moveb_ind_ind...done. pre_crc:0x67E7, mem_crc:0xE6B9, reg_crc:0x3D75, cc_crc:0xF0C5 +Testing moveb_ind_d16...done. pre_crc:0x1103, mem_crc:0xE0A4, reg_crc:0x4B28, cc_crc:0x91E6 +Testing moveb_d16_ind...done. pre_crc:0xF978, mem_crc:0x0517, reg_crc:0x8CA7, cc_crc:0x77CF +Testing movewl_ind_d16...done. pre_crc:0x50EF, mem_crc:0xF614, reg_crc:0x298F, cc_crc:0xBD87 +Testing movewl_d16_ind...done. pre_crc:0xB6B5, mem_crc:0x5E6E, reg_crc:0xACCA, cc_crc:0xD5C1 +Testing moveb_d16_d16...done. pre_crc:0xBA04, mem_crc:0x17CF, reg_crc:0x08F8, cc_crc:0xCD2F +Testing movewl_d16_d16...done. pre_crc:0x8366, mem_crc:0xD72E, reg_crc:0x2F25, cc_crc:0x83EC +Testing moveb_ind_absl...done. pre_crc:0x50DC, mem_crc:0x9129, reg_crc:0x19BC, cc_crc:0x45E3 +Testing movewl_ind_absl...done. pre_crc:0xA722, mem_crc:0xB27D, reg_crc:0x6A87, cc_crc:0x5071 +Testing moveb_absl_ind...done. pre_crc:0x7A09, mem_crc:0x8620, reg_crc:0xFE31, cc_crc:0x5EB5 +Testing movewl_absl_ind...done. pre_crc:0xAB0B, mem_crc:0x225A, reg_crc:0xE3D0, cc_crc:0xB597 +Testing moveb_absl_absl...done. pre_crc:0xF220, mem_crc:0x0FC3, reg_crc:0x356A, cc_crc:0xDEA0 +Testing movewl_absl_absl...done. pre_crc:0x7ECB, mem_crc:0x92A1, reg_crc:0x1421, cc_crc:0xE3CD +Testing moveb_d16_absl...done. pre_crc:0xB9C6, mem_crc:0xE82D, reg_crc:0xADE6, cc_crc:0x82DE +Testing movewl_d16_absl...done. pre_crc:0xC3CE, mem_crc:0x963F, reg_crc:0x83C7, cc_crc:0x9E68 +Testing moveb_absl_d16...done. pre_crc:0x9E28, mem_crc:0x28AA, reg_crc:0x9407, cc_crc:0x0A77 +Testing movewl_absl_d16...done. pre_crc:0x8A07, mem_crc:0x3935, reg_crc:0x8135, cc_crc:0x8D12 +Testing moveb_const_ind...done. pre_crc:0x3D1E, mem_crc:0x988C, reg_crc:0x4F40, cc_crc:0xC078 +Testing moveb_const_d16...done. pre_crc:0x2319, mem_crc:0xE31F, reg_crc:0xF982, cc_crc:0x11B1 +Testing moveb_const_absl...done. pre_crc:0xB08D, mem_crc:0xBB36, reg_crc:0xBC9E, cc_crc:0x4957 +Testing movew_const_ind...done. pre_crc:0xCF44, mem_crc:0x84AF, reg_crc:0x1174, cc_crc:0xD01F +Testing movew_const_d16...done. pre_crc:0x8E50, mem_crc:0x73AE, reg_crc:0x8FD6, cc_crc:0xCD02 +Testing movew_const_absl...done. pre_crc:0x5B3E, mem_crc:0xF8EF, reg_crc:0x07F1, cc_crc:0xE77D +Testing movel_const_ind...done. pre_crc:0x5113, mem_crc:0x2C97, reg_crc:0x18FC, cc_crc:0x519D +Testing movel_const_d16...done. pre_crc:0x872F, mem_crc:0x3322, reg_crc:0x1EC3, cc_crc:0x08B9 +Testing movel_const_absl...done. pre_crc:0x87FD, mem_crc:0xA215, reg_crc:0xA6EB, cc_crc:0xEAAB +Testing movea_reg...done. pre_crc:0xE2A0, mem_crc:0x0000, reg_crc:0x81FF, cc_crc:0xD7DB +Testing movea_ind...done. pre_crc:0xBC59, mem_crc:0x0000, reg_crc:0x6401, cc_crc:0x64D6 +Testing movea_d16...done. pre_crc:0xCCB2, mem_crc:0x0000, reg_crc:0x9F88, cc_crc:0xD357 +Testing movea_absl...done. pre_crc:0xC7F7, mem_crc:0x0000, reg_crc:0xB937, cc_crc:0x36C9 +Testing moveaw_const...done. pre_crc:0x9849, mem_crc:0x0000, reg_crc:0xBA67, cc_crc:0x649E +Testing moveal_const...done. pre_crc:0x38F6, mem_crc:0x0000, reg_crc:0x5FC0, cc_crc:0xC1DF +Testing move_from_ccr_dreg...done. pre_crc:0xF06E, mem_crc:0x0000, reg_crc:0xD391, cc_crc:0xC78F +Testing move_from_ccr_ind...done. pre_crc:0x56F1, mem_crc:0x0000, reg_crc:0x7103, cc_crc:0x0990 +Testing move_from_ccr_d16...done. pre_crc:0x65DA, mem_crc:0x0000, reg_crc:0x386E, cc_crc:0xED33 +Testing move_to_ccr_reg...done. pre_crc:0xD7F0, mem_crc:0x0000, reg_crc:0x6423, cc_crc:0x319E +Testing move_to_ccr_ind...done. pre_crc:0xA2ED, mem_crc:0x0000, reg_crc:0x844E, cc_crc:0x7AD0 +Testing movem_to_ind...done. pre_crc:0x6F7B, mem_crc:0x1A2C, reg_crc:0x1ABC, cc_crc:0xE7FA +Testing movem_to_predec...done. pre_crc:0x3735, mem_crc:0x3D32, reg_crc:0x3F8B, cc_crc:0xD032 +Testing movem_to_d16...done. pre_crc:0x459D, mem_crc:0x2B2D, reg_crc:0x4884, cc_crc:0x6A41 +Testing movem_to_absl...done. pre_crc:0x0C5A, mem_crc:0xC20B, reg_crc:0x2040, cc_crc:0xB33D +Testing movem_from_d16...done. pre_crc:0x4948, mem_crc:0x0000, reg_crc:0xBFDA, cc_crc:0xA3DE +Testing movem_from_ind...done. pre_crc:0xF213, mem_crc:0x0000, reg_crc:0x91EC, cc_crc:0x1893 +Testing movem_from_absl...done. pre_crc:0x5728, mem_crc:0x0000, reg_crc:0x107C, cc_crc:0xCBB6 +Testing movep_to_mem...done. pre_crc:0x03AD, mem_crc:0x3B5D, reg_crc:0xB9F2, cc_crc:0xFC87 +Testing movep_from_mem...done. pre_crc:0x74CD, mem_crc:0x0000, reg_crc:0xAC7B, cc_crc:0xBE6A +Testing moveq...done. pre_crc:0xFACA, mem_crc:0x0000, reg_crc:0xA88C, cc_crc:0xD023 +Testing mulsw_dreg...done. pre_crc:0x61A7, mem_crc:0x0000, reg_crc:0x9F4E, cc_crc:0xB36E +Testing mulsw_ind...done. pre_crc:0x1633, mem_crc:0x0000, reg_crc:0xDF49, cc_crc:0xDBBD +Testing mulsw_d16...done. pre_crc:0xEDCE, mem_crc:0x0000, reg_crc:0x7200, cc_crc:0x7F2F +Testing mulsw_absl...done. pre_crc:0x493A, mem_crc:0x0000, reg_crc:0xA1BC, cc_crc:0xA982 +Testing muluw_dreg...done. pre_crc:0xD703, mem_crc:0x0000, reg_crc:0xD943, cc_crc:0x035C +Testing muluw_ind...done. pre_crc:0x47CA, mem_crc:0x0000, reg_crc:0xB4EB, cc_crc:0x1D17 +Testing muluw_d16...done. pre_crc:0x546B, mem_crc:0x0000, reg_crc:0x322C, cc_crc:0x57F8 +Testing muluw_absl...done. pre_crc:0xD025, mem_crc:0x0000, reg_crc:0xD692, cc_crc:0x0327 +Testing mulsl_dreg...done. pre_crc:0xE92A, mem_crc:0x0000, reg_crc:0xE35B, cc_crc:0x2B42 +Testing mulsl_ind...done. pre_crc:0xD647, mem_crc:0x0000, reg_crc:0xBF3B, cc_crc:0xCB70 +Testing mulsl_d16...done. pre_crc:0x8D21, mem_crc:0x0000, reg_crc:0x54DC, cc_crc:0xA464 +Testing mulsl_absl...done. pre_crc:0xE04A, mem_crc:0x0000, reg_crc:0xB805, cc_crc:0x4BB4 +Testing mulul_dreg...done. pre_crc:0x8025, mem_crc:0x0000, reg_crc:0xD3EA, cc_crc:0x0757 +Testing mulul_ind...done. pre_crc:0x3589, mem_crc:0x0000, reg_crc:0xF89D, cc_crc:0x24E8 +Testing mulul_d16...done. pre_crc:0x8602, mem_crc:0x0000, reg_crc:0x8BA0, cc_crc:0xDB53 +Testing mulul_absl...done. pre_crc:0xA929, mem_crc:0x0000, reg_crc:0xDAB6, cc_crc:0xEBF9 +Testing nbcd_reg...done. pre_crc:0x4D7F, mem_crc:0x0000, reg_crc:0x9483, cc_crc:0x64F8 +Testing nbcd_ind...done. pre_crc:0x4144, mem_crc:0xC0C6, reg_crc:0x4C98, cc_crc:0x4638 +Testing nbcd_d16...done. pre_crc:0x6B0F, mem_crc:0x3BC7, reg_crc:0xB3C8, cc_crc:0x8CE0 +Testing nbcd_absl...done. pre_crc:0x5AC6, mem_crc:0xA0FC, reg_crc:0x47C6, cc_crc:0x2589 +Testing neg_reg...done. pre_crc:0xC8B7, mem_crc:0x0000, reg_crc:0x7256, cc_crc:0x8B55 +Testing negb_ind...done. pre_crc:0x4E1E, mem_crc:0x0EEC, reg_crc:0x1EF6, cc_crc:0x2C79 +Testing negwl_ind...done. pre_crc:0x076E, mem_crc:0x26AE, reg_crc:0x0151, cc_crc:0xBA4C +Testing negb_d16...done. pre_crc:0xB9A7, mem_crc:0xDBBE, reg_crc:0xF9E8, cc_crc:0xD016 +Testing negwl_d16...done. pre_crc:0xE2E2, mem_crc:0x4697, reg_crc:0x0ED0, cc_crc:0xB8B2 +Testing neg_absl...done. pre_crc:0x2126, mem_crc:0x3273, reg_crc:0x2FDC, cc_crc:0x2EAC +Testing negx_reg...done. pre_crc:0x23EB, mem_crc:0x0000, reg_crc:0x5AAF, cc_crc:0x93B2 +Testing negxb_ind...done. pre_crc:0x19A3, mem_crc:0xAAA5, reg_crc:0xBA79, cc_crc:0x4A7A +Testing negxwl_ind...done. pre_crc:0x3645, mem_crc:0xCA17, reg_crc:0x4714, cc_crc:0x54E5 +Testing negxb_d16...done. pre_crc:0x7E83, mem_crc:0x58AD, reg_crc:0xF1D0, cc_crc:0xF02B +Testing negxwl_d16...done. pre_crc:0xE321, mem_crc:0x5C21, reg_crc:0xF7E6, cc_crc:0xFC8E +Testing negx_absl...done. pre_crc:0x9DCF, mem_crc:0x88FF, reg_crc:0x9419, cc_crc:0x7255 +Testing nop...done. pre_crc:0x432C, mem_crc:0x0000, reg_crc:0xC5B8, cc_crc:0xBC20 +Testing not_reg...done. pre_crc:0x5E23, mem_crc:0x0000, reg_crc:0xAEBA, cc_crc:0xE004 +Testing notb_ind...done. pre_crc:0x341C, mem_crc:0xAD01, reg_crc:0x7385, cc_crc:0x3876 +Testing notwl_ind...done. pre_crc:0xA473, mem_crc:0x397E, reg_crc:0xBAEA, cc_crc:0xBF40 +Testing notb_d16...done. pre_crc:0x27B2, mem_crc:0x7FAE, reg_crc:0x8A98, cc_crc:0x391B +Testing notwl_d16...done. pre_crc:0x4253, mem_crc:0x5F5A, reg_crc:0x7F4A, cc_crc:0x9EBF +Testing not_absl...done. pre_crc:0xAA8D, mem_crc:0x9FFA, reg_crc:0x6E7F, cc_crc:0x2A34 +Testing or_dreg_dreg...done. pre_crc:0xF194, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0xDDEB +Testing or_ind_dreg...done. pre_crc:0xA51C, mem_crc:0x0000, reg_crc:0x94C1, cc_crc:0x2FAE +Testing or_d16_dreg...done. pre_crc:0x6666, mem_crc:0x0000, reg_crc:0xB3A1, cc_crc:0x99FC +Testing or_absl_dreg...done. pre_crc:0xE795, mem_crc:0x0000, reg_crc:0x7748, cc_crc:0xC79B +Testing orbw_const_dreg...done. pre_crc:0x7138, mem_crc:0x0000, reg_crc:0xF68E, cc_crc:0x61CD +Testing orl_const_dreg...done. pre_crc:0xE233, mem_crc:0x0000, reg_crc:0x5475, cc_crc:0x5311 +Testing or_dreg_ind...done. pre_crc:0xA980, mem_crc:0xA360, reg_crc:0x0FD1, cc_crc:0xBD05 +Testing or_dreg_d16...done. pre_crc:0x642F, mem_crc:0x5162, reg_crc:0x06F5, cc_crc:0x1C3B +Testing or_dreg_absl...done. pre_crc:0x3E4B, mem_crc:0x7828, reg_crc:0xEE3A, cc_crc:0x6B1C +Testing oribw_dreg...done. pre_crc:0x69C4, mem_crc:0x0000, reg_crc:0xBC0B, cc_crc:0xE465 +Testing oril_dreg...done. pre_crc:0xE015, mem_crc:0x0000, reg_crc:0x14CC, cc_crc:0x5C5C +Testing oribw_ind...done. pre_crc:0x690E, mem_crc:0x8B06, reg_crc:0xB31C, cc_crc:0x1BFC +Testing oril_ind...done. pre_crc:0xBEB7, mem_crc:0x574A, reg_crc:0x6035, cc_crc:0xC982 +Testing oribw_d16...done. pre_crc:0xBEF7, mem_crc:0xE9C4, reg_crc:0xBB41, cc_crc:0xA672 +Testing oril_d16...done. pre_crc:0x22C5, mem_crc:0xA108, reg_crc:0x1C62, cc_crc:0x4015 +Testing oribw_absl...done. pre_crc:0x3132, mem_crc:0xC216, reg_crc:0x6E9D, cc_crc:0xAA33 +Testing oril_absl...done. pre_crc:0xF826, mem_crc:0x72E2, reg_crc:0xFC36, cc_crc:0x7E44 +Testing ori_to_ccr...done. pre_crc:0x24D4, mem_crc:0x0000, reg_crc:0xF762, cc_crc:0xE3F4 +Testing pack_reg...done. pre_crc:0x107F, mem_crc:0x0000, reg_crc:0x1777, cc_crc:0xF73D +Testing pack_mem...done. pre_crc:0xD689, mem_crc:0x2C29, reg_crc:0x8C20, cc_crc:0x2949 +Testing pea_ind...done. pre_crc:0x3FB3, mem_crc:0x52FD, reg_crc:0xD7F0, cc_crc:0xCF2B +Testing pea_d16...done. pre_crc:0x104C, mem_crc:0x3473, reg_crc:0xE230, cc_crc:0x38A7 +Testing pea_absw...done. pre_crc:0xC70F, mem_crc:0x52AD, reg_crc:0xEDFF, cc_crc:0x63F5 +Testing pea_absl...done. pre_crc:0xBEE2, mem_crc:0x11CC, reg_crc:0x4CF1, cc_crc:0xF491 +Testing rol_dx_dy...done. pre_crc:0x6726, mem_crc:0x0000, reg_crc:0x9440, cc_crc:0x7C34 +Testing rol_const_dy...done. pre_crc:0xA35E, mem_crc:0x0000, reg_crc:0xC6BB, cc_crc:0x6B13 +Testing rol_ind...done. pre_crc:0x69A4, mem_crc:0x714B, reg_crc:0x4427, cc_crc:0x9F0A +Testing rol_d16...done. pre_crc:0xB1C8, mem_crc:0x0883, reg_crc:0x5285, cc_crc:0xC03C +Testing rol_absl...done. pre_crc:0x413F, mem_crc:0x468F, reg_crc:0xA416, cc_crc:0xACC9 +Testing ror_dx_dy...done. pre_crc:0xF79D, mem_crc:0x0000, reg_crc:0xC432, cc_crc:0x2F31 +Testing ror_const_dy...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0xEB17, cc_crc:0x52AB +Testing ror_ind...done. pre_crc:0xFE20, mem_crc:0xB2DE, reg_crc:0xE76C, cc_crc:0xF2E9 +Testing ror_d16...done. pre_crc:0x9998, mem_crc:0xC03F, reg_crc:0xA9A3, cc_crc:0x5C6C +Testing ror_absl...done. pre_crc:0x9398, mem_crc:0xF1CD, reg_crc:0x4A94, cc_crc:0x92CB +Testing roxl_dx_dy...done. pre_crc:0xE8C3, mem_crc:0x0000, reg_crc:0x942F, cc_crc:0x13A4 +Testing roxl_const_dy...done. pre_crc:0x394E, mem_crc:0x0000, reg_crc:0xAE08, cc_crc:0xE507 +Testing roxl_ind...done. pre_crc:0x125F, mem_crc:0x30E2, reg_crc:0x0883, cc_crc:0xE848 +Testing roxl_d16...done. pre_crc:0xC5AC, mem_crc:0xF8A7, reg_crc:0x69F9, cc_crc:0x651E +Testing roxl_absl...done. pre_crc:0xE942, mem_crc:0x8C31, reg_crc:0x8076, cc_crc:0x1FC1 +Testing roxr_dx_dy...done. pre_crc:0x391A, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x56BB +Testing roxr_const_dy...done. pre_crc:0x7520, mem_crc:0x0000, reg_crc:0x37D3, cc_crc:0x57E6 +Testing roxr_ind...done. pre_crc:0x6BF0, mem_crc:0x9861, reg_crc:0xD109, cc_crc:0x75A7 +Testing roxr_d16...done. pre_crc:0x67AD, mem_crc:0x3491, reg_crc:0xD9BF, cc_crc:0x6F77 +Testing roxr_absl...done. pre_crc:0x4645, mem_crc:0x0E40, reg_crc:0xAFAA, cc_crc:0x3618 +Testing rtd...done. pre_crc:0xF3CB, mem_crc:0x0000, reg_crc:0x331D, cc_crc:0x3B29 +Testing rtr...done. pre_crc:0x0916, mem_crc:0x0000, reg_crc:0xB99B, cc_crc:0x27D7 +Testing rts...done. pre_crc:0x92B4, mem_crc:0x0000, reg_crc:0xD629, cc_crc:0xB69E +Testing sbcd_reg...done. pre_crc:0xE7AB, mem_crc:0x0000, reg_crc:0x596A, cc_crc:0xEC25 +Testing sbcd_mem...done. pre_crc:0x367F, mem_crc:0xC9BE, reg_crc:0x8A32, cc_crc:0x8477 +Testing Scc_reg...done. pre_crc:0x45DB, mem_crc:0x0000, reg_crc:0xED22, cc_crc:0xE153 +Testing Scc_ind...done. pre_crc:0x75C7, mem_crc:0x7EEB, reg_crc:0x5A72, cc_crc:0x64AB +Testing Scc_d16...done. pre_crc:0xC332, mem_crc:0xD340, reg_crc:0xEAA2, cc_crc:0x644F +Testing Scc_absl...done. pre_crc:0xE52B, mem_crc:0x5145, reg_crc:0xFB45, cc_crc:0x485C +Testing subb_dreg_dreg...done. pre_crc:0x7FA6, mem_crc:0x0000, reg_crc:0x0CEE, cc_crc:0xBE7B +Testing subw_reg_dreg...done. pre_crc:0x4AF1, mem_crc:0x0000, reg_crc:0x296D, cc_crc:0xEA19 +Testing subl_reg_dreg...done. pre_crc:0xC91F, mem_crc:0x0000, reg_crc:0x3912, cc_crc:0x9E4A +Testing sub_ind_dreg...done. pre_crc:0xA551, mem_crc:0x0000, reg_crc:0x68C1, cc_crc:0x7313 +Testing sub_d16_dreg...done. pre_crc:0xEC79, mem_crc:0x0000, reg_crc:0x8B66, cc_crc:0x7331 +Testing sub_absl_dreg...done. pre_crc:0x90D6, mem_crc:0x0000, reg_crc:0xCA87, cc_crc:0x236D +Testing subb_const_dreg...done. pre_crc:0x9251, mem_crc:0x0000, reg_crc:0x5CB7, cc_crc:0xAC2B +Testing subw_const_dreg...done. pre_crc:0x071A, mem_crc:0x0000, reg_crc:0x0072, cc_crc:0x0198 +Testing subl_const_dreg...done. pre_crc:0x33EB, mem_crc:0x0000, reg_crc:0x7D72, cc_crc:0xD496 +Testing sub_dreg_ind...done. pre_crc:0x605D, mem_crc:0x6C44, reg_crc:0x0FAF, cc_crc:0xBB44 +Testing sub_dreg_d16...done. pre_crc:0x2030, mem_crc:0xC614, reg_crc:0x6596, cc_crc:0x71CF +Testing sub_dreg_absl...done. pre_crc:0x7272, mem_crc:0xAD25, reg_crc:0x594D, cc_crc:0x7AF1 +Testing subaw_reg_areg...done. pre_crc:0xF305, mem_crc:0x0000, reg_crc:0x7CE9, cc_crc:0x35FC +Testing subal_reg_areg...done. pre_crc:0xB68F, mem_crc:0x0000, reg_crc:0x0E73, cc_crc:0x79B5 +Testing suba_ind_areg...done. pre_crc:0x05D7, mem_crc:0x0000, reg_crc:0x7E9A, cc_crc:0xAEB5 +Testing suba_d16_areg...done. pre_crc:0x5AE9, mem_crc:0x0000, reg_crc:0x327F, cc_crc:0xAEA2 +Testing suba_absl_areg...done. pre_crc:0x488E, mem_crc:0x0000, reg_crc:0x9C36, cc_crc:0xE765 +Testing subaw_const_areg...done. pre_crc:0xDABA, mem_crc:0x0000, reg_crc:0x84E4, cc_crc:0x60D1 +Testing subal_const_areg...done. pre_crc:0xEE6A, mem_crc:0x0000, reg_crc:0x8EBB, cc_crc:0xB112 +Testing subibw_dreg...done. pre_crc:0xBBC7, mem_crc:0x0000, reg_crc:0x8C97, cc_crc:0x42B4 +Testing subil_dreg...done. pre_crc:0x25CE, mem_crc:0x0000, reg_crc:0xC837, cc_crc:0xA2E9 +Testing subibw_ind...done. pre_crc:0x68C4, mem_crc:0x05DB, reg_crc:0x35A0, cc_crc:0x82BD +Testing subil_ind...done. pre_crc:0x7279, mem_crc:0xCDFE, reg_crc:0x5912, cc_crc:0xB651 +Testing subibw_d16...done. pre_crc:0xB7A1, mem_crc:0xB31C, reg_crc:0xEB3F, cc_crc:0xED72 +Testing subil_d16...done. pre_crc:0x995A, mem_crc:0xDC5E, reg_crc:0x0087, cc_crc:0xC642 +Testing subibw_absl...done. pre_crc:0x6EAB, mem_crc:0x3A56, reg_crc:0x642F, cc_crc:0x7026 +Testing subil_absl...done. pre_crc:0x36EE, mem_crc:0xFE70, reg_crc:0x8774, cc_crc:0x066C +Testing subq_dreg...done. pre_crc:0x9C85, mem_crc:0x0000, reg_crc:0x73A7, cc_crc:0x06D1 +Testing subq_areg...done. pre_crc:0x030E, mem_crc:0x0000, reg_crc:0xD2E4, cc_crc:0x4736 +Testing subq_ind...done. pre_crc:0x4C67, mem_crc:0xE8B2, reg_crc:0xB2B4, cc_crc:0x4C1C +Testing subq_d16...done. pre_crc:0xCEDE, mem_crc:0x11A3, reg_crc:0x1CC8, cc_crc:0x72D8 +Testing subq_absl...done. pre_crc:0xFDB3, mem_crc:0xF875, reg_crc:0x1BA9, cc_crc:0xFAC6 +Testing subx_reg...done. pre_crc:0xE7AC, mem_crc:0x0000, reg_crc:0x505C, cc_crc:0xCC22 +Testing subx_mem...done. pre_crc:0x9E68, mem_crc:0x7EB1, reg_crc:0x2F9E, cc_crc:0xE0F7 +Testing swap...done. pre_crc:0x8EDC, mem_crc:0x0000, reg_crc:0xA1F1, cc_crc:0x018C +Testing tas_dreg...done. pre_crc:0x4C2E, mem_crc:0x0000, reg_crc:0xF283, cc_crc:0x5641 +Testing tas_ind...done. pre_crc:0x010E, mem_crc:0x5055, reg_crc:0x0D70, cc_crc:0x568D +Testing tas_d16...done. pre_crc:0x8925, mem_crc:0x056C, reg_crc:0x68C7, cc_crc:0xB2DD +Testing tas_absl...done. pre_crc:0x6143, mem_crc:0xD6AE, reg_crc:0x37E6, cc_crc:0xB86C +Testing tstb_dreg...done. pre_crc:0x10B8, mem_crc:0x0000, reg_crc:0xA0CC, cc_crc:0xCF0C +Testing tstwl_reg...done. pre_crc:0x15FD, mem_crc:0x0000, reg_crc:0xACF3, cc_crc:0xCD68 +Testing tstb_ind...done. pre_crc:0x8F53, mem_crc:0x0000, reg_crc:0x5BD9, cc_crc:0xD290 +Testing tstwl_ind...done. pre_crc:0xAA51, mem_crc:0x0000, reg_crc:0x3204, cc_crc:0x9451 +Testing tstb_d16...done. pre_crc:0xA310, mem_crc:0x0000, reg_crc:0x49B5, cc_crc:0x615B +Testing tstwl_d16...done. pre_crc:0xC3CE, mem_crc:0x0000, reg_crc:0xBB44, cc_crc:0x8B90 +Testing tst_absl...done. pre_crc:0x0F51, mem_crc:0x0000, reg_crc:0x320B, cc_crc:0x838C diff --git a/test/glibc.1000 b/test/glibc.1000 new file mode 100644 index 0000000..2baeb4f --- /dev/null +++ b/test/glibc.1000 @@ -0,0 +1,31 @@ +mem == 0x7F002000 +Testing divsl_ll_reg...done. pre_crc:0x1160, mem_crc:0x0000, reg_crc:0x4421, cc_crc:0xA29B +Testing divsl_ll_ind...done. pre_crc:0x852E, mem_crc:0x0000, reg_crc:0x0ABD, cc_crc:0x1248 +Testing divsl_ll_absl...done. pre_crc:0xC85D, mem_crc:0x0000, reg_crc:0xDA9D, cc_crc:0x0672 +Testing addw_reg_dreg...done. pre_crc:0xA283, mem_crc:0x0000, reg_crc:0x774E, cc_crc:0x30FA +Testing add_dreg_ind...done. pre_crc:0xD4FA, mem_crc:0xAEEC, reg_crc:0x2FD3, cc_crc:0x3BC8 +Testing add_ind_dreg...done. pre_crc:0x3D22, mem_crc:0x0000, reg_crc:0x091D, cc_crc:0x4DAC +Testing addibw_dreg...done. pre_crc:0x9EA1, mem_crc:0x0000, reg_crc:0xB670, cc_crc:0x6A28 +Testing addibw_ind...done. pre_crc:0x059F, mem_crc:0x373E, reg_crc:0xEE2E, cc_crc:0xFF74 +Testing addil_ind...done. pre_crc:0xB1BD, mem_crc:0x6FEE, reg_crc:0x54A2, cc_crc:0xC560 +Testing addibw_d16...done. pre_crc:0x6E4A, mem_crc:0x73C1, reg_crc:0x8D00, cc_crc:0x1543 +Testing addibw_absl...done. pre_crc:0x99B6, mem_crc:0x9FCF, reg_crc:0xF5B1, cc_crc:0x1E50 +Testing addq_ind...done. pre_crc:0x6801, mem_crc:0xBCB9, reg_crc:0xA6B7, cc_crc:0x466B +Testing cmpb_ind...done. pre_crc:0x6D1E, mem_crc:0x0000, reg_crc:0xD080, cc_crc:0x1F4F +Testing cmpwl_ind...done. pre_crc:0x69EB, mem_crc:0x0000, reg_crc:0xDF9E, cc_crc:0xF125 +Testing cmpwl_d16...done. pre_crc:0xC45F, mem_crc:0x0000, reg_crc:0x0C74, cc_crc:0xC3F9 +Testing cmpa_reg...done. pre_crc:0x5AD9, mem_crc:0x0000, reg_crc:0x44F3, cc_crc:0xDF86 +Testing cmpa_ind...done. pre_crc:0x0DA0, mem_crc:0x0000, reg_crc:0x8447, cc_crc:0x8F23 +Testing cmpa_ind2...done. pre_crc:0xE7B6, mem_crc:0x0000, reg_crc:0x1B8E, cc_crc:0x4585 +Testing cmpa_d16...done. pre_crc:0x4487, mem_crc:0x0000, reg_crc:0x42FA, cc_crc:0xE236 +Testing cmpa_d16_2...done. pre_crc:0x5055, mem_crc:0x0000, reg_crc:0x746C, cc_crc:0xDE84 +Testing cmpa_absl...done. pre_crc:0xA2FA, mem_crc:0x0000, reg_crc:0x38DA, cc_crc:0xC0CA +Testing cmpibw_reg...done. pre_crc:0x9167, mem_crc:0x0000, reg_crc:0xDB82, cc_crc:0x90AF +Testing cmpib_ind...done. pre_crc:0xFD67, mem_crc:0x0000, reg_crc:0x2DE7, cc_crc:0x19FB +Testing cmpiw_ind...done. pre_crc:0xBB54, mem_crc:0x0000, reg_crc:0xD4A3, cc_crc:0xB83A +Testing cmpil_ind...done. pre_crc:0x7D21, mem_crc:0x0000, reg_crc:0x6C00, cc_crc:0x5751 +Testing sub_ind_dreg...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0xACAA, cc_crc:0xFDF1 +Testing sub_dreg_ind...done. pre_crc:0xE873, mem_crc:0x8460, reg_crc:0x1236, cc_crc:0x4299 +Testing subibw_ind...done. pre_crc:0xABB3, mem_crc:0xFA27, reg_crc:0xF2C7, cc_crc:0x7B47 +Testing subil_ind...done. pre_crc:0xCD51, mem_crc:0x490D, reg_crc:0xC7F7, cc_crc:0xF9B2 +Testing subq_ind...done. pre_crc:0x176E, mem_crc:0x127B, reg_crc:0x1AE0, cc_crc:0x2A4C diff --git a/test/glibc.10000 b/test/glibc.10000 new file mode 100644 index 0000000..02c6706 --- /dev/null +++ b/test/glibc.10000 @@ -0,0 +1,2 @@ +mem == 0x7F002000 +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x65FB, mem_crc:0x0000, reg_crc:0xF511, cc_crc:0x6E0D diff --git a/test/glibc.16 b/test/glibc.16 new file mode 100644 index 0000000..e685538 --- /dev/null +++ b/test/glibc.16 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x9295, mem_crc:0x0000, reg_crc:0x0A71, cc_crc:0xDF68 +Testing movewl_pcd8_dreg...done. pre_crc:0x9865, mem_crc:0x0000, reg_crc:0x71C5, cc_crc:0x07F2 +Testing unpk_reg...done. pre_crc:0x6544, mem_crc:0x0000, reg_crc:0x6A63, cc_crc:0xD46A +Testing unpk_mem...done. pre_crc:0xED48, mem_crc:0x30B4, reg_crc:0x6F1D, cc_crc:0x8E2B +Testing unlk...done. pre_crc:0x3382, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xC4AD +Testing movewl_ind_ind...done. pre_crc:0xA01C, mem_crc:0xE784, reg_crc:0xF3F9, cc_crc:0x2BF9 +Testing divsl_ll_reg...done. pre_crc:0xCD21, mem_crc:0x0000, reg_crc:0x780F, cc_crc:0xC440 +Testing divsl_ll_ind...done. pre_crc:0xD128, mem_crc:0x0000, reg_crc:0x3140, cc_crc:0x852F +Testing divsl_ll_absl...done. pre_crc:0x58E1, mem_crc:0x0000, reg_crc:0x5572, cc_crc:0xBD81 +Testing lea_pc_ind_preix...done. pre_crc:0x2053, mem_crc:0x0000, reg_crc:0x8001, cc_crc:0xC5EE +Testing lea_pc_ind_postix...done. pre_crc:0x3EB3, mem_crc:0x0000, reg_crc:0xE756, cc_crc:0x9E04 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xB9BA, mem_crc:0x0000, reg_crc:0x400D, cc_crc:0xFDD0 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x8959, mem_crc:0x0000, reg_crc:0x8E55, cc_crc:0x0B10 +Testing moveb_pcd16_dreg...done. pre_crc:0x9076, mem_crc:0x0000, reg_crc:0x7EC5, cc_crc:0xA5C9 +Testing movewl_pcd16_dreg...done. pre_crc:0x4D5B, mem_crc:0x0000, reg_crc:0x03F9, cc_crc:0x6D79 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xBDBB, mem_crc:0x0000, reg_crc:0xED11, cc_crc:0x8CD0 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xAAFB, mem_crc:0x0000, reg_crc:0xCD2F, cc_crc:0x4B2B +Testing lea_ind_preix...done. pre_crc:0x026B, mem_crc:0x0000, reg_crc:0xD949, cc_crc:0x5EBF +Testing lea_ind_postix...done. pre_crc:0x3954, mem_crc:0x0000, reg_crc:0x3240, cc_crc:0xF035 +Testing add_absl_dreg...done. pre_crc:0xFC03, mem_crc:0x0000, reg_crc:0xBE44, cc_crc:0x485A +Testing abcd_reg...done. pre_crc:0x5F7C, mem_crc:0x0000, reg_crc:0x6491, cc_crc:0xE9B5 +Testing abcd_mem...done. pre_crc:0xF315, mem_crc:0x5F7B, reg_crc:0xBF3D, cc_crc:0x91CE +Testing addb_dreg_dreg...done. pre_crc:0xCB90, mem_crc:0x0000, reg_crc:0xE625, cc_crc:0x867F +Testing addw_reg_dreg...done. pre_crc:0x2D24, mem_crc:0x0000, reg_crc:0x87B2, cc_crc:0x5737 +Testing addl_reg_dreg...done. pre_crc:0x928F, mem_crc:0x0000, reg_crc:0x2BC6, cc_crc:0xF9F9 +Testing add_d16_dreg...done. pre_crc:0x5D45, mem_crc:0x0000, reg_crc:0x1260, cc_crc:0x410C +Testing addb_const_dreg...done. pre_crc:0x4C6D, mem_crc:0x0000, reg_crc:0xF39A, cc_crc:0x2827 +Testing addw_const_dreg...done. pre_crc:0x68C4, mem_crc:0x0000, reg_crc:0x544F, cc_crc:0xF798 +Testing add_dreg_ind...done. pre_crc:0x9D1F, mem_crc:0x63E1, reg_crc:0x654E, cc_crc:0xABCD +Testing add_ind_dreg...done. pre_crc:0x036F, mem_crc:0x0000, reg_crc:0xA897, cc_crc:0x15B3 +Testing addl_const_dreg...done. pre_crc:0x8EA4, mem_crc:0x0000, reg_crc:0x4310, cc_crc:0x9AD4 +Testing add_dreg_d16...done. pre_crc:0x00C0, mem_crc:0x668E, reg_crc:0x0E98, cc_crc:0xBC43 +Testing add_dreg_absl...done. pre_crc:0x9DCC, mem_crc:0x0862, reg_crc:0xD5BF, cc_crc:0x6922 +Testing addaw_reg_areg...done. pre_crc:0x0262, mem_crc:0x0000, reg_crc:0x580E, cc_crc:0x95E2 +Testing addal_reg_areg...done. pre_crc:0xDBFF, mem_crc:0x0000, reg_crc:0xE195, cc_crc:0x4ABA +Testing adda_ind_areg...done. pre_crc:0xDC5C, mem_crc:0x0000, reg_crc:0x268C, cc_crc:0x8184 +Testing adda_d16_areg...done. pre_crc:0x6FEC, mem_crc:0x0000, reg_crc:0x0832, cc_crc:0x5C0A +Testing adda_absl_areg...done. pre_crc:0xEA21, mem_crc:0x0000, reg_crc:0x2607, cc_crc:0x623E +Testing addaw_const_areg...done. pre_crc:0xF3E6, mem_crc:0x0000, reg_crc:0x0761, cc_crc:0x0C14 +Testing addal_const_areg...done. pre_crc:0x0E71, mem_crc:0x0000, reg_crc:0xFD94, cc_crc:0xB89C +Testing addibw_dreg...done. pre_crc:0x3A25, mem_crc:0x0000, reg_crc:0x9372, cc_crc:0x5B58 +Testing addil_dreg...done. pre_crc:0xE412, mem_crc:0x0000, reg_crc:0xBD77, cc_crc:0x17D4 +Testing addibw_ind...done. pre_crc:0xDBBA, mem_crc:0x7352, reg_crc:0x83E0, cc_crc:0xEC6E +Testing addil_ind...done. pre_crc:0x7282, mem_crc:0x8BCC, reg_crc:0x710A, cc_crc:0xCB83 +Testing addibw_d16...done. pre_crc:0xBCB5, mem_crc:0x83A7, reg_crc:0x836E, cc_crc:0x0831 +Testing addil_d16...done. pre_crc:0x9AD6, mem_crc:0x0522, reg_crc:0x3E86, cc_crc:0x1C9B +Testing addibw_absl...done. pre_crc:0x66AA, mem_crc:0xF082, reg_crc:0x21A5, cc_crc:0x99C9 +Testing addil_absl...done. pre_crc:0x55AD, mem_crc:0x398B, reg_crc:0x2631, cc_crc:0xBBC3 +Testing addq_dreg...done. pre_crc:0xD463, mem_crc:0x0000, reg_crc:0xA3BB, cc_crc:0xF1E5 +Testing addq_areg...done. pre_crc:0xDDD1, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x5087 +Testing addq_ind...done. pre_crc:0x2F89, mem_crc:0x3A8D, reg_crc:0x433B, cc_crc:0x3813 +Testing addq_d16...done. pre_crc:0x1C0E, mem_crc:0xC825, reg_crc:0xDF70, cc_crc:0x1354 +Testing addq_absl...done. pre_crc:0x5E54, mem_crc:0x83C8, reg_crc:0xBA5D, cc_crc:0x9745 +Testing addx_reg...done. pre_crc:0x76AF, mem_crc:0x0000, reg_crc:0x4DF9, cc_crc:0x180A +Testing addx_mem...done. pre_crc:0x6F8A, mem_crc:0x6AC9, reg_crc:0xDE77, cc_crc:0xE3AE +Testing and_dreg_dreg...done. pre_crc:0x4195, mem_crc:0x0000, reg_crc:0x02A4, cc_crc:0xBF3E +Testing and_ind_dreg...done. pre_crc:0x6F64, mem_crc:0x0000, reg_crc:0xA726, cc_crc:0xED4E +Testing and_d16_dreg...done. pre_crc:0x203F, mem_crc:0x0000, reg_crc:0xF90C, cc_crc:0x2BDE +Testing and_absl_dreg...done. pre_crc:0x7661, mem_crc:0x0000, reg_crc:0x6B75, cc_crc:0xB293 +Testing andbw_const_dreg...done. pre_crc:0xF9F3, mem_crc:0x0000, reg_crc:0xC1C1, cc_crc:0x365F +Testing andl_const_dreg...done. pre_crc:0xB7A7, mem_crc:0x0000, reg_crc:0x6254, cc_crc:0xDB56 +Testing and_dreg_ind...done. pre_crc:0x4EBA, mem_crc:0x5268, reg_crc:0x8228, cc_crc:0x06B7 +Testing and_dreg_d16...done. pre_crc:0xE11A, mem_crc:0x611A, reg_crc:0x543D, cc_crc:0x6804 +Testing and_dreg_absl...done. pre_crc:0x6A1F, mem_crc:0x9D5B, reg_crc:0xC12C, cc_crc:0xD60E +Testing andibw_dreg...done. pre_crc:0x387B, mem_crc:0x0000, reg_crc:0xF1B5, cc_crc:0x207A +Testing andil_dreg...done. pre_crc:0x61D1, mem_crc:0x0000, reg_crc:0x1E82, cc_crc:0xD20A +Testing andibw_ind...done. pre_crc:0x11E8, mem_crc:0x4772, reg_crc:0xCD83, cc_crc:0xA46D +Testing andil_ind...done. pre_crc:0x5977, mem_crc:0xB82E, reg_crc:0x30A6, cc_crc:0xA234 +Testing andibw_d16...done. pre_crc:0xC2EA, mem_crc:0xE592, reg_crc:0xB82B, cc_crc:0x3ECB +Testing andil_d16...done. pre_crc:0x78A9, mem_crc:0xFB97, reg_crc:0xC065, cc_crc:0x3BAD +Testing andibw_absl...done. pre_crc:0x6B33, mem_crc:0xC981, reg_crc:0x1080, cc_crc:0xD061 +Testing andil_absl...done. pre_crc:0xB5E3, mem_crc:0x02D9, reg_crc:0x2FCE, cc_crc:0x8508 +Testing andi_to_ccr...done. pre_crc:0x1DA2, mem_crc:0x0000, reg_crc:0xC7EC, cc_crc:0x0584 +Testing asl_dx_dy...done. pre_crc:0xD677, mem_crc:0x0000, reg_crc:0x6088, cc_crc:0xE0E3 +Testing asl_const_dy...done. pre_crc:0x13FA, mem_crc:0x0000, reg_crc:0x6A28, cc_crc:0x98C8 +Testing asl_ind...done. pre_crc:0x980F, mem_crc:0xC582, reg_crc:0xD88B, cc_crc:0x875F +Testing asl_d16...done. pre_crc:0x9F63, mem_crc:0xFBC4, reg_crc:0xB098, cc_crc:0x25CD +Testing asl_absl...done. pre_crc:0xC340, mem_crc:0xB964, reg_crc:0xE148, cc_crc:0x479A +Testing asr_dx_dy...done. pre_crc:0x6A8B, mem_crc:0x0000, reg_crc:0x3F3F, cc_crc:0x31AD +Testing asr_const_dy...done. pre_crc:0xDFDC, mem_crc:0x0000, reg_crc:0x93C3, cc_crc:0x219A +Testing asr_ind...done. pre_crc:0xAFC6, mem_crc:0xC8E3, reg_crc:0x6E97, cc_crc:0x694D +Testing asr_d16...done. pre_crc:0x382B, mem_crc:0xB4F3, reg_crc:0x2805, cc_crc:0x18CC +Testing asr_absl...done. pre_crc:0xE49B, mem_crc:0x70D5, reg_crc:0x20F4, cc_crc:0xB67F +Testing lsl_dx_dy...done. pre_crc:0x4F3A, mem_crc:0x0000, reg_crc:0xBD3A, cc_crc:0xFF39 +Testing lsl_const_dy...done. pre_crc:0x9327, mem_crc:0x0000, reg_crc:0xBD5F, cc_crc:0x7C9D +Testing lsl_ind...done. pre_crc:0xF9D2, mem_crc:0x23C1, reg_crc:0xDCE0, cc_crc:0x3578 +Testing lsl_d16...done. pre_crc:0x7332, mem_crc:0x0FDD, reg_crc:0x9146, cc_crc:0xED44 +Testing lsl_absl...done. pre_crc:0xFD3A, mem_crc:0xE766, reg_crc:0x45A7, cc_crc:0x2839 +Testing lsr_dx_dy...done. pre_crc:0xA427, mem_crc:0x0000, reg_crc:0x87C3, cc_crc:0x1A23 +Testing lsr_const_dy...done. pre_crc:0x6CAF, mem_crc:0x0000, reg_crc:0x0854, cc_crc:0x174E +Testing lsr_ind...done. pre_crc:0xA407, mem_crc:0xCF55, reg_crc:0x118E, cc_crc:0xA03F +Testing lsr_d16...done. pre_crc:0x8F9D, mem_crc:0x7ED8, reg_crc:0xE142, cc_crc:0xF102 +Testing lsr_absl...done. pre_crc:0x5440, mem_crc:0x71D4, reg_crc:0x1717, cc_crc:0xDF37 +Testing bra_b...done. pre_crc:0xD7B7, mem_crc:0x0000, reg_crc:0xAB3B, cc_crc:0xFEF8 +Testing bhi_b...done. pre_crc:0x5694, mem_crc:0x0000, reg_crc:0x55AF, cc_crc:0xFE89 +Testing bls_b...done. pre_crc:0x0F1F, mem_crc:0x0000, reg_crc:0x212B, cc_crc:0xA50F +Testing bcc_b...done. pre_crc:0xA521, mem_crc:0x0000, reg_crc:0x6FA3, cc_crc:0x0330 +Testing bcs_b...done. pre_crc:0x2F80, mem_crc:0x0000, reg_crc:0xC9E8, cc_crc:0xE310 +Testing bne_b...done. pre_crc:0x2CAA, mem_crc:0x0000, reg_crc:0x785A, cc_crc:0x9725 +Testing beq_b...done. pre_crc:0x43D6, mem_crc:0x0000, reg_crc:0xC2C8, cc_crc:0x66F0 +Testing bvc_b...done. pre_crc:0xF1E5, mem_crc:0x0000, reg_crc:0xB932, cc_crc:0x0762 +Testing bvs_b...done. pre_crc:0x3837, mem_crc:0x0000, reg_crc:0x70EF, cc_crc:0x8BB7 +Testing bpl_b...done. pre_crc:0xF551, mem_crc:0x0000, reg_crc:0xDC0D, cc_crc:0xAC77 +Testing bmi_b...done. pre_crc:0x49EB, mem_crc:0x0000, reg_crc:0x16E3, cc_crc:0x5807 +Testing bge_b...done. pre_crc:0x429F, mem_crc:0x0000, reg_crc:0x35F3, cc_crc:0x04B5 +Testing blt_b...done. pre_crc:0xDC6C, mem_crc:0x0000, reg_crc:0x2C15, cc_crc:0x12CC +Testing bgt_b...done. pre_crc:0xC0FF, mem_crc:0x0000, reg_crc:0x2165, cc_crc:0xE469 +Testing ble_b...done. pre_crc:0xD3FF, mem_crc:0x0000, reg_crc:0x8EAF, cc_crc:0x4287 +Testing bra_w...done. pre_crc:0xD12B, mem_crc:0x0000, reg_crc:0xF408, cc_crc:0xE96E +Testing bhi_w...done. pre_crc:0x746A, mem_crc:0x0000, reg_crc:0xD25C, cc_crc:0xB211 +Testing bls_w...done. pre_crc:0x9386, mem_crc:0x0000, reg_crc:0x64A1, cc_crc:0x11B8 +Testing bcc_w...done. pre_crc:0x09E2, mem_crc:0x0000, reg_crc:0xEAEF, cc_crc:0x6F1E +Testing bcs_w...done. pre_crc:0xB0CB, mem_crc:0x0000, reg_crc:0x095A, cc_crc:0x3600 +Testing bne_w...done. pre_crc:0x6E5F, mem_crc:0x0000, reg_crc:0x6E83, cc_crc:0x74EE +Testing beq_w...done. pre_crc:0xA804, mem_crc:0x0000, reg_crc:0x22D2, cc_crc:0x9D94 +Testing bvc_w...done. pre_crc:0xE86E, mem_crc:0x0000, reg_crc:0xD001, cc_crc:0xC6E2 +Testing bvs_w...done. pre_crc:0x30E3, mem_crc:0x0000, reg_crc:0x48BD, cc_crc:0x431A +Testing bpl_w...done. pre_crc:0xE780, mem_crc:0x0000, reg_crc:0xD7E8, cc_crc:0xA22F +Testing bmi_w...done. pre_crc:0xE407, mem_crc:0x0000, reg_crc:0x9DFB, cc_crc:0x1453 +Testing bge_w...done. pre_crc:0x3B00, mem_crc:0x0000, reg_crc:0xF243, cc_crc:0xE4E8 +Testing blt_w...done. pre_crc:0x5454, mem_crc:0x0000, reg_crc:0xDF43, cc_crc:0x9883 +Testing bgt_w...done. pre_crc:0xE425, mem_crc:0x0000, reg_crc:0xB2B8, cc_crc:0xC060 +Testing ble_w...done. pre_crc:0x9C3C, mem_crc:0x0000, reg_crc:0x8EF6, cc_crc:0x8AC1 +Testing bra_l...done. pre_crc:0xB390, mem_crc:0x0000, reg_crc:0x3C28, cc_crc:0x2DB4 +Testing bhi_l...done. pre_crc:0xC494, mem_crc:0x0000, reg_crc:0xE5F2, cc_crc:0x5C24 +Testing bls_l...done. pre_crc:0xFB35, mem_crc:0x0000, reg_crc:0x6E49, cc_crc:0xA521 +Testing bcc_l...done. pre_crc:0xFD60, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x1340 +Testing bcs_l...done. pre_crc:0xE941, mem_crc:0x0000, reg_crc:0xDAF1, cc_crc:0x607D +Testing bne_l...done. pre_crc:0x9DAB, mem_crc:0x0000, reg_crc:0x1F8A, cc_crc:0x7DD4 +Testing beq_l...done. pre_crc:0x00F1, mem_crc:0x0000, reg_crc:0x757C, cc_crc:0x6731 +Testing bvc_l...done. pre_crc:0xE01C, mem_crc:0x0000, reg_crc:0x85BC, cc_crc:0x6C82 +Testing bvs_l...done. pre_crc:0x1F9A, mem_crc:0x0000, reg_crc:0xFF24, cc_crc:0xAB79 +Testing bpl_l...done. pre_crc:0x9888, mem_crc:0x0000, reg_crc:0xB320, cc_crc:0x1DF0 +Testing bmi_l...done. pre_crc:0x610F, mem_crc:0x0000, reg_crc:0xF3E7, cc_crc:0x0E13 +Testing bge_l...done. pre_crc:0x9D1B, mem_crc:0x0000, reg_crc:0xC014, cc_crc:0xEC01 +Testing blt_l...done. pre_crc:0xE4F6, mem_crc:0x0000, reg_crc:0x2908, cc_crc:0xD9F2 +Testing bgt_l...done. pre_crc:0xFF92, mem_crc:0x0000, reg_crc:0x7526, cc_crc:0xA468 +Testing ble_l...done. pre_crc:0xF3FF, mem_crc:0x0000, reg_crc:0x9074, cc_crc:0x2DD4 +Testing bchg_reg_reg...done. pre_crc:0x0C4F, mem_crc:0x0000, reg_crc:0x54A8, cc_crc:0x4310 +Testing bchg_const_reg...done. pre_crc:0xB1F1, mem_crc:0x0000, reg_crc:0x40F7, cc_crc:0x9656 +Testing bchg_reg_ind...done. pre_crc:0x4970, mem_crc:0x16DF, reg_crc:0xD466, cc_crc:0x019B +Testing bchg_const_ind...done. pre_crc:0xD263, mem_crc:0xBF79, reg_crc:0xEDA9, cc_crc:0x1128 +Testing bchg_reg_d16...done. pre_crc:0xA5C8, mem_crc:0x17FF, reg_crc:0xF758, cc_crc:0x22F3 +Testing bchg_const_d16...done. pre_crc:0xF2EA, mem_crc:0xD337, reg_crc:0x2551, cc_crc:0xBBA0 +Testing bchg_reg_absl...done. pre_crc:0x6210, mem_crc:0xFD98, reg_crc:0x27F3, cc_crc:0xA8B5 +Testing bchg_const_absl...done. pre_crc:0xB36E, mem_crc:0x7F5E, reg_crc:0xC73B, cc_crc:0x2427 +Testing bclr_reg_reg...done. pre_crc:0x5071, mem_crc:0x0000, reg_crc:0x5CEB, cc_crc:0x5D91 +Testing bclr_const_reg...done. pre_crc:0xD4D8, mem_crc:0x0000, reg_crc:0xAB4F, cc_crc:0x5126 +Testing bclr_reg_ind...done. pre_crc:0x923C, mem_crc:0x46D9, reg_crc:0x38E5, cc_crc:0xED1E +Testing bclr_const_ind...done. pre_crc:0x9498, mem_crc:0xEB3C, reg_crc:0x2567, cc_crc:0xA3DE +Testing bclr_reg_d16...done. pre_crc:0xEA2B, mem_crc:0x6423, reg_crc:0x08E9, cc_crc:0x7ED1 +Testing bclr_const_d16...done. pre_crc:0x3EE1, mem_crc:0x8C5B, reg_crc:0xA715, cc_crc:0x8D66 +Testing bclr_reg_absl...done. pre_crc:0xF8A8, mem_crc:0x6511, reg_crc:0xD3FD, cc_crc:0x61BA +Testing bclr_const_absl...done. pre_crc:0x299B, mem_crc:0x33E7, reg_crc:0xF9AF, cc_crc:0x030A +Testing bset_reg_reg...done. pre_crc:0x4CA6, mem_crc:0x0000, reg_crc:0x26A2, cc_crc:0xB675 +Testing bset_const_reg...done. pre_crc:0x91CE, mem_crc:0x0000, reg_crc:0x030C, cc_crc:0xA413 +Testing bset_reg_ind...done. pre_crc:0xCFAD, mem_crc:0x15A4, reg_crc:0x5696, cc_crc:0x3D08 +Testing bset_const_ind...done. pre_crc:0x0BAF, mem_crc:0x03C5, reg_crc:0x87A3, cc_crc:0xB340 +Testing bset_reg_d16...done. pre_crc:0x9539, mem_crc:0x6480, reg_crc:0xB6C1, cc_crc:0x8D2D +Testing bset_const_d16...done. pre_crc:0x0632, mem_crc:0x8919, reg_crc:0x5DCD, cc_crc:0x32D3 +Testing bset_reg_absl...done. pre_crc:0xC3ED, mem_crc:0xB983, reg_crc:0xFEB3, cc_crc:0x7C34 +Testing bset_const_absl...done. pre_crc:0x513F, mem_crc:0xD430, reg_crc:0x7586, cc_crc:0x05F5 +Testing btst_reg_reg...done. pre_crc:0xE0A7, mem_crc:0x0000, reg_crc:0x69D1, cc_crc:0x95E7 +Testing btst_const_reg...done. pre_crc:0x29C0, mem_crc:0x0000, reg_crc:0x98CD, cc_crc:0x975B +Testing btst_reg_ind...done. pre_crc:0xBBCD, mem_crc:0x0000, reg_crc:0x8576, cc_crc:0x7BF6 +Testing btst_const_ind...done. pre_crc:0x73D3, mem_crc:0x0000, reg_crc:0xA7D0, cc_crc:0x57A2 +Testing btst_reg_d16...done. pre_crc:0xB4AE, mem_crc:0x0000, reg_crc:0x84BE, cc_crc:0x6BDA +Testing btst_const_d16...done. pre_crc:0x12EE, mem_crc:0x0000, reg_crc:0x1525, cc_crc:0x9074 +Testing btst_reg_absl...done. pre_crc:0x5F50, mem_crc:0x0000, reg_crc:0xE49A, cc_crc:0x0798 +Testing btst_const_absl...done. pre_crc:0x8E08, mem_crc:0x0000, reg_crc:0xD77E, cc_crc:0xE637 +Testing bfchg_reg...done. pre_crc:0xE882, mem_crc:0x0000, reg_crc:0xF011, cc_crc:0x96F3 +Testing bfchg_ind...done. pre_crc:0x3D06, mem_crc:0x3D89, reg_crc:0x7EBB, cc_crc:0x5D19 +Testing bfchg_d16...done. pre_crc:0x9704, mem_crc:0xDE8E, reg_crc:0x1D12, cc_crc:0x54C7 +Testing bfchg_absl...done. pre_crc:0x120F, mem_crc:0x1052, reg_crc:0x0D9E, cc_crc:0x3B7C +Testing bfclr_reg...done. pre_crc:0x1419, mem_crc:0x0000, reg_crc:0x86B6, cc_crc:0xD93B +Testing bfclr_ind...done. pre_crc:0x4F94, mem_crc:0x8A98, reg_crc:0x13A7, cc_crc:0x1AE9 +Testing bfclr_d16...done. pre_crc:0x5AB4, mem_crc:0xEEEE, reg_crc:0xFED5, cc_crc:0x5BE5 +Testing bfclr_absl...done. pre_crc:0xF1F7, mem_crc:0x694D, reg_crc:0xF659, cc_crc:0x9AE2 +Testing bfset_reg...done. pre_crc:0x8C58, mem_crc:0x0000, reg_crc:0x4CA2, cc_crc:0x4638 +Testing bfset_ind...done. pre_crc:0xAE68, mem_crc:0xB376, reg_crc:0x65EE, cc_crc:0xD67A +Testing bfset_d16...done. pre_crc:0x1DBD, mem_crc:0x6950, reg_crc:0x7809, cc_crc:0x6CD8 +Testing bfset_absl...done. pre_crc:0x9E24, mem_crc:0xFDAE, reg_crc:0x9175, cc_crc:0x6F2B +Testing bftst_reg...done. pre_crc:0x23B0, mem_crc:0x0000, reg_crc:0x5BCD, cc_crc:0xD0F4 +Testing bftst_ind...done. pre_crc:0x857D, mem_crc:0x0000, reg_crc:0xCA88, cc_crc:0xA37E +Testing bftst_d16...done. pre_crc:0xB513, mem_crc:0x0000, reg_crc:0xBCA2, cc_crc:0x8A68 +Testing bftst_absl...done. pre_crc:0xC50B, mem_crc:0x0000, reg_crc:0x8ABF, cc_crc:0x4337 +Testing bfexts_reg...done. pre_crc:0x79FC, mem_crc:0x0000, reg_crc:0x7357, cc_crc:0x11BD +Testing bfexts_ind...done. pre_crc:0xD33A, mem_crc:0x0000, reg_crc:0xA506, cc_crc:0xE0C7 +Testing bfexts_d16...done. pre_crc:0x7AD3, mem_crc:0x0000, reg_crc:0xA8CD, cc_crc:0x836E +Testing bfexts_absl...done. pre_crc:0x3E81, mem_crc:0x0000, reg_crc:0x1482, cc_crc:0x7F8F +Testing bfextu_reg...done. pre_crc:0x83EC, mem_crc:0x0000, reg_crc:0xCC2E, cc_crc:0x964D +Testing bfextu_ind...done. pre_crc:0x8E0B, mem_crc:0x0000, reg_crc:0xA0C0, cc_crc:0xDB2B +Testing bfextu_d16...done. pre_crc:0xCCBD, mem_crc:0x0000, reg_crc:0x4D5C, cc_crc:0x0BA1 +Testing bfextu_absl...done. pre_crc:0x9C7D, mem_crc:0x0000, reg_crc:0xD805, cc_crc:0x316D +Testing bfffo_reg...done. pre_crc:0x4C46, mem_crc:0x0000, reg_crc:0xB9AE, cc_crc:0xCA21 +Testing bfffo_ind...done. pre_crc:0x055A, mem_crc:0x0000, reg_crc:0x3440, cc_crc:0x8F32 +Testing bfffo_d16...done. pre_crc:0x01D2, mem_crc:0x0000, reg_crc:0x40FD, cc_crc:0x5665 +Testing bfffo_absl...done. pre_crc:0x8394, mem_crc:0x0000, reg_crc:0x8A6E, cc_crc:0xB962 +Testing bfins_reg...done. pre_crc:0x54F5, mem_crc:0x0000, reg_crc:0x392E, cc_crc:0xE19F +Testing bfins_ind...done. pre_crc:0x5007, mem_crc:0x42D1, reg_crc:0x7558, cc_crc:0x4F89 +Testing bfins_d16...done. pre_crc:0x7E4A, mem_crc:0xFBA8, reg_crc:0x1F7F, cc_crc:0x14A3 +Testing bfins_absl...done. pre_crc:0x6735, mem_crc:0x525B, reg_crc:0xFF9A, cc_crc:0x5A1B +Testing bsr_b...done. pre_crc:0x8F41, mem_crc:0x2673, reg_crc:0x8E66, cc_crc:0xAA9F +Testing bsr_w...done. pre_crc:0xFBF8, mem_crc:0xF0F3, reg_crc:0x36A0, cc_crc:0x1ED4 +Testing bsr_l...done. pre_crc:0xB451, mem_crc:0x5AEB, reg_crc:0x7E7B, cc_crc:0x37A2 +Testing cas_ind...done. pre_crc:0xDE80, mem_crc:0x519E, reg_crc:0xB841, cc_crc:0xFC14 +Testing cas2_areg...done. pre_crc:0x569B, mem_crc:0x667B, reg_crc:0xCAF0, cc_crc:0x9115 +Testing cas2_anyreg...done. pre_crc:0x7C55, mem_crc:0xF70D, reg_crc:0x68BC, cc_crc:0x0B3B +Testing clr_reg...done. pre_crc:0x4F3A, mem_crc:0x0000, reg_crc:0xC0A0, cc_crc:0x2BA5 +Testing clrb_ind...done. pre_crc:0xC4D3, mem_crc:0x7F2A, reg_crc:0x306A, cc_crc:0x61AB +Testing clrwl_ind...done. pre_crc:0xC195, mem_crc:0xD7DB, reg_crc:0xBEE1, cc_crc:0x624F +Testing clrb_absl...done. pre_crc:0xA995, mem_crc:0x67EF, reg_crc:0x664B, cc_crc:0x730B +Testing clrwl_absl...done. pre_crc:0xDCC7, mem_crc:0xA1EA, reg_crc:0xDA45, cc_crc:0xACB2 +Testing cmp_dreg...done. pre_crc:0x6567, mem_crc:0x0000, reg_crc:0x08F4, cc_crc:0x6220 +Testing cmp_areg...done. pre_crc:0x3A3F, mem_crc:0x0000, reg_crc:0xD844, cc_crc:0x1118 +Testing cmpb_ind...done. pre_crc:0xC689, mem_crc:0x0000, reg_crc:0xA48F, cc_crc:0x4211 +Testing cmpwl_ind...done. pre_crc:0x739A, mem_crc:0x0000, reg_crc:0x5BEC, cc_crc:0xD6C7 +Testing cmpb_d16...done. pre_crc:0x6308, mem_crc:0x0000, reg_crc:0x44B8, cc_crc:0x6359 +Testing cmpwl_d16...done. pre_crc:0x9709, mem_crc:0x0000, reg_crc:0x3E46, cc_crc:0xA617 +Testing cmpa_reg...done. pre_crc:0xFF28, mem_crc:0x0000, reg_crc:0xF83B, cc_crc:0x84CA +Testing cmpa_ind...done. pre_crc:0x59E3, mem_crc:0x0000, reg_crc:0xE165, cc_crc:0xB3D5 +Testing cmpa_ind2...done. pre_crc:0x31F0, mem_crc:0x0000, reg_crc:0x7DF5, cc_crc:0xEF07 +Testing cmpa_d16...done. pre_crc:0x205A, mem_crc:0x0000, reg_crc:0xC7B6, cc_crc:0xAD0E +Testing cmpa_d16_2...done. pre_crc:0xE0FD, mem_crc:0x0000, reg_crc:0xB84D, cc_crc:0x741D +Testing cmpa_absl...done. pre_crc:0xEEA4, mem_crc:0x0000, reg_crc:0x558B, cc_crc:0x4FE6 +Testing cmpibw_reg...done. pre_crc:0x3A94, mem_crc:0x0000, reg_crc:0x49D3, cc_crc:0x85D6 +Testing cmpil_reg...done. pre_crc:0x5AC3, mem_crc:0x0000, reg_crc:0xE53E, cc_crc:0x1CEA +Testing cmpib_ind...done. pre_crc:0xC755, mem_crc:0x0000, reg_crc:0x4A2F, cc_crc:0x0674 +Testing cmpiw_ind...done. pre_crc:0xA9C3, mem_crc:0x0000, reg_crc:0x5402, cc_crc:0x5BA1 +Testing cmpil_ind...done. pre_crc:0x9FFC, mem_crc:0x0000, reg_crc:0x66D8, cc_crc:0x6B38 +Testing cmpmb...done. pre_crc:0x9A5A, mem_crc:0x0000, reg_crc:0xCC7D, cc_crc:0x31EA +Testing cmpmwl...done. pre_crc:0x67D6, mem_crc:0x0000, reg_crc:0x6663, cc_crc:0xF7EF +Testing cmp2b_ind...done. pre_crc:0xAB95, mem_crc:0x0000, reg_crc:0xCD0B, cc_crc:0xEA68 +Testing cmp2wl_ind...done. pre_crc:0x2667, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0x389D +Testing dbcc...done. pre_crc:0x0A95, mem_crc:0x0000, reg_crc:0x7997, cc_crc:0xDC2F +Testing divs_reg...done. pre_crc:0xB201, mem_crc:0x0000, reg_crc:0x0933, cc_crc:0x8209 +Testing divs_same_reg...done. pre_crc:0xACB8, mem_crc:0x0000, reg_crc:0x9713, cc_crc:0x8FBC +Testing divs_ind...done. pre_crc:0x867A, mem_crc:0x0000, reg_crc:0x0743, cc_crc:0x1E5F +Testing divs_absl...done. pre_crc:0x5B8C, mem_crc:0x0000, reg_crc:0xE4A0, cc_crc:0x4C23 +Testing divu_reg...done. pre_crc:0x601C, mem_crc:0x0000, reg_crc:0x2CAE, cc_crc:0x5974 +Testing divu_same_reg...done. pre_crc:0x7769, mem_crc:0x0000, reg_crc:0x8EF9, cc_crc:0x0C42 +Testing divu_ind...done. pre_crc:0xEC43, mem_crc:0x0000, reg_crc:0xD6C2, cc_crc:0xFD94 +Testing divu_absl...done. pre_crc:0x10CF, mem_crc:0x0000, reg_crc:0xBD66, cc_crc:0x130E +Testing divul_ll_reg...done. pre_crc:0xAE5B, mem_crc:0x0000, reg_crc:0x9E1F, cc_crc:0xAB38 +Testing divul_ll_ind...done. pre_crc:0xFC15, mem_crc:0x0000, reg_crc:0x153D, cc_crc:0xCB79 +Testing divul_ll_absl...done. pre_crc:0x9F6D, mem_crc:0x0000, reg_crc:0x9204, cc_crc:0x7E78 +Testing eor_reg...done. pre_crc:0xBD88, mem_crc:0x0000, reg_crc:0xD3C1, cc_crc:0x75AB +Testing eor_ind...done. pre_crc:0x347F, mem_crc:0x3B10, reg_crc:0x3BEA, cc_crc:0x47A5 +Testing eor_d16...done. pre_crc:0xB128, mem_crc:0x21A3, reg_crc:0x0DDF, cc_crc:0xDCB9 +Testing eor_absl...done. pre_crc:0xE6ED, mem_crc:0x1B5A, reg_crc:0x2430, cc_crc:0x45A1 +Testing eoribw_dreg...done. pre_crc:0xC865, mem_crc:0x0000, reg_crc:0xBCC1, cc_crc:0xBB71 +Testing eoril_dreg...done. pre_crc:0x26F6, mem_crc:0x0000, reg_crc:0xD0A2, cc_crc:0x1002 +Testing eoribw_ind...done. pre_crc:0x8F95, mem_crc:0x0846, reg_crc:0x8E35, cc_crc:0x6D31 +Testing eoril_ind...done. pre_crc:0xB7FC, mem_crc:0x7841, reg_crc:0xA140, cc_crc:0x17D4 +Testing eoribw_d16...done. pre_crc:0x0C86, mem_crc:0x4970, reg_crc:0xF321, cc_crc:0xA59F +Testing eoril_d16...done. pre_crc:0x85B1, mem_crc:0x92CE, reg_crc:0x268C, cc_crc:0x3FE1 +Testing eoribw_absl...done. pre_crc:0x1EFD, mem_crc:0xB0F7, reg_crc:0x341A, cc_crc:0x69CC +Testing eoril_absl...done. pre_crc:0xE4BB, mem_crc:0x5909, reg_crc:0xEA19, cc_crc:0xE748 +Testing eori_to_ccr...done. pre_crc:0x2F66, mem_crc:0x0000, reg_crc:0x576D, cc_crc:0x1307 +Testing exg...done. pre_crc:0xED99, mem_crc:0x0000, reg_crc:0x56AC, cc_crc:0xF21F +Testing ext...done. pre_crc:0x9F88, mem_crc:0x0000, reg_crc:0x43F7, cc_crc:0x4466 +Testing jmp_absl...done. pre_crc:0x21F0, mem_crc:0x0000, reg_crc:0xE44B, cc_crc:0x0C9C +Testing jmp_ind...done. pre_crc:0xD3C8, mem_crc:0x0000, reg_crc:0x7112, cc_crc:0x8199 +Testing jmp_d16...done. pre_crc:0x2D98, mem_crc:0x0000, reg_crc:0x4CCB, cc_crc:0x460E +Testing jsr_absl...done. pre_crc:0xCBCB, mem_crc:0x6E26, reg_crc:0x7D2B, cc_crc:0x0161 +Testing jsr_ind...done. pre_crc:0xC736, mem_crc:0x0B8F, reg_crc:0x5829, cc_crc:0xD74D +Testing jsr_d16...done. pre_crc:0x0585, mem_crc:0xF66C, reg_crc:0x4E7E, cc_crc:0x6F6F +Testing lea_ind...done. pre_crc:0xC5AD, mem_crc:0x0000, reg_crc:0x3F3C, cc_crc:0x29DF +Testing lea_d16...done. pre_crc:0xD36E, mem_crc:0x0000, reg_crc:0xF5A3, cc_crc:0x14F3 +Testing lea_absw...done. pre_crc:0xAA30, mem_crc:0x0000, reg_crc:0xAE2F, cc_crc:0x274B +Testing lea_absl...done. pre_crc:0xC77B, mem_crc:0x0000, reg_crc:0x8904, cc_crc:0xEAA8 +Testing linkw...done. pre_crc:0x84D5, mem_crc:0x765E, reg_crc:0x9365, cc_crc:0xA279 +Testing linkl...done. pre_crc:0x88CB, mem_crc:0xD925, reg_crc:0x7F6E, cc_crc:0xD290 +Testing move16_postinc_postinc...done. pre_crc:0xE5DE, mem_crc:0x5A6A, reg_crc:0x10DC, cc_crc:0x3D40 +Testing move16_absl_ind...done. pre_crc:0x4F9D, mem_crc:0xAC84, reg_crc:0x5D1F, cc_crc:0xC76B +Testing move16_absl_postinc...done. pre_crc:0x6332, mem_crc:0x19B9, reg_crc:0xC4CD, cc_crc:0x9582 +Testing move16_ind_absl...done. pre_crc:0x8DEE, mem_crc:0x89CE, reg_crc:0xD82E, cc_crc:0xBF4F +Testing move16_postinc_absl...done. pre_crc:0x37C3, mem_crc:0xF3E4, reg_crc:0x86F8, cc_crc:0xD160 +Testing moveb_dreg_dreg...done. pre_crc:0x0F25, mem_crc:0x0000, reg_crc:0x41F6, cc_crc:0xF145 +Testing movewl_reg_dreg...done. pre_crc:0x1A80, mem_crc:0x0000, reg_crc:0x8D24, cc_crc:0xCBE5 +Testing moveb_ind_dreg...done. pre_crc:0x92F3, mem_crc:0x0000, reg_crc:0x2AFD, cc_crc:0x4B4B +Testing movewl_ind_dreg...done. pre_crc:0x7053, mem_crc:0x0000, reg_crc:0x1DE4, cc_crc:0x46A7 +Testing moveb_d16_dreg...done. pre_crc:0x5871, mem_crc:0x0000, reg_crc:0x4A64, cc_crc:0x6713 +Testing movewl_d16_dreg...done. pre_crc:0x5E1F, mem_crc:0x0000, reg_crc:0x0033, cc_crc:0x050C +Testing moveb_absl_dreg...done. pre_crc:0xAFD9, mem_crc:0x0000, reg_crc:0xC40D, cc_crc:0xAA95 +Testing movewl_absl_dreg...done. pre_crc:0x6B5A, mem_crc:0x0000, reg_crc:0x08EA, cc_crc:0x1EC5 +Testing movebw_const_dreg...done. pre_crc:0xFF26, mem_crc:0x0000, reg_crc:0xFF06, cc_crc:0x7AF7 +Testing movel_const_dreg...done. pre_crc:0x3263, mem_crc:0x0000, reg_crc:0x6B45, cc_crc:0x6F24 +Testing moveb_dreg_ind...done. pre_crc:0x47B6, mem_crc:0x590F, reg_crc:0xBD8D, cc_crc:0x8C45 +Testing movewl_reg_ind...done. pre_crc:0x7D31, mem_crc:0xC110, reg_crc:0x6AE4, cc_crc:0x82CA +Testing moveb_dreg_d16...done. pre_crc:0xC5EC, mem_crc:0xC6C3, reg_crc:0x456E, cc_crc:0x96B1 +Testing movewl_reg_d16...done. pre_crc:0x7D44, mem_crc:0x7E84, reg_crc:0x2CB6, cc_crc:0xC505 +Testing moveb_dreg_absl...done. pre_crc:0xC67B, mem_crc:0x0C69, reg_crc:0x2D9F, cc_crc:0xE295 +Testing movewl_reg_absl...done. pre_crc:0xDDE1, mem_crc:0x66BB, reg_crc:0x5C4D, cc_crc:0x4F61 +Testing moveb_ind_ind...done. pre_crc:0xCE4F, mem_crc:0xFEE5, reg_crc:0x5B5D, cc_crc:0xB78B +Testing moveb_ind_d16...done. pre_crc:0x25F8, mem_crc:0x4D17, reg_crc:0x09F5, cc_crc:0x43D3 +Testing moveb_d16_ind...done. pre_crc:0xD0B1, mem_crc:0x88B7, reg_crc:0xF3EE, cc_crc:0x34EC +Testing movewl_ind_d16...done. pre_crc:0x0C9B, mem_crc:0x8FBA, reg_crc:0x1EDB, cc_crc:0xFCA6 +Testing movewl_d16_ind...done. pre_crc:0x83CE, mem_crc:0x82CF, reg_crc:0x5574, cc_crc:0xD1D2 +Testing moveb_d16_d16...done. pre_crc:0xFF28, mem_crc:0xD87E, reg_crc:0xD35D, cc_crc:0x09FC +Testing movewl_d16_d16...done. pre_crc:0x4E4C, mem_crc:0x4F79, reg_crc:0x1637, cc_crc:0x70D9 +Testing moveb_ind_absl...done. pre_crc:0xA53F, mem_crc:0xAECD, reg_crc:0xB37C, cc_crc:0x766B +Testing movewl_ind_absl...done. pre_crc:0x5209, mem_crc:0x9EB6, reg_crc:0x8135, cc_crc:0x9DFD +Testing moveb_absl_ind...done. pre_crc:0x698A, mem_crc:0xF38E, reg_crc:0xF446, cc_crc:0x64BA +Testing movewl_absl_ind...done. pre_crc:0x77B4, mem_crc:0x485C, reg_crc:0xCD89, cc_crc:0xE4E7 +Testing moveb_absl_absl...done. pre_crc:0xBFBC, mem_crc:0x0963, reg_crc:0xFC77, cc_crc:0x202A +Testing movewl_absl_absl...done. pre_crc:0x3481, mem_crc:0xC1B6, reg_crc:0xFB37, cc_crc:0x2573 +Testing moveb_d16_absl...done. pre_crc:0xE566, mem_crc:0xFD7C, reg_crc:0x00EE, cc_crc:0x9A41 +Testing movewl_d16_absl...done. pre_crc:0x1D90, mem_crc:0x32D9, reg_crc:0xED06, cc_crc:0x1D1D +Testing moveb_absl_d16...done. pre_crc:0x13F2, mem_crc:0xE487, reg_crc:0xF32D, cc_crc:0x1CB0 +Testing movewl_absl_d16...done. pre_crc:0x3B92, mem_crc:0x3B46, reg_crc:0xBEE7, cc_crc:0xC4F8 +Testing moveb_const_ind...done. pre_crc:0x16C9, mem_crc:0xF61B, reg_crc:0x15A2, cc_crc:0xEB5F +Testing moveb_const_d16...done. pre_crc:0xFC9B, mem_crc:0x70C1, reg_crc:0x1323, cc_crc:0xA6D7 +Testing moveb_const_absl...done. pre_crc:0x1504, mem_crc:0x2616, reg_crc:0x6ACC, cc_crc:0xEB47 +Testing movew_const_ind...done. pre_crc:0x1A67, mem_crc:0x80AB, reg_crc:0xCF8E, cc_crc:0xD097 +Testing movew_const_d16...done. pre_crc:0x5EFE, mem_crc:0x979E, reg_crc:0xA1E3, cc_crc:0xCB9E +Testing movew_const_absl...done. pre_crc:0x79DD, mem_crc:0x1EEB, reg_crc:0x6047, cc_crc:0xB865 +Testing movel_const_ind...done. pre_crc:0x95D9, mem_crc:0x826A, reg_crc:0x6ED0, cc_crc:0x7694 +Testing movel_const_d16...done. pre_crc:0xC877, mem_crc:0x0E94, reg_crc:0x44C6, cc_crc:0x8493 +Testing movel_const_absl...done. pre_crc:0x9BFB, mem_crc:0x3F4E, reg_crc:0x0ADD, cc_crc:0x7EBB +Testing movea_reg...done. pre_crc:0x9CEE, mem_crc:0x0000, reg_crc:0xB79A, cc_crc:0x6D46 +Testing movea_ind...done. pre_crc:0x3BC0, mem_crc:0x0000, reg_crc:0x16CE, cc_crc:0x0AA3 +Testing movea_d16...done. pre_crc:0xA458, mem_crc:0x0000, reg_crc:0x09AC, cc_crc:0xF7F1 +Testing movea_absl...done. pre_crc:0x842B, mem_crc:0x0000, reg_crc:0xB93D, cc_crc:0x0D02 +Testing moveaw_const...done. pre_crc:0x9580, mem_crc:0x0000, reg_crc:0xF57D, cc_crc:0x37F1 +Testing moveal_const...done. pre_crc:0xE5D6, mem_crc:0x0000, reg_crc:0x36E2, cc_crc:0x4C0B +Testing move_from_ccr_dreg...done. pre_crc:0x8E95, mem_crc:0x0000, reg_crc:0x8AAD, cc_crc:0x1902 +Testing move_from_ccr_ind...done. pre_crc:0xA663, mem_crc:0x0000, reg_crc:0x6ED6, cc_crc:0x6A9C +Testing move_from_ccr_d16...done. pre_crc:0x8A02, mem_crc:0x0000, reg_crc:0x317A, cc_crc:0x3381 +Testing move_to_ccr_reg...done. pre_crc:0x9B2F, mem_crc:0x0000, reg_crc:0x0249, cc_crc:0xB3F2 +Testing move_to_ccr_ind...done. pre_crc:0xC35F, mem_crc:0x0000, reg_crc:0x50BD, cc_crc:0xD50E +Testing movem_to_ind...done. pre_crc:0xAB38, mem_crc:0xFD73, reg_crc:0x8F52, cc_crc:0x2976 +Testing movem_to_predec...done. pre_crc:0x2411, mem_crc:0x4B95, reg_crc:0x6476, cc_crc:0xF220 +Testing movem_to_d16...done. pre_crc:0x98C2, mem_crc:0x3E3B, reg_crc:0xDB2D, cc_crc:0x44E2 +Testing movem_to_absl...done. pre_crc:0xF5AA, mem_crc:0x9C27, reg_crc:0xFBE6, cc_crc:0x79E0 +Testing movem_from_d16...done. pre_crc:0x88A0, mem_crc:0x0000, reg_crc:0x48C3, cc_crc:0x32C8 +Testing movem_from_ind...done. pre_crc:0x2F80, mem_crc:0x0000, reg_crc:0xB2ED, cc_crc:0x5B26 +Testing movem_from_absl...done. pre_crc:0x119C, mem_crc:0x0000, reg_crc:0x1C08, cc_crc:0xE19A +Testing movep_to_mem...done. pre_crc:0x8207, mem_crc:0x0858, reg_crc:0x40B6, cc_crc:0xC042 +Testing movep_from_mem...done. pre_crc:0xA62C, mem_crc:0x0000, reg_crc:0x6CF6, cc_crc:0x2026 +Testing moveq...done. pre_crc:0x062E, mem_crc:0x0000, reg_crc:0x54C7, cc_crc:0x77E8 +Testing mulsw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x2F4A, cc_crc:0x6F66 +Testing mulsw_ind...done. pre_crc:0x536F, mem_crc:0x0000, reg_crc:0x3EFD, cc_crc:0xA8B0 +Testing mulsw_d16...done. pre_crc:0x50BA, mem_crc:0x0000, reg_crc:0x583E, cc_crc:0x9B9D +Testing mulsw_absl...done. pre_crc:0x01CA, mem_crc:0x0000, reg_crc:0xC143, cc_crc:0x8D77 +Testing muluw_dreg...done. pre_crc:0x811A, mem_crc:0x0000, reg_crc:0x53AF, cc_crc:0x3BAD +Testing muluw_ind...done. pre_crc:0xEC7B, mem_crc:0x0000, reg_crc:0x60AF, cc_crc:0xD558 +Testing muluw_d16...done. pre_crc:0x529B, mem_crc:0x0000, reg_crc:0x7A4C, cc_crc:0x7FDC +Testing muluw_absl...done. pre_crc:0x5312, mem_crc:0x0000, reg_crc:0x220C, cc_crc:0xA63C +Testing mulsl_dreg...done. pre_crc:0x806A, mem_crc:0x0000, reg_crc:0xFAD4, cc_crc:0x416A +Testing mulsl_ind...done. pre_crc:0x056C, mem_crc:0x0000, reg_crc:0xC892, cc_crc:0xE916 +Testing mulsl_d16...done. pre_crc:0xED74, mem_crc:0x0000, reg_crc:0xDDE1, cc_crc:0xA92B +Testing mulsl_absl...done. pre_crc:0x554C, mem_crc:0x0000, reg_crc:0xE689, cc_crc:0x8FE3 +Testing mulul_dreg...done. pre_crc:0x5E92, mem_crc:0x0000, reg_crc:0x246C, cc_crc:0x97F4 +Testing mulul_ind...done. pre_crc:0x7A52, mem_crc:0x0000, reg_crc:0xC927, cc_crc:0xC90F +Testing mulul_d16...done. pre_crc:0xBF0B, mem_crc:0x0000, reg_crc:0x37F7, cc_crc:0x95F0 +Testing mulul_absl...done. pre_crc:0x33FF, mem_crc:0x0000, reg_crc:0x4177, cc_crc:0x50AF +Testing nbcd_reg...done. pre_crc:0xCA8A, mem_crc:0x0000, reg_crc:0xC656, cc_crc:0xE340 +Testing nbcd_ind...done. pre_crc:0x6D36, mem_crc:0xAE62, reg_crc:0x371F, cc_crc:0x1CFD +Testing nbcd_d16...done. pre_crc:0x3AE9, mem_crc:0xFCC6, reg_crc:0xCBBC, cc_crc:0xA1AE +Testing nbcd_absl...done. pre_crc:0x3F82, mem_crc:0x36D7, reg_crc:0x6584, cc_crc:0x710C +Testing neg_reg...done. pre_crc:0x8169, mem_crc:0x0000, reg_crc:0x711D, cc_crc:0xE904 +Testing negb_ind...done. pre_crc:0x315F, mem_crc:0xE9F7, reg_crc:0x21AC, cc_crc:0xA10B +Testing negwl_ind...done. pre_crc:0xCCD6, mem_crc:0xD67C, reg_crc:0x4E1D, cc_crc:0x5EAD +Testing negb_d16...done. pre_crc:0xF5AC, mem_crc:0xF0A0, reg_crc:0x9E98, cc_crc:0xD3A8 +Testing negwl_d16...done. pre_crc:0xD6E7, mem_crc:0xB2FF, reg_crc:0x28BD, cc_crc:0xBC0D +Testing neg_absl...done. pre_crc:0xF4FD, mem_crc:0x286A, reg_crc:0x081C, cc_crc:0x77F6 +Testing negx_reg...done. pre_crc:0xB51C, mem_crc:0x0000, reg_crc:0x28C6, cc_crc:0x6003 +Testing negxb_ind...done. pre_crc:0x9E57, mem_crc:0x7576, reg_crc:0x2CC8, cc_crc:0x6FCC +Testing negxwl_ind...done. pre_crc:0xD067, mem_crc:0x0CCF, reg_crc:0x9377, cc_crc:0x5018 +Testing negxb_d16...done. pre_crc:0x50BE, mem_crc:0x5FF5, reg_crc:0xB086, cc_crc:0x5C0C +Testing negxwl_d16...done. pre_crc:0x96BC, mem_crc:0xD272, reg_crc:0xF90C, cc_crc:0x4C16 +Testing negx_absl...done. pre_crc:0xFEB9, mem_crc:0x158C, reg_crc:0x8136, cc_crc:0x9C7E +Testing nop...done. pre_crc:0x1196, mem_crc:0x0000, reg_crc:0x45D6, cc_crc:0x7265 +Testing not_reg...done. pre_crc:0x0141, mem_crc:0x0000, reg_crc:0xFA14, cc_crc:0xD184 +Testing notb_ind...done. pre_crc:0xEB8E, mem_crc:0xCE91, reg_crc:0x9B5E, cc_crc:0xE872 +Testing notwl_ind...done. pre_crc:0xB993, mem_crc:0xB9A7, reg_crc:0xA987, cc_crc:0x9348 +Testing notb_d16...done. pre_crc:0x3FB2, mem_crc:0xD6C7, reg_crc:0xBA4F, cc_crc:0xE538 +Testing notwl_d16...done. pre_crc:0xF9A6, mem_crc:0x7259, reg_crc:0x6176, cc_crc:0xAA90 +Testing not_absl...done. pre_crc:0x5F02, mem_crc:0xF24F, reg_crc:0x146A, cc_crc:0xA98E +Testing or_dreg_dreg...done. pre_crc:0x2D7D, mem_crc:0x0000, reg_crc:0xABFB, cc_crc:0x928A +Testing or_ind_dreg...done. pre_crc:0x4DA7, mem_crc:0x0000, reg_crc:0x5BB3, cc_crc:0x50D4 +Testing or_d16_dreg...done. pre_crc:0xDCC7, mem_crc:0x0000, reg_crc:0x04BF, cc_crc:0x6C1D +Testing or_absl_dreg...done. pre_crc:0x6FBC, mem_crc:0x0000, reg_crc:0x2824, cc_crc:0x10E3 +Testing orbw_const_dreg...done. pre_crc:0x1A7B, mem_crc:0x0000, reg_crc:0x6DA2, cc_crc:0xD5B3 +Testing orl_const_dreg...done. pre_crc:0xE9DF, mem_crc:0x0000, reg_crc:0x8C68, cc_crc:0x8616 +Testing or_dreg_ind...done. pre_crc:0xE703, mem_crc:0x6149, reg_crc:0x739B, cc_crc:0x0ACF +Testing or_dreg_d16...done. pre_crc:0xFA9E, mem_crc:0x9F8B, reg_crc:0xFEB0, cc_crc:0xCEB9 +Testing or_dreg_absl...done. pre_crc:0x9697, mem_crc:0xA330, reg_crc:0x8BD7, cc_crc:0x1D21 +Testing oribw_dreg...done. pre_crc:0x32B8, mem_crc:0x0000, reg_crc:0x0264, cc_crc:0xE53D +Testing oril_dreg...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0x246A, cc_crc:0x26AD +Testing oribw_ind...done. pre_crc:0x5CD1, mem_crc:0x4549, reg_crc:0xFD7F, cc_crc:0xF66C +Testing oril_ind...done. pre_crc:0xC51B, mem_crc:0x392E, reg_crc:0x1BD7, cc_crc:0x2E82 +Testing oribw_d16...done. pre_crc:0xE97E, mem_crc:0xB800, reg_crc:0x14B4, cc_crc:0x52F7 +Testing oril_d16...done. pre_crc:0xFEA8, mem_crc:0xB859, reg_crc:0x1D99, cc_crc:0x9F35 +Testing oribw_absl...done. pre_crc:0xBFBF, mem_crc:0xCF18, reg_crc:0x4C86, cc_crc:0xF198 +Testing oril_absl...done. pre_crc:0x96CE, mem_crc:0x0B4A, reg_crc:0x1F3D, cc_crc:0x8DAC +Testing ori_to_ccr...done. pre_crc:0x880E, mem_crc:0x0000, reg_crc:0x1A98, cc_crc:0x90D4 +Testing pack_reg...done. pre_crc:0x9DDE, mem_crc:0x0000, reg_crc:0x9F33, cc_crc:0x92F1 +Testing pack_mem...done. pre_crc:0x3A8F, mem_crc:0x92D6, reg_crc:0xE0E0, cc_crc:0x597B +Testing pea_ind...done. pre_crc:0x8698, mem_crc:0x6E80, reg_crc:0x4B06, cc_crc:0x5437 +Testing pea_d16...done. pre_crc:0xB94A, mem_crc:0xC7F7, reg_crc:0x1F75, cc_crc:0x91C7 +Testing pea_absw...done. pre_crc:0x5084, mem_crc:0x0BA2, reg_crc:0xF7C7, cc_crc:0x4D27 +Testing pea_absl...done. pre_crc:0x33FF, mem_crc:0x6210, reg_crc:0xEE47, cc_crc:0xEC49 +Testing rol_dx_dy...done. pre_crc:0xE80B, mem_crc:0x0000, reg_crc:0x63AF, cc_crc:0x6492 +Testing rol_const_dy...done. pre_crc:0xAC46, mem_crc:0x0000, reg_crc:0x90C9, cc_crc:0xD842 +Testing rol_ind...done. pre_crc:0x40E3, mem_crc:0xC7BF, reg_crc:0xFF4D, cc_crc:0xAACF +Testing rol_d16...done. pre_crc:0xC7A3, mem_crc:0x6A8E, reg_crc:0xD00D, cc_crc:0xD0EA +Testing rol_absl...done. pre_crc:0xBCCC, mem_crc:0xA285, reg_crc:0x9388, cc_crc:0xA7D9 +Testing ror_dx_dy...done. pre_crc:0x7DD2, mem_crc:0x0000, reg_crc:0xCB15, cc_crc:0x66AC +Testing ror_const_dy...done. pre_crc:0x92CE, mem_crc:0x0000, reg_crc:0x11B1, cc_crc:0x6944 +Testing ror_ind...done. pre_crc:0x2E00, mem_crc:0x7787, reg_crc:0x08C4, cc_crc:0x6D8F +Testing ror_d16...done. pre_crc:0x6315, mem_crc:0xAD91, reg_crc:0x2ABF, cc_crc:0x7FA1 +Testing ror_absl...done. pre_crc:0xA341, mem_crc:0xAAB7, reg_crc:0xD3F1, cc_crc:0xB98A +Testing roxl_dx_dy...done. pre_crc:0xDC61, mem_crc:0x0000, reg_crc:0xD583, cc_crc:0xE3BA +Testing roxl_const_dy...done. pre_crc:0x8B99, mem_crc:0x0000, reg_crc:0xFF9A, cc_crc:0x33A5 +Testing roxl_ind...done. pre_crc:0x0172, mem_crc:0x648A, reg_crc:0xC745, cc_crc:0x3202 +Testing roxl_d16...done. pre_crc:0x113B, mem_crc:0x7BD8, reg_crc:0x1835, cc_crc:0x5702 +Testing roxl_absl...done. pre_crc:0x1BB8, mem_crc:0x683E, reg_crc:0xEB2E, cc_crc:0x194F +Testing roxr_dx_dy...done. pre_crc:0x40D1, mem_crc:0x0000, reg_crc:0x6885, cc_crc:0x8585 +Testing roxr_const_dy...done. pre_crc:0x4244, mem_crc:0x0000, reg_crc:0x71D7, cc_crc:0xB439 +Testing roxr_ind...done. pre_crc:0x7112, mem_crc:0xEC45, reg_crc:0xDD05, cc_crc:0x6E70 +Testing roxr_d16...done. pre_crc:0x78B8, mem_crc:0x106B, reg_crc:0xB771, cc_crc:0x581C +Testing roxr_absl...done. pre_crc:0x039B, mem_crc:0x2EF9, reg_crc:0x8118, cc_crc:0x4E50 +Testing rtd...done. pre_crc:0xBA2B, mem_crc:0x0000, reg_crc:0x04C1, cc_crc:0x8649 +Testing rtr...done. pre_crc:0x81DE, mem_crc:0x0000, reg_crc:0xA240, cc_crc:0x2692 +Testing rts...done. pre_crc:0x06E9, mem_crc:0x0000, reg_crc:0x9E38, cc_crc:0x3C12 +Testing sbcd_reg...done. pre_crc:0xDB61, mem_crc:0x0000, reg_crc:0xD7F0, cc_crc:0x0B10 +Testing sbcd_mem...done. pre_crc:0xDAC0, mem_crc:0x2405, reg_crc:0x6987, cc_crc:0xB6A1 +Testing Scc_reg...done. pre_crc:0x76B6, mem_crc:0x0000, reg_crc:0x96B4, cc_crc:0x7DC3 +Testing Scc_ind...done. pre_crc:0x82D4, mem_crc:0x4397, reg_crc:0xF2B0, cc_crc:0xD8DD +Testing Scc_d16...done. pre_crc:0x6C87, mem_crc:0x5AB4, reg_crc:0xF23B, cc_crc:0x8FF1 +Testing Scc_absl...done. pre_crc:0xBFF2, mem_crc:0xB9C1, reg_crc:0x261F, cc_crc:0x4E1E +Testing subb_dreg_dreg...done. pre_crc:0x9C8C, mem_crc:0x0000, reg_crc:0x137A, cc_crc:0xE8FC +Testing subw_reg_dreg...done. pre_crc:0x9CA3, mem_crc:0x0000, reg_crc:0x3AD7, cc_crc:0x2FD9 +Testing subl_reg_dreg...done. pre_crc:0x3B3C, mem_crc:0x0000, reg_crc:0xCF2D, cc_crc:0xFBFE +Testing sub_ind_dreg...done. pre_crc:0x709D, mem_crc:0x0000, reg_crc:0xD30D, cc_crc:0x981C +Testing sub_d16_dreg...done. pre_crc:0x7EAF, mem_crc:0x0000, reg_crc:0x3EA7, cc_crc:0xC8DC +Testing sub_absl_dreg...done. pre_crc:0xF0E5, mem_crc:0x0000, reg_crc:0x65D4, cc_crc:0x44F3 +Testing subb_const_dreg...done. pre_crc:0x6AFB, mem_crc:0x0000, reg_crc:0x75D6, cc_crc:0x65DD +Testing subw_const_dreg...done. pre_crc:0x2950, mem_crc:0x0000, reg_crc:0xB629, cc_crc:0x4EB1 +Testing subl_const_dreg...done. pre_crc:0x2934, mem_crc:0x0000, reg_crc:0x14F0, cc_crc:0x68FD +Testing sub_dreg_ind...done. pre_crc:0x9642, mem_crc:0x05B7, reg_crc:0xB01F, cc_crc:0x581A +Testing sub_dreg_d16...done. pre_crc:0xB9FA, mem_crc:0xC9BD, reg_crc:0xB6F2, cc_crc:0xBAEF +Testing sub_dreg_absl...done. pre_crc:0x786D, mem_crc:0x1B00, reg_crc:0xEC32, cc_crc:0x91AE +Testing subaw_reg_areg...done. pre_crc:0xCC9C, mem_crc:0x0000, reg_crc:0x873F, cc_crc:0x37F4 +Testing subal_reg_areg...done. pre_crc:0x1899, mem_crc:0x0000, reg_crc:0x20E3, cc_crc:0xAA2B +Testing suba_ind_areg...done. pre_crc:0xDB35, mem_crc:0x0000, reg_crc:0xD619, cc_crc:0x2A46 +Testing suba_d16_areg...done. pre_crc:0x8A4A, mem_crc:0x0000, reg_crc:0x3840, cc_crc:0x49B9 +Testing suba_absl_areg...done. pre_crc:0x066F, mem_crc:0x0000, reg_crc:0xC4B0, cc_crc:0xBC45 +Testing subaw_const_areg...done. pre_crc:0x22E1, mem_crc:0x0000, reg_crc:0xDFF4, cc_crc:0xA8FB +Testing subal_const_areg...done. pre_crc:0x26CB, mem_crc:0x0000, reg_crc:0xC1B5, cc_crc:0x26D0 +Testing subibw_dreg...done. pre_crc:0x39DA, mem_crc:0x0000, reg_crc:0xA388, cc_crc:0xE856 +Testing subil_dreg...done. pre_crc:0x3158, mem_crc:0x0000, reg_crc:0x0EA2, cc_crc:0x2488 +Testing subibw_ind...done. pre_crc:0x2E31, mem_crc:0x15B6, reg_crc:0x10C1, cc_crc:0x18B8 +Testing subil_ind...done. pre_crc:0x2F2C, mem_crc:0x777E, reg_crc:0x60FC, cc_crc:0x3F11 +Testing subibw_d16...done. pre_crc:0x173F, mem_crc:0x8BEE, reg_crc:0xD37F, cc_crc:0xA84C +Testing subil_d16...done. pre_crc:0x6421, mem_crc:0x156B, reg_crc:0x3AED, cc_crc:0xD9FB +Testing subibw_absl...done. pre_crc:0xAB59, mem_crc:0x7803, reg_crc:0x3028, cc_crc:0xFFBD +Testing subil_absl...done. pre_crc:0x95E3, mem_crc:0x6CDD, reg_crc:0xE2D2, cc_crc:0x6978 +Testing subq_dreg...done. pre_crc:0xD225, mem_crc:0x0000, reg_crc:0x2E6F, cc_crc:0x248D +Testing subq_areg...done. pre_crc:0xD980, mem_crc:0x0000, reg_crc:0xFD76, cc_crc:0x27E4 +Testing subq_ind...done. pre_crc:0x5956, mem_crc:0x8BBD, reg_crc:0x2FE0, cc_crc:0x94CE +Testing subq_d16...done. pre_crc:0x1270, mem_crc:0x413A, reg_crc:0x5C2E, cc_crc:0xB27E +Testing subq_absl...done. pre_crc:0xAD6C, mem_crc:0xA650, reg_crc:0xCC63, cc_crc:0x49F4 +Testing subx_reg...done. pre_crc:0x0430, mem_crc:0x0000, reg_crc:0x1C0D, cc_crc:0xBAF2 +Testing subx_mem...done. pre_crc:0x0393, mem_crc:0x253E, reg_crc:0xE980, cc_crc:0xC776 +Testing swap...done. pre_crc:0x5A96, mem_crc:0x0000, reg_crc:0x9CBB, cc_crc:0x59C3 +Testing tas_dreg...done. pre_crc:0x7CE3, mem_crc:0x0000, reg_crc:0xF49E, cc_crc:0x5600 +Testing tas_ind...done. pre_crc:0x4264, mem_crc:0xFA7E, reg_crc:0x0D4F, cc_crc:0xFFB7 +Testing tas_d16...done. pre_crc:0x5C85, mem_crc:0x0C96, reg_crc:0x1E33, cc_crc:0xEB3F +Testing tas_absl...done. pre_crc:0x8659, mem_crc:0x9F8E, reg_crc:0x9701, cc_crc:0xA5FA +Testing tstb_dreg...done. pre_crc:0x22ED, mem_crc:0x0000, reg_crc:0x4CDF, cc_crc:0xD896 +Testing tstwl_reg...done. pre_crc:0x3A7A, mem_crc:0x0000, reg_crc:0xABC7, cc_crc:0xEED4 +Testing tstb_ind...done. pre_crc:0xF45D, mem_crc:0x0000, reg_crc:0x087A, cc_crc:0x7AC7 +Testing tstwl_ind...done. pre_crc:0xB7A9, mem_crc:0x0000, reg_crc:0x81D7, cc_crc:0x7FFB +Testing tstb_d16...done. pre_crc:0x5E26, mem_crc:0x0000, reg_crc:0x9E64, cc_crc:0xA886 +Testing tstwl_d16...done. pre_crc:0x660A, mem_crc:0x0000, reg_crc:0xFE5D, cc_crc:0x249C +Testing tst_absl...done. pre_crc:0x5E65, mem_crc:0x0000, reg_crc:0xD2C9, cc_crc:0x1A70 diff --git a/test/glibc.200 b/test/glibc.200 new file mode 100644 index 0000000..c66023f --- /dev/null +++ b/test/glibc.200 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x76DD, mem_crc:0x0000, reg_crc:0xBEFC, cc_crc:0x9B46 +Testing unpk_mem...done. pre_crc:0x8543, mem_crc:0xD6EC, reg_crc:0xFC2B, cc_crc:0x32C1 +Testing unlk...done. pre_crc:0x09F8, mem_crc:0x0000, reg_crc:0xCE6E, cc_crc:0x85FE +Testing movewl_ind_ind...done. pre_crc:0x8EF8, mem_crc:0x9D83, reg_crc:0x96FC, cc_crc:0x9577 +Testing divsl_ll_reg...done. pre_crc:0x0174, mem_crc:0x0000, reg_crc:0x3489, cc_crc:0xAE25 +Testing divsl_ll_ind...done. pre_crc:0x17AC, mem_crc:0x0000, reg_crc:0xD3AB, cc_crc:0xB05B +Testing divsl_ll_absl...done. pre_crc:0xC5FC, mem_crc:0x0000, reg_crc:0x75E6, cc_crc:0x0F24 +Testing lea_pc_ind_preix...done. pre_crc:0x3AA3, mem_crc:0x0000, reg_crc:0x96D7, cc_crc:0x3E67 +Testing lea_pc_ind_postix...done. pre_crc:0x4A5A, mem_crc:0x0000, reg_crc:0x4907, cc_crc:0x8712 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xE101, mem_crc:0x0000, reg_crc:0xC63C, cc_crc:0x9BA8 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x35C8, mem_crc:0x0000, reg_crc:0xED5A, cc_crc:0x3F63 +Testing moveb_pcd16_dreg...done. pre_crc:0xE627, mem_crc:0x0000, reg_crc:0x4C7F, cc_crc:0xAE2F +Testing movewl_pcd16_dreg...done. pre_crc:0x9A21, mem_crc:0x0000, reg_crc:0xA829, cc_crc:0xD7A5 +Testing moveb_pcd8_dreg...done. pre_crc:0xEFD4, mem_crc:0x0000, reg_crc:0x2FFB, cc_crc:0x1E2E +Testing movewl_pcd8_dreg...done. pre_crc:0xAE07, mem_crc:0x0000, reg_crc:0xD26F, cc_crc:0x2B44 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1047, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x323E +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x3047, mem_crc:0x0000, reg_crc:0xAAA3, cc_crc:0x984C +Testing lea_ind_preix...done. pre_crc:0xC84F, mem_crc:0x0000, reg_crc:0x1148, cc_crc:0x5CB2 +Testing lea_ind_postix...done. pre_crc:0x5B58, mem_crc:0x0000, reg_crc:0xF852, cc_crc:0x762A +Testing add_absl_dreg...done. pre_crc:0xB340, mem_crc:0x0000, reg_crc:0x3FB4, cc_crc:0xD46C +Testing abcd_reg...done. pre_crc:0x8511, mem_crc:0x0000, reg_crc:0x1795, cc_crc:0xA017 +Testing abcd_mem...done. pre_crc:0x1D5E, mem_crc:0x1760, reg_crc:0x58D3, cc_crc:0xC4C4 +Testing addb_dreg_dreg...done. pre_crc:0x5E96, mem_crc:0x0000, reg_crc:0xFD19, cc_crc:0x221E +Testing addw_reg_dreg...done. pre_crc:0x90A9, mem_crc:0x0000, reg_crc:0xC3CA, cc_crc:0x6D5E +Testing addl_reg_dreg...done. pre_crc:0x5CEE, mem_crc:0x0000, reg_crc:0x1FFD, cc_crc:0x517C +Testing add_d16_dreg...done. pre_crc:0x83FB, mem_crc:0x0000, reg_crc:0x0716, cc_crc:0xDCC2 +Testing addb_const_dreg...done. pre_crc:0x4585, mem_crc:0x0000, reg_crc:0x1B1E, cc_crc:0x5D2C +Testing addw_const_dreg...done. pre_crc:0x7E95, mem_crc:0x0000, reg_crc:0x8D24, cc_crc:0x9285 +Testing add_dreg_ind...done. pre_crc:0xF2BC, mem_crc:0x312C, reg_crc:0x3CC3, cc_crc:0xE4DE +Testing add_ind_dreg...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0x8888, cc_crc:0xA8D6 +Testing addl_const_dreg...done. pre_crc:0x7094, mem_crc:0x0000, reg_crc:0x6F03, cc_crc:0xA68D +Testing add_dreg_d16...done. pre_crc:0x0876, mem_crc:0x91E0, reg_crc:0x52A8, cc_crc:0xE128 +Testing add_dreg_absl...done. pre_crc:0xE399, mem_crc:0xA0CA, reg_crc:0x9559, cc_crc:0x262A +Testing addaw_reg_areg...done. pre_crc:0x2055, mem_crc:0x0000, reg_crc:0xB9C4, cc_crc:0x1E4E +Testing addal_reg_areg...done. pre_crc:0xC2DD, mem_crc:0x0000, reg_crc:0x25C2, cc_crc:0x6E51 +Testing adda_ind_areg...done. pre_crc:0x9C8D, mem_crc:0x0000, reg_crc:0x2260, cc_crc:0x3F55 +Testing adda_d16_areg...done. pre_crc:0x9F28, mem_crc:0x0000, reg_crc:0xCB2F, cc_crc:0xB6A2 +Testing adda_absl_areg...done. pre_crc:0x0862, mem_crc:0x0000, reg_crc:0x1D03, cc_crc:0x14E2 +Testing addaw_const_areg...done. pre_crc:0x6D13, mem_crc:0x0000, reg_crc:0xE338, cc_crc:0x2D06 +Testing addal_const_areg...done. pre_crc:0xBFC7, mem_crc:0x0000, reg_crc:0xE8C3, cc_crc:0xB30E +Testing addibw_dreg...done. pre_crc:0xEBC5, mem_crc:0x0000, reg_crc:0x89DA, cc_crc:0xD2B2 +Testing addil_dreg...done. pre_crc:0xAE03, mem_crc:0x0000, reg_crc:0x95DD, cc_crc:0x8F64 +Testing addibw_ind...done. pre_crc:0x38A2, mem_crc:0x6AD8, reg_crc:0x027A, cc_crc:0xED0F +Testing addil_ind...done. pre_crc:0x5A43, mem_crc:0xB759, reg_crc:0x35B4, cc_crc:0x809D +Testing addibw_d16...done. pre_crc:0xC236, mem_crc:0xC861, reg_crc:0xAB08, cc_crc:0x4089 +Testing addil_d16...done. pre_crc:0xDB77, mem_crc:0x08AB, reg_crc:0xD6F4, cc_crc:0x1CFE +Testing addibw_absl...done. pre_crc:0x2D02, mem_crc:0x88BB, reg_crc:0xD427, cc_crc:0x51EA +Testing addil_absl...done. pre_crc:0xE61C, mem_crc:0x79FD, reg_crc:0xF107, cc_crc:0x02A4 +Testing addq_dreg...done. pre_crc:0x6C4A, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0x9298 +Testing addq_areg...done. pre_crc:0x2FBF, mem_crc:0x0000, reg_crc:0x4AE0, cc_crc:0x3701 +Testing addq_ind...done. pre_crc:0x8CE1, mem_crc:0x617F, reg_crc:0xDADA, cc_crc:0x8B7D +Testing addq_d16...done. pre_crc:0xAF3C, mem_crc:0x0D1F, reg_crc:0x44FA, cc_crc:0x39A9 +Testing addq_absl...done. pre_crc:0x131D, mem_crc:0x87E7, reg_crc:0xB380, cc_crc:0xA219 +Testing addx_reg...done. pre_crc:0xCDBD, mem_crc:0x0000, reg_crc:0xB7F0, cc_crc:0xADDC +Testing addx_mem...done. pre_crc:0xB3FB, mem_crc:0x26AD, reg_crc:0x99FF, cc_crc:0x3CEB +Testing and_dreg_dreg...done. pre_crc:0xB1F5, mem_crc:0x0000, reg_crc:0x56D4, cc_crc:0x1714 +Testing and_ind_dreg...done. pre_crc:0x8BB8, mem_crc:0x0000, reg_crc:0x99D2, cc_crc:0x5251 +Testing and_d16_dreg...done. pre_crc:0x1CDB, mem_crc:0x0000, reg_crc:0x5E73, cc_crc:0xB62A +Testing and_absl_dreg...done. pre_crc:0x4F3D, mem_crc:0x0000, reg_crc:0x485F, cc_crc:0x2127 +Testing andbw_const_dreg...done. pre_crc:0xFBD2, mem_crc:0x0000, reg_crc:0x8236, cc_crc:0x80F1 +Testing andl_const_dreg...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x2DEE, cc_crc:0x9F2B +Testing and_dreg_ind...done. pre_crc:0x0D4B, mem_crc:0x3B25, reg_crc:0xA44C, cc_crc:0x7260 +Testing and_dreg_d16...done. pre_crc:0x10EC, mem_crc:0x2124, reg_crc:0x207A, cc_crc:0xDA46 +Testing and_dreg_absl...done. pre_crc:0xE40F, mem_crc:0xE3EF, reg_crc:0x2589, cc_crc:0xB8DD +Testing andibw_dreg...done. pre_crc:0x05C5, mem_crc:0x0000, reg_crc:0x8AF7, cc_crc:0x84FF +Testing andil_dreg...done. pre_crc:0xC671, mem_crc:0x0000, reg_crc:0x29FB, cc_crc:0x8CD9 +Testing andibw_ind...done. pre_crc:0x404C, mem_crc:0x0851, reg_crc:0x3599, cc_crc:0x54CE +Testing andil_ind...done. pre_crc:0x7504, mem_crc:0xB3BA, reg_crc:0x0D15, cc_crc:0x4D4B +Testing andibw_d16...done. pre_crc:0x8E6F, mem_crc:0xDF4A, reg_crc:0x7A10, cc_crc:0x04AD +Testing andil_d16...done. pre_crc:0x74EB, mem_crc:0x8777, reg_crc:0x2040, cc_crc:0x3018 +Testing andibw_absl...done. pre_crc:0x4048, mem_crc:0x808F, reg_crc:0x0BB5, cc_crc:0x1BBD +Testing andil_absl...done. pre_crc:0x9E7D, mem_crc:0x5A87, reg_crc:0xBF9D, cc_crc:0xD03B +Testing andi_to_ccr...done. pre_crc:0xE0EF, mem_crc:0x0000, reg_crc:0x31EF, cc_crc:0x56C6 +Testing asl_dx_dy...done. pre_crc:0xBC14, mem_crc:0x0000, reg_crc:0x6948, cc_crc:0x81BD +Testing asl_const_dy...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x052B, cc_crc:0xA8BF +Testing asl_ind...done. pre_crc:0x4AF7, mem_crc:0xA0AA, reg_crc:0x9E8A, cc_crc:0x72EE +Testing asl_d16...done. pre_crc:0x566F, mem_crc:0x9D62, reg_crc:0xCA11, cc_crc:0xBBF6 +Testing asl_absl...done. pre_crc:0xF2F3, mem_crc:0xE7F0, reg_crc:0x08CB, cc_crc:0x8C97 +Testing asr_dx_dy...done. pre_crc:0x2DBC, mem_crc:0x0000, reg_crc:0xFDEF, cc_crc:0xF858 +Testing asr_const_dy...done. pre_crc:0xAD2D, mem_crc:0x0000, reg_crc:0xD255, cc_crc:0xB42E +Testing asr_ind...done. pre_crc:0x354C, mem_crc:0x9113, reg_crc:0x753D, cc_crc:0xE962 +Testing asr_d16...done. pre_crc:0xA08A, mem_crc:0x92E6, reg_crc:0x0792, cc_crc:0x422E +Testing asr_absl...done. pre_crc:0xB186, mem_crc:0xEA2F, reg_crc:0x9176, cc_crc:0xCB43 +Testing lsl_dx_dy...done. pre_crc:0x4C2A, mem_crc:0x0000, reg_crc:0x3E5D, cc_crc:0x1932 +Testing lsl_const_dy...done. pre_crc:0x40EE, mem_crc:0x0000, reg_crc:0xADAE, cc_crc:0x3D6E +Testing lsl_ind...done. pre_crc:0x20DA, mem_crc:0x3CEB, reg_crc:0x7222, cc_crc:0x18FF +Testing lsl_d16...done. pre_crc:0x99E9, mem_crc:0x1AB3, reg_crc:0xF6D8, cc_crc:0x4A52 +Testing lsl_absl...done. pre_crc:0xB5C2, mem_crc:0x5216, reg_crc:0x0AA3, cc_crc:0xB1D8 +Testing lsr_dx_dy...done. pre_crc:0x4237, mem_crc:0x0000, reg_crc:0x0F60, cc_crc:0x135B +Testing lsr_const_dy...done. pre_crc:0xB4AB, mem_crc:0x0000, reg_crc:0xD325, cc_crc:0x2847 +Testing lsr_ind...done. pre_crc:0x0B4A, mem_crc:0x16E9, reg_crc:0x245A, cc_crc:0xD839 +Testing lsr_d16...done. pre_crc:0xD89C, mem_crc:0xFC72, reg_crc:0x0C3C, cc_crc:0xF715 +Testing lsr_absl...done. pre_crc:0x9C79, mem_crc:0xDA2A, reg_crc:0x5168, cc_crc:0x2FB6 +Testing bra_b...done. pre_crc:0xD681, mem_crc:0x0000, reg_crc:0x367E, cc_crc:0x850D +Testing bhi_b...done. pre_crc:0xAE95, mem_crc:0x0000, reg_crc:0xE9E6, cc_crc:0xC780 +Testing bls_b...done. pre_crc:0xC702, mem_crc:0x0000, reg_crc:0xD2ED, cc_crc:0x47ED +Testing bcc_b...done. pre_crc:0x428D, mem_crc:0x0000, reg_crc:0x80E0, cc_crc:0xF401 +Testing bcs_b...done. pre_crc:0x71AF, mem_crc:0x0000, reg_crc:0x1878, cc_crc:0xD884 +Testing bne_b...done. pre_crc:0x7954, mem_crc:0x0000, reg_crc:0x8BE8, cc_crc:0xB645 +Testing beq_b...done. pre_crc:0x4362, mem_crc:0x0000, reg_crc:0x9DFE, cc_crc:0x169E +Testing bvc_b...done. pre_crc:0xD681, mem_crc:0x0000, reg_crc:0x8D27, cc_crc:0xE05B +Testing bvs_b...done. pre_crc:0x11B9, mem_crc:0x0000, reg_crc:0x07D0, cc_crc:0xF93F +Testing bpl_b...done. pre_crc:0x20F7, mem_crc:0x0000, reg_crc:0xA684, cc_crc:0xCA5C +Testing bmi_b...done. pre_crc:0x2326, mem_crc:0x0000, reg_crc:0x6C5F, cc_crc:0x70EF +Testing bge_b...done. pre_crc:0x2D1A, mem_crc:0x0000, reg_crc:0xC423, cc_crc:0xF8E6 +Testing blt_b...done. pre_crc:0xEE8E, mem_crc:0x0000, reg_crc:0x919B, cc_crc:0xCD54 +Testing bgt_b...done. pre_crc:0x3832, mem_crc:0x0000, reg_crc:0x310D, cc_crc:0x795B +Testing ble_b...done. pre_crc:0xB421, mem_crc:0x0000, reg_crc:0x9775, cc_crc:0x609F +Testing bra_w...done. pre_crc:0x47DA, mem_crc:0x0000, reg_crc:0x89EA, cc_crc:0xDFBF +Testing bhi_w...done. pre_crc:0x86B7, mem_crc:0x0000, reg_crc:0x85B5, cc_crc:0x022A +Testing bls_w...done. pre_crc:0xD49B, mem_crc:0x0000, reg_crc:0x8BFF, cc_crc:0x562B +Testing bcc_w...done. pre_crc:0x713E, mem_crc:0x0000, reg_crc:0xB16A, cc_crc:0x6A1E +Testing bcs_w...done. pre_crc:0x3CC4, mem_crc:0x0000, reg_crc:0xD96B, cc_crc:0xB9CE +Testing bne_w...done. pre_crc:0x492D, mem_crc:0x0000, reg_crc:0xE380, cc_crc:0x24C0 +Testing beq_w...done. pre_crc:0xE26D, mem_crc:0x0000, reg_crc:0xEB53, cc_crc:0x5CDD +Testing bvc_w...done. pre_crc:0xC6AE, mem_crc:0x0000, reg_crc:0x7C89, cc_crc:0x7182 +Testing bvs_w...done. pre_crc:0xFAAD, mem_crc:0x0000, reg_crc:0x8741, cc_crc:0x41ED +Testing bpl_w...done. pre_crc:0x4762, mem_crc:0x0000, reg_crc:0xA66A, cc_crc:0xFCD2 +Testing bmi_w...done. pre_crc:0xB98B, mem_crc:0x0000, reg_crc:0xF86E, cc_crc:0x17D4 +Testing bge_w...done. pre_crc:0xAE71, mem_crc:0x0000, reg_crc:0xA68D, cc_crc:0x7763 +Testing blt_w...done. pre_crc:0x3330, mem_crc:0x0000, reg_crc:0x717E, cc_crc:0xA43B +Testing bgt_w...done. pre_crc:0x7A77, mem_crc:0x0000, reg_crc:0xDAF2, cc_crc:0xAEC8 +Testing ble_w...done. pre_crc:0x4B4B, mem_crc:0x0000, reg_crc:0x5EA8, cc_crc:0x83F2 +Testing bra_l...done. pre_crc:0xA2CD, mem_crc:0x0000, reg_crc:0x4BE1, cc_crc:0xD094 +Testing bhi_l...done. pre_crc:0x8D12, mem_crc:0x0000, reg_crc:0x67C4, cc_crc:0x7A01 +Testing bls_l...done. pre_crc:0x70DC, mem_crc:0x0000, reg_crc:0xF699, cc_crc:0x9F2B +Testing bcc_l...done. pre_crc:0x785E, mem_crc:0x0000, reg_crc:0xFF8B, cc_crc:0xE6AD +Testing bcs_l...done. pre_crc:0x083C, mem_crc:0x0000, reg_crc:0x92F1, cc_crc:0xD5FB +Testing bne_l...done. pre_crc:0xD103, mem_crc:0x0000, reg_crc:0x8532, cc_crc:0x60F3 +Testing beq_l...done. pre_crc:0x5BD9, mem_crc:0x0000, reg_crc:0x520D, cc_crc:0x0A28 +Testing bvc_l...done. pre_crc:0xDD68, mem_crc:0x0000, reg_crc:0xAD3E, cc_crc:0x86A7 +Testing bvs_l...done. pre_crc:0xB457, mem_crc:0x0000, reg_crc:0xBE2D, cc_crc:0xAA9C +Testing bpl_l...done. pre_crc:0x38EA, mem_crc:0x0000, reg_crc:0xB2B4, cc_crc:0x8F04 +Testing bmi_l...done. pre_crc:0x0C7C, mem_crc:0x0000, reg_crc:0x12A9, cc_crc:0x146A +Testing bge_l...done. pre_crc:0xAB82, mem_crc:0x0000, reg_crc:0x0F96, cc_crc:0xCBC2 +Testing blt_l...done. pre_crc:0x7FB9, mem_crc:0x0000, reg_crc:0x3E8A, cc_crc:0x37DC +Testing bgt_l...done. pre_crc:0xAA42, mem_crc:0x0000, reg_crc:0xB295, cc_crc:0x132C +Testing ble_l...done. pre_crc:0x1829, mem_crc:0x0000, reg_crc:0x933A, cc_crc:0xE7E4 +Testing bchg_reg_reg...done. pre_crc:0xF5E9, mem_crc:0x0000, reg_crc:0xAF9A, cc_crc:0x9C27 +Testing bchg_const_reg...done. pre_crc:0x0A29, mem_crc:0x0000, reg_crc:0xA23E, cc_crc:0x10E6 +Testing bchg_reg_ind...done. pre_crc:0xFDD3, mem_crc:0x7436, reg_crc:0xBD33, cc_crc:0x5EBC +Testing bchg_const_ind...done. pre_crc:0xA2AC, mem_crc:0x14E7, reg_crc:0x02C2, cc_crc:0x41DB +Testing bchg_reg_d16...done. pre_crc:0xF811, mem_crc:0x114E, reg_crc:0xEFD5, cc_crc:0x176C +Testing bchg_const_d16...done. pre_crc:0xBF3C, mem_crc:0xB187, reg_crc:0xAD2F, cc_crc:0x2564 +Testing bchg_reg_absl...done. pre_crc:0xDD8C, mem_crc:0x2EBD, reg_crc:0x1D5A, cc_crc:0x0D34 +Testing bchg_const_absl...done. pre_crc:0xEB4F, mem_crc:0xEC1A, reg_crc:0x4BA3, cc_crc:0xE7E4 +Testing bclr_reg_reg...done. pre_crc:0xAEAC, mem_crc:0x0000, reg_crc:0xD69B, cc_crc:0xB2E8 +Testing bclr_const_reg...done. pre_crc:0x6FC9, mem_crc:0x0000, reg_crc:0x6048, cc_crc:0x1A92 +Testing bclr_reg_ind...done. pre_crc:0x0578, mem_crc:0x7F8C, reg_crc:0xC617, cc_crc:0xA4D0 +Testing bclr_const_ind...done. pre_crc:0x6A14, mem_crc:0xF7AB, reg_crc:0x4E21, cc_crc:0xD516 +Testing bclr_reg_d16...done. pre_crc:0x7292, mem_crc:0x5384, reg_crc:0x37D9, cc_crc:0xD0C7 +Testing bclr_const_d16...done. pre_crc:0x4522, mem_crc:0xE741, reg_crc:0x1806, cc_crc:0xB670 +Testing bclr_reg_absl...done. pre_crc:0x0663, mem_crc:0xA2E6, reg_crc:0x4BD1, cc_crc:0x2BDE +Testing bclr_const_absl...done. pre_crc:0x5C57, mem_crc:0x6B4C, reg_crc:0x2B6C, cc_crc:0x4CAB +Testing bset_reg_reg...done. pre_crc:0xF987, mem_crc:0x0000, reg_crc:0x71F3, cc_crc:0x3AB1 +Testing bset_const_reg...done. pre_crc:0xEA92, mem_crc:0x0000, reg_crc:0x8DBB, cc_crc:0x1598 +Testing bset_reg_ind...done. pre_crc:0x7954, mem_crc:0x4313, reg_crc:0xCBD0, cc_crc:0x13B0 +Testing bset_const_ind...done. pre_crc:0x826E, mem_crc:0xE994, reg_crc:0x4C23, cc_crc:0xD784 +Testing bset_reg_d16...done. pre_crc:0x549E, mem_crc:0x98EA, reg_crc:0xDF13, cc_crc:0x480C +Testing bset_const_d16...done. pre_crc:0x3E05, mem_crc:0x33C6, reg_crc:0x3F2E, cc_crc:0xD450 +Testing bset_reg_absl...done. pre_crc:0x4ED1, mem_crc:0xA328, reg_crc:0x277B, cc_crc:0xFDD6 +Testing bset_const_absl...done. pre_crc:0x2161, mem_crc:0x825F, reg_crc:0xAF1E, cc_crc:0x17BB +Testing btst_reg_reg...done. pre_crc:0xE340, mem_crc:0x0000, reg_crc:0xC1B9, cc_crc:0xC6BB +Testing btst_const_reg...done. pre_crc:0xFD4F, mem_crc:0x0000, reg_crc:0x4913, cc_crc:0x932B +Testing btst_reg_ind...done. pre_crc:0x8679, mem_crc:0x0000, reg_crc:0x36FF, cc_crc:0x74CF +Testing btst_const_ind...done. pre_crc:0x95CD, mem_crc:0x0000, reg_crc:0x501D, cc_crc:0x8474 +Testing btst_reg_d16...done. pre_crc:0x69EE, mem_crc:0x0000, reg_crc:0x2405, cc_crc:0x099C +Testing btst_const_d16...done. pre_crc:0xF678, mem_crc:0x0000, reg_crc:0x450D, cc_crc:0x2CB5 +Testing btst_reg_absl...done. pre_crc:0x0A91, mem_crc:0x0000, reg_crc:0xC51B, cc_crc:0x7540 +Testing btst_const_absl...done. pre_crc:0x430A, mem_crc:0x0000, reg_crc:0xEA38, cc_crc:0x51F7 +Testing bfchg_reg...done. pre_crc:0x9264, mem_crc:0x0000, reg_crc:0x30E8, cc_crc:0xCA65 +Testing bfchg_ind...done. pre_crc:0xB8AE, mem_crc:0x0005, reg_crc:0x08F8, cc_crc:0x7C8C +Testing bfchg_d16...done. pre_crc:0x8101, mem_crc:0xED55, reg_crc:0x4E48, cc_crc:0xD625 +Testing bfchg_absl...done. pre_crc:0xA844, mem_crc:0xBF7C, reg_crc:0x043E, cc_crc:0xC89B +Testing bfclr_reg...done. pre_crc:0xD21F, mem_crc:0x0000, reg_crc:0x5E58, cc_crc:0xA7FE +Testing bfclr_ind...done. pre_crc:0xF82A, mem_crc:0x884D, reg_crc:0xEBE2, cc_crc:0x6C87 +Testing bfclr_d16...done. pre_crc:0xE1BB, mem_crc:0xCC9C, reg_crc:0x1D5C, cc_crc:0xADF8 +Testing bfclr_absl...done. pre_crc:0x302E, mem_crc:0x31D6, reg_crc:0x5333, cc_crc:0x3DAB +Testing bfset_reg...done. pre_crc:0x7CFC, mem_crc:0x0000, reg_crc:0x8D69, cc_crc:0xC5A5 +Testing bfset_ind...done. pre_crc:0xA615, mem_crc:0x0A4B, reg_crc:0x5858, cc_crc:0x459D +Testing bfset_d16...done. pre_crc:0xE6FD, mem_crc:0x6123, reg_crc:0xBBED, cc_crc:0x73BA +Testing bfset_absl...done. pre_crc:0x4115, mem_crc:0xFFFA, reg_crc:0xEEAA, cc_crc:0xC05C +Testing bftst_reg...done. pre_crc:0x0BE9, mem_crc:0x0000, reg_crc:0x3ACA, cc_crc:0x3EEA +Testing bftst_ind...done. pre_crc:0x4004, mem_crc:0x0000, reg_crc:0xD130, cc_crc:0xB997 +Testing bftst_d16...done. pre_crc:0xBD6B, mem_crc:0x0000, reg_crc:0x26D0, cc_crc:0x94F2 +Testing bftst_absl...done. pre_crc:0x19D9, mem_crc:0x0000, reg_crc:0x503A, cc_crc:0xBFFE +Testing bfexts_reg...done. pre_crc:0x77F2, mem_crc:0x0000, reg_crc:0xA5F0, cc_crc:0x647F +Testing bfexts_ind...done. pre_crc:0xCBAD, mem_crc:0x0000, reg_crc:0xE6BA, cc_crc:0x19AD +Testing bfexts_d16...done. pre_crc:0x57C1, mem_crc:0x0000, reg_crc:0xB5CE, cc_crc:0xB6EF +Testing bfexts_absl...done. pre_crc:0x6FFC, mem_crc:0x0000, reg_crc:0x0C3A, cc_crc:0xB87B +Testing bfextu_reg...done. pre_crc:0xD5C1, mem_crc:0x0000, reg_crc:0xA820, cc_crc:0x231C +Testing bfextu_ind...done. pre_crc:0x89C0, mem_crc:0x0000, reg_crc:0x38A8, cc_crc:0x753D +Testing bfextu_d16...done. pre_crc:0x9116, mem_crc:0x0000, reg_crc:0xD100, cc_crc:0x59F6 +Testing bfextu_absl...done. pre_crc:0x370C, mem_crc:0x0000, reg_crc:0x2901, cc_crc:0x3ABE +Testing bfffo_reg...done. pre_crc:0xDE16, mem_crc:0x0000, reg_crc:0x2EA3, cc_crc:0x7F57 +Testing bfffo_ind...done. pre_crc:0xAFB8, mem_crc:0x0000, reg_crc:0xAC1D, cc_crc:0x147E +Testing bfffo_d16...done. pre_crc:0xEADF, mem_crc:0x0000, reg_crc:0x1D2D, cc_crc:0x0B2A +Testing bfffo_absl...done. pre_crc:0x2783, mem_crc:0x0000, reg_crc:0xF62E, cc_crc:0xEC3E +Testing bfins_reg...done. pre_crc:0x126C, mem_crc:0x0000, reg_crc:0x6E01, cc_crc:0x96C3 +Testing bfins_ind...done. pre_crc:0xD90C, mem_crc:0x91CD, reg_crc:0xA39A, cc_crc:0x9FC0 +Testing bfins_d16...done. pre_crc:0x046A, mem_crc:0xD784, reg_crc:0x0682, cc_crc:0x4CB3 +Testing bfins_absl...done. pre_crc:0x84BD, mem_crc:0xF52D, reg_crc:0x3764, cc_crc:0xE40C +Testing bsr_b...done. pre_crc:0x62A3, mem_crc:0xC948, reg_crc:0x2B21, cc_crc:0xECF2 +Testing bsr_w...done. pre_crc:0xA1A2, mem_crc:0x5752, reg_crc:0x779C, cc_crc:0xA3ED +Testing bsr_l...done. pre_crc:0xE8B1, mem_crc:0x53E1, reg_crc:0x6EEF, cc_crc:0x4549 +Testing cas_ind...done. pre_crc:0x15EA, mem_crc:0xF6D7, reg_crc:0xEB7B, cc_crc:0x8510 +Testing cas2_areg...done. pre_crc:0xE09D, mem_crc:0x017A, reg_crc:0x1915, cc_crc:0x9A72 +Testing cas2_anyreg...done. pre_crc:0xA69C, mem_crc:0xFE61, reg_crc:0x22BB, cc_crc:0xC8BF +Testing clr_reg...done. pre_crc:0xA5E1, mem_crc:0x0000, reg_crc:0xF6A3, cc_crc:0xB105 +Testing clrb_ind...done. pre_crc:0x3FC1, mem_crc:0xCB58, reg_crc:0x8EE2, cc_crc:0x4075 +Testing clrwl_ind...done. pre_crc:0x2051, mem_crc:0x2C83, reg_crc:0x00FA, cc_crc:0xECB5 +Testing clrb_absl...done. pre_crc:0x9CEE, mem_crc:0x2499, reg_crc:0xB85A, cc_crc:0x6E7C +Testing clrwl_absl...done. pre_crc:0x14C5, mem_crc:0xC2B3, reg_crc:0xBD3C, cc_crc:0xD2BE +Testing cmp_dreg...done. pre_crc:0x6112, mem_crc:0x0000, reg_crc:0xF9D1, cc_crc:0x80AB +Testing cmp_areg...done. pre_crc:0x488A, mem_crc:0x0000, reg_crc:0xF11C, cc_crc:0xEEC9 +Testing cmpb_ind...done. pre_crc:0x265A, mem_crc:0x0000, reg_crc:0x8EA9, cc_crc:0x9294 +Testing cmpwl_ind...done. pre_crc:0xC546, mem_crc:0x0000, reg_crc:0x5462, cc_crc:0x0B5E +Testing cmpb_d16...done. pre_crc:0x4C5C, mem_crc:0x0000, reg_crc:0x142B, cc_crc:0xAD91 +Testing cmpwl_d16...done. pre_crc:0x2D9A, mem_crc:0x0000, reg_crc:0xFF95, cc_crc:0xB313 +Testing cmpa_reg...done. pre_crc:0x2397, mem_crc:0x0000, reg_crc:0x710F, cc_crc:0x8D6C +Testing cmpa_ind...done. pre_crc:0xD684, mem_crc:0x0000, reg_crc:0xC3A9, cc_crc:0xB5B0 +Testing cmpa_ind2...done. pre_crc:0xDED5, mem_crc:0x0000, reg_crc:0xC180, cc_crc:0xB9FD +Testing cmpa_d16...done. pre_crc:0xC3DD, mem_crc:0x0000, reg_crc:0xFD7C, cc_crc:0x405D +Testing cmpa_d16_2...done. pre_crc:0x3F10, mem_crc:0x0000, reg_crc:0xE2F9, cc_crc:0x5CBB +Testing cmpa_absl...done. pre_crc:0x3A97, mem_crc:0x0000, reg_crc:0xF618, cc_crc:0x9A17 +Testing cmpibw_reg...done. pre_crc:0xC4F3, mem_crc:0x0000, reg_crc:0x02F8, cc_crc:0x326E +Testing cmpil_reg...done. pre_crc:0x4ABB, mem_crc:0x0000, reg_crc:0x9C99, cc_crc:0x7A70 +Testing cmpib_ind...done. pre_crc:0x5587, mem_crc:0x0000, reg_crc:0xDAFE, cc_crc:0x050A +Testing cmpiw_ind...done. pre_crc:0xF6DC, mem_crc:0x0000, reg_crc:0x41BB, cc_crc:0x2B88 +Testing cmpil_ind...done. pre_crc:0x320F, mem_crc:0x0000, reg_crc:0xCCA5, cc_crc:0xB8AC +Testing cmpmb...done. pre_crc:0xE34E, mem_crc:0x0000, reg_crc:0x0FDB, cc_crc:0xF5E1 +Testing cmpmwl...done. pre_crc:0x3117, mem_crc:0x0000, reg_crc:0x61C2, cc_crc:0x796B +Testing cmp2b_ind...done. pre_crc:0x6AA0, mem_crc:0x0000, reg_crc:0xC886, cc_crc:0x315E +Testing cmp2wl_ind...done. pre_crc:0x9412, mem_crc:0x0000, reg_crc:0x8A26, cc_crc:0xC01B +Testing dbcc...done. pre_crc:0x52BC, mem_crc:0x0000, reg_crc:0x5207, cc_crc:0x35E7 +Testing divs_reg...done. pre_crc:0x0086, mem_crc:0x0000, reg_crc:0xBEAC, cc_crc:0xA26B +Testing divs_same_reg...done. pre_crc:0xFE38, mem_crc:0x0000, reg_crc:0xE78D, cc_crc:0xDD22 +Testing divs_ind...done. pre_crc:0xCB13, mem_crc:0x0000, reg_crc:0xAB2C, cc_crc:0x68D9 +Testing divs_absl...done. pre_crc:0x5D53, mem_crc:0x0000, reg_crc:0xA7A1, cc_crc:0x8E0C +Testing divu_reg...done. pre_crc:0x340C, mem_crc:0x0000, reg_crc:0x067D, cc_crc:0xC30A +Testing divu_same_reg...done. pre_crc:0xD0AB, mem_crc:0x0000, reg_crc:0x92F7, cc_crc:0x26FB +Testing divu_ind...done. pre_crc:0x80E1, mem_crc:0x0000, reg_crc:0x1E17, cc_crc:0x87A5 +Testing divu_absl...done. pre_crc:0x7224, mem_crc:0x0000, reg_crc:0x9CC9, cc_crc:0x36B8 +Testing divul_ll_reg...done. pre_crc:0xBAC8, mem_crc:0x0000, reg_crc:0xBC76, cc_crc:0x05BE +Testing divul_ll_ind...done. pre_crc:0x1DEB, mem_crc:0x0000, reg_crc:0x2097, cc_crc:0x8DE4 +Testing divul_ll_absl...done. pre_crc:0x66BC, mem_crc:0x0000, reg_crc:0xDF20, cc_crc:0xBB6F +Testing eor_reg...done. pre_crc:0x4A46, mem_crc:0x0000, reg_crc:0x8811, cc_crc:0x1128 +Testing eor_ind...done. pre_crc:0x6AA2, mem_crc:0xE392, reg_crc:0x1385, cc_crc:0x2FFB +Testing eor_d16...done. pre_crc:0x299F, mem_crc:0xBC23, reg_crc:0xE27D, cc_crc:0x817E +Testing eor_absl...done. pre_crc:0xE645, mem_crc:0xCC5F, reg_crc:0x0746, cc_crc:0xFE6E +Testing eoribw_dreg...done. pre_crc:0xAE6A, mem_crc:0x0000, reg_crc:0xF2B6, cc_crc:0x50C3 +Testing eoril_dreg...done. pre_crc:0x764A, mem_crc:0x0000, reg_crc:0x59E4, cc_crc:0xDA8F +Testing eoribw_ind...done. pre_crc:0x44CF, mem_crc:0x7D8B, reg_crc:0x27EB, cc_crc:0xE6B6 +Testing eoril_ind...done. pre_crc:0x7353, mem_crc:0x5C6A, reg_crc:0xB4D7, cc_crc:0x3D62 +Testing eoribw_d16...done. pre_crc:0x5711, mem_crc:0xF630, reg_crc:0x4BD4, cc_crc:0x189C +Testing eoril_d16...done. pre_crc:0x6BD5, mem_crc:0x7EBD, reg_crc:0x1F8F, cc_crc:0xD6D0 +Testing eoribw_absl...done. pre_crc:0x111E, mem_crc:0x592D, reg_crc:0xC096, cc_crc:0xA03A +Testing eoril_absl...done. pre_crc:0x0FB1, mem_crc:0x3F77, reg_crc:0x55F3, cc_crc:0x747E +Testing eori_to_ccr...done. pre_crc:0x9A55, mem_crc:0x0000, reg_crc:0x5EA4, cc_crc:0x39D4 +Testing exg...done. pre_crc:0x265B, mem_crc:0x0000, reg_crc:0x34C8, cc_crc:0x675E +Testing ext...done. pre_crc:0xE636, mem_crc:0x0000, reg_crc:0xD0A8, cc_crc:0xDEA9 +Testing jmp_absl...done. pre_crc:0x6A86, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0x1F8A +Testing jmp_ind...done. pre_crc:0xDFAF, mem_crc:0x0000, reg_crc:0x6AB8, cc_crc:0x34CD +Testing jmp_d16...done. pre_crc:0xDE4B, mem_crc:0x0000, reg_crc:0x97E3, cc_crc:0x7D9F +Testing jsr_absl...done. pre_crc:0x460D, mem_crc:0xEB50, reg_crc:0xD9C2, cc_crc:0x7253 +Testing jsr_ind...done. pre_crc:0xB9EF, mem_crc:0xC1DF, reg_crc:0x4E8E, cc_crc:0xD435 +Testing jsr_d16...done. pre_crc:0x58F4, mem_crc:0xCC87, reg_crc:0x8C64, cc_crc:0x63B7 +Testing lea_ind...done. pre_crc:0x55F0, mem_crc:0x0000, reg_crc:0x6C17, cc_crc:0x3F4E +Testing lea_d16...done. pre_crc:0xE664, mem_crc:0x0000, reg_crc:0xE77B, cc_crc:0x14BD +Testing lea_absw...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0xB2FC, cc_crc:0xB683 +Testing lea_absl...done. pre_crc:0x3A13, mem_crc:0x0000, reg_crc:0xE34C, cc_crc:0xEC9D +Testing linkw...done. pre_crc:0x7F10, mem_crc:0xDEA0, reg_crc:0x279A, cc_crc:0x2405 +Testing linkl...done. pre_crc:0x21DD, mem_crc:0x9AFF, reg_crc:0x1985, cc_crc:0x7733 +Testing move16_postinc_postinc...done. pre_crc:0x2B02, mem_crc:0xFBBA, reg_crc:0x94BC, cc_crc:0x1B59 +Testing move16_absl_ind...done. pre_crc:0x2438, mem_crc:0xE14E, reg_crc:0x2E7B, cc_crc:0x4E0F +Testing move16_absl_postinc...done. pre_crc:0x615F, mem_crc:0xC0E7, reg_crc:0x0E4C, cc_crc:0xD016 +Testing move16_ind_absl...done. pre_crc:0x30BB, mem_crc:0x4325, reg_crc:0x0C96, cc_crc:0xEB96 +Testing move16_postinc_absl...done. pre_crc:0xA2B7, mem_crc:0x4658, reg_crc:0xFDAB, cc_crc:0x141B +Testing moveb_dreg_dreg...done. pre_crc:0x4191, mem_crc:0x0000, reg_crc:0x0449, cc_crc:0x90CA +Testing movewl_reg_dreg...done. pre_crc:0x3A60, mem_crc:0x0000, reg_crc:0x7E63, cc_crc:0x25EF +Testing moveb_ind_dreg...done. pre_crc:0xE442, mem_crc:0x0000, reg_crc:0x69C5, cc_crc:0x2B3A +Testing movewl_ind_dreg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x0BD3, cc_crc:0x78FA +Testing moveb_d16_dreg...done. pre_crc:0x3A7C, mem_crc:0x0000, reg_crc:0xACC9, cc_crc:0x2EFC +Testing movewl_d16_dreg...done. pre_crc:0xAE17, mem_crc:0x0000, reg_crc:0xD848, cc_crc:0x250E +Testing moveb_absl_dreg...done. pre_crc:0x0447, mem_crc:0x0000, reg_crc:0x1CCB, cc_crc:0xCCA3 +Testing movewl_absl_dreg...done. pre_crc:0x309A, mem_crc:0x0000, reg_crc:0x13F7, cc_crc:0xAA47 +Testing movebw_const_dreg...done. pre_crc:0x1A88, mem_crc:0x0000, reg_crc:0x11B8, cc_crc:0xC5A5 +Testing movel_const_dreg...done. pre_crc:0x65C7, mem_crc:0x0000, reg_crc:0x8573, cc_crc:0xDEE4 +Testing moveb_dreg_ind...done. pre_crc:0x69B4, mem_crc:0x1675, reg_crc:0x0A24, cc_crc:0xD9B0 +Testing movewl_reg_ind...done. pre_crc:0xD9C9, mem_crc:0xB221, reg_crc:0x6F9A, cc_crc:0x1D11 +Testing moveb_dreg_d16...done. pre_crc:0xB039, mem_crc:0x2763, reg_crc:0x68D9, cc_crc:0xA94D +Testing movewl_reg_d16...done. pre_crc:0xC25F, mem_crc:0x3BAE, reg_crc:0xA0A0, cc_crc:0xE037 +Testing moveb_dreg_absl...done. pre_crc:0xB83B, mem_crc:0x0693, reg_crc:0x4495, cc_crc:0x7554 +Testing movewl_reg_absl...done. pre_crc:0x0C0F, mem_crc:0x9655, reg_crc:0x1736, cc_crc:0xF9E1 +Testing moveb_ind_ind...done. pre_crc:0x4EF3, mem_crc:0x60E1, reg_crc:0xB882, cc_crc:0xED59 +Testing moveb_ind_d16...done. pre_crc:0xA50C, mem_crc:0x8DFF, reg_crc:0xD81B, cc_crc:0x18B8 +Testing moveb_d16_ind...done. pre_crc:0x5F9B, mem_crc:0x1358, reg_crc:0xD3AB, cc_crc:0x8271 +Testing movewl_ind_d16...done. pre_crc:0x85D4, mem_crc:0xE310, reg_crc:0x1709, cc_crc:0xD255 +Testing movewl_d16_ind...done. pre_crc:0x1C42, mem_crc:0xB466, reg_crc:0xC941, cc_crc:0x178D +Testing moveb_d16_d16...done. pre_crc:0x12B8, mem_crc:0x93A6, reg_crc:0x05D1, cc_crc:0x31F2 +Testing movewl_d16_d16...done. pre_crc:0xAFEE, mem_crc:0xB435, reg_crc:0x64FE, cc_crc:0x7882 +Testing moveb_ind_absl...done. pre_crc:0x47B6, mem_crc:0x9851, reg_crc:0x2DBE, cc_crc:0xD0B5 +Testing movewl_ind_absl...done. pre_crc:0xCDD6, mem_crc:0x75DC, reg_crc:0x98D3, cc_crc:0xF404 +Testing moveb_absl_ind...done. pre_crc:0xD9A8, mem_crc:0x6431, reg_crc:0xF88F, cc_crc:0x036C +Testing movewl_absl_ind...done. pre_crc:0xE70B, mem_crc:0xAE10, reg_crc:0x0996, cc_crc:0x8F68 +Testing moveb_absl_absl...done. pre_crc:0x1D8A, mem_crc:0xD124, reg_crc:0xB482, cc_crc:0x082A +Testing movewl_absl_absl...done. pre_crc:0x91D9, mem_crc:0x5E3B, reg_crc:0x630A, cc_crc:0xB0EF +Testing moveb_d16_absl...done. pre_crc:0xF79D, mem_crc:0x558D, reg_crc:0x2CBA, cc_crc:0x643E +Testing movewl_d16_absl...done. pre_crc:0x0063, mem_crc:0x225F, reg_crc:0xBF61, cc_crc:0x72B1 +Testing moveb_absl_d16...done. pre_crc:0xAE6B, mem_crc:0x7117, reg_crc:0xD2D1, cc_crc:0x977F +Testing movewl_absl_d16...done. pre_crc:0xF4DA, mem_crc:0xCCE1, reg_crc:0xAE4A, cc_crc:0xEEA6 +Testing moveb_const_ind...done. pre_crc:0xFB72, mem_crc:0xE20A, reg_crc:0xB9F7, cc_crc:0xCAAF +Testing moveb_const_d16...done. pre_crc:0x16F2, mem_crc:0xCE3E, reg_crc:0xA1D5, cc_crc:0x037E +Testing moveb_const_absl...done. pre_crc:0xF0BE, mem_crc:0xF514, reg_crc:0xE6EA, cc_crc:0xF5A9 +Testing movew_const_ind...done. pre_crc:0xF586, mem_crc:0x55CF, reg_crc:0xE1CA, cc_crc:0x9500 +Testing movew_const_d16...done. pre_crc:0xDF3A, mem_crc:0x7338, reg_crc:0x5647, cc_crc:0xCE1A +Testing movew_const_absl...done. pre_crc:0x2239, mem_crc:0x01A7, reg_crc:0xB14B, cc_crc:0x72B4 +Testing movel_const_ind...done. pre_crc:0x2E5A, mem_crc:0x31A1, reg_crc:0xDFF2, cc_crc:0x40FB +Testing movel_const_d16...done. pre_crc:0x90A4, mem_crc:0x8D84, reg_crc:0xBAC4, cc_crc:0x5B61 +Testing movel_const_absl...done. pre_crc:0xAE20, mem_crc:0x25C8, reg_crc:0xE04A, cc_crc:0x268C +Testing movea_reg...done. pre_crc:0x8DFB, mem_crc:0x0000, reg_crc:0x7177, cc_crc:0xF457 +Testing movea_ind...done. pre_crc:0xA4F6, mem_crc:0x0000, reg_crc:0x6B79, cc_crc:0x2023 +Testing movea_d16...done. pre_crc:0x392E, mem_crc:0x0000, reg_crc:0xBB09, cc_crc:0xFADB +Testing movea_absl...done. pre_crc:0x6EAE, mem_crc:0x0000, reg_crc:0xDC61, cc_crc:0x84E1 +Testing moveaw_const...done. pre_crc:0x6647, mem_crc:0x0000, reg_crc:0xD8A5, cc_crc:0xEC64 +Testing moveal_const...done. pre_crc:0x541B, mem_crc:0x0000, reg_crc:0x3FE7, cc_crc:0x83EC +Testing move_from_ccr_dreg...done. pre_crc:0x0BE7, mem_crc:0x0000, reg_crc:0x9FEB, cc_crc:0x7750 +Testing move_from_ccr_ind...done. pre_crc:0x8838, mem_crc:0x0000, reg_crc:0x333A, cc_crc:0x8700 +Testing move_from_ccr_d16...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7FBC, cc_crc:0xDB7D +Testing move_to_ccr_reg...done. pre_crc:0xE76B, mem_crc:0x0000, reg_crc:0xF036, cc_crc:0x8576 +Testing move_to_ccr_ind...done. pre_crc:0x9791, mem_crc:0x0000, reg_crc:0x2349, cc_crc:0x4586 +Testing movem_to_ind...done. pre_crc:0xA39F, mem_crc:0xCAFF, reg_crc:0xCC65, cc_crc:0x9F4B +Testing movem_to_predec...done. pre_crc:0x017B, mem_crc:0x2E2D, reg_crc:0x8546, cc_crc:0x5B23 +Testing movem_to_d16...done. pre_crc:0xCA74, mem_crc:0x167A, reg_crc:0xF356, cc_crc:0xB5AD +Testing movem_to_absl...done. pre_crc:0x78F8, mem_crc:0x64DF, reg_crc:0xB87E, cc_crc:0x37A2 +Testing movem_from_d16...done. pre_crc:0x64AE, mem_crc:0x0000, reg_crc:0xBD42, cc_crc:0xA2EC +Testing movem_from_ind...done. pre_crc:0xCA4B, mem_crc:0x0000, reg_crc:0x10D6, cc_crc:0xFCA3 +Testing movem_from_absl...done. pre_crc:0xEA2C, mem_crc:0x0000, reg_crc:0x4293, cc_crc:0xE9A2 +Testing movep_to_mem...done. pre_crc:0x62CF, mem_crc:0xABDF, reg_crc:0xB8DB, cc_crc:0x6382 +Testing movep_from_mem...done. pre_crc:0x62A3, mem_crc:0x0000, reg_crc:0xEDC0, cc_crc:0x05F0 +Testing moveq...done. pre_crc:0x992D, mem_crc:0x0000, reg_crc:0xE8C6, cc_crc:0x1F19 +Testing mulsw_dreg...done. pre_crc:0x4A4B, mem_crc:0x0000, reg_crc:0x5DBA, cc_crc:0x02D6 +Testing mulsw_ind...done. pre_crc:0x0E42, mem_crc:0x0000, reg_crc:0x3541, cc_crc:0x24D2 +Testing mulsw_d16...done. pre_crc:0x829F, mem_crc:0x0000, reg_crc:0x91B5, cc_crc:0x834A +Testing mulsw_absl...done. pre_crc:0xAC8B, mem_crc:0x0000, reg_crc:0x799D, cc_crc:0x21E1 +Testing muluw_dreg...done. pre_crc:0x76DF, mem_crc:0x0000, reg_crc:0x6047, cc_crc:0x4C6B +Testing muluw_ind...done. pre_crc:0x10B2, mem_crc:0x0000, reg_crc:0x4A40, cc_crc:0xFD13 +Testing muluw_d16...done. pre_crc:0x644B, mem_crc:0x0000, reg_crc:0x8A37, cc_crc:0x0B80 +Testing muluw_absl...done. pre_crc:0x7019, mem_crc:0x0000, reg_crc:0x9003, cc_crc:0x9291 +Testing mulsl_dreg...done. pre_crc:0x6559, mem_crc:0x0000, reg_crc:0x032E, cc_crc:0x17BD +Testing mulsl_ind...done. pre_crc:0x4CE3, mem_crc:0x0000, reg_crc:0x3BEA, cc_crc:0xE1DD +Testing mulsl_d16...done. pre_crc:0x342A, mem_crc:0x0000, reg_crc:0x61EA, cc_crc:0x15E3 +Testing mulsl_absl...done. pre_crc:0x0CB3, mem_crc:0x0000, reg_crc:0xCAE1, cc_crc:0x0941 +Testing mulul_dreg...done. pre_crc:0xA2D1, mem_crc:0x0000, reg_crc:0x47A6, cc_crc:0x0DBA +Testing mulul_ind...done. pre_crc:0x4185, mem_crc:0x0000, reg_crc:0xBDCC, cc_crc:0x555F +Testing mulul_d16...done. pre_crc:0x19BF, mem_crc:0x0000, reg_crc:0x8D4E, cc_crc:0x7531 +Testing mulul_absl...done. pre_crc:0x369F, mem_crc:0x0000, reg_crc:0xDDA3, cc_crc:0x59E2 +Testing nbcd_reg...done. pre_crc:0x24B8, mem_crc:0x0000, reg_crc:0x1931, cc_crc:0x9D46 +Testing nbcd_ind...done. pre_crc:0x12E0, mem_crc:0x750D, reg_crc:0x1DB8, cc_crc:0xCA6C +Testing nbcd_d16...done. pre_crc:0x1323, mem_crc:0xC875, reg_crc:0xCF8B, cc_crc:0x42A9 +Testing nbcd_absl...done. pre_crc:0x0E4A, mem_crc:0x13BF, reg_crc:0x98FD, cc_crc:0x5FE4 +Testing neg_reg...done. pre_crc:0x7C5D, mem_crc:0x0000, reg_crc:0x9E2A, cc_crc:0x967D +Testing negb_ind...done. pre_crc:0xAF01, mem_crc:0x6587, reg_crc:0x9770, cc_crc:0xAED5 +Testing negwl_ind...done. pre_crc:0x6029, mem_crc:0x8AEA, reg_crc:0xACE7, cc_crc:0x74AF +Testing negb_d16...done. pre_crc:0x0A5E, mem_crc:0xAA6F, reg_crc:0xCDAD, cc_crc:0x7FF4 +Testing negwl_d16...done. pre_crc:0x1276, mem_crc:0x6C6A, reg_crc:0xA716, cc_crc:0x822B +Testing neg_absl...done. pre_crc:0x4E51, mem_crc:0xA318, reg_crc:0x67B3, cc_crc:0x8CB0 +Testing negx_reg...done. pre_crc:0x75B3, mem_crc:0x0000, reg_crc:0x533C, cc_crc:0x1D9F +Testing negxb_ind...done. pre_crc:0x0A26, mem_crc:0x1D74, reg_crc:0x8F8A, cc_crc:0xFA05 +Testing negxwl_ind...done. pre_crc:0x0CF4, mem_crc:0xFC11, reg_crc:0x684A, cc_crc:0x2016 +Testing negxb_d16...done. pre_crc:0x946E, mem_crc:0x2F51, reg_crc:0xC1B0, cc_crc:0x6207 +Testing negxwl_d16...done. pre_crc:0x5B4D, mem_crc:0x0DE3, reg_crc:0x0734, cc_crc:0x6F3F +Testing negx_absl...done. pre_crc:0xFFBE, mem_crc:0x20A1, reg_crc:0xF7FE, cc_crc:0xBCF1 +Testing nop...done. pre_crc:0xDF9F, mem_crc:0x0000, reg_crc:0xCE6E, cc_crc:0x0D0E +Testing not_reg...done. pre_crc:0x1D77, mem_crc:0x0000, reg_crc:0x5CF6, cc_crc:0xE499 +Testing notb_ind...done. pre_crc:0xDCA4, mem_crc:0xF60F, reg_crc:0x3286, cc_crc:0x8B2B +Testing notwl_ind...done. pre_crc:0xBED7, mem_crc:0xCCE8, reg_crc:0x9F35, cc_crc:0x2CDA +Testing notb_d16...done. pre_crc:0x2342, mem_crc:0x5464, reg_crc:0x0948, cc_crc:0x06EE +Testing notwl_d16...done. pre_crc:0x52FF, mem_crc:0x1667, reg_crc:0xAB5E, cc_crc:0xD244 +Testing not_absl...done. pre_crc:0x95D2, mem_crc:0xFA3F, reg_crc:0x8A01, cc_crc:0x60ED +Testing or_dreg_dreg...done. pre_crc:0xC999, mem_crc:0x0000, reg_crc:0xED77, cc_crc:0xB1BD +Testing or_ind_dreg...done. pre_crc:0xE748, mem_crc:0x0000, reg_crc:0xEB59, cc_crc:0xC947 +Testing or_d16_dreg...done. pre_crc:0x46DE, mem_crc:0x0000, reg_crc:0xAFAF, cc_crc:0x565A +Testing or_absl_dreg...done. pre_crc:0x97D4, mem_crc:0x0000, reg_crc:0x4B0F, cc_crc:0x34F4 +Testing orbw_const_dreg...done. pre_crc:0x7F1C, mem_crc:0x0000, reg_crc:0xB85A, cc_crc:0xAD57 +Testing orl_const_dreg...done. pre_crc:0x973B, mem_crc:0x0000, reg_crc:0xB954, cc_crc:0xF68E +Testing or_dreg_ind...done. pre_crc:0xB096, mem_crc:0xDB0A, reg_crc:0x0A81, cc_crc:0x5820 +Testing or_dreg_d16...done. pre_crc:0x9EE5, mem_crc:0x2BE1, reg_crc:0x4045, cc_crc:0xC5FC +Testing or_dreg_absl...done. pre_crc:0xE398, mem_crc:0x08DC, reg_crc:0x12CA, cc_crc:0x76AD +Testing oribw_dreg...done. pre_crc:0x18C8, mem_crc:0x0000, reg_crc:0x0DD5, cc_crc:0x6F1D +Testing oril_dreg...done. pre_crc:0x3CD4, mem_crc:0x0000, reg_crc:0x09B1, cc_crc:0x9C03 +Testing oribw_ind...done. pre_crc:0xBCDF, mem_crc:0x036C, reg_crc:0x00BB, cc_crc:0xAD25 +Testing oril_ind...done. pre_crc:0xC992, mem_crc:0x81B1, reg_crc:0x0FD8, cc_crc:0x1D99 +Testing oribw_d16...done. pre_crc:0x6542, mem_crc:0x6767, reg_crc:0xD6A1, cc_crc:0x9EFB +Testing oril_d16...done. pre_crc:0xFD1C, mem_crc:0x976E, reg_crc:0x3355, cc_crc:0x1CFD +Testing oribw_absl...done. pre_crc:0x9E01, mem_crc:0xE169, reg_crc:0x4105, cc_crc:0x15E9 +Testing oril_absl...done. pre_crc:0xE72D, mem_crc:0xAE9D, reg_crc:0x8575, cc_crc:0x74C6 +Testing ori_to_ccr...done. pre_crc:0x00A6, mem_crc:0x0000, reg_crc:0xBF86, cc_crc:0x3FDB +Testing pack_reg...done. pre_crc:0xDF9D, mem_crc:0x0000, reg_crc:0x7A5D, cc_crc:0x58D5 +Testing pack_mem...done. pre_crc:0xBFF2, mem_crc:0x8545, reg_crc:0xA942, cc_crc:0x46B9 +Testing pea_ind...done. pre_crc:0x2168, mem_crc:0x1AC1, reg_crc:0x0B40, cc_crc:0x4DED +Testing pea_d16...done. pre_crc:0x5278, mem_crc:0x1519, reg_crc:0x89F1, cc_crc:0x13F4 +Testing pea_absw...done. pre_crc:0xC4C2, mem_crc:0x2F52, reg_crc:0x0E16, cc_crc:0x2F4F +Testing pea_absl...done. pre_crc:0x9892, mem_crc:0x8465, reg_crc:0x5408, cc_crc:0xDFA1 +Testing rol_dx_dy...done. pre_crc:0x1425, mem_crc:0x0000, reg_crc:0x9CDD, cc_crc:0x866E +Testing rol_const_dy...done. pre_crc:0x2CF4, mem_crc:0x0000, reg_crc:0xD121, cc_crc:0x4D28 +Testing rol_ind...done. pre_crc:0xB711, mem_crc:0xD860, reg_crc:0xEF29, cc_crc:0xE620 +Testing rol_d16...done. pre_crc:0xE93B, mem_crc:0x50C9, reg_crc:0x3660, cc_crc:0x6285 +Testing rol_absl...done. pre_crc:0x98CD, mem_crc:0x258C, reg_crc:0xE094, cc_crc:0x83E3 +Testing ror_dx_dy...done. pre_crc:0x393D, mem_crc:0x0000, reg_crc:0x9AA0, cc_crc:0xC862 +Testing ror_const_dy...done. pre_crc:0xB2B7, mem_crc:0x0000, reg_crc:0xB092, cc_crc:0x6804 +Testing ror_ind...done. pre_crc:0x08DE, mem_crc:0x7992, reg_crc:0xE15F, cc_crc:0x4020 +Testing ror_d16...done. pre_crc:0x8430, mem_crc:0xCED9, reg_crc:0x03C5, cc_crc:0xEE93 +Testing ror_absl...done. pre_crc:0xCF44, mem_crc:0xB0EC, reg_crc:0x9237, cc_crc:0x0E38 +Testing roxl_dx_dy...done. pre_crc:0xB76B, mem_crc:0x0000, reg_crc:0x1836, cc_crc:0xAC77 +Testing roxl_const_dy...done. pre_crc:0xC50D, mem_crc:0x0000, reg_crc:0xDFBA, cc_crc:0x3415 +Testing roxl_ind...done. pre_crc:0x4A4E, mem_crc:0x8649, reg_crc:0x036F, cc_crc:0x0EFD +Testing roxl_d16...done. pre_crc:0x559C, mem_crc:0x916B, reg_crc:0x13B9, cc_crc:0x5AE7 +Testing roxl_absl...done. pre_crc:0x93C7, mem_crc:0x311A, reg_crc:0x5710, cc_crc:0x9A78 +Testing roxr_dx_dy...done. pre_crc:0x75AE, mem_crc:0x0000, reg_crc:0xA9D2, cc_crc:0x3C5A +Testing roxr_const_dy...done. pre_crc:0xB040, mem_crc:0x0000, reg_crc:0xA28A, cc_crc:0x9475 +Testing roxr_ind...done. pre_crc:0x75BD, mem_crc:0x6AD2, reg_crc:0xC35F, cc_crc:0x6D38 +Testing roxr_d16...done. pre_crc:0x8C98, mem_crc:0x4412, reg_crc:0x5A8B, cc_crc:0x24B7 +Testing roxr_absl...done. pre_crc:0x7F84, mem_crc:0xBE60, reg_crc:0x4C9D, cc_crc:0x3785 +Testing rtd...done. pre_crc:0x8B07, mem_crc:0x0000, reg_crc:0x03E2, cc_crc:0x9388 +Testing rtr...done. pre_crc:0x6144, mem_crc:0x0000, reg_crc:0x70A1, cc_crc:0x5286 +Testing rts...done. pre_crc:0xF3B4, mem_crc:0x0000, reg_crc:0x867C, cc_crc:0x22A3 +Testing sbcd_reg...done. pre_crc:0x1B1F, mem_crc:0x0000, reg_crc:0xC767, cc_crc:0x4DC3 +Testing sbcd_mem...done. pre_crc:0x6DC3, mem_crc:0x8586, reg_crc:0xA52E, cc_crc:0xE6EF +Testing Scc_reg...done. pre_crc:0x61C4, mem_crc:0x0000, reg_crc:0xF082, cc_crc:0x5752 +Testing Scc_ind...done. pre_crc:0x9917, mem_crc:0x48E4, reg_crc:0x4CAE, cc_crc:0x0E26 +Testing Scc_d16...done. pre_crc:0xE604, mem_crc:0x87B1, reg_crc:0x8E4D, cc_crc:0x8CEA +Testing Scc_absl...done. pre_crc:0x39F7, mem_crc:0x12F0, reg_crc:0xFBD0, cc_crc:0xCAF0 +Testing subb_dreg_dreg...done. pre_crc:0xDB22, mem_crc:0x0000, reg_crc:0x0DC4, cc_crc:0x4975 +Testing subw_reg_dreg...done. pre_crc:0xC66C, mem_crc:0x0000, reg_crc:0xB150, cc_crc:0x3129 +Testing subl_reg_dreg...done. pre_crc:0xE84A, mem_crc:0x0000, reg_crc:0x02FB, cc_crc:0xE86A +Testing sub_ind_dreg...done. pre_crc:0x728B, mem_crc:0x0000, reg_crc:0xC682, cc_crc:0xFE37 +Testing sub_d16_dreg...done. pre_crc:0xB54D, mem_crc:0x0000, reg_crc:0x0FD8, cc_crc:0xA3CA +Testing sub_absl_dreg...done. pre_crc:0x81E5, mem_crc:0x0000, reg_crc:0x6485, cc_crc:0x24E8 +Testing subb_const_dreg...done. pre_crc:0x8D5B, mem_crc:0x0000, reg_crc:0x7364, cc_crc:0xA862 +Testing subw_const_dreg...done. pre_crc:0x09F7, mem_crc:0x0000, reg_crc:0x515E, cc_crc:0xD5F7 +Testing subl_const_dreg...done. pre_crc:0xF042, mem_crc:0x0000, reg_crc:0x3D6E, cc_crc:0x6210 +Testing sub_dreg_ind...done. pre_crc:0xC892, mem_crc:0x8B90, reg_crc:0xF6A5, cc_crc:0x0201 +Testing sub_dreg_d16...done. pre_crc:0x18EA, mem_crc:0xD002, reg_crc:0x2607, cc_crc:0x9826 +Testing sub_dreg_absl...done. pre_crc:0x99D7, mem_crc:0x5036, reg_crc:0xA93C, cc_crc:0x8D8B +Testing subaw_reg_areg...done. pre_crc:0x08F1, mem_crc:0x0000, reg_crc:0x504E, cc_crc:0x4B47 +Testing subal_reg_areg...done. pre_crc:0x35BC, mem_crc:0x0000, reg_crc:0x345D, cc_crc:0x24ED +Testing suba_ind_areg...done. pre_crc:0xE0DC, mem_crc:0x0000, reg_crc:0x7694, cc_crc:0x1929 +Testing suba_d16_areg...done. pre_crc:0xE0AD, mem_crc:0x0000, reg_crc:0x01CB, cc_crc:0xCCCA +Testing suba_absl_areg...done. pre_crc:0x992B, mem_crc:0x0000, reg_crc:0x3EA1, cc_crc:0x6843 +Testing subaw_const_areg...done. pre_crc:0x2A98, mem_crc:0x0000, reg_crc:0x55C6, cc_crc:0xE683 +Testing subal_const_areg...done. pre_crc:0x5EE1, mem_crc:0x0000, reg_crc:0x961B, cc_crc:0xDA73 +Testing subibw_dreg...done. pre_crc:0xB7E9, mem_crc:0x0000, reg_crc:0xCDA2, cc_crc:0x3506 +Testing subil_dreg...done. pre_crc:0x285A, mem_crc:0x0000, reg_crc:0x4DF9, cc_crc:0x8DB4 +Testing subibw_ind...done. pre_crc:0x8004, mem_crc:0x32C1, reg_crc:0x8EAF, cc_crc:0xB14E +Testing subil_ind...done. pre_crc:0x1666, mem_crc:0x2CC2, reg_crc:0xA9C3, cc_crc:0xEE39 +Testing subibw_d16...done. pre_crc:0xCDC5, mem_crc:0x3CD1, reg_crc:0xF0A3, cc_crc:0x6413 +Testing subil_d16...done. pre_crc:0xA4B6, mem_crc:0xAEE3, reg_crc:0xD236, cc_crc:0x2C57 +Testing subibw_absl...done. pre_crc:0xD41C, mem_crc:0x2346, reg_crc:0xCF09, cc_crc:0x15C1 +Testing subil_absl...done. pre_crc:0xCA9A, mem_crc:0x1839, reg_crc:0x01C2, cc_crc:0x5FD1 +Testing subq_dreg...done. pre_crc:0x09F5, mem_crc:0x0000, reg_crc:0x2718, cc_crc:0x81EE +Testing subq_areg...done. pre_crc:0xFD2E, mem_crc:0x0000, reg_crc:0xED9C, cc_crc:0x510D +Testing subq_ind...done. pre_crc:0x42B2, mem_crc:0x9894, reg_crc:0xC22C, cc_crc:0x3792 +Testing subq_d16...done. pre_crc:0x1BC4, mem_crc:0x0014, reg_crc:0x3E7C, cc_crc:0x10DA +Testing subq_absl...done. pre_crc:0x6541, mem_crc:0x8863, reg_crc:0xA563, cc_crc:0x49F8 +Testing subx_reg...done. pre_crc:0x5242, mem_crc:0x0000, reg_crc:0xEDAC, cc_crc:0xB9A1 +Testing subx_mem...done. pre_crc:0xE474, mem_crc:0x9AFA, reg_crc:0xCE13, cc_crc:0xA4A2 +Testing swap...done. pre_crc:0x51B9, mem_crc:0x0000, reg_crc:0x8602, cc_crc:0xFC1B +Testing tas_dreg...done. pre_crc:0x54A3, mem_crc:0x0000, reg_crc:0x60B8, cc_crc:0x95DE +Testing tas_ind...done. pre_crc:0xED7E, mem_crc:0xA9E1, reg_crc:0xBF1C, cc_crc:0x51DA +Testing tas_d16...done. pre_crc:0x3811, mem_crc:0x50D8, reg_crc:0xBED7, cc_crc:0x9AE4 +Testing tas_absl...done. pre_crc:0x7249, mem_crc:0xD7A3, reg_crc:0x1310, cc_crc:0x9FE2 +Testing tstb_dreg...done. pre_crc:0x6D5B, mem_crc:0x0000, reg_crc:0x96A9, cc_crc:0xAFB2 +Testing tstwl_reg...done. pre_crc:0x6BF2, mem_crc:0x0000, reg_crc:0x2A98, cc_crc:0x5BFD +Testing tstb_ind...done. pre_crc:0xF261, mem_crc:0x0000, reg_crc:0x6D10, cc_crc:0xA08B +Testing tstwl_ind...done. pre_crc:0x4673, mem_crc:0x0000, reg_crc:0x7F91, cc_crc:0x0FAA +Testing tstb_d16...done. pre_crc:0x9750, mem_crc:0x0000, reg_crc:0xDB55, cc_crc:0x1C9B +Testing tstwl_d16...done. pre_crc:0x88E2, mem_crc:0x0000, reg_crc:0x0393, cc_crc:0xFC4D +Testing tst_absl...done. pre_crc:0x54E5, mem_crc:0x0000, reg_crc:0x9EB9, cc_crc:0x0B4C diff --git a/test/glibc.250 b/test/glibc.250 new file mode 100644 index 0000000..93f6bcc --- /dev/null +++ b/test/glibc.250 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x2CAD, mem_crc:0x0000, reg_crc:0x22AC, cc_crc:0x1817 +Testing movewl_pcd8_dreg...done. pre_crc:0xCE23, mem_crc:0x0000, reg_crc:0x1C3B, cc_crc:0x083B +Testing unpk_reg...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0xEA38, cc_crc:0x08C8 +Testing unpk_mem...done. pre_crc:0x4935, mem_crc:0x5B08, reg_crc:0x3E64, cc_crc:0x3AD1 +Testing unlk...done. pre_crc:0x431D, mem_crc:0x0000, reg_crc:0xECE9, cc_crc:0x7D66 +Testing movewl_ind_ind...done. pre_crc:0xD874, mem_crc:0xB244, reg_crc:0x15D3, cc_crc:0x4C26 +Testing divsl_ll_reg...done. pre_crc:0xB1AB, mem_crc:0x0000, reg_crc:0x53B1, cc_crc:0x384A +Testing divsl_ll_ind...done. pre_crc:0x9CB4, mem_crc:0x0000, reg_crc:0x8598, cc_crc:0x8957 +Testing divsl_ll_absl...done. pre_crc:0x07E8, mem_crc:0x0000, reg_crc:0x485F, cc_crc:0x8205 +Testing lea_pc_ind_preix...done. pre_crc:0xD320, mem_crc:0x0000, reg_crc:0x3D4A, cc_crc:0xD111 +Testing lea_pc_ind_postix...done. pre_crc:0x52A2, mem_crc:0x0000, reg_crc:0x1D2B, cc_crc:0x0861 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x71B2, mem_crc:0x0000, reg_crc:0x4EED, cc_crc:0xBDFC +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xC4A5, mem_crc:0x0000, reg_crc:0x47BD, cc_crc:0x077F +Testing moveb_pcd16_dreg...done. pre_crc:0x82A1, mem_crc:0x0000, reg_crc:0x92E3, cc_crc:0x60BE +Testing movewl_pcd16_dreg...done. pre_crc:0x2B59, mem_crc:0x0000, reg_crc:0x5B7A, cc_crc:0xF0BB +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xEE2B, mem_crc:0x0000, reg_crc:0xF758, cc_crc:0x1D74 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x7751, mem_crc:0x0000, reg_crc:0xEEBD, cc_crc:0x8230 +Testing lea_ind_preix...done. pre_crc:0xD3E9, mem_crc:0x0000, reg_crc:0x4C79, cc_crc:0x239D +Testing lea_ind_postix...done. pre_crc:0xCA73, mem_crc:0x0000, reg_crc:0x4F1A, cc_crc:0xF32D +Testing add_absl_dreg...done. pre_crc:0xCA1C, mem_crc:0x0000, reg_crc:0x85BF, cc_crc:0x39BD +Testing abcd_reg...done. pre_crc:0x7F0B, mem_crc:0x0000, reg_crc:0x5374, cc_crc:0x5542 +Testing abcd_mem...done. pre_crc:0xB50D, mem_crc:0x9B94, reg_crc:0x275F, cc_crc:0x601D +Testing addb_dreg_dreg...done. pre_crc:0xA6EB, mem_crc:0x0000, reg_crc:0xF69C, cc_crc:0x578C +Testing addw_reg_dreg...done. pre_crc:0xFDD6, mem_crc:0x0000, reg_crc:0x2274, cc_crc:0xCA03 +Testing addl_reg_dreg...done. pre_crc:0x8CA8, mem_crc:0x0000, reg_crc:0x79C8, cc_crc:0xEE55 +Testing add_d16_dreg...done. pre_crc:0x44ED, mem_crc:0x0000, reg_crc:0xDD84, cc_crc:0x6C1E +Testing addb_const_dreg...done. pre_crc:0x191B, mem_crc:0x0000, reg_crc:0xD085, cc_crc:0xD20C +Testing addw_const_dreg...done. pre_crc:0x4D63, mem_crc:0x0000, reg_crc:0x2F7F, cc_crc:0x8FFB +Testing add_dreg_ind...done. pre_crc:0x200B, mem_crc:0x6F82, reg_crc:0x7D95, cc_crc:0x1FF7 +Testing add_ind_dreg...done. pre_crc:0xA30A, mem_crc:0x0000, reg_crc:0xA599, cc_crc:0xA232 +Testing addl_const_dreg...done. pre_crc:0xA216, mem_crc:0x0000, reg_crc:0xDB7B, cc_crc:0x965C +Testing add_dreg_d16...done. pre_crc:0x5823, mem_crc:0xCB2F, reg_crc:0xABB0, cc_crc:0xD8DB +Testing add_dreg_absl...done. pre_crc:0x4E16, mem_crc:0x2D39, reg_crc:0x45BA, cc_crc:0x0E16 +Testing addaw_reg_areg...done. pre_crc:0x298E, mem_crc:0x0000, reg_crc:0xB877, cc_crc:0xDC19 +Testing addal_reg_areg...done. pre_crc:0xAC8C, mem_crc:0x0000, reg_crc:0xDDA6, cc_crc:0x38D3 +Testing adda_ind_areg...done. pre_crc:0xAA6F, mem_crc:0x0000, reg_crc:0xF574, cc_crc:0x9BE6 +Testing adda_d16_areg...done. pre_crc:0xE012, mem_crc:0x0000, reg_crc:0xB144, cc_crc:0x2329 +Testing adda_absl_areg...done. pre_crc:0x7A0B, mem_crc:0x0000, reg_crc:0x8ACE, cc_crc:0x01DA +Testing addaw_const_areg...done. pre_crc:0xBAF8, mem_crc:0x0000, reg_crc:0x2E9F, cc_crc:0xEEBE +Testing addal_const_areg...done. pre_crc:0x9987, mem_crc:0x0000, reg_crc:0xBF5B, cc_crc:0x48E2 +Testing addibw_dreg...done. pre_crc:0x0F34, mem_crc:0x0000, reg_crc:0x765E, cc_crc:0xDD39 +Testing addil_dreg...done. pre_crc:0x329A, mem_crc:0x0000, reg_crc:0xB805, cc_crc:0xFF77 +Testing addibw_ind...done. pre_crc:0xB05F, mem_crc:0xC9EE, reg_crc:0x95A5, cc_crc:0x2D2B +Testing addil_ind...done. pre_crc:0x28C5, mem_crc:0xF60A, reg_crc:0x4C3E, cc_crc:0x0C42 +Testing addibw_d16...done. pre_crc:0xD302, mem_crc:0x4367, reg_crc:0xD568, cc_crc:0x5F11 +Testing addil_d16...done. pre_crc:0xF239, mem_crc:0x6B89, reg_crc:0x1680, cc_crc:0xDAA8 +Testing addibw_absl...done. pre_crc:0x80F2, mem_crc:0x717B, reg_crc:0xAC3F, cc_crc:0xC4EA +Testing addil_absl...done. pre_crc:0xD24D, mem_crc:0x1A1F, reg_crc:0x46EA, cc_crc:0x1BBD +Testing addq_dreg...done. pre_crc:0xFD7A, mem_crc:0x0000, reg_crc:0x7A02, cc_crc:0xF90A +Testing addq_areg...done. pre_crc:0x0F8D, mem_crc:0x0000, reg_crc:0xDA83, cc_crc:0xFCB7 +Testing addq_ind...done. pre_crc:0xFC01, mem_crc:0xD3B0, reg_crc:0x1BDB, cc_crc:0x87A3 +Testing addq_d16...done. pre_crc:0xB116, mem_crc:0x65BB, reg_crc:0xFD13, cc_crc:0x4D63 +Testing addq_absl...done. pre_crc:0x0A68, mem_crc:0xE0D5, reg_crc:0xAC78, cc_crc:0xE21E +Testing addx_reg...done. pre_crc:0xF502, mem_crc:0x0000, reg_crc:0x1FF7, cc_crc:0x4D9A +Testing addx_mem...done. pre_crc:0x846D, mem_crc:0x1B8D, reg_crc:0xD422, cc_crc:0x7CE5 +Testing and_dreg_dreg...done. pre_crc:0xA02F, mem_crc:0x0000, reg_crc:0x5154, cc_crc:0x949B +Testing and_ind_dreg...done. pre_crc:0x19D9, mem_crc:0x0000, reg_crc:0x046D, cc_crc:0x511A +Testing and_d16_dreg...done. pre_crc:0x6CDA, mem_crc:0x0000, reg_crc:0x735E, cc_crc:0x72A6 +Testing and_absl_dreg...done. pre_crc:0x012C, mem_crc:0x0000, reg_crc:0xCC95, cc_crc:0xF98D +Testing andbw_const_dreg...done. pre_crc:0x5D3C, mem_crc:0x0000, reg_crc:0xA8AD, cc_crc:0xC0F5 +Testing andl_const_dreg...done. pre_crc:0xD288, mem_crc:0x0000, reg_crc:0x00D7, cc_crc:0x7E27 +Testing and_dreg_ind...done. pre_crc:0xED12, mem_crc:0xB465, reg_crc:0xBDFF, cc_crc:0x0BB5 +Testing and_dreg_d16...done. pre_crc:0xACBF, mem_crc:0xFAAF, reg_crc:0x2B2E, cc_crc:0x1915 +Testing and_dreg_absl...done. pre_crc:0x86E8, mem_crc:0x5006, reg_crc:0x28C0, cc_crc:0x3BA7 +Testing andibw_dreg...done. pre_crc:0x2B2A, mem_crc:0x0000, reg_crc:0x3B3D, cc_crc:0xF785 +Testing andil_dreg...done. pre_crc:0xCB37, mem_crc:0x0000, reg_crc:0xB436, cc_crc:0x1FC4 +Testing andibw_ind...done. pre_crc:0xD39B, mem_crc:0x2F10, reg_crc:0x28A0, cc_crc:0x19C8 +Testing andil_ind...done. pre_crc:0x30FE, mem_crc:0xC936, reg_crc:0x6179, cc_crc:0x0F2E +Testing andibw_d16...done. pre_crc:0x9431, mem_crc:0x490E, reg_crc:0xFD68, cc_crc:0xD81E +Testing andil_d16...done. pre_crc:0xC7DA, mem_crc:0x5556, reg_crc:0x50F9, cc_crc:0x93F5 +Testing andibw_absl...done. pre_crc:0x03CA, mem_crc:0xF7C8, reg_crc:0x521C, cc_crc:0xA9FA +Testing andil_absl...done. pre_crc:0x0516, mem_crc:0x5A55, reg_crc:0x91A2, cc_crc:0x6CB7 +Testing andi_to_ccr...done. pre_crc:0xF8E3, mem_crc:0x0000, reg_crc:0x9F95, cc_crc:0xAE5B +Testing asl_dx_dy...done. pre_crc:0x0FB6, mem_crc:0x0000, reg_crc:0x242D, cc_crc:0xA922 +Testing asl_const_dy...done. pre_crc:0x06ED, mem_crc:0x0000, reg_crc:0xF936, cc_crc:0x48C0 +Testing asl_ind...done. pre_crc:0x4D84, mem_crc:0x2031, reg_crc:0xB320, cc_crc:0xD7F3 +Testing asl_d16...done. pre_crc:0x681E, mem_crc:0x9D15, reg_crc:0xD4E8, cc_crc:0x98A2 +Testing asl_absl...done. pre_crc:0xA6D5, mem_crc:0x4DB1, reg_crc:0x4E53, cc_crc:0xF57D +Testing asr_dx_dy...done. pre_crc:0x19A2, mem_crc:0x0000, reg_crc:0xD05B, cc_crc:0x1BE8 +Testing asr_const_dy...done. pre_crc:0x8E89, mem_crc:0x0000, reg_crc:0x1E56, cc_crc:0xEA1A +Testing asr_ind...done. pre_crc:0x339E, mem_crc:0x2652, reg_crc:0xD8CC, cc_crc:0x944F +Testing asr_d16...done. pre_crc:0x138E, mem_crc:0xCC2D, reg_crc:0xCC78, cc_crc:0x7391 +Testing asr_absl...done. pre_crc:0x9E68, mem_crc:0x40EA, reg_crc:0xC8BF, cc_crc:0xF6A6 +Testing lsl_dx_dy...done. pre_crc:0x4FCD, mem_crc:0x0000, reg_crc:0x489F, cc_crc:0xF9FC +Testing lsl_const_dy...done. pre_crc:0x5A01, mem_crc:0x0000, reg_crc:0x27BB, cc_crc:0x372C +Testing lsl_ind...done. pre_crc:0xF68F, mem_crc:0x9344, reg_crc:0xAED9, cc_crc:0x9FDB +Testing lsl_d16...done. pre_crc:0xA42F, mem_crc:0x9C81, reg_crc:0x147B, cc_crc:0x43F2 +Testing lsl_absl...done. pre_crc:0x4C87, mem_crc:0x32A2, reg_crc:0x1C61, cc_crc:0xE15C +Testing lsr_dx_dy...done. pre_crc:0x5F78, mem_crc:0x0000, reg_crc:0x434C, cc_crc:0x74A9 +Testing lsr_const_dy...done. pre_crc:0xAAB2, mem_crc:0x0000, reg_crc:0xB424, cc_crc:0x1E7D +Testing lsr_ind...done. pre_crc:0xE802, mem_crc:0xDEAA, reg_crc:0x694B, cc_crc:0x09C3 +Testing lsr_d16...done. pre_crc:0x97BB, mem_crc:0x1777, reg_crc:0x5BA2, cc_crc:0x02D5 +Testing lsr_absl...done. pre_crc:0x18E4, mem_crc:0x8C2F, reg_crc:0x503A, cc_crc:0xB481 +Testing bra_b...done. pre_crc:0x0F78, mem_crc:0x0000, reg_crc:0x61DC, cc_crc:0xF087 +Testing bhi_b...done. pre_crc:0x0C3F, mem_crc:0x0000, reg_crc:0x32DA, cc_crc:0x1983 +Testing bls_b...done. pre_crc:0xCBDC, mem_crc:0x0000, reg_crc:0xE904, cc_crc:0x8CC2 +Testing bcc_b...done. pre_crc:0x6ECB, mem_crc:0x0000, reg_crc:0x355F, cc_crc:0x5055 +Testing bcs_b...done. pre_crc:0xED94, mem_crc:0x0000, reg_crc:0x65F3, cc_crc:0x0B80 +Testing bne_b...done. pre_crc:0x4416, mem_crc:0x0000, reg_crc:0xF5D7, cc_crc:0x09D2 +Testing beq_b...done. pre_crc:0x28BD, mem_crc:0x0000, reg_crc:0xC291, cc_crc:0xAFD2 +Testing bvc_b...done. pre_crc:0x7219, mem_crc:0x0000, reg_crc:0x89FD, cc_crc:0xD709 +Testing bvs_b...done. pre_crc:0xBC91, mem_crc:0x0000, reg_crc:0x0B5B, cc_crc:0x0AAA +Testing bpl_b...done. pre_crc:0xEF73, mem_crc:0x0000, reg_crc:0xED77, cc_crc:0x2466 +Testing bmi_b...done. pre_crc:0x52D0, mem_crc:0x0000, reg_crc:0xE228, cc_crc:0x0C30 +Testing bge_b...done. pre_crc:0x4369, mem_crc:0x0000, reg_crc:0x5B1A, cc_crc:0xC419 +Testing blt_b...done. pre_crc:0xD228, mem_crc:0x0000, reg_crc:0x8D99, cc_crc:0x9485 +Testing bgt_b...done. pre_crc:0xC80D, mem_crc:0x0000, reg_crc:0xE351, cc_crc:0x60ED +Testing ble_b...done. pre_crc:0xC6BE, mem_crc:0x0000, reg_crc:0xA268, cc_crc:0x5C48 +Testing bra_w...done. pre_crc:0xAF73, mem_crc:0x0000, reg_crc:0x17D7, cc_crc:0xAB34 +Testing bhi_w...done. pre_crc:0xE33A, mem_crc:0x0000, reg_crc:0x5D37, cc_crc:0xE90E +Testing bls_w...done. pre_crc:0xB973, mem_crc:0x0000, reg_crc:0xF101, cc_crc:0x2F34 +Testing bcc_w...done. pre_crc:0x7844, mem_crc:0x0000, reg_crc:0xAE3E, cc_crc:0xA1C2 +Testing bcs_w...done. pre_crc:0xA071, mem_crc:0x0000, reg_crc:0x89A4, cc_crc:0x8CB9 +Testing bne_w...done. pre_crc:0x31C8, mem_crc:0x0000, reg_crc:0x7B17, cc_crc:0x7227 +Testing beq_w...done. pre_crc:0xBD21, mem_crc:0x0000, reg_crc:0xBF76, cc_crc:0x4975 +Testing bvc_w...done. pre_crc:0xE1A2, mem_crc:0x0000, reg_crc:0x0BA7, cc_crc:0x596A +Testing bvs_w...done. pre_crc:0x1076, mem_crc:0x0000, reg_crc:0x29AE, cc_crc:0x1B14 +Testing bpl_w...done. pre_crc:0x1D77, mem_crc:0x0000, reg_crc:0xE474, cc_crc:0x3726 +Testing bmi_w...done. pre_crc:0xD6E8, mem_crc:0x0000, reg_crc:0x9A30, cc_crc:0x74A3 +Testing bge_w...done. pre_crc:0xADE2, mem_crc:0x0000, reg_crc:0x7281, cc_crc:0x4266 +Testing blt_w...done. pre_crc:0x102A, mem_crc:0x0000, reg_crc:0x8F34, cc_crc:0xFAFA +Testing bgt_w...done. pre_crc:0x2626, mem_crc:0x0000, reg_crc:0x1FC2, cc_crc:0xCB9D +Testing ble_w...done. pre_crc:0x36A1, mem_crc:0x0000, reg_crc:0x888E, cc_crc:0x4DFA +Testing bra_l...done. pre_crc:0xD2E5, mem_crc:0x0000, reg_crc:0xCC63, cc_crc:0x0EFE +Testing bhi_l...done. pre_crc:0x945F, mem_crc:0x0000, reg_crc:0x1256, cc_crc:0xB14B +Testing bls_l...done. pre_crc:0x88E2, mem_crc:0x0000, reg_crc:0x89AD, cc_crc:0x6A9C +Testing bcc_l...done. pre_crc:0xA3B5, mem_crc:0x0000, reg_crc:0x87AF, cc_crc:0xBCDF +Testing bcs_l...done. pre_crc:0x02AB, mem_crc:0x0000, reg_crc:0xD117, cc_crc:0x5EA7 +Testing bne_l...done. pre_crc:0xE330, mem_crc:0x0000, reg_crc:0xA84C, cc_crc:0x7A7F +Testing beq_l...done. pre_crc:0xB695, mem_crc:0x0000, reg_crc:0x7293, cc_crc:0xF90F +Testing bvc_l...done. pre_crc:0xF9BB, mem_crc:0x0000, reg_crc:0x03DE, cc_crc:0x8B88 +Testing bvs_l...done. pre_crc:0x650D, mem_crc:0x0000, reg_crc:0x18F6, cc_crc:0x8281 +Testing bpl_l...done. pre_crc:0xD26B, mem_crc:0x0000, reg_crc:0xB49A, cc_crc:0x38AB +Testing bmi_l...done. pre_crc:0x4A5B, mem_crc:0x0000, reg_crc:0x36E4, cc_crc:0x153D +Testing bge_l...done. pre_crc:0x52EE, mem_crc:0x0000, reg_crc:0xC11A, cc_crc:0x361E +Testing blt_l...done. pre_crc:0xBA7C, mem_crc:0x0000, reg_crc:0x802F, cc_crc:0xFF24 +Testing bgt_l...done. pre_crc:0xB8D9, mem_crc:0x0000, reg_crc:0xBF54, cc_crc:0xEEA5 +Testing ble_l...done. pre_crc:0x23F0, mem_crc:0x0000, reg_crc:0xAD3B, cc_crc:0xB9D9 +Testing bchg_reg_reg...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x2836, cc_crc:0xBEF9 +Testing bchg_const_reg...done. pre_crc:0x6287, mem_crc:0x0000, reg_crc:0x42EB, cc_crc:0x85AE +Testing bchg_reg_ind...done. pre_crc:0x9FA9, mem_crc:0xA63C, reg_crc:0x0CEB, cc_crc:0xCB0D +Testing bchg_const_ind...done. pre_crc:0x5497, mem_crc:0x5A93, reg_crc:0xA21C, cc_crc:0xDA9B +Testing bchg_reg_d16...done. pre_crc:0xA08F, mem_crc:0xF797, reg_crc:0x39BB, cc_crc:0x7C10 +Testing bchg_const_d16...done. pre_crc:0x1851, mem_crc:0x0889, reg_crc:0xAF6A, cc_crc:0x8D72 +Testing bchg_reg_absl...done. pre_crc:0xCDFD, mem_crc:0xC4AE, reg_crc:0x98F7, cc_crc:0x2256 +Testing bchg_const_absl...done. pre_crc:0x36C1, mem_crc:0x5530, reg_crc:0x0DDA, cc_crc:0xB435 +Testing bclr_reg_reg...done. pre_crc:0xBDF0, mem_crc:0x0000, reg_crc:0x7478, cc_crc:0x0208 +Testing bclr_const_reg...done. pre_crc:0x1375, mem_crc:0x0000, reg_crc:0x01FD, cc_crc:0x7C1F +Testing bclr_reg_ind...done. pre_crc:0x0AD2, mem_crc:0xDB00, reg_crc:0x6909, cc_crc:0xBFC1 +Testing bclr_const_ind...done. pre_crc:0x7217, mem_crc:0xB48E, reg_crc:0x4FAD, cc_crc:0xCCE4 +Testing bclr_reg_d16...done. pre_crc:0x0D84, mem_crc:0x5A2D, reg_crc:0xA1E3, cc_crc:0x0B49 +Testing bclr_const_d16...done. pre_crc:0x92AB, mem_crc:0xFE19, reg_crc:0x9D86, cc_crc:0x9CA0 +Testing bclr_reg_absl...done. pre_crc:0xDCA0, mem_crc:0x2296, reg_crc:0x145F, cc_crc:0x7F49 +Testing bclr_const_absl...done. pre_crc:0x4CC9, mem_crc:0x9898, reg_crc:0x7E8E, cc_crc:0x41FC +Testing bset_reg_reg...done. pre_crc:0x7576, mem_crc:0x0000, reg_crc:0x3B92, cc_crc:0x289F +Testing bset_const_reg...done. pre_crc:0x845C, mem_crc:0x0000, reg_crc:0x9303, cc_crc:0x8E33 +Testing bset_reg_ind...done. pre_crc:0xA6C9, mem_crc:0x55BE, reg_crc:0xD724, cc_crc:0x3303 +Testing bset_const_ind...done. pre_crc:0x1964, mem_crc:0x8C13, reg_crc:0x7D44, cc_crc:0x017F +Testing bset_reg_d16...done. pre_crc:0xF69D, mem_crc:0x5696, reg_crc:0xB5A8, cc_crc:0x0DD6 +Testing bset_const_d16...done. pre_crc:0x0055, mem_crc:0xF7FB, reg_crc:0x6D6B, cc_crc:0x18E8 +Testing bset_reg_absl...done. pre_crc:0xD50D, mem_crc:0xFA8D, reg_crc:0x6556, cc_crc:0x462C +Testing bset_const_absl...done. pre_crc:0x6365, mem_crc:0xC5FC, reg_crc:0xC31B, cc_crc:0xA483 +Testing btst_reg_reg...done. pre_crc:0x9391, mem_crc:0x0000, reg_crc:0x2A20, cc_crc:0xAB57 +Testing btst_const_reg...done. pre_crc:0x9B18, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x1DF9 +Testing btst_reg_ind...done. pre_crc:0xA9E1, mem_crc:0x0000, reg_crc:0xC514, cc_crc:0x81A5 +Testing btst_const_ind...done. pre_crc:0xED11, mem_crc:0x0000, reg_crc:0x5E02, cc_crc:0xABAD +Testing btst_reg_d16...done. pre_crc:0x6DA8, mem_crc:0x0000, reg_crc:0x6924, cc_crc:0x0C6C +Testing btst_const_d16...done. pre_crc:0xF461, mem_crc:0x0000, reg_crc:0xEC62, cc_crc:0x9684 +Testing btst_reg_absl...done. pre_crc:0xFF19, mem_crc:0x0000, reg_crc:0x08FE, cc_crc:0x407A +Testing btst_const_absl...done. pre_crc:0xBB3F, mem_crc:0x0000, reg_crc:0x29C7, cc_crc:0xF335 +Testing bfchg_reg...done. pre_crc:0xF87C, mem_crc:0x0000, reg_crc:0xC84C, cc_crc:0xCE37 +Testing bfchg_ind...done. pre_crc:0x2F76, mem_crc:0xDA54, reg_crc:0xB686, cc_crc:0xF655 +Testing bfchg_d16...done. pre_crc:0x01EF, mem_crc:0xE6D6, reg_crc:0x6746, cc_crc:0xC74A +Testing bfchg_absl...done. pre_crc:0x7328, mem_crc:0x588F, reg_crc:0x7AF1, cc_crc:0xAA05 +Testing bfclr_reg...done. pre_crc:0xF27A, mem_crc:0x0000, reg_crc:0x62A7, cc_crc:0x5AF3 +Testing bfclr_ind...done. pre_crc:0x67D9, mem_crc:0xFB79, reg_crc:0x6A2B, cc_crc:0x5003 +Testing bfclr_d16...done. pre_crc:0x5C70, mem_crc:0xBCD6, reg_crc:0xE902, cc_crc:0xEF62 +Testing bfclr_absl...done. pre_crc:0x762B, mem_crc:0x444D, reg_crc:0x3DC4, cc_crc:0xCDF7 +Testing bfset_reg...done. pre_crc:0x5B72, mem_crc:0x0000, reg_crc:0xB0BF, cc_crc:0xF630 +Testing bfset_ind...done. pre_crc:0xD656, mem_crc:0xAF93, reg_crc:0x87C3, cc_crc:0x6E1C +Testing bfset_d16...done. pre_crc:0xB2D8, mem_crc:0xE224, reg_crc:0x26E0, cc_crc:0x78DB +Testing bfset_absl...done. pre_crc:0x49B7, mem_crc:0x09D8, reg_crc:0x1331, cc_crc:0xD736 +Testing bftst_reg...done. pre_crc:0xCEC8, mem_crc:0x0000, reg_crc:0x7DA3, cc_crc:0x9FE1 +Testing bftst_ind...done. pre_crc:0xDA4F, mem_crc:0x0000, reg_crc:0x0A84, cc_crc:0x4EF9 +Testing bftst_d16...done. pre_crc:0x22EC, mem_crc:0x0000, reg_crc:0xC972, cc_crc:0x636F +Testing bftst_absl...done. pre_crc:0x07FC, mem_crc:0x0000, reg_crc:0x2CB9, cc_crc:0xADCE +Testing bfexts_reg...done. pre_crc:0x43C5, mem_crc:0x0000, reg_crc:0x0E54, cc_crc:0x57B6 +Testing bfexts_ind...done. pre_crc:0x8307, mem_crc:0x0000, reg_crc:0x6C5C, cc_crc:0x40C1 +Testing bfexts_d16...done. pre_crc:0xA18A, mem_crc:0x0000, reg_crc:0x0126, cc_crc:0x3789 +Testing bfexts_absl...done. pre_crc:0x910B, mem_crc:0x0000, reg_crc:0x2260, cc_crc:0x9280 +Testing bfextu_reg...done. pre_crc:0x55A8, mem_crc:0x0000, reg_crc:0x0791, cc_crc:0x4923 +Testing bfextu_ind...done. pre_crc:0x4B35, mem_crc:0x0000, reg_crc:0x08D3, cc_crc:0xDBE7 +Testing bfextu_d16...done. pre_crc:0xC2D4, mem_crc:0x0000, reg_crc:0x4F38, cc_crc:0x35A3 +Testing bfextu_absl...done. pre_crc:0xE9E1, mem_crc:0x0000, reg_crc:0xAC78, cc_crc:0x5740 +Testing bfffo_reg...done. pre_crc:0x7A41, mem_crc:0x0000, reg_crc:0xF982, cc_crc:0x8D82 +Testing bfffo_ind...done. pre_crc:0x4BAF, mem_crc:0x0000, reg_crc:0xE63E, cc_crc:0xCFBD +Testing bfffo_d16...done. pre_crc:0x6918, mem_crc:0x0000, reg_crc:0xB9E6, cc_crc:0x2DA3 +Testing bfffo_absl...done. pre_crc:0x9B75, mem_crc:0x0000, reg_crc:0xF94B, cc_crc:0x7E17 +Testing bfins_reg...done. pre_crc:0xC917, mem_crc:0x0000, reg_crc:0x8FBC, cc_crc:0x3CA6 +Testing bfins_ind...done. pre_crc:0x0C11, mem_crc:0x6C1B, reg_crc:0xF457, cc_crc:0xD985 +Testing bfins_d16...done. pre_crc:0x9B9E, mem_crc:0xA3BE, reg_crc:0xD0C2, cc_crc:0x82B8 +Testing bfins_absl...done. pre_crc:0xDD47, mem_crc:0xEAB3, reg_crc:0x246C, cc_crc:0x2284 +Testing bsr_b...done. pre_crc:0x837A, mem_crc:0xD8B2, reg_crc:0x3EF1, cc_crc:0x2C1C +Testing bsr_w...done. pre_crc:0x066F, mem_crc:0x93A5, reg_crc:0x560A, cc_crc:0x1C3D +Testing bsr_l...done. pre_crc:0xBD13, mem_crc:0xD22B, reg_crc:0x9BC1, cc_crc:0x03CF +Testing cas_ind...done. pre_crc:0x22E9, mem_crc:0xF5B4, reg_crc:0x521C, cc_crc:0x3E9D +Testing cas2_areg...done. pre_crc:0x0DC8, mem_crc:0x7034, reg_crc:0xAB58, cc_crc:0xA258 +Testing cas2_anyreg...done. pre_crc:0xD730, mem_crc:0x20DC, reg_crc:0x70DF, cc_crc:0x0988 +Testing clr_reg...done. pre_crc:0x76ED, mem_crc:0x0000, reg_crc:0x16AE, cc_crc:0xAAB1 +Testing clrb_ind...done. pre_crc:0x258C, mem_crc:0x0366, reg_crc:0xD79F, cc_crc:0x8343 +Testing clrwl_ind...done. pre_crc:0xF34D, mem_crc:0x74BE, reg_crc:0x1714, cc_crc:0x4F46 +Testing clrb_absl...done. pre_crc:0x29F6, mem_crc:0xE22D, reg_crc:0x52A2, cc_crc:0x88A5 +Testing clrwl_absl...done. pre_crc:0xC56E, mem_crc:0x6C35, reg_crc:0xC4EF, cc_crc:0x6CBB +Testing cmp_dreg...done. pre_crc:0xE5D5, mem_crc:0x0000, reg_crc:0x4FD9, cc_crc:0xF9C6 +Testing cmp_areg...done. pre_crc:0x3F43, mem_crc:0x0000, reg_crc:0xF595, cc_crc:0x284B +Testing cmpb_ind...done. pre_crc:0x2B55, mem_crc:0x0000, reg_crc:0xDA86, cc_crc:0x39C9 +Testing cmpwl_ind...done. pre_crc:0x6A8A, mem_crc:0x0000, reg_crc:0x4551, cc_crc:0xD1B1 +Testing cmpb_d16...done. pre_crc:0x10FE, mem_crc:0x0000, reg_crc:0x0F3A, cc_crc:0x290E +Testing cmpwl_d16...done. pre_crc:0x0741, mem_crc:0x0000, reg_crc:0x9E15, cc_crc:0xA0B8 +Testing cmpa_reg...done. pre_crc:0xE341, mem_crc:0x0000, reg_crc:0x8508, cc_crc:0xBD9F +Testing cmpa_ind...done. pre_crc:0x17EE, mem_crc:0x0000, reg_crc:0xAD25, cc_crc:0xA47F +Testing cmpa_ind2...done. pre_crc:0xFDAB, mem_crc:0x0000, reg_crc:0x5715, cc_crc:0xDC13 +Testing cmpa_d16...done. pre_crc:0xB082, mem_crc:0x0000, reg_crc:0x4F2C, cc_crc:0x243C +Testing cmpa_d16_2...done. pre_crc:0xA2CF, mem_crc:0x0000, reg_crc:0xAB1F, cc_crc:0x1CEA +Testing cmpa_absl...done. pre_crc:0x3F18, mem_crc:0x0000, reg_crc:0x74D1, cc_crc:0xACB4 +Testing cmpibw_reg...done. pre_crc:0xB08A, mem_crc:0x0000, reg_crc:0x0F87, cc_crc:0x1439 +Testing cmpil_reg...done. pre_crc:0x942F, mem_crc:0x0000, reg_crc:0xC311, cc_crc:0xC78F +Testing cmpib_ind...done. pre_crc:0x303E, mem_crc:0x0000, reg_crc:0x4E87, cc_crc:0x606C +Testing cmpiw_ind...done. pre_crc:0xF54E, mem_crc:0x0000, reg_crc:0x3681, cc_crc:0xD259 +Testing cmpil_ind...done. pre_crc:0x4553, mem_crc:0x0000, reg_crc:0xAEC1, cc_crc:0xEAC2 +Testing cmpmb...done. pre_crc:0x15E1, mem_crc:0x0000, reg_crc:0x00FA, cc_crc:0xBC49 +Testing cmpmwl...done. pre_crc:0x1011, mem_crc:0x0000, reg_crc:0x5415, cc_crc:0x6947 +Testing cmp2b_ind...done. pre_crc:0x187F, mem_crc:0x0000, reg_crc:0x9A48, cc_crc:0x9930 +Testing cmp2wl_ind...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x0E1F, cc_crc:0x24A5 +Testing dbcc...done. pre_crc:0xCDAB, mem_crc:0x0000, reg_crc:0x4D2B, cc_crc:0x8DC6 +Testing divs_reg...done. pre_crc:0xF5E3, mem_crc:0x0000, reg_crc:0xBEE8, cc_crc:0xA837 +Testing divs_same_reg...done. pre_crc:0x1414, mem_crc:0x0000, reg_crc:0x4057, cc_crc:0x6B9E +Testing divs_ind...done. pre_crc:0x96E0, mem_crc:0x0000, reg_crc:0xE8E8, cc_crc:0x6F1D +Testing divs_absl...done. pre_crc:0x3CE7, mem_crc:0x0000, reg_crc:0x5C81, cc_crc:0x161C +Testing divu_reg...done. pre_crc:0xEB77, mem_crc:0x0000, reg_crc:0xE2AA, cc_crc:0x4D72 +Testing divu_same_reg...done. pre_crc:0x2F1F, mem_crc:0x0000, reg_crc:0x24AA, cc_crc:0x1AE0 +Testing divu_ind...done. pre_crc:0xFE24, mem_crc:0x0000, reg_crc:0x3C50, cc_crc:0x5C6C +Testing divu_absl...done. pre_crc:0x82A9, mem_crc:0x0000, reg_crc:0x27CC, cc_crc:0x9292 +Testing divul_ll_reg...done. pre_crc:0x800F, mem_crc:0x0000, reg_crc:0x7CEF, cc_crc:0x8AF8 +Testing divul_ll_ind...done. pre_crc:0x6086, mem_crc:0x0000, reg_crc:0x1A91, cc_crc:0x6E16 +Testing divul_ll_absl...done. pre_crc:0x6F56, mem_crc:0x0000, reg_crc:0x22C9, cc_crc:0x3CFF +Testing eor_reg...done. pre_crc:0x1974, mem_crc:0x0000, reg_crc:0x0729, cc_crc:0x1403 +Testing eor_ind...done. pre_crc:0x47BE, mem_crc:0xF395, reg_crc:0x5566, cc_crc:0xAEB9 +Testing eor_d16...done. pre_crc:0x1B75, mem_crc:0x32BA, reg_crc:0xF1B9, cc_crc:0xB46F +Testing eor_absl...done. pre_crc:0x387A, mem_crc:0xBA4C, reg_crc:0xCFBD, cc_crc:0x23CB +Testing eoribw_dreg...done. pre_crc:0x0894, mem_crc:0x0000, reg_crc:0xDC79, cc_crc:0x317F +Testing eoril_dreg...done. pre_crc:0x2622, mem_crc:0x0000, reg_crc:0xC707, cc_crc:0x0D1F +Testing eoribw_ind...done. pre_crc:0x731C, mem_crc:0xAD32, reg_crc:0x8098, cc_crc:0x5D0E +Testing eoril_ind...done. pre_crc:0xDD60, mem_crc:0xA58B, reg_crc:0x33A3, cc_crc:0x20AD +Testing eoribw_d16...done. pre_crc:0xF496, mem_crc:0x415F, reg_crc:0xBD22, cc_crc:0x12C6 +Testing eoril_d16...done. pre_crc:0x3FB2, mem_crc:0x4592, reg_crc:0x7869, cc_crc:0xE203 +Testing eoribw_absl...done. pre_crc:0x10CC, mem_crc:0xE34C, reg_crc:0x8FDC, cc_crc:0x3AAC +Testing eoril_absl...done. pre_crc:0xBBFD, mem_crc:0xD7AA, reg_crc:0x0BA7, cc_crc:0xEED1 +Testing eori_to_ccr...done. pre_crc:0xEC9E, mem_crc:0x0000, reg_crc:0xF0CF, cc_crc:0x7E9C +Testing exg...done. pre_crc:0x7547, mem_crc:0x0000, reg_crc:0xB0F7, cc_crc:0x8465 +Testing ext...done. pre_crc:0x3755, mem_crc:0x0000, reg_crc:0x712E, cc_crc:0xCAE7 +Testing jmp_absl...done. pre_crc:0x8456, mem_crc:0x0000, reg_crc:0x614A, cc_crc:0xC2DF +Testing jmp_ind...done. pre_crc:0x7DCF, mem_crc:0x0000, reg_crc:0xFD94, cc_crc:0x2DB2 +Testing jmp_d16...done. pre_crc:0x69BE, mem_crc:0x0000, reg_crc:0x6732, cc_crc:0x0761 +Testing jsr_absl...done. pre_crc:0xC976, mem_crc:0x51AB, reg_crc:0x5E40, cc_crc:0xE1A9 +Testing jsr_ind...done. pre_crc:0x4597, mem_crc:0xC6A9, reg_crc:0xAFA6, cc_crc:0x4654 +Testing jsr_d16...done. pre_crc:0x270B, mem_crc:0x74B8, reg_crc:0x4414, cc_crc:0xBE18 +Testing lea_ind...done. pre_crc:0xED09, mem_crc:0x0000, reg_crc:0xFC5F, cc_crc:0x1ECC +Testing lea_d16...done. pre_crc:0xA9F5, mem_crc:0x0000, reg_crc:0x35CC, cc_crc:0xB08A +Testing lea_absw...done. pre_crc:0x59C8, mem_crc:0x0000, reg_crc:0x954E, cc_crc:0x37CD +Testing lea_absl...done. pre_crc:0x19C1, mem_crc:0x0000, reg_crc:0xB82D, cc_crc:0x9B20 +Testing linkw...done. pre_crc:0x1BD0, mem_crc:0x2435, reg_crc:0xA8B3, cc_crc:0x6EFB +Testing linkl...done. pre_crc:0x2065, mem_crc:0xD3CD, reg_crc:0x2BBB, cc_crc:0x7B0A +Testing move16_postinc_postinc...done. pre_crc:0x848C, mem_crc:0xAAEE, reg_crc:0xF660, cc_crc:0xD389 +Testing move16_absl_ind...done. pre_crc:0xFAD5, mem_crc:0xBEE2, reg_crc:0x626B, cc_crc:0x6990 +Testing move16_absl_postinc...done. pre_crc:0xB959, mem_crc:0x9E10, reg_crc:0x6AEB, cc_crc:0x5FDE +Testing move16_ind_absl...done. pre_crc:0x4589, mem_crc:0x21E4, reg_crc:0x2D84, cc_crc:0x6BF8 +Testing move16_postinc_absl...done. pre_crc:0x3A44, mem_crc:0xC702, reg_crc:0xBD17, cc_crc:0xD3D5 +Testing moveb_dreg_dreg...done. pre_crc:0x3EE2, mem_crc:0x0000, reg_crc:0x7070, cc_crc:0x0AB7 +Testing movewl_reg_dreg...done. pre_crc:0x3E09, mem_crc:0x0000, reg_crc:0x74BD, cc_crc:0x32F7 +Testing moveb_ind_dreg...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0x2C01, cc_crc:0x97AD +Testing movewl_ind_dreg...done. pre_crc:0xD928, mem_crc:0x0000, reg_crc:0x7B0F, cc_crc:0x5457 +Testing moveb_d16_dreg...done. pre_crc:0x9F5D, mem_crc:0x0000, reg_crc:0xBF89, cc_crc:0xECD6 +Testing movewl_d16_dreg...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0xCA14, cc_crc:0x50DE +Testing moveb_absl_dreg...done. pre_crc:0xFA87, mem_crc:0x0000, reg_crc:0x5DF7, cc_crc:0x06DE +Testing movewl_absl_dreg...done. pre_crc:0x4C7C, mem_crc:0x0000, reg_crc:0x8B28, cc_crc:0x8103 +Testing movebw_const_dreg...done. pre_crc:0xD9F1, mem_crc:0x0000, reg_crc:0xB727, cc_crc:0x9DFE +Testing movel_const_dreg...done. pre_crc:0xB75A, mem_crc:0x0000, reg_crc:0xE01A, cc_crc:0x1F13 +Testing moveb_dreg_ind...done. pre_crc:0x0952, mem_crc:0x953F, reg_crc:0xF173, cc_crc:0x509A +Testing movewl_reg_ind...done. pre_crc:0xDB7B, mem_crc:0xD81E, reg_crc:0x7227, cc_crc:0x1923 +Testing moveb_dreg_d16...done. pre_crc:0xD4F2, mem_crc:0x24C3, reg_crc:0x5039, cc_crc:0x21B4 +Testing movewl_reg_d16...done. pre_crc:0x894D, mem_crc:0x0FC9, reg_crc:0x8B30, cc_crc:0x5801 +Testing moveb_dreg_absl...done. pre_crc:0x6579, mem_crc:0xD7FF, reg_crc:0xEE09, cc_crc:0x836E +Testing movewl_reg_absl...done. pre_crc:0x8FDC, mem_crc:0xA73B, reg_crc:0x691D, cc_crc:0x1BD7 +Testing moveb_ind_ind...done. pre_crc:0xA612, mem_crc:0x7DDE, reg_crc:0x696F, cc_crc:0x3425 +Testing moveb_ind_d16...done. pre_crc:0x01A2, mem_crc:0x5D32, reg_crc:0x2211, cc_crc:0xECD0 +Testing moveb_d16_ind...done. pre_crc:0xD70D, mem_crc:0xCB37, reg_crc:0x539A, cc_crc:0x0C4D +Testing movewl_ind_d16...done. pre_crc:0x01C6, mem_crc:0x1DBD, reg_crc:0x43A2, cc_crc:0x73F4 +Testing movewl_d16_ind...done. pre_crc:0xFEE5, mem_crc:0x116F, reg_crc:0x20CB, cc_crc:0xA723 +Testing moveb_d16_d16...done. pre_crc:0xE0ED, mem_crc:0x6798, reg_crc:0xE47B, cc_crc:0x3BC1 +Testing movewl_d16_d16...done. pre_crc:0x7419, mem_crc:0x0A47, reg_crc:0x889C, cc_crc:0x67DF +Testing moveb_ind_absl...done. pre_crc:0xEA5F, mem_crc:0xBAC7, reg_crc:0xAF53, cc_crc:0xC10D +Testing movewl_ind_absl...done. pre_crc:0x5127, mem_crc:0x12B7, reg_crc:0xC84F, cc_crc:0x0EF4 +Testing moveb_absl_ind...done. pre_crc:0x1FE3, mem_crc:0x4255, reg_crc:0x5077, cc_crc:0x9F47 +Testing movewl_absl_ind...done. pre_crc:0xFCC4, mem_crc:0x350F, reg_crc:0xA0BE, cc_crc:0x186F +Testing moveb_absl_absl...done. pre_crc:0x03B7, mem_crc:0xD784, reg_crc:0x511F, cc_crc:0x72E7 +Testing movewl_absl_absl...done. pre_crc:0x7125, mem_crc:0x2F25, reg_crc:0xA88F, cc_crc:0xEFB9 +Testing moveb_d16_absl...done. pre_crc:0x0677, mem_crc:0xBCF7, reg_crc:0x5170, cc_crc:0x298F +Testing movewl_d16_absl...done. pre_crc:0x4C95, mem_crc:0x6E8A, reg_crc:0xCFB7, cc_crc:0x777D +Testing moveb_absl_d16...done. pre_crc:0x1868, mem_crc:0x5633, reg_crc:0xB9BF, cc_crc:0xD19F +Testing movewl_absl_d16...done. pre_crc:0x4126, mem_crc:0x82F3, reg_crc:0xE27E, cc_crc:0xC5FC +Testing moveb_const_ind...done. pre_crc:0xDAD1, mem_crc:0x7B81, reg_crc:0x9977, cc_crc:0xFA0A +Testing moveb_const_d16...done. pre_crc:0xF229, mem_crc:0x0F18, reg_crc:0xEF15, cc_crc:0xBF07 +Testing moveb_const_absl...done. pre_crc:0x65B2, mem_crc:0x1828, reg_crc:0x8940, cc_crc:0x5E9B +Testing movew_const_ind...done. pre_crc:0xB05E, mem_crc:0xB2D8, reg_crc:0xB32F, cc_crc:0xC67D +Testing movew_const_d16...done. pre_crc:0x2EC2, mem_crc:0xE8C3, reg_crc:0xC7DA, cc_crc:0x5677 +Testing movew_const_absl...done. pre_crc:0x0E84, mem_crc:0xF3FA, reg_crc:0x4904, cc_crc:0x1525 +Testing movel_const_ind...done. pre_crc:0x2B68, mem_crc:0x20C7, reg_crc:0xDAEA, cc_crc:0x6078 +Testing movel_const_d16...done. pre_crc:0x5839, mem_crc:0x3641, reg_crc:0xBD12, cc_crc:0x8FE0 +Testing movel_const_absl...done. pre_crc:0xC1CD, mem_crc:0xFE7F, reg_crc:0xD302, cc_crc:0xB540 +Testing movea_reg...done. pre_crc:0x0218, mem_crc:0x0000, reg_crc:0x130D, cc_crc:0xB2E1 +Testing movea_ind...done. pre_crc:0x1F18, mem_crc:0x0000, reg_crc:0xA072, cc_crc:0x722E +Testing movea_d16...done. pre_crc:0x9A40, mem_crc:0x0000, reg_crc:0xCA69, cc_crc:0x1A6B +Testing movea_absl...done. pre_crc:0xC0C3, mem_crc:0x0000, reg_crc:0x5FCA, cc_crc:0xC229 +Testing moveaw_const...done. pre_crc:0x2C43, mem_crc:0x0000, reg_crc:0xDC1A, cc_crc:0x62FB +Testing moveal_const...done. pre_crc:0x2083, mem_crc:0x0000, reg_crc:0xE46A, cc_crc:0x4B1D +Testing move_from_ccr_dreg...done. pre_crc:0x58DB, mem_crc:0x0000, reg_crc:0x7B39, cc_crc:0x9AF3 +Testing move_from_ccr_ind...done. pre_crc:0x00F2, mem_crc:0x0000, reg_crc:0xED12, cc_crc:0x9AD7 +Testing move_from_ccr_d16...done. pre_crc:0x6820, mem_crc:0x0000, reg_crc:0xC071, cc_crc:0x44CC +Testing move_to_ccr_reg...done. pre_crc:0xDE9A, mem_crc:0x0000, reg_crc:0xCCDB, cc_crc:0xB99B +Testing move_to_ccr_ind...done. pre_crc:0xE55E, mem_crc:0x0000, reg_crc:0x5539, cc_crc:0xA9B7 +Testing movem_to_ind...done. pre_crc:0x50B8, mem_crc:0x23DF, reg_crc:0x394E, cc_crc:0x59BB +Testing movem_to_predec...done. pre_crc:0x1DF8, mem_crc:0x24AC, reg_crc:0x9BB3, cc_crc:0xB7E7 +Testing movem_to_d16...done. pre_crc:0x17A9, mem_crc:0x08B0, reg_crc:0xD255, cc_crc:0x6DA7 +Testing movem_to_absl...done. pre_crc:0x22EF, mem_crc:0x2076, reg_crc:0x416A, cc_crc:0x8147 +Testing movem_from_d16...done. pre_crc:0x239B, mem_crc:0x0000, reg_crc:0x70D6, cc_crc:0xBF20 +Testing movem_from_ind...done. pre_crc:0xF62A, mem_crc:0x0000, reg_crc:0x1750, cc_crc:0x560C +Testing movem_from_absl...done. pre_crc:0xF791, mem_crc:0x0000, reg_crc:0x84AF, cc_crc:0x341C +Testing movep_to_mem...done. pre_crc:0x2AF4, mem_crc:0x2097, reg_crc:0x7994, cc_crc:0x3BE6 +Testing movep_from_mem...done. pre_crc:0xA795, mem_crc:0x0000, reg_crc:0x62F8, cc_crc:0x609A +Testing moveq...done. pre_crc:0x1051, mem_crc:0x0000, reg_crc:0x9F2D, cc_crc:0x1812 +Testing mulsw_dreg...done. pre_crc:0x2A25, mem_crc:0x0000, reg_crc:0x5384, cc_crc:0xE1CA +Testing mulsw_ind...done. pre_crc:0x5A9D, mem_crc:0x0000, reg_crc:0x22EE, cc_crc:0xD67F +Testing mulsw_d16...done. pre_crc:0x3C99, mem_crc:0x0000, reg_crc:0x29C2, cc_crc:0x31CE +Testing mulsw_absl...done. pre_crc:0xCDEE, mem_crc:0x0000, reg_crc:0xCE76, cc_crc:0x09F9 +Testing muluw_dreg...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0x4F0E, cc_crc:0x262A +Testing muluw_ind...done. pre_crc:0x8E2E, mem_crc:0x0000, reg_crc:0x45DA, cc_crc:0xB2EB +Testing muluw_d16...done. pre_crc:0x119C, mem_crc:0x0000, reg_crc:0x0CC3, cc_crc:0x85AE +Testing muluw_absl...done. pre_crc:0xECDD, mem_crc:0x0000, reg_crc:0x368B, cc_crc:0x9425 +Testing mulsl_dreg...done. pre_crc:0xAD1D, mem_crc:0x0000, reg_crc:0x7C1F, cc_crc:0xC131 +Testing mulsl_ind...done. pre_crc:0x1833, mem_crc:0x0000, reg_crc:0x0695, cc_crc:0x5110 +Testing mulsl_d16...done. pre_crc:0x7528, mem_crc:0x0000, reg_crc:0x6F69, cc_crc:0x223C +Testing mulsl_absl...done. pre_crc:0x1DC7, mem_crc:0x0000, reg_crc:0x7865, cc_crc:0xA9BD +Testing mulul_dreg...done. pre_crc:0xE66B, mem_crc:0x0000, reg_crc:0xDC83, cc_crc:0x65A9 +Testing mulul_ind...done. pre_crc:0x4866, mem_crc:0x0000, reg_crc:0xAAE7, cc_crc:0x99F9 +Testing mulul_d16...done. pre_crc:0x5222, mem_crc:0x0000, reg_crc:0xDCBC, cc_crc:0xDDC9 +Testing mulul_absl...done. pre_crc:0x1D72, mem_crc:0x0000, reg_crc:0x1260, cc_crc:0x82D8 +Testing nbcd_reg...done. pre_crc:0x7A95, mem_crc:0x0000, reg_crc:0xA1CB, cc_crc:0xDB8E +Testing nbcd_ind...done. pre_crc:0x5942, mem_crc:0x1C32, reg_crc:0x4EDB, cc_crc:0xCF27 +Testing nbcd_d16...done. pre_crc:0x6D18, mem_crc:0xE3D0, reg_crc:0x87D8, cc_crc:0xAE64 +Testing nbcd_absl...done. pre_crc:0xD866, mem_crc:0x17EB, reg_crc:0xA628, cc_crc:0xE21B +Testing neg_reg...done. pre_crc:0x9752, mem_crc:0x0000, reg_crc:0xDB1E, cc_crc:0x8DD4 +Testing negb_ind...done. pre_crc:0xB2D1, mem_crc:0x18DE, reg_crc:0x0BAD, cc_crc:0xF29B +Testing negwl_ind...done. pre_crc:0x863F, mem_crc:0x8A34, reg_crc:0x6802, cc_crc:0x95E4 +Testing negb_d16...done. pre_crc:0x646D, mem_crc:0xF2B0, reg_crc:0x2B41, cc_crc:0x0401 +Testing negwl_d16...done. pre_crc:0xFBD7, mem_crc:0xC220, reg_crc:0x3EC4, cc_crc:0x8F5D +Testing neg_absl...done. pre_crc:0xA5FE, mem_crc:0x8646, reg_crc:0x529D, cc_crc:0x39DB +Testing negx_reg...done. pre_crc:0xD421, mem_crc:0x0000, reg_crc:0xF569, cc_crc:0x14A0 +Testing negxb_ind...done. pre_crc:0xAD16, mem_crc:0xCA4D, reg_crc:0x0C7E, cc_crc:0x89EA +Testing negxwl_ind...done. pre_crc:0xA07B, mem_crc:0x33CF, reg_crc:0x433B, cc_crc:0xD613 +Testing negxb_d16...done. pre_crc:0x7659, mem_crc:0xB0BF, reg_crc:0x1FF1, cc_crc:0x3E34 +Testing negxwl_d16...done. pre_crc:0x0457, mem_crc:0x2CC1, reg_crc:0x2DA5, cc_crc:0x9642 +Testing negx_absl...done. pre_crc:0xEFB9, mem_crc:0xF231, reg_crc:0x89F2, cc_crc:0xB177 +Testing nop...done. pre_crc:0x6A1D, mem_crc:0x0000, reg_crc:0x9A35, cc_crc:0x71E8 +Testing not_reg...done. pre_crc:0x6E06, mem_crc:0x0000, reg_crc:0xFC81, cc_crc:0x5C99 +Testing notb_ind...done. pre_crc:0xB510, mem_crc:0xBF7A, reg_crc:0x9E16, cc_crc:0xF47F +Testing notwl_ind...done. pre_crc:0xCAF1, mem_crc:0xC022, reg_crc:0x3F81, cc_crc:0x3E5B +Testing notb_d16...done. pre_crc:0x67A6, mem_crc:0x09FC, reg_crc:0xF708, cc_crc:0x79E5 +Testing notwl_d16...done. pre_crc:0x92D1, mem_crc:0x9559, reg_crc:0x7070, cc_crc:0x0DB9 +Testing not_absl...done. pre_crc:0xE0A3, mem_crc:0xF35F, reg_crc:0x7433, cc_crc:0x3E54 +Testing or_dreg_dreg...done. pre_crc:0x54C7, mem_crc:0x0000, reg_crc:0x07B9, cc_crc:0x4A70 +Testing or_ind_dreg...done. pre_crc:0x788E, mem_crc:0x0000, reg_crc:0x2545, cc_crc:0xE8D1 +Testing or_d16_dreg...done. pre_crc:0xD63F, mem_crc:0x0000, reg_crc:0x377F, cc_crc:0xFF93 +Testing or_absl_dreg...done. pre_crc:0xB75A, mem_crc:0x0000, reg_crc:0xC145, cc_crc:0xA3C6 +Testing orbw_const_dreg...done. pre_crc:0x9665, mem_crc:0x0000, reg_crc:0xAE5E, cc_crc:0x5789 +Testing orl_const_dreg...done. pre_crc:0xF2EE, mem_crc:0x0000, reg_crc:0x9E26, cc_crc:0x40EC +Testing or_dreg_ind...done. pre_crc:0x5482, mem_crc:0xC7F7, reg_crc:0xAD9D, cc_crc:0x3A0C +Testing or_dreg_d16...done. pre_crc:0xCDE4, mem_crc:0x73BC, reg_crc:0x1FB0, cc_crc:0x707A +Testing or_dreg_absl...done. pre_crc:0x0870, mem_crc:0x8278, reg_crc:0x45B6, cc_crc:0x355C +Testing oribw_dreg...done. pre_crc:0x1F3B, mem_crc:0x0000, reg_crc:0x8174, cc_crc:0x60CA +Testing oril_dreg...done. pre_crc:0xF495, mem_crc:0x0000, reg_crc:0x6DB9, cc_crc:0x16F7 +Testing oribw_ind...done. pre_crc:0xD090, mem_crc:0xB091, reg_crc:0xB3A7, cc_crc:0x9AC3 +Testing oril_ind...done. pre_crc:0x9863, mem_crc:0xC48F, reg_crc:0xF528, cc_crc:0x4B8B +Testing oribw_d16...done. pre_crc:0x0D25, mem_crc:0x6B7F, reg_crc:0x5268, cc_crc:0x0621 +Testing oril_d16...done. pre_crc:0x97EB, mem_crc:0x4F02, reg_crc:0x44FF, cc_crc:0xDB93 +Testing oribw_absl...done. pre_crc:0x1C83, mem_crc:0x45D0, reg_crc:0xCB37, cc_crc:0xE92C +Testing oril_absl...done. pre_crc:0xB326, mem_crc:0x6BD0, reg_crc:0xCD08, cc_crc:0x6BAE +Testing ori_to_ccr...done. pre_crc:0x28FA, mem_crc:0x0000, reg_crc:0x741D, cc_crc:0xBA8A +Testing pack_reg...done. pre_crc:0x2D69, mem_crc:0x0000, reg_crc:0xF4FD, cc_crc:0x78A5 +Testing pack_mem...done. pre_crc:0x2EC3, mem_crc:0x8ED4, reg_crc:0xECDC, cc_crc:0xF30F +Testing pea_ind...done. pre_crc:0x751A, mem_crc:0x1233, reg_crc:0x9773, cc_crc:0x59BD +Testing pea_d16...done. pre_crc:0x6116, mem_crc:0x92E9, reg_crc:0x3B0D, cc_crc:0x7EED +Testing pea_absw...done. pre_crc:0x4635, mem_crc:0xADD3, reg_crc:0xC688, cc_crc:0xF92E +Testing pea_absl...done. pre_crc:0x439D, mem_crc:0xA134, reg_crc:0x828B, cc_crc:0x085B +Testing rol_dx_dy...done. pre_crc:0x8E42, mem_crc:0x0000, reg_crc:0x0330, cc_crc:0xA246 +Testing rol_const_dy...done. pre_crc:0xCEE0, mem_crc:0x0000, reg_crc:0x0912, cc_crc:0xB744 +Testing rol_ind...done. pre_crc:0x4F69, mem_crc:0x5A3F, reg_crc:0x3C11, cc_crc:0x6E01 +Testing rol_d16...done. pre_crc:0xFE3E, mem_crc:0x6D73, reg_crc:0x4B11, cc_crc:0x3EE5 +Testing rol_absl...done. pre_crc:0xE6AB, mem_crc:0x3AE1, reg_crc:0xB266, cc_crc:0xE907 +Testing ror_dx_dy...done. pre_crc:0xDBCA, mem_crc:0x0000, reg_crc:0x3CE1, cc_crc:0xC3C9 +Testing ror_const_dy...done. pre_crc:0xAC8B, mem_crc:0x0000, reg_crc:0x608E, cc_crc:0x8DB7 +Testing ror_ind...done. pre_crc:0xDF2D, mem_crc:0xD3A8, reg_crc:0xDE17, cc_crc:0x51CD +Testing ror_d16...done. pre_crc:0x356F, mem_crc:0x0DF4, reg_crc:0x8F5B, cc_crc:0x9EFB +Testing ror_absl...done. pre_crc:0xFE5E, mem_crc:0xE9AE, reg_crc:0x561D, cc_crc:0x0678 +Testing roxl_dx_dy...done. pre_crc:0x4D96, mem_crc:0x0000, reg_crc:0x23D3, cc_crc:0x00DE +Testing roxl_const_dy...done. pre_crc:0x35DA, mem_crc:0x0000, reg_crc:0xFFA9, cc_crc:0xB9B0 +Testing roxl_ind...done. pre_crc:0x230B, mem_crc:0x1DF9, reg_crc:0x71BB, cc_crc:0x2F67 +Testing roxl_d16...done. pre_crc:0x5F1E, mem_crc:0x7B41, reg_crc:0xE970, cc_crc:0xB6DC +Testing roxl_absl...done. pre_crc:0x43B6, mem_crc:0xB127, reg_crc:0x87D1, cc_crc:0xD12B +Testing roxr_dx_dy...done. pre_crc:0x3542, mem_crc:0x0000, reg_crc:0x3B37, cc_crc:0x4D3F +Testing roxr_const_dy...done. pre_crc:0xDAC5, mem_crc:0x0000, reg_crc:0xCB62, cc_crc:0x54BF +Testing roxr_ind...done. pre_crc:0xC812, mem_crc:0x9AFF, reg_crc:0xA665, cc_crc:0x1CF1 +Testing roxr_d16...done. pre_crc:0x5669, mem_crc:0x530A, reg_crc:0xEE41, cc_crc:0x525B +Testing roxr_absl...done. pre_crc:0xE58A, mem_crc:0xD9EA, reg_crc:0x23E5, cc_crc:0x6D8A +Testing rtd...done. pre_crc:0xAC92, mem_crc:0x0000, reg_crc:0x9547, cc_crc:0xCBEC +Testing rtr...done. pre_crc:0x408F, mem_crc:0x0000, reg_crc:0xF24A, cc_crc:0x6213 +Testing rts...done. pre_crc:0x7BCF, mem_crc:0x0000, reg_crc:0x88EE, cc_crc:0xBD28 +Testing sbcd_reg...done. pre_crc:0xF424, mem_crc:0x0000, reg_crc:0xCAD2, cc_crc:0x772E +Testing sbcd_mem...done. pre_crc:0xACBB, mem_crc:0x3A78, reg_crc:0x32C4, cc_crc:0x9503 +Testing Scc_reg...done. pre_crc:0xA9C9, mem_crc:0x0000, reg_crc:0x4B65, cc_crc:0x957E +Testing Scc_ind...done. pre_crc:0xF122, mem_crc:0x7FF2, reg_crc:0x9687, cc_crc:0xD38C +Testing Scc_d16...done. pre_crc:0x2073, mem_crc:0xD5F7, reg_crc:0xF82A, cc_crc:0x20A7 +Testing Scc_absl...done. pre_crc:0x076C, mem_crc:0x940E, reg_crc:0xDE72, cc_crc:0xEFE3 +Testing subb_dreg_dreg...done. pre_crc:0x0117, mem_crc:0x0000, reg_crc:0xDE4B, cc_crc:0xA283 +Testing subw_reg_dreg...done. pre_crc:0xBE09, mem_crc:0x0000, reg_crc:0x7178, cc_crc:0x855D +Testing subl_reg_dreg...done. pre_crc:0x4BBD, mem_crc:0x0000, reg_crc:0xAAF9, cc_crc:0xCB15 +Testing sub_ind_dreg...done. pre_crc:0x768E, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x610E +Testing sub_d16_dreg...done. pre_crc:0x1075, mem_crc:0x0000, reg_crc:0x67C8, cc_crc:0xA180 +Testing sub_absl_dreg...done. pre_crc:0xAA96, mem_crc:0x0000, reg_crc:0x9FCC, cc_crc:0xCE51 +Testing subb_const_dreg...done. pre_crc:0xB98E, mem_crc:0x0000, reg_crc:0xB33E, cc_crc:0xBA13 +Testing subw_const_dreg...done. pre_crc:0x1717, mem_crc:0x0000, reg_crc:0xA5E8, cc_crc:0x0095 +Testing subl_const_dreg...done. pre_crc:0x5176, mem_crc:0x0000, reg_crc:0x1CB6, cc_crc:0xE52F +Testing sub_dreg_ind...done. pre_crc:0xFE3D, mem_crc:0x10F1, reg_crc:0xB3F4, cc_crc:0x3AB7 +Testing sub_dreg_d16...done. pre_crc:0xEDEB, mem_crc:0x84A9, reg_crc:0x1B69, cc_crc:0x280A +Testing sub_dreg_absl...done. pre_crc:0xCF8E, mem_crc:0xDB00, reg_crc:0x8D71, cc_crc:0xDF15 +Testing subaw_reg_areg...done. pre_crc:0x6F50, mem_crc:0x0000, reg_crc:0xBE47, cc_crc:0xE1AA +Testing subal_reg_areg...done. pre_crc:0x0BE8, mem_crc:0x0000, reg_crc:0x13C4, cc_crc:0x2105 +Testing suba_ind_areg...done. pre_crc:0xBA91, mem_crc:0x0000, reg_crc:0x346D, cc_crc:0xD2DB +Testing suba_d16_areg...done. pre_crc:0x2FD0, mem_crc:0x0000, reg_crc:0x66E8, cc_crc:0xE474 +Testing suba_absl_areg...done. pre_crc:0x8C5F, mem_crc:0x0000, reg_crc:0xBBDD, cc_crc:0xC5B7 +Testing subaw_const_areg...done. pre_crc:0x779E, mem_crc:0x0000, reg_crc:0xA06A, cc_crc:0xFE89 +Testing subal_const_areg...done. pre_crc:0x2925, mem_crc:0x0000, reg_crc:0x2573, cc_crc:0x32D6 +Testing subibw_dreg...done. pre_crc:0x5DB8, mem_crc:0x0000, reg_crc:0xFC0F, cc_crc:0x852F +Testing subil_dreg...done. pre_crc:0xA2D9, mem_crc:0x0000, reg_crc:0x34A8, cc_crc:0x3F00 +Testing subibw_ind...done. pre_crc:0xA846, mem_crc:0xAE0E, reg_crc:0x0FF6, cc_crc:0x31C8 +Testing subil_ind...done. pre_crc:0xC1C3, mem_crc:0x0335, reg_crc:0xDB7E, cc_crc:0x2DAA +Testing subibw_d16...done. pre_crc:0x50CA, mem_crc:0x3EB0, reg_crc:0x869E, cc_crc:0x315D +Testing subil_d16...done. pre_crc:0x81F8, mem_crc:0x0000, reg_crc:0xF0B7, cc_crc:0xE629 +Testing subibw_absl...done. pre_crc:0xA47D, mem_crc:0x75BC, reg_crc:0x4D4B, cc_crc:0x0DCD +Testing subil_absl...done. pre_crc:0x4939, mem_crc:0xA65A, reg_crc:0x5939, cc_crc:0x26B0 +Testing subq_dreg...done. pre_crc:0x49B5, mem_crc:0x0000, reg_crc:0xEA15, cc_crc:0xA497 +Testing subq_areg...done. pre_crc:0xF090, mem_crc:0x0000, reg_crc:0x2727, cc_crc:0xB295 +Testing subq_ind...done. pre_crc:0x14DA, mem_crc:0xA33C, reg_crc:0x1049, cc_crc:0x03DD +Testing subq_d16...done. pre_crc:0xC184, mem_crc:0xCC3C, reg_crc:0x961D, cc_crc:0xD6FB +Testing subq_absl...done. pre_crc:0x9783, mem_crc:0xC74F, reg_crc:0xE38C, cc_crc:0xF7E9 +Testing subx_reg...done. pre_crc:0x5697, mem_crc:0x0000, reg_crc:0xA420, cc_crc:0xED1E +Testing subx_mem...done. pre_crc:0x3BA6, mem_crc:0x5A74, reg_crc:0xCB4F, cc_crc:0x4159 +Testing swap...done. pre_crc:0xB30A, mem_crc:0x0000, reg_crc:0xCB76, cc_crc:0x5353 +Testing tas_dreg...done. pre_crc:0x4B03, mem_crc:0x0000, reg_crc:0x32CB, cc_crc:0x2916 +Testing tas_ind...done. pre_crc:0x8764, mem_crc:0xB6EA, reg_crc:0x2585, cc_crc:0x91CE +Testing tas_d16...done. pre_crc:0xE8DB, mem_crc:0x77FA, reg_crc:0x1952, cc_crc:0x159E +Testing tas_absl...done. pre_crc:0x2CE6, mem_crc:0x373E, reg_crc:0x1337, cc_crc:0xB133 +Testing tstb_dreg...done. pre_crc:0xECE9, mem_crc:0x0000, reg_crc:0xD1A9, cc_crc:0x2C6B +Testing tstwl_reg...done. pre_crc:0xC7D9, mem_crc:0x0000, reg_crc:0x2AC7, cc_crc:0x1DB1 +Testing tstb_ind...done. pre_crc:0x960A, mem_crc:0x0000, reg_crc:0xB67A, cc_crc:0x6096 +Testing tstwl_ind...done. pre_crc:0x26BD, mem_crc:0x0000, reg_crc:0xF47A, cc_crc:0x13CE +Testing tstb_d16...done. pre_crc:0xB78F, mem_crc:0x0000, reg_crc:0x1FAD, cc_crc:0x4B56 +Testing tstwl_d16...done. pre_crc:0x3134, mem_crc:0x0000, reg_crc:0xB9F4, cc_crc:0xC390 +Testing tst_absl...done. pre_crc:0x6F2F, mem_crc:0x0000, reg_crc:0xE1CF, cc_crc:0xFD08 diff --git a/test/glibc.32 b/test/glibc.32 new file mode 100644 index 0000000..e58f656 --- /dev/null +++ b/test/glibc.32 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x93F1, mem_crc:0x0000, reg_crc:0x9D01, cc_crc:0x76D3 +Testing movewl_pcd8_dreg...done. pre_crc:0x1266, mem_crc:0x0000, reg_crc:0x6AF9, cc_crc:0x490E +Testing unpk_reg...done. pre_crc:0x2F52, mem_crc:0x0000, reg_crc:0x3939, cc_crc:0xD573 +Testing unpk_mem...done. pre_crc:0xA6D7, mem_crc:0xFF48, reg_crc:0x401C, cc_crc:0x1991 +Testing unlk...done. pre_crc:0x301A, mem_crc:0x0000, reg_crc:0x2EC0, cc_crc:0x6FC5 +Testing movewl_ind_ind...done. pre_crc:0x5A1E, mem_crc:0xFEAD, reg_crc:0x8705, cc_crc:0x863D +Testing divsl_ll_reg...done. pre_crc:0xAFBE, mem_crc:0x0000, reg_crc:0xCC93, cc_crc:0xC59C +Testing divsl_ll_ind...done. pre_crc:0x115B, mem_crc:0x0000, reg_crc:0x91C1, cc_crc:0x3108 +Testing divsl_ll_absl...done. pre_crc:0x8E06, mem_crc:0x0000, reg_crc:0xA8D0, cc_crc:0x9AF9 +Testing lea_pc_ind_preix...done. pre_crc:0x1209, mem_crc:0x0000, reg_crc:0x121E, cc_crc:0x0A06 +Testing lea_pc_ind_postix...done. pre_crc:0x0F3B, mem_crc:0x0000, reg_crc:0xB1E7, cc_crc:0x6162 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xB0DE, mem_crc:0x0000, reg_crc:0x3F81, cc_crc:0x9350 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x83E0, mem_crc:0x0000, reg_crc:0x6E83, cc_crc:0x714E +Testing moveb_pcd16_dreg...done. pre_crc:0x8421, mem_crc:0x0000, reg_crc:0xBFD3, cc_crc:0x909F +Testing movewl_pcd16_dreg...done. pre_crc:0x6F69, mem_crc:0x0000, reg_crc:0xE615, cc_crc:0x6995 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5C1F, mem_crc:0x0000, reg_crc:0x1604, cc_crc:0x7A4C +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x7A31, mem_crc:0x0000, reg_crc:0x608E, cc_crc:0x0A50 +Testing lea_ind_preix...done. pre_crc:0x4FD6, mem_crc:0x0000, reg_crc:0x845A, cc_crc:0x6B61 +Testing lea_ind_postix...done. pre_crc:0x3A64, mem_crc:0x0000, reg_crc:0x3DBA, cc_crc:0xCB2F +Testing add_absl_dreg...done. pre_crc:0x1792, mem_crc:0x0000, reg_crc:0x518A, cc_crc:0xBD90 +Testing abcd_reg...done. pre_crc:0xA868, mem_crc:0x0000, reg_crc:0xE09B, cc_crc:0x6F9C +Testing abcd_mem...done. pre_crc:0xE20A, mem_crc:0xC0E2, reg_crc:0x8CBF, cc_crc:0x14B1 +Testing addb_dreg_dreg...done. pre_crc:0xAC43, mem_crc:0x0000, reg_crc:0xF710, cc_crc:0xBDED +Testing addw_reg_dreg...done. pre_crc:0xD8FB, mem_crc:0x0000, reg_crc:0x9E26, cc_crc:0xF92E +Testing addl_reg_dreg...done. pre_crc:0x7F45, mem_crc:0x0000, reg_crc:0x120A, cc_crc:0x4150 +Testing add_d16_dreg...done. pre_crc:0x52B6, mem_crc:0x0000, reg_crc:0x23CB, cc_crc:0xAE52 +Testing addb_const_dreg...done. pre_crc:0x8B6C, mem_crc:0x0000, reg_crc:0x785F, cc_crc:0xF969 +Testing addw_const_dreg...done. pre_crc:0x71DD, mem_crc:0x0000, reg_crc:0x6291, cc_crc:0x007D +Testing add_dreg_ind...done. pre_crc:0xC149, mem_crc:0xB230, reg_crc:0x3596, cc_crc:0x5ED6 +Testing add_ind_dreg...done. pre_crc:0x72A4, mem_crc:0x0000, reg_crc:0xBE69, cc_crc:0xF659 +Testing addl_const_dreg...done. pre_crc:0xC2A6, mem_crc:0x0000, reg_crc:0xEE42, cc_crc:0x2EDE +Testing add_dreg_d16...done. pre_crc:0xF4DB, mem_crc:0x5606, reg_crc:0x8ADA, cc_crc:0xD739 +Testing add_dreg_absl...done. pre_crc:0x2FA5, mem_crc:0xA96C, reg_crc:0x4B47, cc_crc:0xC28C +Testing addaw_reg_areg...done. pre_crc:0x8ABA, mem_crc:0x0000, reg_crc:0xF977, cc_crc:0x1AB3 +Testing addal_reg_areg...done. pre_crc:0x499E, mem_crc:0x0000, reg_crc:0xCF53, cc_crc:0x1964 +Testing adda_ind_areg...done. pre_crc:0x32CF, mem_crc:0x0000, reg_crc:0xDF3D, cc_crc:0x2C4C +Testing adda_d16_areg...done. pre_crc:0xB95D, mem_crc:0x0000, reg_crc:0x2877, cc_crc:0xB19C +Testing adda_absl_areg...done. pre_crc:0x64F3, mem_crc:0x0000, reg_crc:0xD5C4, cc_crc:0x7865 +Testing addaw_const_areg...done. pre_crc:0x2CB3, mem_crc:0x0000, reg_crc:0xF08E, cc_crc:0xB8E1 +Testing addal_const_areg...done. pre_crc:0x5EEC, mem_crc:0x0000, reg_crc:0xF565, cc_crc:0xB5E0 +Testing addibw_dreg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0xD0F1, cc_crc:0x4778 +Testing addil_dreg...done. pre_crc:0xF58B, mem_crc:0x0000, reg_crc:0xD178, cc_crc:0x6D19 +Testing addibw_ind...done. pre_crc:0xBEB0, mem_crc:0x9432, reg_crc:0xA18C, cc_crc:0x2144 +Testing addil_ind...done. pre_crc:0xB3A0, mem_crc:0xBA26, reg_crc:0xA43D, cc_crc:0xF57B +Testing addibw_d16...done. pre_crc:0xDFE2, mem_crc:0x8C62, reg_crc:0x5D89, cc_crc:0x5071 +Testing addil_d16...done. pre_crc:0x3B8F, mem_crc:0x558B, reg_crc:0xBA83, cc_crc:0xA12F +Testing addibw_absl...done. pre_crc:0x927E, mem_crc:0xF4EA, reg_crc:0x5587, cc_crc:0x3BC1 +Testing addil_absl...done. pre_crc:0x3A39, mem_crc:0x74F6, reg_crc:0x24D2, cc_crc:0xCCE7 +Testing addq_dreg...done. pre_crc:0xA528, mem_crc:0x0000, reg_crc:0x4F0E, cc_crc:0xBD4B +Testing addq_areg...done. pre_crc:0xBAB0, mem_crc:0x0000, reg_crc:0xFBD5, cc_crc:0x8902 +Testing addq_ind...done. pre_crc:0x218C, mem_crc:0x880C, reg_crc:0xBB00, cc_crc:0x660F +Testing addq_d16...done. pre_crc:0x3DF7, mem_crc:0xE673, reg_crc:0x0883, cc_crc:0x6D3E +Testing addq_absl...done. pre_crc:0x0DED, mem_crc:0xCC0A, reg_crc:0x5B02, cc_crc:0xB26A +Testing addx_reg...done. pre_crc:0xEB1F, mem_crc:0x0000, reg_crc:0xBAD5, cc_crc:0x363C +Testing addx_mem...done. pre_crc:0x67D3, mem_crc:0x614F, reg_crc:0xDC73, cc_crc:0xE679 +Testing and_dreg_dreg...done. pre_crc:0x8570, mem_crc:0x0000, reg_crc:0xD30E, cc_crc:0x6614 +Testing and_ind_dreg...done. pre_crc:0x9FE3, mem_crc:0x0000, reg_crc:0x01C2, cc_crc:0xDDB8 +Testing and_d16_dreg...done. pre_crc:0x7C1E, mem_crc:0x0000, reg_crc:0x2F2A, cc_crc:0xD67F +Testing and_absl_dreg...done. pre_crc:0x2843, mem_crc:0x0000, reg_crc:0xE532, cc_crc:0x74DD +Testing andbw_const_dreg...done. pre_crc:0xFE76, mem_crc:0x0000, reg_crc:0x5F48, cc_crc:0x4212 +Testing andl_const_dreg...done. pre_crc:0x1FFF, mem_crc:0x0000, reg_crc:0x3072, cc_crc:0x9C55 +Testing and_dreg_ind...done. pre_crc:0x99CC, mem_crc:0xB884, reg_crc:0xEBAF, cc_crc:0x4DED +Testing and_dreg_d16...done. pre_crc:0x38F7, mem_crc:0x7CBC, reg_crc:0x9650, cc_crc:0xF353 +Testing and_dreg_absl...done. pre_crc:0x2623, mem_crc:0xF930, reg_crc:0xBD5F, cc_crc:0x301E +Testing andibw_dreg...done. pre_crc:0x4BB1, mem_crc:0x0000, reg_crc:0x09BE, cc_crc:0x230D +Testing andil_dreg...done. pre_crc:0xAB40, mem_crc:0x0000, reg_crc:0xC974, cc_crc:0xC5D7 +Testing andibw_ind...done. pre_crc:0x1C5C, mem_crc:0x14A0, reg_crc:0xA710, cc_crc:0xA59F +Testing andil_ind...done. pre_crc:0xCADC, mem_crc:0x0DF8, reg_crc:0x0285, cc_crc:0x757F +Testing andibw_d16...done. pre_crc:0x0A4E, mem_crc:0xE925, reg_crc:0x2712, cc_crc:0x3886 +Testing andil_d16...done. pre_crc:0x56B0, mem_crc:0xD6DC, reg_crc:0xD1CC, cc_crc:0x8A3D +Testing andibw_absl...done. pre_crc:0x124F, mem_crc:0x352B, reg_crc:0xFAC3, cc_crc:0xC627 +Testing andil_absl...done. pre_crc:0x042C, mem_crc:0x2CB9, reg_crc:0xEA38, cc_crc:0x43E6 +Testing andi_to_ccr...done. pre_crc:0x7A7C, mem_crc:0x0000, reg_crc:0xDD7B, cc_crc:0x8337 +Testing asl_dx_dy...done. pre_crc:0x4115, mem_crc:0x0000, reg_crc:0x6078, cc_crc:0x618A +Testing asl_const_dy...done. pre_crc:0x4243, mem_crc:0x0000, reg_crc:0xA138, cc_crc:0x48B8 +Testing asl_ind...done. pre_crc:0x182E, mem_crc:0x1BD2, reg_crc:0x050A, cc_crc:0xD83A +Testing asl_d16...done. pre_crc:0xFC60, mem_crc:0x2986, reg_crc:0xA982, cc_crc:0x2C02 +Testing asl_absl...done. pre_crc:0x96F6, mem_crc:0x4718, reg_crc:0x6D45, cc_crc:0x7F98 +Testing asr_dx_dy...done. pre_crc:0x6772, mem_crc:0x0000, reg_crc:0x68B9, cc_crc:0x226A +Testing asr_const_dy...done. pre_crc:0xE751, mem_crc:0x0000, reg_crc:0x59B1, cc_crc:0xC07E +Testing asr_ind...done. pre_crc:0x27AA, mem_crc:0x5F30, reg_crc:0xDF04, cc_crc:0x9382 +Testing asr_d16...done. pre_crc:0x81C2, mem_crc:0xF4DC, reg_crc:0xA8CB, cc_crc:0x71F0 +Testing asr_absl...done. pre_crc:0xB7F7, mem_crc:0xA522, reg_crc:0xE29F, cc_crc:0x76E9 +Testing lsl_dx_dy...done. pre_crc:0x4A40, mem_crc:0x0000, reg_crc:0x04BF, cc_crc:0xDB5A +Testing lsl_const_dy...done. pre_crc:0x85BA, mem_crc:0x0000, reg_crc:0x727B, cc_crc:0x2D3F +Testing lsl_ind...done. pre_crc:0xEA62, mem_crc:0xE30D, reg_crc:0xEFF4, cc_crc:0x9E23 +Testing lsl_d16...done. pre_crc:0x7C22, mem_crc:0x5B9B, reg_crc:0x367B, cc_crc:0x7020 +Testing lsl_absl...done. pre_crc:0xF15A, mem_crc:0x97FB, reg_crc:0x95F0, cc_crc:0x2414 +Testing lsr_dx_dy...done. pre_crc:0x3F8D, mem_crc:0x0000, reg_crc:0xA9C0, cc_crc:0xE82B +Testing lsr_const_dy...done. pre_crc:0xE4FE, mem_crc:0x0000, reg_crc:0x4CBF, cc_crc:0x9823 +Testing lsr_ind...done. pre_crc:0xFE0E, mem_crc:0x0E8C, reg_crc:0x0978, cc_crc:0x1DD4 +Testing lsr_d16...done. pre_crc:0x9301, mem_crc:0xE30D, reg_crc:0x8A10, cc_crc:0x8DE4 +Testing lsr_absl...done. pre_crc:0xCD6B, mem_crc:0x50B4, reg_crc:0x4F98, cc_crc:0x4926 +Testing bra_b...done. pre_crc:0x2627, mem_crc:0x0000, reg_crc:0x349B, cc_crc:0x1D74 +Testing bhi_b...done. pre_crc:0x21A6, mem_crc:0x0000, reg_crc:0x788B, cc_crc:0xAEC7 +Testing bls_b...done. pre_crc:0x5199, mem_crc:0x0000, reg_crc:0x506F, cc_crc:0xB076 +Testing bcc_b...done. pre_crc:0x96CE, mem_crc:0x0000, reg_crc:0x9DF1, cc_crc:0xC440 +Testing bcs_b...done. pre_crc:0x48FE, mem_crc:0x0000, reg_crc:0x798C, cc_crc:0x6120 +Testing bne_b...done. pre_crc:0x1FC5, mem_crc:0x0000, reg_crc:0x8032, cc_crc:0x2A5E +Testing beq_b...done. pre_crc:0xBB67, mem_crc:0x0000, reg_crc:0xE766, cc_crc:0xCB46 +Testing bvc_b...done. pre_crc:0x9985, mem_crc:0x0000, reg_crc:0x404C, cc_crc:0xFE2C +Testing bvs_b...done. pre_crc:0x72D3, mem_crc:0x0000, reg_crc:0xDB72, cc_crc:0xD591 +Testing bpl_b...done. pre_crc:0x0E46, mem_crc:0x0000, reg_crc:0x25A2, cc_crc:0x8CC2 +Testing bmi_b...done. pre_crc:0x7437, mem_crc:0x0000, reg_crc:0xBF32, cc_crc:0x851C +Testing bge_b...done. pre_crc:0x906E, mem_crc:0x0000, reg_crc:0xADD5, cc_crc:0xDD27 +Testing blt_b...done. pre_crc:0xE0AD, mem_crc:0x0000, reg_crc:0xA3E8, cc_crc:0x1190 +Testing bgt_b...done. pre_crc:0x3473, mem_crc:0x0000, reg_crc:0xAD2A, cc_crc:0x439D +Testing ble_b...done. pre_crc:0xCEEA, mem_crc:0x0000, reg_crc:0x2E4E, cc_crc:0xB1A5 +Testing bra_w...done. pre_crc:0xCA62, mem_crc:0x0000, reg_crc:0x2D36, cc_crc:0xAF05 +Testing bhi_w...done. pre_crc:0x4D6A, mem_crc:0x0000, reg_crc:0x9C88, cc_crc:0x2763 +Testing bls_w...done. pre_crc:0x50B3, mem_crc:0x0000, reg_crc:0x4D5C, cc_crc:0x0219 +Testing bcc_w...done. pre_crc:0x688B, mem_crc:0x0000, reg_crc:0xCFAA, cc_crc:0x64B5 +Testing bcs_w...done. pre_crc:0xD3C0, mem_crc:0x0000, reg_crc:0x6E7F, cc_crc:0x6F95 +Testing bne_w...done. pre_crc:0xC11C, mem_crc:0x0000, reg_crc:0x8916, cc_crc:0x1BC6 +Testing beq_w...done. pre_crc:0xE680, mem_crc:0x0000, reg_crc:0xBB56, cc_crc:0x9B1A +Testing bvc_w...done. pre_crc:0x9BF8, mem_crc:0x0000, reg_crc:0x5F6F, cc_crc:0x4FF1 +Testing bvs_w...done. pre_crc:0x87F2, mem_crc:0x0000, reg_crc:0x90F6, cc_crc:0xCB51 +Testing bpl_w...done. pre_crc:0x4BE2, mem_crc:0x0000, reg_crc:0xD346, cc_crc:0x238A +Testing bmi_w...done. pre_crc:0xB30E, mem_crc:0x0000, reg_crc:0x5390, cc_crc:0x62B3 +Testing bge_w...done. pre_crc:0xEEF2, mem_crc:0x0000, reg_crc:0x88ED, cc_crc:0xADB9 +Testing blt_w...done. pre_crc:0x1177, mem_crc:0x0000, reg_crc:0x6AFF, cc_crc:0x9365 +Testing bgt_w...done. pre_crc:0x8979, mem_crc:0x0000, reg_crc:0xF8BC, cc_crc:0xB1AA +Testing ble_w...done. pre_crc:0xE44B, mem_crc:0x0000, reg_crc:0xAB23, cc_crc:0xC03C +Testing bra_l...done. pre_crc:0x7C9F, mem_crc:0x0000, reg_crc:0x22DB, cc_crc:0x0A7B +Testing bhi_l...done. pre_crc:0x5BB7, mem_crc:0x0000, reg_crc:0xF60A, cc_crc:0xADFB +Testing bls_l...done. pre_crc:0x3258, mem_crc:0x0000, reg_crc:0xE057, cc_crc:0xDD12 +Testing bcc_l...done. pre_crc:0xB23E, mem_crc:0x0000, reg_crc:0x8D50, cc_crc:0x9EC7 +Testing bcs_l...done. pre_crc:0xDCAB, mem_crc:0x0000, reg_crc:0x4FD9, cc_crc:0x1F5E +Testing bne_l...done. pre_crc:0xF210, mem_crc:0x0000, reg_crc:0x667E, cc_crc:0x5F4E +Testing beq_l...done. pre_crc:0x37B1, mem_crc:0x0000, reg_crc:0x8B9F, cc_crc:0x8888 +Testing bvc_l...done. pre_crc:0x892C, mem_crc:0x0000, reg_crc:0x9CB7, cc_crc:0x2153 +Testing bvs_l...done. pre_crc:0xE2DC, mem_crc:0x0000, reg_crc:0x1CEF, cc_crc:0x7700 +Testing bpl_l...done. pre_crc:0xE6D0, mem_crc:0x0000, reg_crc:0xFF00, cc_crc:0xF119 +Testing bmi_l...done. pre_crc:0x3E30, mem_crc:0x0000, reg_crc:0x2D3F, cc_crc:0x77CF +Testing bge_l...done. pre_crc:0x1952, mem_crc:0x0000, reg_crc:0x26CD, cc_crc:0x5D2C +Testing blt_l...done. pre_crc:0x35F6, mem_crc:0x0000, reg_crc:0xAB04, cc_crc:0x2E0A +Testing bgt_l...done. pre_crc:0xB833, mem_crc:0x0000, reg_crc:0x3D7F, cc_crc:0x9AB1 +Testing ble_l...done. pre_crc:0xBD0B, mem_crc:0x0000, reg_crc:0xE5F7, cc_crc:0x3F6A +Testing bchg_reg_reg...done. pre_crc:0x7506, mem_crc:0x0000, reg_crc:0xDF1F, cc_crc:0x6F60 +Testing bchg_const_reg...done. pre_crc:0x56D9, mem_crc:0x0000, reg_crc:0xF4FB, cc_crc:0xB1BB +Testing bchg_reg_ind...done. pre_crc:0xFD1E, mem_crc:0x16F4, reg_crc:0x4781, cc_crc:0x7C94 +Testing bchg_const_ind...done. pre_crc:0x4BF9, mem_crc:0x056A, reg_crc:0x5D6D, cc_crc:0xA5FA +Testing bchg_reg_d16...done. pre_crc:0x2150, mem_crc:0x5EE3, reg_crc:0x3CE1, cc_crc:0xA179 +Testing bchg_const_d16...done. pre_crc:0xB702, mem_crc:0xE1B8, reg_crc:0x60BE, cc_crc:0xB094 +Testing bchg_reg_absl...done. pre_crc:0x0D5C, mem_crc:0x3C90, reg_crc:0xE1E7, cc_crc:0x5F14 +Testing bchg_const_absl...done. pre_crc:0xA12D, mem_crc:0x92D3, reg_crc:0x905F, cc_crc:0x478B +Testing bclr_reg_reg...done. pre_crc:0x610B, mem_crc:0x0000, reg_crc:0xFE5D, cc_crc:0xEB28 +Testing bclr_const_reg...done. pre_crc:0x8407, mem_crc:0x0000, reg_crc:0x87AC, cc_crc:0x8C92 +Testing bclr_reg_ind...done. pre_crc:0x81E6, mem_crc:0x297A, reg_crc:0xC4EC, cc_crc:0x92E3 +Testing bclr_const_ind...done. pre_crc:0xE3D0, mem_crc:0x538D, reg_crc:0x0402, cc_crc:0xB76A +Testing bclr_reg_d16...done. pre_crc:0xB3A5, mem_crc:0x84A3, reg_crc:0x2937, cc_crc:0xF024 +Testing bclr_const_d16...done. pre_crc:0x6378, mem_crc:0x497A, reg_crc:0xEE0F, cc_crc:0x1AC2 +Testing bclr_reg_absl...done. pre_crc:0x13E4, mem_crc:0x18A5, reg_crc:0x2D90, cc_crc:0x5E91 +Testing bclr_const_absl...done. pre_crc:0x4053, mem_crc:0x6E37, reg_crc:0x5157, cc_crc:0xDA3B +Testing bset_reg_reg...done. pre_crc:0x78CE, mem_crc:0x0000, reg_crc:0xCE4F, cc_crc:0x6578 +Testing bset_const_reg...done. pre_crc:0xFADB, mem_crc:0x0000, reg_crc:0x28CF, cc_crc:0xE43A +Testing bset_reg_ind...done. pre_crc:0xA07B, mem_crc:0x4B5C, reg_crc:0xCD67, cc_crc:0xEE41 +Testing bset_const_ind...done. pre_crc:0x4A31, mem_crc:0x2976, reg_crc:0x84AC, cc_crc:0xA0E1 +Testing bset_reg_d16...done. pre_crc:0xD297, mem_crc:0xC5A5, reg_crc:0x97C1, cc_crc:0x6D8F +Testing bset_const_d16...done. pre_crc:0x3CEA, mem_crc:0x37F1, reg_crc:0x4BBE, cc_crc:0x1934 +Testing bset_reg_absl...done. pre_crc:0x24B9, mem_crc:0xC090, reg_crc:0x8717, cc_crc:0x5653 +Testing bset_const_absl...done. pre_crc:0x85FB, mem_crc:0xB7C5, reg_crc:0x9E3D, cc_crc:0xC7F1 +Testing btst_reg_reg...done. pre_crc:0x0703, mem_crc:0x0000, reg_crc:0xCDD9, cc_crc:0x44FA +Testing btst_const_reg...done. pre_crc:0xFB79, mem_crc:0x0000, reg_crc:0x3F66, cc_crc:0x7A89 +Testing btst_reg_ind...done. pre_crc:0xDD7D, mem_crc:0x0000, reg_crc:0xC18C, cc_crc:0xACA6 +Testing btst_const_ind...done. pre_crc:0x700D, mem_crc:0x0000, reg_crc:0xF0FF, cc_crc:0x1332 +Testing btst_reg_d16...done. pre_crc:0x459C, mem_crc:0x0000, reg_crc:0xF461, cc_crc:0x7DA6 +Testing btst_const_d16...done. pre_crc:0x51C4, mem_crc:0x0000, reg_crc:0x1D09, cc_crc:0x71EE +Testing btst_reg_absl...done. pre_crc:0xD835, mem_crc:0x0000, reg_crc:0x29B6, cc_crc:0x620D +Testing btst_const_absl...done. pre_crc:0x8FDF, mem_crc:0x0000, reg_crc:0x1020, cc_crc:0x5491 +Testing bfchg_reg...done. pre_crc:0x70EF, mem_crc:0x0000, reg_crc:0x2E0F, cc_crc:0xDBB7 +Testing bfchg_ind...done. pre_crc:0x9CBD, mem_crc:0x7A2F, reg_crc:0x327C, cc_crc:0x05E4 +Testing bfchg_d16...done. pre_crc:0x70A3, mem_crc:0x1417, reg_crc:0xE1CF, cc_crc:0x1CC4 +Testing bfchg_absl...done. pre_crc:0x0CB7, mem_crc:0x08BF, reg_crc:0x3EDA, cc_crc:0x0A65 +Testing bfclr_reg...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x6738, cc_crc:0xEFF7 +Testing bfclr_ind...done. pre_crc:0x480C, mem_crc:0xDAB9, reg_crc:0xB1D1, cc_crc:0x6344 +Testing bfclr_d16...done. pre_crc:0x4C58, mem_crc:0x24BB, reg_crc:0xC099, cc_crc:0x09E4 +Testing bfclr_absl...done. pre_crc:0x55F3, mem_crc:0xCC41, reg_crc:0x1159, cc_crc:0xCF18 +Testing bfset_reg...done. pre_crc:0xB5BD, mem_crc:0x0000, reg_crc:0x78CF, cc_crc:0x3F53 +Testing bfset_ind...done. pre_crc:0xFFF5, mem_crc:0x2AC4, reg_crc:0xF16E, cc_crc:0x182D +Testing bfset_d16...done. pre_crc:0x9215, mem_crc:0xF4FD, reg_crc:0x134C, cc_crc:0x1507 +Testing bfset_absl...done. pre_crc:0x0826, mem_crc:0xFEAE, reg_crc:0x7A91, cc_crc:0xFE7F +Testing bftst_reg...done. pre_crc:0x7CF5, mem_crc:0x0000, reg_crc:0xCAF9, cc_crc:0x9030 +Testing bftst_ind...done. pre_crc:0x9D59, mem_crc:0x0000, reg_crc:0x34C7, cc_crc:0x52C4 +Testing bftst_d16...done. pre_crc:0xAA1E, mem_crc:0x0000, reg_crc:0x9512, cc_crc:0x9837 +Testing bftst_absl...done. pre_crc:0x99BB, mem_crc:0x0000, reg_crc:0x413F, cc_crc:0xBA20 +Testing bfexts_reg...done. pre_crc:0x47B4, mem_crc:0x0000, reg_crc:0x9B40, cc_crc:0x75FD +Testing bfexts_ind...done. pre_crc:0x22D7, mem_crc:0x0000, reg_crc:0x09D2, cc_crc:0x083D +Testing bfexts_d16...done. pre_crc:0x7CBF, mem_crc:0x0000, reg_crc:0xF039, cc_crc:0xB504 +Testing bfexts_absl...done. pre_crc:0xDFF5, mem_crc:0x0000, reg_crc:0x4295, cc_crc:0x3E89 +Testing bfextu_reg...done. pre_crc:0xFB8F, mem_crc:0x0000, reg_crc:0x15A2, cc_crc:0x8171 +Testing bfextu_ind...done. pre_crc:0xA035, mem_crc:0x0000, reg_crc:0x61C4, cc_crc:0xA9E7 +Testing bfextu_d16...done. pre_crc:0xC68C, mem_crc:0x0000, reg_crc:0x1D0C, cc_crc:0x1756 +Testing bfextu_absl...done. pre_crc:0xA8CF, mem_crc:0x0000, reg_crc:0xCD85, cc_crc:0x442D +Testing bfffo_reg...done. pre_crc:0xFA9D, mem_crc:0x0000, reg_crc:0xD2D7, cc_crc:0x7118 +Testing bfffo_ind...done. pre_crc:0x6515, mem_crc:0x0000, reg_crc:0x948A, cc_crc:0x31C4 +Testing bfffo_d16...done. pre_crc:0xDE4D, mem_crc:0x0000, reg_crc:0x3D29, cc_crc:0xA123 +Testing bfffo_absl...done. pre_crc:0xD52C, mem_crc:0x0000, reg_crc:0xFA95, cc_crc:0xD2AA +Testing bfins_reg...done. pre_crc:0xA089, mem_crc:0x0000, reg_crc:0x3977, cc_crc:0xAD13 +Testing bfins_ind...done. pre_crc:0xB8BB, mem_crc:0x056F, reg_crc:0x13B3, cc_crc:0x628C +Testing bfins_d16...done. pre_crc:0xF4C8, mem_crc:0x25D0, reg_crc:0x358E, cc_crc:0xA0CF +Testing bfins_absl...done. pre_crc:0x0D7A, mem_crc:0xD097, reg_crc:0xBA2F, cc_crc:0x039C +Testing bsr_b...done. pre_crc:0x44C8, mem_crc:0xCCD2, reg_crc:0x36B4, cc_crc:0xC6AA +Testing bsr_w...done. pre_crc:0x7DC7, mem_crc:0xA415, reg_crc:0x35F5, cc_crc:0x1C89 +Testing bsr_l...done. pre_crc:0x9302, mem_crc:0x8FE3, reg_crc:0x7F32, cc_crc:0x0AF3 +Testing cas_ind...done. pre_crc:0xEAA1, mem_crc:0x0B6D, reg_crc:0xEE0F, cc_crc:0x9BD0 +Testing cas2_areg...done. pre_crc:0xA6E2, mem_crc:0xEF73, reg_crc:0x17D7, cc_crc:0x0600 +Testing cas2_anyreg...done. pre_crc:0x79D2, mem_crc:0xAA03, reg_crc:0xCB7C, cc_crc:0xD537 +Testing clr_reg...done. pre_crc:0xE225, mem_crc:0x0000, reg_crc:0xC3AA, cc_crc:0xF528 +Testing clrb_ind...done. pre_crc:0xFC22, mem_crc:0x4FE9, reg_crc:0x1576, cc_crc:0x7F85 +Testing clrwl_ind...done. pre_crc:0x11D7, mem_crc:0xA8A2, reg_crc:0x31FE, cc_crc:0x09B4 +Testing clrb_absl...done. pre_crc:0x4DC8, mem_crc:0x6767, reg_crc:0x5429, cc_crc:0x4D95 +Testing clrwl_absl...done. pre_crc:0x345E, mem_crc:0x4AA4, reg_crc:0xBDAC, cc_crc:0x0E23 +Testing cmp_dreg...done. pre_crc:0x9D71, mem_crc:0x0000, reg_crc:0x7ED4, cc_crc:0x8CB5 +Testing cmp_areg...done. pre_crc:0x5BF5, mem_crc:0x0000, reg_crc:0xF283, cc_crc:0x7623 +Testing cmpb_ind...done. pre_crc:0x1298, mem_crc:0x0000, reg_crc:0x9FD4, cc_crc:0xD301 +Testing cmpwl_ind...done. pre_crc:0x7667, mem_crc:0x0000, reg_crc:0xB1DB, cc_crc:0x7B0A +Testing cmpb_d16...done. pre_crc:0x1E03, mem_crc:0x0000, reg_crc:0xEB77, cc_crc:0xC082 +Testing cmpwl_d16...done. pre_crc:0x6A2C, mem_crc:0x0000, reg_crc:0xEABA, cc_crc:0xA45D +Testing cmpa_reg...done. pre_crc:0x66EF, mem_crc:0x0000, reg_crc:0x02D3, cc_crc:0xE760 +Testing cmpa_ind...done. pre_crc:0xDB75, mem_crc:0x0000, reg_crc:0x5941, cc_crc:0xE7A3 +Testing cmpa_ind2...done. pre_crc:0xB720, mem_crc:0x0000, reg_crc:0xC2FB, cc_crc:0xF2CD +Testing cmpa_d16...done. pre_crc:0x4E9D, mem_crc:0x0000, reg_crc:0xFD68, cc_crc:0x96EE +Testing cmpa_d16_2...done. pre_crc:0x93A0, mem_crc:0x0000, reg_crc:0xB250, cc_crc:0xFF69 +Testing cmpa_absl...done. pre_crc:0x64BD, mem_crc:0x0000, reg_crc:0x39CA, cc_crc:0xC2D5 +Testing cmpibw_reg...done. pre_crc:0xC789, mem_crc:0x0000, reg_crc:0x5BBC, cc_crc:0xFDBC +Testing cmpil_reg...done. pre_crc:0x1218, mem_crc:0x0000, reg_crc:0x0198, cc_crc:0xC559 +Testing cmpib_ind...done. pre_crc:0xEF88, mem_crc:0x0000, reg_crc:0x7526, cc_crc:0xEF0D +Testing cmpiw_ind...done. pre_crc:0xED99, mem_crc:0x0000, reg_crc:0x9176, cc_crc:0x89BA +Testing cmpil_ind...done. pre_crc:0xBD9D, mem_crc:0x0000, reg_crc:0x1302, cc_crc:0x6EFD +Testing cmpmb...done. pre_crc:0x56D1, mem_crc:0x0000, reg_crc:0x3A99, cc_crc:0xA5B4 +Testing cmpmwl...done. pre_crc:0x167C, mem_crc:0x0000, reg_crc:0x2B35, cc_crc:0x28CA +Testing cmp2b_ind...done. pre_crc:0x4EC7, mem_crc:0x0000, reg_crc:0xB92A, cc_crc:0xE739 +Testing cmp2wl_ind...done. pre_crc:0xAADF, mem_crc:0x0000, reg_crc:0xE5A7, cc_crc:0x3341 +Testing dbcc...done. pre_crc:0x7C89, mem_crc:0x0000, reg_crc:0x8278, cc_crc:0x598E +Testing divs_reg...done. pre_crc:0xCD8C, mem_crc:0x0000, reg_crc:0x4184, cc_crc:0x0050 +Testing divs_same_reg...done. pre_crc:0xD21D, mem_crc:0x0000, reg_crc:0x09CF, cc_crc:0x0862 +Testing divs_ind...done. pre_crc:0x2682, mem_crc:0x0000, reg_crc:0x54A1, cc_crc:0x43EF +Testing divs_absl...done. pre_crc:0x033B, mem_crc:0x0000, reg_crc:0xE2D2, cc_crc:0x3ABE +Testing divu_reg...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x46E9, cc_crc:0x8824 +Testing divu_same_reg...done. pre_crc:0x9E8B, mem_crc:0x0000, reg_crc:0xD39D, cc_crc:0xF033 +Testing divu_ind...done. pre_crc:0xB234, mem_crc:0x0000, reg_crc:0xD774, cc_crc:0x2EB8 +Testing divu_absl...done. pre_crc:0x3334, mem_crc:0x0000, reg_crc:0xE871, cc_crc:0x05DE +Testing divul_ll_reg...done. pre_crc:0xCFFC, mem_crc:0x0000, reg_crc:0x80D5, cc_crc:0x32DA +Testing divul_ll_ind...done. pre_crc:0x719B, mem_crc:0x0000, reg_crc:0xD5D9, cc_crc:0x990F +Testing divul_ll_absl...done. pre_crc:0x54AC, mem_crc:0x0000, reg_crc:0x79D6, cc_crc:0xD08C +Testing eor_reg...done. pre_crc:0x23A1, mem_crc:0x0000, reg_crc:0x70E9, cc_crc:0x229C +Testing eor_ind...done. pre_crc:0xBBAF, mem_crc:0x4287, reg_crc:0xB1F0, cc_crc:0xFD76 +Testing eor_d16...done. pre_crc:0x2047, mem_crc:0x07DA, reg_crc:0x5DBA, cc_crc:0x9EB6 +Testing eor_absl...done. pre_crc:0xE487, mem_crc:0x6FFA, reg_crc:0xF710, cc_crc:0x806B +Testing eoribw_dreg...done. pre_crc:0x68A7, mem_crc:0x0000, reg_crc:0xDF57, cc_crc:0x2EE8 +Testing eoril_dreg...done. pre_crc:0x4E81, mem_crc:0x0000, reg_crc:0xDB74, cc_crc:0xB717 +Testing eoribw_ind...done. pre_crc:0x9D72, mem_crc:0x5FC5, reg_crc:0xAC2D, cc_crc:0x9B7C +Testing eoril_ind...done. pre_crc:0x7985, mem_crc:0x69D8, reg_crc:0xB32C, cc_crc:0x0374 +Testing eoribw_d16...done. pre_crc:0x1F97, mem_crc:0x3786, reg_crc:0x9DFD, cc_crc:0x1127 +Testing eoril_d16...done. pre_crc:0x7E27, mem_crc:0x12BB, reg_crc:0xAC95, cc_crc:0x5E0D +Testing eoribw_absl...done. pre_crc:0x4568, mem_crc:0xAF1E, reg_crc:0x3C9F, cc_crc:0xB968 +Testing eoril_absl...done. pre_crc:0x6890, mem_crc:0xA2EA, reg_crc:0x4667, cc_crc:0x9B92 +Testing eori_to_ccr...done. pre_crc:0x5D28, mem_crc:0x0000, reg_crc:0xF220, cc_crc:0xD805 +Testing exg...done. pre_crc:0x8B1A, mem_crc:0x0000, reg_crc:0xF88F, cc_crc:0x3740 +Testing ext...done. pre_crc:0xE1FA, mem_crc:0x0000, reg_crc:0x6DBA, cc_crc:0xDDD1 +Testing jmp_absl...done. pre_crc:0x8A3A, mem_crc:0x0000, reg_crc:0xBAE0, cc_crc:0xFBEF +Testing jmp_ind...done. pre_crc:0xE20F, mem_crc:0x0000, reg_crc:0xF0CC, cc_crc:0x9743 +Testing jmp_d16...done. pre_crc:0x9B24, mem_crc:0x0000, reg_crc:0xC231, cc_crc:0xDBB8 +Testing jsr_absl...done. pre_crc:0xD216, mem_crc:0x106D, reg_crc:0x6033, cc_crc:0xE008 +Testing jsr_ind...done. pre_crc:0x8773, mem_crc:0x348C, reg_crc:0xEDEB, cc_crc:0xEA6B +Testing jsr_d16...done. pre_crc:0xAF54, mem_crc:0x5D64, reg_crc:0xF268, cc_crc:0x3A41 +Testing lea_ind...done. pre_crc:0x5CCC, mem_crc:0x0000, reg_crc:0x0F17, cc_crc:0x43B9 +Testing lea_d16...done. pre_crc:0x4AC7, mem_crc:0x0000, reg_crc:0x9C28, cc_crc:0x9798 +Testing lea_absw...done. pre_crc:0x26E5, mem_crc:0x0000, reg_crc:0xE20C, cc_crc:0x2523 +Testing lea_absl...done. pre_crc:0x0F3C, mem_crc:0x0000, reg_crc:0x7643, cc_crc:0x148D +Testing linkw...done. pre_crc:0xA4C5, mem_crc:0x877B, reg_crc:0x0F36, cc_crc:0xA3EE +Testing linkl...done. pre_crc:0x968A, mem_crc:0x1C8C, reg_crc:0x731C, cc_crc:0xAABD +Testing move16_postinc_postinc...done. pre_crc:0xAE97, mem_crc:0xA3ED, reg_crc:0x36C3, cc_crc:0xD983 +Testing move16_absl_ind...done. pre_crc:0xBE08, mem_crc:0x2212, reg_crc:0x0775, cc_crc:0xDAF1 +Testing move16_absl_postinc...done. pre_crc:0x1496, mem_crc:0xE7AA, reg_crc:0xA7CE, cc_crc:0xDD44 +Testing move16_ind_absl...done. pre_crc:0x634B, mem_crc:0x3C44, reg_crc:0x7253, cc_crc:0x5E0E +Testing move16_postinc_absl...done. pre_crc:0xE6E4, mem_crc:0x1CEC, reg_crc:0x6776, cc_crc:0x5EAB +Testing moveb_dreg_dreg...done. pre_crc:0x81A9, mem_crc:0x0000, reg_crc:0xA75B, cc_crc:0xBFD6 +Testing movewl_reg_dreg...done. pre_crc:0x9DD5, mem_crc:0x0000, reg_crc:0x4F1C, cc_crc:0x1C34 +Testing moveb_ind_dreg...done. pre_crc:0x1267, mem_crc:0x0000, reg_crc:0xB1A3, cc_crc:0x2EA9 +Testing movewl_ind_dreg...done. pre_crc:0x60A2, mem_crc:0x0000, reg_crc:0xC30F, cc_crc:0x6834 +Testing moveb_d16_dreg...done. pre_crc:0xA410, mem_crc:0x0000, reg_crc:0x7777, cc_crc:0x88E7 +Testing movewl_d16_dreg...done. pre_crc:0xA348, mem_crc:0x0000, reg_crc:0x1441, cc_crc:0xDBEB +Testing moveb_absl_dreg...done. pre_crc:0x3915, mem_crc:0x0000, reg_crc:0x44F5, cc_crc:0x0804 +Testing movewl_absl_dreg...done. pre_crc:0x982A, mem_crc:0x0000, reg_crc:0x8B5A, cc_crc:0xFB2A +Testing movebw_const_dreg...done. pre_crc:0xC4B0, mem_crc:0x0000, reg_crc:0xF0D8, cc_crc:0x67AB +Testing movel_const_dreg...done. pre_crc:0xA92D, mem_crc:0x0000, reg_crc:0x2199, cc_crc:0x7026 +Testing moveb_dreg_ind...done. pre_crc:0xD488, mem_crc:0xACD7, reg_crc:0x332B, cc_crc:0x11B4 +Testing movewl_reg_ind...done. pre_crc:0x9536, mem_crc:0x1E66, reg_crc:0xC033, cc_crc:0x194F +Testing moveb_dreg_d16...done. pre_crc:0x15D2, mem_crc:0x2CDA, reg_crc:0x6CE7, cc_crc:0xB8F9 +Testing movewl_reg_d16...done. pre_crc:0xC115, mem_crc:0x370D, reg_crc:0x0470, cc_crc:0x62C4 +Testing moveb_dreg_absl...done. pre_crc:0x51C2, mem_crc:0x770C, reg_crc:0x291F, cc_crc:0xA876 +Testing movewl_reg_absl...done. pre_crc:0x8C23, mem_crc:0x0858, reg_crc:0x36F6, cc_crc:0x7133 +Testing moveb_ind_ind...done. pre_crc:0xC903, mem_crc:0xF4DF, reg_crc:0xD7C0, cc_crc:0x067B +Testing moveb_ind_d16...done. pre_crc:0x4EEA, mem_crc:0xB10F, reg_crc:0xAA48, cc_crc:0xB3B5 +Testing moveb_d16_ind...done. pre_crc:0x4FAB, mem_crc:0x1E96, reg_crc:0x18D8, cc_crc:0xF6D4 +Testing movewl_ind_d16...done. pre_crc:0x26A1, mem_crc:0xA75E, reg_crc:0xEB8D, cc_crc:0xC202 +Testing movewl_d16_ind...done. pre_crc:0x3D8F, mem_crc:0x1A5D, reg_crc:0x583E, cc_crc:0xE78D +Testing moveb_d16_d16...done. pre_crc:0x3E50, mem_crc:0x8233, reg_crc:0x62B9, cc_crc:0x636F +Testing movewl_d16_d16...done. pre_crc:0xBA8B, mem_crc:0x6374, reg_crc:0xD63B, cc_crc:0x4A75 +Testing moveb_ind_absl...done. pre_crc:0xC725, mem_crc:0x719F, reg_crc:0xAB16, cc_crc:0x4403 +Testing movewl_ind_absl...done. pre_crc:0xB8F8, mem_crc:0x4315, reg_crc:0xE25A, cc_crc:0xADF7 +Testing moveb_absl_ind...done. pre_crc:0xDA0C, mem_crc:0xAA21, reg_crc:0x61EA, cc_crc:0x13BF +Testing movewl_absl_ind...done. pre_crc:0xEAF6, mem_crc:0x2DB8, reg_crc:0x358B, cc_crc:0xB7C9 +Testing moveb_absl_absl...done. pre_crc:0x2204, mem_crc:0x4D0C, reg_crc:0xCDE6, cc_crc:0x4316 +Testing movewl_absl_absl...done. pre_crc:0xB4C1, mem_crc:0x2BAC, reg_crc:0xBE0F, cc_crc:0x3B07 +Testing moveb_d16_absl...done. pre_crc:0xC101, mem_crc:0x50C0, reg_crc:0xA8D0, cc_crc:0x5A74 +Testing movewl_d16_absl...done. pre_crc:0x0E91, mem_crc:0x4E72, reg_crc:0xD424, cc_crc:0x4A10 +Testing moveb_absl_d16...done. pre_crc:0x3BC7, mem_crc:0x5745, reg_crc:0x54EA, cc_crc:0x9FFC +Testing movewl_absl_d16...done. pre_crc:0x7A2B, mem_crc:0xC8AE, reg_crc:0x0C95, cc_crc:0x64E3 +Testing moveb_const_ind...done. pre_crc:0x460D, mem_crc:0x2250, reg_crc:0x33CC, cc_crc:0xD3EC +Testing moveb_const_d16...done. pre_crc:0xA3BF, mem_crc:0x54F1, reg_crc:0x625B, cc_crc:0x9A2B +Testing moveb_const_absl...done. pre_crc:0x42FC, mem_crc:0x7CDC, reg_crc:0xCAC6, cc_crc:0x0FDB +Testing movew_const_ind...done. pre_crc:0x31E4, mem_crc:0x8E9C, reg_crc:0x0677, cc_crc:0xB45A +Testing movew_const_d16...done. pre_crc:0x15F3, mem_crc:0x7D18, reg_crc:0x3509, cc_crc:0x4F16 +Testing movew_const_absl...done. pre_crc:0x27B7, mem_crc:0x9445, reg_crc:0x1B71, cc_crc:0xEDF5 +Testing movel_const_ind...done. pre_crc:0x7AA6, mem_crc:0x377C, reg_crc:0x171D, cc_crc:0xF987 +Testing movel_const_d16...done. pre_crc:0xF302, mem_crc:0xBE82, reg_crc:0x2391, cc_crc:0xA2AB +Testing movel_const_absl...done. pre_crc:0x79D8, mem_crc:0xA7B0, reg_crc:0x2142, cc_crc:0xD967 +Testing movea_reg...done. pre_crc:0x0AC0, mem_crc:0x0000, reg_crc:0x54B5, cc_crc:0x7E48 +Testing movea_ind...done. pre_crc:0x9BE4, mem_crc:0x0000, reg_crc:0x105B, cc_crc:0x4D63 +Testing movea_d16...done. pre_crc:0x7CDA, mem_crc:0x0000, reg_crc:0xDB47, cc_crc:0xB8B4 +Testing movea_absl...done. pre_crc:0x9906, mem_crc:0x0000, reg_crc:0x5E98, cc_crc:0x501B +Testing moveaw_const...done. pre_crc:0x2981, mem_crc:0x0000, reg_crc:0x8766, cc_crc:0x5C18 +Testing moveal_const...done. pre_crc:0x6B1C, mem_crc:0x0000, reg_crc:0xCF2B, cc_crc:0x16AE +Testing move_from_ccr_dreg...done. pre_crc:0xBC22, mem_crc:0x0000, reg_crc:0x2683, cc_crc:0x673B +Testing move_from_ccr_ind...done. pre_crc:0x423F, mem_crc:0x0000, reg_crc:0x1AD6, cc_crc:0x6A63 +Testing move_from_ccr_d16...done. pre_crc:0x9EDF, mem_crc:0x0000, reg_crc:0xEC07, cc_crc:0x2004 +Testing move_to_ccr_reg...done. pre_crc:0x1670, mem_crc:0x0000, reg_crc:0xA653, cc_crc:0xB6C7 +Testing move_to_ccr_ind...done. pre_crc:0x1053, mem_crc:0x0000, reg_crc:0xF96F, cc_crc:0x4AA7 +Testing movem_to_ind...done. pre_crc:0x29B2, mem_crc:0xC34E, reg_crc:0xA0BB, cc_crc:0x493E +Testing movem_to_predec...done. pre_crc:0xF440, mem_crc:0xAA5F, reg_crc:0xB1CF, cc_crc:0x8DA5 +Testing movem_to_d16...done. pre_crc:0xE4EF, mem_crc:0xA511, reg_crc:0x3485, cc_crc:0x398B +Testing movem_to_absl...done. pre_crc:0xD32D, mem_crc:0xC11A, reg_crc:0xAEE5, cc_crc:0x2269 +Testing movem_from_d16...done. pre_crc:0xA877, mem_crc:0x0000, reg_crc:0x692D, cc_crc:0x28A0 +Testing movem_from_ind...done. pre_crc:0x0241, mem_crc:0x0000, reg_crc:0x48DE, cc_crc:0xB9D5 +Testing movem_from_absl...done. pre_crc:0x5318, mem_crc:0x0000, reg_crc:0xD394, cc_crc:0x4083 +Testing movep_to_mem...done. pre_crc:0xC438, mem_crc:0x6A24, reg_crc:0xAC69, cc_crc:0xBD8D +Testing movep_from_mem...done. pre_crc:0x25E3, mem_crc:0x0000, reg_crc:0x4C80, cc_crc:0xEA73 +Testing moveq...done. pre_crc:0xD9D0, mem_crc:0x0000, reg_crc:0x6EE5, cc_crc:0x44D1 +Testing mulsw_dreg...done. pre_crc:0x98A8, mem_crc:0x0000, reg_crc:0xB18B, cc_crc:0x4501 +Testing mulsw_ind...done. pre_crc:0xEDCE, mem_crc:0x0000, reg_crc:0x315E, cc_crc:0xF556 +Testing mulsw_d16...done. pre_crc:0xAAAF, mem_crc:0x0000, reg_crc:0xD7BE, cc_crc:0xE0B0 +Testing mulsw_absl...done. pre_crc:0x12E1, mem_crc:0x0000, reg_crc:0xAFC9, cc_crc:0xCF96 +Testing muluw_dreg...done. pre_crc:0x9FC4, mem_crc:0x0000, reg_crc:0x34BC, cc_crc:0x4979 +Testing muluw_ind...done. pre_crc:0xD4C0, mem_crc:0x0000, reg_crc:0x78F3, cc_crc:0x1CCD +Testing muluw_d16...done. pre_crc:0xC7BF, mem_crc:0x0000, reg_crc:0xA1B9, cc_crc:0x5512 +Testing muluw_absl...done. pre_crc:0x6267, mem_crc:0x0000, reg_crc:0x91A2, cc_crc:0x6655 +Testing mulsl_dreg...done. pre_crc:0xDA45, mem_crc:0x0000, reg_crc:0x9F56, cc_crc:0xD6A1 +Testing mulsl_ind...done. pre_crc:0xF30B, mem_crc:0x0000, reg_crc:0x6066, cc_crc:0x6415 +Testing mulsl_d16...done. pre_crc:0x22D5, mem_crc:0x0000, reg_crc:0x494C, cc_crc:0x133E +Testing mulsl_absl...done. pre_crc:0x5840, mem_crc:0x0000, reg_crc:0xE753, cc_crc:0xD2B7 +Testing mulul_dreg...done. pre_crc:0x4FF9, mem_crc:0x0000, reg_crc:0x4C61, cc_crc:0xBD84 +Testing mulul_ind...done. pre_crc:0x1832, mem_crc:0x0000, reg_crc:0x52B9, cc_crc:0x17F5 +Testing mulul_d16...done. pre_crc:0xD390, mem_crc:0x0000, reg_crc:0x3B0B, cc_crc:0xC565 +Testing mulul_absl...done. pre_crc:0x3032, mem_crc:0x0000, reg_crc:0x5449, cc_crc:0x3C12 +Testing nbcd_reg...done. pre_crc:0x10AB, mem_crc:0x0000, reg_crc:0xB2DE, cc_crc:0x0690 +Testing nbcd_ind...done. pre_crc:0xC93C, mem_crc:0x5D32, reg_crc:0x4904, cc_crc:0xB5AB +Testing nbcd_d16...done. pre_crc:0xA56C, mem_crc:0x52B5, reg_crc:0x0514, cc_crc:0x6D91 +Testing nbcd_absl...done. pre_crc:0xA186, mem_crc:0xCA5A, reg_crc:0x5517, cc_crc:0x1FC2 +Testing neg_reg...done. pre_crc:0xFA00, mem_crc:0x0000, reg_crc:0x0D6B, cc_crc:0x5F27 +Testing negb_ind...done. pre_crc:0xE4B2, mem_crc:0xDD6A, reg_crc:0xE206, cc_crc:0xAA09 +Testing negwl_ind...done. pre_crc:0xE569, mem_crc:0x659A, reg_crc:0x1AFD, cc_crc:0x5666 +Testing negb_d16...done. pre_crc:0x3AF6, mem_crc:0xCF6F, reg_crc:0xE421, cc_crc:0x21B2 +Testing negwl_d16...done. pre_crc:0xE342, mem_crc:0x2AC8, reg_crc:0x48DE, cc_crc:0x5AB7 +Testing neg_absl...done. pre_crc:0xE930, mem_crc:0x4A83, reg_crc:0xB504, cc_crc:0xCD7C +Testing negx_reg...done. pre_crc:0xDD4F, mem_crc:0x0000, reg_crc:0x30C9, cc_crc:0x1448 +Testing negxb_ind...done. pre_crc:0xF01E, mem_crc:0x484B, reg_crc:0x829A, cc_crc:0x6D0B +Testing negxwl_ind...done. pre_crc:0x4B8E, mem_crc:0xB8FF, reg_crc:0xD901, cc_crc:0xA6B4 +Testing negxb_d16...done. pre_crc:0x1D8F, mem_crc:0xD37C, reg_crc:0xF7D6, cc_crc:0xE686 +Testing negxwl_d16...done. pre_crc:0x662A, mem_crc:0x5A05, reg_crc:0xE705, cc_crc:0xF7FE +Testing negx_absl...done. pre_crc:0x964B, mem_crc:0x2646, reg_crc:0x4B66, cc_crc:0xFC2B +Testing nop...done. pre_crc:0xB0EF, mem_crc:0x0000, reg_crc:0xEEE7, cc_crc:0xA4AD +Testing not_reg...done. pre_crc:0xB27A, mem_crc:0x0000, reg_crc:0x4908, cc_crc:0xCB34 +Testing notb_ind...done. pre_crc:0x59DA, mem_crc:0x2247, reg_crc:0x2604, cc_crc:0x116C +Testing notwl_ind...done. pre_crc:0x820F, mem_crc:0x14D7, reg_crc:0xE4DE, cc_crc:0xCD2C +Testing notb_d16...done. pre_crc:0x8E60, mem_crc:0x4E28, reg_crc:0x94A1, cc_crc:0xFB7F +Testing notwl_d16...done. pre_crc:0x227F, mem_crc:0x5F74, reg_crc:0xFEEA, cc_crc:0xCECD +Testing not_absl...done. pre_crc:0xC9A2, mem_crc:0xCC96, reg_crc:0x33F6, cc_crc:0xB092 +Testing or_dreg_dreg...done. pre_crc:0x0168, mem_crc:0x0000, reg_crc:0xF9AF, cc_crc:0x539A +Testing or_ind_dreg...done. pre_crc:0x596C, mem_crc:0x0000, reg_crc:0xB94F, cc_crc:0x5936 +Testing or_d16_dreg...done. pre_crc:0xFB2E, mem_crc:0x0000, reg_crc:0x3CE2, cc_crc:0xC161 +Testing or_absl_dreg...done. pre_crc:0x0D09, mem_crc:0x0000, reg_crc:0xF2EA, cc_crc:0xEB3C +Testing orbw_const_dreg...done. pre_crc:0x86DA, mem_crc:0x0000, reg_crc:0x4061, cc_crc:0xB73F +Testing orl_const_dreg...done. pre_crc:0xBAB5, mem_crc:0x0000, reg_crc:0x69E7, cc_crc:0xCDD6 +Testing or_dreg_ind...done. pre_crc:0x083D, mem_crc:0xD076, reg_crc:0x52D0, cc_crc:0x9581 +Testing or_dreg_d16...done. pre_crc:0x8E06, mem_crc:0x1828, reg_crc:0xCDF4, cc_crc:0xD90B +Testing or_dreg_absl...done. pre_crc:0x5A41, mem_crc:0x0666, reg_crc:0x2045, cc_crc:0xD3EC +Testing oribw_dreg...done. pre_crc:0x1E19, mem_crc:0x0000, reg_crc:0x8F08, cc_crc:0x18B4 +Testing oril_dreg...done. pre_crc:0xE742, mem_crc:0x0000, reg_crc:0x0EB6, cc_crc:0x3533 +Testing oribw_ind...done. pre_crc:0x3F99, mem_crc:0xEC13, reg_crc:0xD74D, cc_crc:0x54E6 +Testing oril_ind...done. pre_crc:0x4103, mem_crc:0x1809, reg_crc:0xD8A5, cc_crc:0xF757 +Testing oribw_d16...done. pre_crc:0xCF77, mem_crc:0x04F2, reg_crc:0x71B8, cc_crc:0x836B +Testing oril_d16...done. pre_crc:0x4A9E, mem_crc:0x2FCB, reg_crc:0x270C, cc_crc:0x6849 +Testing oribw_absl...done. pre_crc:0x4B6B, mem_crc:0x66E1, reg_crc:0xD054, cc_crc:0x154C +Testing oril_absl...done. pre_crc:0xADB9, mem_crc:0xF77A, reg_crc:0x917F, cc_crc:0xC077 +Testing ori_to_ccr...done. pre_crc:0x03E5, mem_crc:0x0000, reg_crc:0xC29D, cc_crc:0x49AD +Testing pack_reg...done. pre_crc:0x74ED, mem_crc:0x0000, reg_crc:0x0C66, cc_crc:0xB3A8 +Testing pack_mem...done. pre_crc:0x0C61, mem_crc:0x8051, reg_crc:0x4C0E, cc_crc:0xAA59 +Testing pea_ind...done. pre_crc:0x9306, mem_crc:0x711D, reg_crc:0x6AE8, cc_crc:0xB741 +Testing pea_d16...done. pre_crc:0x3149, mem_crc:0xA524, reg_crc:0x0DC2, cc_crc:0x3A72 +Testing pea_absw...done. pre_crc:0x7D24, mem_crc:0xAE0B, reg_crc:0xA0D1, cc_crc:0x3047 +Testing pea_absl...done. pre_crc:0x9994, mem_crc:0x9D4C, reg_crc:0xCCFC, cc_crc:0x429F +Testing rol_dx_dy...done. pre_crc:0x41F8, mem_crc:0x0000, reg_crc:0xF8D9, cc_crc:0x2BC3 +Testing rol_const_dy...done. pre_crc:0x9BEB, mem_crc:0x0000, reg_crc:0x5AA0, cc_crc:0xFD7C +Testing rol_ind...done. pre_crc:0x3980, mem_crc:0x76B9, reg_crc:0x3DE0, cc_crc:0x8F07 +Testing rol_d16...done. pre_crc:0x1A65, mem_crc:0x0C1E, reg_crc:0xF1DA, cc_crc:0x9B32 +Testing rol_absl...done. pre_crc:0x4480, mem_crc:0xEF25, reg_crc:0x1422, cc_crc:0x3965 +Testing ror_dx_dy...done. pre_crc:0xFB43, mem_crc:0x0000, reg_crc:0x574F, cc_crc:0xAC24 +Testing ror_const_dy...done. pre_crc:0x46EC, mem_crc:0x0000, reg_crc:0xF57B, cc_crc:0xF5FF +Testing ror_ind...done. pre_crc:0x7556, mem_crc:0x4DBE, reg_crc:0x75CB, cc_crc:0x2D65 +Testing ror_d16...done. pre_crc:0x7B0D, mem_crc:0x9984, reg_crc:0x6014, cc_crc:0x16FB +Testing ror_absl...done. pre_crc:0x6274, mem_crc:0x5B6B, reg_crc:0xCD5D, cc_crc:0xA533 +Testing roxl_dx_dy...done. pre_crc:0x4B48, mem_crc:0x0000, reg_crc:0xEFA2, cc_crc:0x099C +Testing roxl_const_dy...done. pre_crc:0xD473, mem_crc:0x0000, reg_crc:0x462C, cc_crc:0xD2DE +Testing roxl_ind...done. pre_crc:0x103D, mem_crc:0x5F3A, reg_crc:0xA8AB, cc_crc:0x0CD1 +Testing roxl_d16...done. pre_crc:0x4325, mem_crc:0x3E61, reg_crc:0x7586, cc_crc:0xB040 +Testing roxl_absl...done. pre_crc:0xF01B, mem_crc:0x54EF, reg_crc:0x425F, cc_crc:0xDD7B +Testing roxr_dx_dy...done. pre_crc:0x0F7F, mem_crc:0x0000, reg_crc:0x3539, cc_crc:0x32C2 +Testing roxr_const_dy...done. pre_crc:0x6293, mem_crc:0x0000, reg_crc:0x9EEF, cc_crc:0x3A28 +Testing roxr_ind...done. pre_crc:0xFCD6, mem_crc:0x2085, reg_crc:0x4AEC, cc_crc:0x76A7 +Testing roxr_d16...done. pre_crc:0x6B2E, mem_crc:0x80FE, reg_crc:0x825C, cc_crc:0x8376 +Testing roxr_absl...done. pre_crc:0x1A8D, mem_crc:0xE986, reg_crc:0xE67C, cc_crc:0x15BF +Testing rtd...done. pre_crc:0x2647, mem_crc:0x0000, reg_crc:0x5A41, cc_crc:0x8200 +Testing rtr...done. pre_crc:0x9046, mem_crc:0x0000, reg_crc:0x575D, cc_crc:0xE3CD +Testing rts...done. pre_crc:0x45DA, mem_crc:0x0000, reg_crc:0xDFB6, cc_crc:0x4568 +Testing sbcd_reg...done. pre_crc:0x4DB8, mem_crc:0x0000, reg_crc:0x283F, cc_crc:0x1CD0 +Testing sbcd_mem...done. pre_crc:0x4933, mem_crc:0x6DF7, reg_crc:0x15BA, cc_crc:0xF636 +Testing Scc_reg...done. pre_crc:0x8621, mem_crc:0x0000, reg_crc:0x4E11, cc_crc:0xC71A +Testing Scc_ind...done. pre_crc:0x2E62, mem_crc:0x6C2D, reg_crc:0x6BAD, cc_crc:0xEC23 +Testing Scc_d16...done. pre_crc:0xF93E, mem_crc:0x3EF7, reg_crc:0x611F, cc_crc:0x08BA +Testing Scc_absl...done. pre_crc:0x5787, mem_crc:0xA7C7, reg_crc:0xE16F, cc_crc:0xFA2B +Testing subb_dreg_dreg...done. pre_crc:0xC653, mem_crc:0x0000, reg_crc:0xFF5C, cc_crc:0x3AD2 +Testing subw_reg_dreg...done. pre_crc:0xD76C, mem_crc:0x0000, reg_crc:0x1EAA, cc_crc:0xDCBF +Testing subl_reg_dreg...done. pre_crc:0xD9C6, mem_crc:0x0000, reg_crc:0x1D4B, cc_crc:0x6AEB +Testing sub_ind_dreg...done. pre_crc:0x3669, mem_crc:0x0000, reg_crc:0xB1A3, cc_crc:0x388A +Testing sub_d16_dreg...done. pre_crc:0x2299, mem_crc:0x0000, reg_crc:0x44E8, cc_crc:0x97FD +Testing sub_absl_dreg...done. pre_crc:0x54DE, mem_crc:0x0000, reg_crc:0x389D, cc_crc:0x5B07 +Testing subb_const_dreg...done. pre_crc:0x24AD, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0x60AF +Testing subw_const_dreg...done. pre_crc:0x57FA, mem_crc:0x0000, reg_crc:0x51F7, cc_crc:0x149A +Testing subl_const_dreg...done. pre_crc:0x42B3, mem_crc:0x0000, reg_crc:0x37CD, cc_crc:0x27B7 +Testing sub_dreg_ind...done. pre_crc:0x85E3, mem_crc:0xCA63, reg_crc:0x4A98, cc_crc:0xC612 +Testing sub_dreg_d16...done. pre_crc:0x0F47, mem_crc:0x32F2, reg_crc:0x4B17, cc_crc:0x85B3 +Testing sub_dreg_absl...done. pre_crc:0x0748, mem_crc:0xE55B, reg_crc:0x7ECA, cc_crc:0x2507 +Testing subaw_reg_areg...done. pre_crc:0x1F50, mem_crc:0x0000, reg_crc:0x07B0, cc_crc:0x75CD +Testing subal_reg_areg...done. pre_crc:0x1247, mem_crc:0x0000, reg_crc:0x3DE5, cc_crc:0x72D4 +Testing suba_ind_areg...done. pre_crc:0x7D2E, mem_crc:0x0000, reg_crc:0x6832, cc_crc:0x6CCF +Testing suba_d16_areg...done. pre_crc:0xDBD9, mem_crc:0x0000, reg_crc:0x9A35, cc_crc:0xC75E +Testing suba_absl_areg...done. pre_crc:0xFE1A, mem_crc:0x0000, reg_crc:0xE2DB, cc_crc:0x1874 +Testing subaw_const_areg...done. pre_crc:0xDB30, mem_crc:0x0000, reg_crc:0x5E68, cc_crc:0x958D +Testing subal_const_areg...done. pre_crc:0x2EC5, mem_crc:0x0000, reg_crc:0xCCBE, cc_crc:0x8638 +Testing subibw_dreg...done. pre_crc:0x85CA, mem_crc:0x0000, reg_crc:0x51BC, cc_crc:0x498F +Testing subil_dreg...done. pre_crc:0x73D0, mem_crc:0x0000, reg_crc:0xEDCF, cc_crc:0x1CB6 +Testing subibw_ind...done. pre_crc:0xD445, mem_crc:0x83B5, reg_crc:0x84CF, cc_crc:0x7CD6 +Testing subil_ind...done. pre_crc:0x8DD0, mem_crc:0x5275, reg_crc:0x80C8, cc_crc:0xFD26 +Testing subibw_d16...done. pre_crc:0x7215, mem_crc:0xEF68, reg_crc:0x383B, cc_crc:0xDC49 +Testing subil_d16...done. pre_crc:0x1886, mem_crc:0x5210, reg_crc:0x4DC9, cc_crc:0x3621 +Testing subibw_absl...done. pre_crc:0xDDCA, mem_crc:0x8288, reg_crc:0x54BF, cc_crc:0x724E +Testing subil_absl...done. pre_crc:0xBE57, mem_crc:0xFFB8, reg_crc:0x6DCD, cc_crc:0x5D37 +Testing subq_dreg...done. pre_crc:0x9504, mem_crc:0x0000, reg_crc:0x80DF, cc_crc:0x718B +Testing subq_areg...done. pre_crc:0xE7A4, mem_crc:0x0000, reg_crc:0x4673, cc_crc:0x768C +Testing subq_ind...done. pre_crc:0xB55C, mem_crc:0x45A2, reg_crc:0x77C0, cc_crc:0x4E9F +Testing subq_d16...done. pre_crc:0x8EF0, mem_crc:0x550A, reg_crc:0xC3A9, cc_crc:0x3ECB +Testing subq_absl...done. pre_crc:0x8989, mem_crc:0x6BFB, reg_crc:0x1C20, cc_crc:0x2ED4 +Testing subx_reg...done. pre_crc:0x78B1, mem_crc:0x0000, reg_crc:0x7EE4, cc_crc:0xDF70 +Testing subx_mem...done. pre_crc:0x123A, mem_crc:0xAAF6, reg_crc:0xBDAA, cc_crc:0x93A5 +Testing swap...done. pre_crc:0x70F5, mem_crc:0x0000, reg_crc:0xEDD4, cc_crc:0x9207 +Testing tas_dreg...done. pre_crc:0x4423, mem_crc:0x0000, reg_crc:0x9D52, cc_crc:0xCB52 +Testing tas_ind...done. pre_crc:0xBE75, mem_crc:0x9028, reg_crc:0x6E51, cc_crc:0x26F2 +Testing tas_d16...done. pre_crc:0x527E, mem_crc:0x9C4E, reg_crc:0xEFA8, cc_crc:0xC9D8 +Testing tas_absl...done. pre_crc:0x286E, mem_crc:0x528C, reg_crc:0x4AD9, cc_crc:0xF350 +Testing tstb_dreg...done. pre_crc:0xB606, mem_crc:0x0000, reg_crc:0xAE86, cc_crc:0x37B5 +Testing tstwl_reg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0x4B82, cc_crc:0xC9F5 +Testing tstb_ind...done. pre_crc:0x090A, mem_crc:0x0000, reg_crc:0x90D8, cc_crc:0x13E9 +Testing tstwl_ind...done. pre_crc:0x8784, mem_crc:0x0000, reg_crc:0xB7B8, cc_crc:0x09DB +Testing tstb_d16...done. pre_crc:0xE1F3, mem_crc:0x0000, reg_crc:0x4222, cc_crc:0x4103 +Testing tstwl_d16...done. pre_crc:0xCA5A, mem_crc:0x0000, reg_crc:0x54B0, cc_crc:0x50D8 +Testing tst_absl...done. pre_crc:0xD296, mem_crc:0x0000, reg_crc:0x17AC, cc_crc:0x23EC diff --git a/test/glibc.4 b/test/glibc.4 new file mode 100644 index 0000000..106aa9a --- /dev/null +++ b/test/glibc.4 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x4C28, mem_crc:0x0000, reg_crc:0x3B94, cc_crc:0xDCA4 +Testing movewl_pcd8_dreg...done. pre_crc:0x1347, mem_crc:0x0000, reg_crc:0x6B10, cc_crc:0x880A +Testing unpk_reg...done. pre_crc:0x3374, mem_crc:0x0000, reg_crc:0xBCAB, cc_crc:0x129A +Testing unpk_mem...done. pre_crc:0xBE94, mem_crc:0xA8F8, reg_crc:0xC3C0, cc_crc:0xA71C +Testing unlk...done. pre_crc:0xE390, mem_crc:0x0000, reg_crc:0x120A, cc_crc:0x9E25 +Testing movewl_ind_ind...done. pre_crc:0xBDB5, mem_crc:0x8756, reg_crc:0x2D96, cc_crc:0x1AD0 +Testing divsl_ll_reg...done. pre_crc:0xEF26, mem_crc:0x0000, reg_crc:0x276C, cc_crc:0xD5D5 +Testing divsl_ll_ind...done. pre_crc:0xC126, mem_crc:0x0000, reg_crc:0x85E3, cc_crc:0xA39C +Testing divsl_ll_absl...done. pre_crc:0xC1D9, mem_crc:0x0000, reg_crc:0x14C5, cc_crc:0x7A85 +Testing lea_pc_ind_preix...done. pre_crc:0xF97E, mem_crc:0x0000, reg_crc:0x5618, cc_crc:0xCDFD +Testing lea_pc_ind_postix...done. pre_crc:0xC08B, mem_crc:0x0000, reg_crc:0x7B78, cc_crc:0x7E2E +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x5D1F, mem_crc:0x0000, reg_crc:0xA1AD, cc_crc:0xB6A2 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x34AF, mem_crc:0x0000, reg_crc:0x13E5, cc_crc:0x7247 +Testing moveb_pcd16_dreg...done. pre_crc:0xBC24, mem_crc:0x0000, reg_crc:0xC0CF, cc_crc:0x046B +Testing movewl_pcd16_dreg...done. pre_crc:0x9838, mem_crc:0x0000, reg_crc:0x5684, cc_crc:0x147D +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xEA5B, mem_crc:0x0000, reg_crc:0xDFF2, cc_crc:0x2882 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x3F15, mem_crc:0x0000, reg_crc:0xEE96, cc_crc:0xC289 +Testing lea_ind_preix...done. pre_crc:0x7212, mem_crc:0x0000, reg_crc:0x8A40, cc_crc:0x27C6 +Testing lea_ind_postix...done. pre_crc:0xDC07, mem_crc:0x0000, reg_crc:0xAC8D, cc_crc:0x9909 +Testing add_absl_dreg...done. pre_crc:0x4213, mem_crc:0x0000, reg_crc:0x8016, cc_crc:0xD809 +Testing abcd_reg...done. pre_crc:0xB05E, mem_crc:0x0000, reg_crc:0x9D98, cc_crc:0xABE3 +Testing abcd_mem...done. pre_crc:0x3C9F, mem_crc:0xF404, reg_crc:0x8507, cc_crc:0xB534 +Testing addb_dreg_dreg...done. pre_crc:0x47D0, mem_crc:0x0000, reg_crc:0x5987, cc_crc:0xB835 +Testing addw_reg_dreg...done. pre_crc:0xA3B8, mem_crc:0x0000, reg_crc:0xE0E3, cc_crc:0x32B9 +Testing addl_reg_dreg...done. pre_crc:0x0430, mem_crc:0x0000, reg_crc:0xE187, cc_crc:0xE700 +Testing add_d16_dreg...done. pre_crc:0x9F2B, mem_crc:0x0000, reg_crc:0x7D35, cc_crc:0x340B +Testing addb_const_dreg...done. pre_crc:0x0F9B, mem_crc:0x0000, reg_crc:0xCC59, cc_crc:0xB680 +Testing addw_const_dreg...done. pre_crc:0x1F5C, mem_crc:0x0000, reg_crc:0x34FD, cc_crc:0x5225 +Testing add_dreg_ind...done. pre_crc:0x361B, mem_crc:0x7020, reg_crc:0x1CBC, cc_crc:0xCCD1 +Testing add_ind_dreg...done. pre_crc:0x5551, mem_crc:0x0000, reg_crc:0xC36A, cc_crc:0x4B47 +Testing addl_const_dreg...done. pre_crc:0xEA97, mem_crc:0x0000, reg_crc:0x7D7B, cc_crc:0x5912 +Testing add_dreg_d16...done. pre_crc:0xDC19, mem_crc:0xACB2, reg_crc:0x878B, cc_crc:0x4AC4 +Testing add_dreg_absl...done. pre_crc:0xBF16, mem_crc:0xC359, reg_crc:0x86D6, cc_crc:0x20E3 +Testing addaw_reg_areg...done. pre_crc:0x5556, mem_crc:0x0000, reg_crc:0x4F04, cc_crc:0x13D6 +Testing addal_reg_areg...done. pre_crc:0xCE88, mem_crc:0x0000, reg_crc:0x1A75, cc_crc:0x16F7 +Testing adda_ind_areg...done. pre_crc:0x1A26, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0xEF3E +Testing adda_d16_areg...done. pre_crc:0x0A5C, mem_crc:0x0000, reg_crc:0x60AF, cc_crc:0x2881 +Testing adda_absl_areg...done. pre_crc:0x6A70, mem_crc:0x0000, reg_crc:0xB354, cc_crc:0x54E5 +Testing addaw_const_areg...done. pre_crc:0x9AB3, mem_crc:0x0000, reg_crc:0x1493, cc_crc:0xD667 +Testing addal_const_areg...done. pre_crc:0x9A28, mem_crc:0x0000, reg_crc:0x0285, cc_crc:0xD13A +Testing addibw_dreg...done. pre_crc:0xCF24, mem_crc:0x0000, reg_crc:0x45D9, cc_crc:0xA4FE +Testing addil_dreg...done. pre_crc:0xBE01, mem_crc:0x0000, reg_crc:0x304B, cc_crc:0xAB94 +Testing addibw_ind...done. pre_crc:0xC1F6, mem_crc:0xEA0D, reg_crc:0x1484, cc_crc:0xCD92 +Testing addil_ind...done. pre_crc:0x4FBA, mem_crc:0x67BF, reg_crc:0x9536, cc_crc:0xB613 +Testing addibw_d16...done. pre_crc:0x6D4B, mem_crc:0x6ACF, reg_crc:0xF9EB, cc_crc:0x3D89 +Testing addil_d16...done. pre_crc:0xB745, mem_crc:0x0775, reg_crc:0xC894, cc_crc:0xA924 +Testing addibw_absl...done. pre_crc:0x35D3, mem_crc:0xF2A7, reg_crc:0x06B4, cc_crc:0x0CDD +Testing addil_absl...done. pre_crc:0xA8BA, mem_crc:0x9B07, reg_crc:0x2516, cc_crc:0x8C4F +Testing addq_dreg...done. pre_crc:0x07C6, mem_crc:0x0000, reg_crc:0x2EBD, cc_crc:0xFD31 +Testing addq_areg...done. pre_crc:0xF2DC, mem_crc:0x0000, reg_crc:0x14F3, cc_crc:0xA820 +Testing addq_ind...done. pre_crc:0x4BC5, mem_crc:0x70C2, reg_crc:0x0D5B, cc_crc:0xA14F +Testing addq_d16...done. pre_crc:0xC343, mem_crc:0x8203, reg_crc:0x48F5, cc_crc:0xBD53 +Testing addq_absl...done. pre_crc:0xD0E3, mem_crc:0xD706, reg_crc:0x05C5, cc_crc:0xB11B +Testing addx_reg...done. pre_crc:0x8EF5, mem_crc:0x0000, reg_crc:0xEC89, cc_crc:0x5B2F +Testing addx_mem...done. pre_crc:0xCD61, mem_crc:0x8F20, reg_crc:0x37A4, cc_crc:0xAB92 +Testing and_dreg_dreg...done. pre_crc:0x659D, mem_crc:0x0000, reg_crc:0x58B3, cc_crc:0x6399 +Testing and_ind_dreg...done. pre_crc:0xAC86, mem_crc:0x0000, reg_crc:0xDBF6, cc_crc:0xA7E0 +Testing and_d16_dreg...done. pre_crc:0xCA51, mem_crc:0x0000, reg_crc:0x4471, cc_crc:0x0834 +Testing and_absl_dreg...done. pre_crc:0x2FFC, mem_crc:0x0000, reg_crc:0xCA99, cc_crc:0x7755 +Testing andbw_const_dreg...done. pre_crc:0x05D0, mem_crc:0x0000, reg_crc:0x5D51, cc_crc:0x4C67 +Testing andl_const_dreg...done. pre_crc:0xED76, mem_crc:0x0000, reg_crc:0xD45F, cc_crc:0x1D22 +Testing and_dreg_ind...done. pre_crc:0xC5F9, mem_crc:0xE50D, reg_crc:0x8CC1, cc_crc:0xA14A +Testing and_dreg_d16...done. pre_crc:0x5336, mem_crc:0xE88E, reg_crc:0xE4E1, cc_crc:0xC028 +Testing and_dreg_absl...done. pre_crc:0x6973, mem_crc:0xED5A, reg_crc:0xCFC9, cc_crc:0xFE3D +Testing andibw_dreg...done. pre_crc:0x5AE4, mem_crc:0x0000, reg_crc:0x5065, cc_crc:0xA666 +Testing andil_dreg...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0x8FD9, cc_crc:0x9C27 +Testing andibw_ind...done. pre_crc:0x2BF0, mem_crc:0x6797, reg_crc:0x1AC8, cc_crc:0x597B +Testing andil_ind...done. pre_crc:0xA1FE, mem_crc:0xFEC4, reg_crc:0x2957, cc_crc:0x16EF +Testing andibw_d16...done. pre_crc:0x82F8, mem_crc:0xA990, reg_crc:0x9897, cc_crc:0xF542 +Testing andil_d16...done. pre_crc:0x3B0A, mem_crc:0xF775, reg_crc:0xFBD0, cc_crc:0x9168 +Testing andibw_absl...done. pre_crc:0x264A, mem_crc:0x9D26, reg_crc:0x517F, cc_crc:0x5C65 +Testing andil_absl...done. pre_crc:0xAC3A, mem_crc:0xA047, reg_crc:0x5C2E, cc_crc:0x83EC +Testing andi_to_ccr...done. pre_crc:0xA7B2, mem_crc:0x0000, reg_crc:0x0EEA, cc_crc:0x3074 +Testing asl_dx_dy...done. pre_crc:0x6405, mem_crc:0x0000, reg_crc:0xE8FA, cc_crc:0x83FD +Testing asl_const_dy...done. pre_crc:0xA247, mem_crc:0x0000, reg_crc:0x925B, cc_crc:0x1E50 +Testing asl_ind...done. pre_crc:0xA430, mem_crc:0xBD47, reg_crc:0xCEF2, cc_crc:0x2AD6 +Testing asl_d16...done. pre_crc:0xFB30, mem_crc:0x8227, reg_crc:0x1629, cc_crc:0xC6BD +Testing asl_absl...done. pre_crc:0xC9E0, mem_crc:0x137A, reg_crc:0x3E9B, cc_crc:0x5C63 +Testing asr_dx_dy...done. pre_crc:0xEA26, mem_crc:0x0000, reg_crc:0x23D9, cc_crc:0x89B5 +Testing asr_const_dy...done. pre_crc:0x601F, mem_crc:0x0000, reg_crc:0x4001, cc_crc:0x68E0 +Testing asr_ind...done. pre_crc:0x40B6, mem_crc:0x38E5, reg_crc:0x08B5, cc_crc:0x2ACB +Testing asr_d16...done. pre_crc:0xFA14, mem_crc:0xCD80, reg_crc:0x98AB, cc_crc:0xF215 +Testing asr_absl...done. pre_crc:0xC1A7, mem_crc:0xF1B0, reg_crc:0x7D2E, cc_crc:0x3E32 +Testing lsl_dx_dy...done. pre_crc:0x7309, mem_crc:0x0000, reg_crc:0x9042, cc_crc:0x0FBE +Testing lsl_const_dy...done. pre_crc:0x9682, mem_crc:0x0000, reg_crc:0xFFCF, cc_crc:0x9ADE +Testing lsl_ind...done. pre_crc:0xB4D0, mem_crc:0xC18F, reg_crc:0xF5EE, cc_crc:0x038E +Testing lsl_d16...done. pre_crc:0xFA0C, mem_crc:0x4080, reg_crc:0xB362, cc_crc:0x900F +Testing lsl_absl...done. pre_crc:0x6907, mem_crc:0x0F55, reg_crc:0xE769, cc_crc:0x0F3A +Testing lsr_dx_dy...done. pre_crc:0x6B79, mem_crc:0x0000, reg_crc:0x0D6D, cc_crc:0x5348 +Testing lsr_const_dy...done. pre_crc:0x241C, mem_crc:0x0000, reg_crc:0x9B19, cc_crc:0xCCE1 +Testing lsr_ind...done. pre_crc:0xB2AB, mem_crc:0x0917, reg_crc:0x894A, cc_crc:0x5B3E +Testing lsr_d16...done. pre_crc:0x6171, mem_crc:0x8BBE, reg_crc:0xBCB9, cc_crc:0x2466 +Testing lsr_absl...done. pre_crc:0x72D6, mem_crc:0x3305, reg_crc:0xF4CE, cc_crc:0x13CB +Testing bra_b...done. pre_crc:0x94D3, mem_crc:0x0000, reg_crc:0x35AA, cc_crc:0x602E +Testing bhi_b...done. pre_crc:0x69B3, mem_crc:0x0000, reg_crc:0xE284, cc_crc:0x6E92 +Testing bls_b...done. pre_crc:0xC92D, mem_crc:0x0000, reg_crc:0xCACC, cc_crc:0x5A93 +Testing bcc_b...done. pre_crc:0xA5A8, mem_crc:0x0000, reg_crc:0xC9A9, cc_crc:0xEA57 +Testing bcs_b...done. pre_crc:0xEB06, mem_crc:0x0000, reg_crc:0xABE0, cc_crc:0xA0A6 +Testing bne_b...done. pre_crc:0x790E, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0xBFDF +Testing beq_b...done. pre_crc:0xC462, mem_crc:0x0000, reg_crc:0x3F71, cc_crc:0xB02C +Testing bvc_b...done. pre_crc:0xAAC5, mem_crc:0x0000, reg_crc:0xB7AC, cc_crc:0x7545 +Testing bvs_b...done. pre_crc:0x23F1, mem_crc:0x0000, reg_crc:0x717B, cc_crc:0xF458 +Testing bpl_b...done. pre_crc:0xFD06, mem_crc:0x0000, reg_crc:0x2D03, cc_crc:0xA1EC +Testing bmi_b...done. pre_crc:0xA704, mem_crc:0x0000, reg_crc:0x8334, cc_crc:0x3FA5 +Testing bge_b...done. pre_crc:0x6E2A, mem_crc:0x0000, reg_crc:0x78AC, cc_crc:0xECDA +Testing blt_b...done. pre_crc:0xFF39, mem_crc:0x0000, reg_crc:0xD349, cc_crc:0x4B7E +Testing bgt_b...done. pre_crc:0x9FCF, mem_crc:0x0000, reg_crc:0xCEEC, cc_crc:0xD2C5 +Testing ble_b...done. pre_crc:0x1AD2, mem_crc:0x0000, reg_crc:0x86C4, cc_crc:0xE711 +Testing bra_w...done. pre_crc:0x8DC0, mem_crc:0x0000, reg_crc:0x7ACD, cc_crc:0xE991 +Testing bhi_w...done. pre_crc:0xE78C, mem_crc:0x0000, reg_crc:0x08FD, cc_crc:0x6EE0 +Testing bls_w...done. pre_crc:0x0FC6, mem_crc:0x0000, reg_crc:0xA381, cc_crc:0xACE7 +Testing bcc_w...done. pre_crc:0x3B49, mem_crc:0x0000, reg_crc:0x0BE9, cc_crc:0x3402 +Testing bcs_w...done. pre_crc:0xD808, mem_crc:0x0000, reg_crc:0x556F, cc_crc:0x1F97 +Testing bne_w...done. pre_crc:0xDDF2, mem_crc:0x0000, reg_crc:0x5044, cc_crc:0x2054 +Testing beq_w...done. pre_crc:0x3568, mem_crc:0x0000, reg_crc:0xC76D, cc_crc:0x45F4 +Testing bvc_w...done. pre_crc:0xB48B, mem_crc:0x0000, reg_crc:0xFB5B, cc_crc:0x7002 +Testing bvs_w...done. pre_crc:0x37F7, mem_crc:0x0000, reg_crc:0x5622, cc_crc:0x8BD1 +Testing bpl_w...done. pre_crc:0x6172, mem_crc:0x0000, reg_crc:0xA9D1, cc_crc:0x7901 +Testing bmi_w...done. pre_crc:0x4FB6, mem_crc:0x0000, reg_crc:0xBFA7, cc_crc:0xB592 +Testing bge_w...done. pre_crc:0x06E0, mem_crc:0x0000, reg_crc:0x2379, cc_crc:0x94AD +Testing blt_w...done. pre_crc:0xAB40, mem_crc:0x0000, reg_crc:0xD487, cc_crc:0xB531 +Testing bgt_w...done. pre_crc:0x65C0, mem_crc:0x0000, reg_crc:0x3FED, cc_crc:0xBDDD +Testing ble_w...done. pre_crc:0x7FE6, mem_crc:0x0000, reg_crc:0x62C8, cc_crc:0x1435 +Testing bra_l...done. pre_crc:0xD9B0, mem_crc:0x0000, reg_crc:0xF875, cc_crc:0x8CD5 +Testing bhi_l...done. pre_crc:0xA78A, mem_crc:0x0000, reg_crc:0x9B10, cc_crc:0x31EF +Testing bls_l...done. pre_crc:0xB6EE, mem_crc:0x0000, reg_crc:0x5EAE, cc_crc:0x9DD6 +Testing bcc_l...done. pre_crc:0xBA3E, mem_crc:0x0000, reg_crc:0xFCD2, cc_crc:0x55DD +Testing bcs_l...done. pre_crc:0xEA44, mem_crc:0x0000, reg_crc:0xF6F5, cc_crc:0xD6D9 +Testing bne_l...done. pre_crc:0x14F5, mem_crc:0x0000, reg_crc:0xA31B, cc_crc:0x2907 +Testing beq_l...done. pre_crc:0xFF2C, mem_crc:0x0000, reg_crc:0xC381, cc_crc:0x822B +Testing bvc_l...done. pre_crc:0x83AB, mem_crc:0x0000, reg_crc:0x423F, cc_crc:0x25DC +Testing bvs_l...done. pre_crc:0x6176, mem_crc:0x0000, reg_crc:0x2EDE, cc_crc:0xC8AE +Testing bpl_l...done. pre_crc:0x4079, mem_crc:0x0000, reg_crc:0xD7AC, cc_crc:0x1EF6 +Testing bmi_l...done. pre_crc:0xC797, mem_crc:0x0000, reg_crc:0xC91B, cc_crc:0xC14F +Testing bge_l...done. pre_crc:0xB4E8, mem_crc:0x0000, reg_crc:0xC18C, cc_crc:0x3791 +Testing blt_l...done. pre_crc:0xD71C, mem_crc:0x0000, reg_crc:0xF7DC, cc_crc:0x915E +Testing bgt_l...done. pre_crc:0x752D, mem_crc:0x0000, reg_crc:0x7019, cc_crc:0xAC21 +Testing ble_l...done. pre_crc:0x702C, mem_crc:0x0000, reg_crc:0x86E9, cc_crc:0x1A70 +Testing bchg_reg_reg...done. pre_crc:0x8DDD, mem_crc:0x0000, reg_crc:0x3E64, cc_crc:0x74ED +Testing bchg_const_reg...done. pre_crc:0x1312, mem_crc:0x0000, reg_crc:0xD828, cc_crc:0x6672 +Testing bchg_reg_ind...done. pre_crc:0xDF17, mem_crc:0x0EF1, reg_crc:0xE2C6, cc_crc:0x55AF +Testing bchg_const_ind...done. pre_crc:0xBD39, mem_crc:0xBE71, reg_crc:0xE302, cc_crc:0xB9B5 +Testing bchg_reg_d16...done. pre_crc:0xD5F5, mem_crc:0xEF80, reg_crc:0xFF50, cc_crc:0x2664 +Testing bchg_const_d16...done. pre_crc:0x3519, mem_crc:0x95CC, reg_crc:0xAE0B, cc_crc:0x302D +Testing bchg_reg_absl...done. pre_crc:0x1BD4, mem_crc:0xD9F8, reg_crc:0x28D1, cc_crc:0x37C2 +Testing bchg_const_absl...done. pre_crc:0x1B59, mem_crc:0x2520, reg_crc:0x3559, cc_crc:0x6B26 +Testing bclr_reg_reg...done. pre_crc:0xED51, mem_crc:0x0000, reg_crc:0xF082, cc_crc:0x67BF +Testing bclr_const_reg...done. pre_crc:0x669D, mem_crc:0x0000, reg_crc:0x51A7, cc_crc:0x9A8D +Testing bclr_reg_ind...done. pre_crc:0x1FF7, mem_crc:0x0BBF, reg_crc:0x4DD7, cc_crc:0x26E5 +Testing bclr_const_ind...done. pre_crc:0x658C, mem_crc:0x29CD, reg_crc:0x2A61, cc_crc:0x7AB9 +Testing bclr_reg_d16...done. pre_crc:0xB48A, mem_crc:0x9838, reg_crc:0x2BA0, cc_crc:0xDBD2 +Testing bclr_const_d16...done. pre_crc:0xC495, mem_crc:0x37C4, reg_crc:0x1373, cc_crc:0x3DB3 +Testing bclr_reg_absl...done. pre_crc:0x304A, mem_crc:0xA15E, reg_crc:0x0EAE, cc_crc:0x4A02 +Testing bclr_const_absl...done. pre_crc:0xCB06, mem_crc:0xA751, reg_crc:0xCF5C, cc_crc:0xAE68 +Testing bset_reg_reg...done. pre_crc:0x064E, mem_crc:0x0000, reg_crc:0x618A, cc_crc:0x6627 +Testing bset_const_reg...done. pre_crc:0xB331, mem_crc:0x0000, reg_crc:0xC31B, cc_crc:0x6786 +Testing bset_reg_ind...done. pre_crc:0x6507, mem_crc:0xF186, reg_crc:0x7673, cc_crc:0x22F6 +Testing bset_const_ind...done. pre_crc:0xE929, mem_crc:0x6B89, reg_crc:0x0176, cc_crc:0xE8E1 +Testing bset_reg_d16...done. pre_crc:0x9E2D, mem_crc:0x125C, reg_crc:0x25C4, cc_crc:0x27E8 +Testing bset_const_d16...done. pre_crc:0xBC41, mem_crc:0xCC17, reg_crc:0xEFBA, cc_crc:0x756B +Testing bset_reg_absl...done. pre_crc:0xD70B, mem_crc:0xD8E1, reg_crc:0xF303, cc_crc:0x0FED +Testing bset_const_absl...done. pre_crc:0x5EBA, mem_crc:0x8EC0, reg_crc:0x4BBB, cc_crc:0x22FC +Testing btst_reg_reg...done. pre_crc:0x59CF, mem_crc:0x0000, reg_crc:0x0B37, cc_crc:0x9AF5 +Testing btst_const_reg...done. pre_crc:0x75FB, mem_crc:0x0000, reg_crc:0xB375, cc_crc:0xC5F3 +Testing btst_reg_ind...done. pre_crc:0xEA54, mem_crc:0x0000, reg_crc:0x5A39, cc_crc:0x05E7 +Testing btst_const_ind...done. pre_crc:0xC51C, mem_crc:0x0000, reg_crc:0xECFB, cc_crc:0xE127 +Testing btst_reg_d16...done. pre_crc:0x83C9, mem_crc:0x0000, reg_crc:0x6857, cc_crc:0xB269 +Testing btst_const_d16...done. pre_crc:0x3B60, mem_crc:0x0000, reg_crc:0x5021, cc_crc:0x18B1 +Testing btst_reg_absl...done. pre_crc:0x37FE, mem_crc:0x0000, reg_crc:0x33E1, cc_crc:0x520D +Testing btst_const_absl...done. pre_crc:0x6EC6, mem_crc:0x0000, reg_crc:0xB46F, cc_crc:0x4968 +Testing bfchg_reg...done. pre_crc:0xE3C1, mem_crc:0x0000, reg_crc:0x2142, cc_crc:0x4C04 +Testing bfchg_ind...done. pre_crc:0x122C, mem_crc:0x3300, reg_crc:0xA879, cc_crc:0x6EDC +Testing bfchg_d16...done. pre_crc:0x17AD, mem_crc:0x53CF, reg_crc:0x57D5, cc_crc:0xA939 +Testing bfchg_absl...done. pre_crc:0x1FD4, mem_crc:0x6955, reg_crc:0x8537, cc_crc:0x78BE +Testing bfclr_reg...done. pre_crc:0x7256, mem_crc:0x0000, reg_crc:0xEFDC, cc_crc:0xAD2F +Testing bfclr_ind...done. pre_crc:0xE77E, mem_crc:0x712B, reg_crc:0xE083, cc_crc:0x9131 +Testing bfclr_d16...done. pre_crc:0x8DEA, mem_crc:0x73C1, reg_crc:0x96D1, cc_crc:0x85D9 +Testing bfclr_absl...done. pre_crc:0xC28E, mem_crc:0xF838, reg_crc:0x745A, cc_crc:0x607B +Testing bfset_reg...done. pre_crc:0x49D1, mem_crc:0x0000, reg_crc:0x6C44, cc_crc:0x0BD9 +Testing bfset_ind...done. pre_crc:0x55A4, mem_crc:0x7295, reg_crc:0xB9A7, cc_crc:0x4A6D +Testing bfset_d16...done. pre_crc:0xDEA8, mem_crc:0x9069, reg_crc:0x1809, cc_crc:0xFB76 +Testing bfset_absl...done. pre_crc:0x81AF, mem_crc:0x550C, reg_crc:0x381C, cc_crc:0x5246 +Testing bftst_reg...done. pre_crc:0xA00E, mem_crc:0x0000, reg_crc:0x4184, cc_crc:0x59E4 +Testing bftst_ind...done. pre_crc:0x9EFB, mem_crc:0x0000, reg_crc:0xAC48, cc_crc:0x7787 +Testing bftst_d16...done. pre_crc:0xEFF7, mem_crc:0x0000, reg_crc:0x4040, cc_crc:0x790E +Testing bftst_absl...done. pre_crc:0x815B, mem_crc:0x0000, reg_crc:0xF05F, cc_crc:0x17DD +Testing bfexts_reg...done. pre_crc:0xFD0D, mem_crc:0x0000, reg_crc:0x0D25, cc_crc:0xEA23 +Testing bfexts_ind...done. pre_crc:0x6AE1, mem_crc:0x0000, reg_crc:0xCF8E, cc_crc:0x415C +Testing bfexts_d16...done. pre_crc:0xA5FF, mem_crc:0x0000, reg_crc:0x7EFF, cc_crc:0xD16A +Testing bfexts_absl...done. pre_crc:0xDF56, mem_crc:0x0000, reg_crc:0x46F1, cc_crc:0xAC18 +Testing bfextu_reg...done. pre_crc:0x8EB1, mem_crc:0x0000, reg_crc:0x162F, cc_crc:0xC63A +Testing bfextu_ind...done. pre_crc:0xB192, mem_crc:0x0000, reg_crc:0xCA44, cc_crc:0x6E57 +Testing bfextu_d16...done. pre_crc:0x3861, mem_crc:0x0000, reg_crc:0x841E, cc_crc:0x93BD +Testing bfextu_absl...done. pre_crc:0x5AA1, mem_crc:0x0000, reg_crc:0x0617, cc_crc:0x3446 +Testing bfffo_reg...done. pre_crc:0xE35A, mem_crc:0x0000, reg_crc:0x1592, cc_crc:0xC4B3 +Testing bfffo_ind...done. pre_crc:0x94DB, mem_crc:0x0000, reg_crc:0x0AFA, cc_crc:0xF071 +Testing bfffo_d16...done. pre_crc:0x8AD3, mem_crc:0x0000, reg_crc:0xF32D, cc_crc:0xE6C8 +Testing bfffo_absl...done. pre_crc:0x4AF7, mem_crc:0x0000, reg_crc:0xAB3B, cc_crc:0xFB8A +Testing bfins_reg...done. pre_crc:0x9D4B, mem_crc:0x0000, reg_crc:0xDAEA, cc_crc:0xDFAE +Testing bfins_ind...done. pre_crc:0x38B3, mem_crc:0x3AB7, reg_crc:0xF6B1, cc_crc:0xD976 +Testing bfins_d16...done. pre_crc:0xEC09, mem_crc:0x99A3, reg_crc:0xBC01, cc_crc:0x643E +Testing bfins_absl...done. pre_crc:0x4910, mem_crc:0x54F2, reg_crc:0xDB88, cc_crc:0xF7E3 +Testing bsr_b...done. pre_crc:0x6575, mem_crc:0x6C4E, reg_crc:0x160B, cc_crc:0xF7BF +Testing bsr_w...done. pre_crc:0xE3DF, mem_crc:0x9963, reg_crc:0x8575, cc_crc:0x20AE +Testing bsr_l...done. pre_crc:0xD1E3, mem_crc:0xEB96, reg_crc:0xA33F, cc_crc:0x8943 +Testing cas_ind...done. pre_crc:0xCBCA, mem_crc:0x8B56, reg_crc:0x0036, cc_crc:0x11E1 +Testing cas2_areg...done. pre_crc:0x66FE, mem_crc:0x65BE, reg_crc:0x796B, cc_crc:0xBF83 +Testing cas2_anyreg...done. pre_crc:0xF01E, mem_crc:0xB652, reg_crc:0xEAD0, cc_crc:0x99ED +Testing clr_reg...done. pre_crc:0x184F, mem_crc:0x0000, reg_crc:0xBAAE, cc_crc:0xA6DE +Testing clrb_ind...done. pre_crc:0x78F9, mem_crc:0xC24F, reg_crc:0x7E69, cc_crc:0x050C +Testing clrwl_ind...done. pre_crc:0x4D59, mem_crc:0xD282, reg_crc:0xA38B, cc_crc:0x05BE +Testing clrb_absl...done. pre_crc:0xB2EA, mem_crc:0x3635, reg_crc:0x0500, cc_crc:0xECE3 +Testing clrwl_absl...done. pre_crc:0x143C, mem_crc:0x20C7, reg_crc:0xF327, cc_crc:0xE888 +Testing cmp_dreg...done. pre_crc:0xAD09, mem_crc:0x0000, reg_crc:0xB083, cc_crc:0x7980 +Testing cmp_areg...done. pre_crc:0x6700, mem_crc:0x0000, reg_crc:0xAD8C, cc_crc:0xA59A +Testing cmpb_ind...done. pre_crc:0x128C, mem_crc:0x0000, reg_crc:0x1109, cc_crc:0xB7B7 +Testing cmpwl_ind...done. pre_crc:0xA0E8, mem_crc:0x0000, reg_crc:0xE78D, cc_crc:0x9279 +Testing cmpb_d16...done. pre_crc:0x96C7, mem_crc:0x0000, reg_crc:0x075B, cc_crc:0x72DE +Testing cmpwl_d16...done. pre_crc:0x7922, mem_crc:0x0000, reg_crc:0xD2B8, cc_crc:0x83FB +Testing cmpa_reg...done. pre_crc:0xB6B7, mem_crc:0x0000, reg_crc:0x143F, cc_crc:0xD0C1 +Testing cmpa_ind...done. pre_crc:0xA5DB, mem_crc:0x0000, reg_crc:0x06B1, cc_crc:0x0977 +Testing cmpa_ind2...done. pre_crc:0xFC4E, mem_crc:0x0000, reg_crc:0x2079, cc_crc:0x245C +Testing cmpa_d16...done. pre_crc:0x0F47, mem_crc:0x0000, reg_crc:0x6F2D, cc_crc:0x96FA +Testing cmpa_d16_2...done. pre_crc:0x2679, mem_crc:0x0000, reg_crc:0x8293, cc_crc:0x1643 +Testing cmpa_absl...done. pre_crc:0x59F5, mem_crc:0x0000, reg_crc:0xD620, cc_crc:0x1315 +Testing cmpibw_reg...done. pre_crc:0x8906, mem_crc:0x0000, reg_crc:0x264F, cc_crc:0x8E05 +Testing cmpil_reg...done. pre_crc:0x2B5B, mem_crc:0x0000, reg_crc:0x5C1D, cc_crc:0xF3B8 +Testing cmpib_ind...done. pre_crc:0x05AB, mem_crc:0x0000, reg_crc:0x6D85, cc_crc:0x4747 +Testing cmpiw_ind...done. pre_crc:0xBF04, mem_crc:0x0000, reg_crc:0x1091, cc_crc:0x8F1A +Testing cmpil_ind...done. pre_crc:0x1650, mem_crc:0x0000, reg_crc:0x1943, cc_crc:0xF4CB +Testing cmpmb...done. pre_crc:0x0AA7, mem_crc:0x0000, reg_crc:0x4869, cc_crc:0x2D2E +Testing cmpmwl...done. pre_crc:0x17BA, mem_crc:0x0000, reg_crc:0x7C45, cc_crc:0x6005 +Testing cmp2b_ind...done. pre_crc:0x1BFE, mem_crc:0x0000, reg_crc:0xC2DF, cc_crc:0x724B +Testing cmp2wl_ind...done. pre_crc:0x3704, mem_crc:0x0000, reg_crc:0xD92F, cc_crc:0xE82E +Testing dbcc...done. pre_crc:0x64CB, mem_crc:0x0000, reg_crc:0xBBC5, cc_crc:0xB45F +Testing divs_reg...done. pre_crc:0xEDF5, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0xAFA0 +Testing divs_same_reg...done. pre_crc:0x105D, mem_crc:0x0000, reg_crc:0x2EFF, cc_crc:0x1FF8 +Testing divs_ind...done. pre_crc:0x8560, mem_crc:0x0000, reg_crc:0xB2E1, cc_crc:0xD2C0 +Testing divs_absl...done. pre_crc:0xDF1E, mem_crc:0x0000, reg_crc:0x283C, cc_crc:0x32B5 +Testing divu_reg...done. pre_crc:0x50E9, mem_crc:0x0000, reg_crc:0x60E7, cc_crc:0xEC64 +Testing divu_same_reg...done. pre_crc:0x920F, mem_crc:0x0000, reg_crc:0x0FB2, cc_crc:0xC9C0 +Testing divu_ind...done. pre_crc:0xB6F9, mem_crc:0x0000, reg_crc:0x28C6, cc_crc:0xC30F +Testing divu_absl...done. pre_crc:0xB267, mem_crc:0x0000, reg_crc:0xE774, cc_crc:0xE2FA +Testing divul_ll_reg...done. pre_crc:0x6877, mem_crc:0x0000, reg_crc:0x519D, cc_crc:0x4583 +Testing divul_ll_ind...done. pre_crc:0xB068, mem_crc:0x0000, reg_crc:0xDD47, cc_crc:0xB031 +Testing divul_ll_absl...done. pre_crc:0xDFED, mem_crc:0x0000, reg_crc:0xEDFC, cc_crc:0x7D03 +Testing eor_reg...done. pre_crc:0xB900, mem_crc:0x0000, reg_crc:0x796E, cc_crc:0xD48D +Testing eor_ind...done. pre_crc:0xFCBB, mem_crc:0x9C96, reg_crc:0xD1F3, cc_crc:0x7652 +Testing eor_d16...done. pre_crc:0x14DF, mem_crc:0xB98F, reg_crc:0x7525, cc_crc:0x7E3A +Testing eor_absl...done. pre_crc:0x1556, mem_crc:0xE661, reg_crc:0x1E24, cc_crc:0x2D1B +Testing eoribw_dreg...done. pre_crc:0x14D3, mem_crc:0x0000, reg_crc:0x8A0D, cc_crc:0xD81D +Testing eoril_dreg...done. pre_crc:0xF15F, mem_crc:0x0000, reg_crc:0x0681, cc_crc:0x2C04 +Testing eoribw_ind...done. pre_crc:0x6075, mem_crc:0xBE1B, reg_crc:0xB8CA, cc_crc:0xCDBA +Testing eoril_ind...done. pre_crc:0xD657, mem_crc:0x95E4, reg_crc:0x0E01, cc_crc:0xB884 +Testing eoribw_d16...done. pre_crc:0xD1EB, mem_crc:0xFB91, reg_crc:0xD86C, cc_crc:0x55BE +Testing eoril_d16...done. pre_crc:0x30D0, mem_crc:0xFCBD, reg_crc:0x688C, cc_crc:0x8675 +Testing eoribw_absl...done. pre_crc:0x83EE, mem_crc:0xDD24, reg_crc:0xE637, cc_crc:0x86A4 +Testing eoril_absl...done. pre_crc:0xAC43, mem_crc:0xEF13, reg_crc:0x8B72, cc_crc:0x89C4 +Testing eori_to_ccr...done. pre_crc:0x042A, mem_crc:0x0000, reg_crc:0x7B1B, cc_crc:0xF3F0 +Testing exg...done. pre_crc:0x6DC4, mem_crc:0x0000, reg_crc:0xFC5A, cc_crc:0xAE52 +Testing ext...done. pre_crc:0xEFE4, mem_crc:0x0000, reg_crc:0x17CC, cc_crc:0x2619 +Testing jmp_absl...done. pre_crc:0xE100, mem_crc:0x0000, reg_crc:0x4C79, cc_crc:0x0EF1 +Testing jmp_ind...done. pre_crc:0x75F4, mem_crc:0x0000, reg_crc:0x96DD, cc_crc:0x9DC8 +Testing jmp_d16...done. pre_crc:0xE0A0, mem_crc:0x0000, reg_crc:0xB561, cc_crc:0xC840 +Testing jsr_absl...done. pre_crc:0xEB41, mem_crc:0x9DFB, reg_crc:0xF140, cc_crc:0x759B +Testing jsr_ind...done. pre_crc:0xB88D, mem_crc:0x668B, reg_crc:0xDC67, cc_crc:0x926D +Testing jsr_d16...done. pre_crc:0x9088, mem_crc:0x8A37, reg_crc:0x0CBE, cc_crc:0xF86B +Testing lea_ind...done. pre_crc:0xD3C2, mem_crc:0x0000, reg_crc:0xD3A7, cc_crc:0x34F2 +Testing lea_d16...done. pre_crc:0x9B43, mem_crc:0x0000, reg_crc:0xACC0, cc_crc:0xF309 +Testing lea_absw...done. pre_crc:0xCB5C, mem_crc:0x0000, reg_crc:0x56F5, cc_crc:0x8F94 +Testing lea_absl...done. pre_crc:0xBB57, mem_crc:0x0000, reg_crc:0xD2EB, cc_crc:0x335A +Testing linkw...done. pre_crc:0xC5FF, mem_crc:0x4A97, reg_crc:0x422B, cc_crc:0xD447 +Testing linkl...done. pre_crc:0x2C3B, mem_crc:0x020D, reg_crc:0x67A1, cc_crc:0x9815 +Testing move16_postinc_postinc...done. pre_crc:0x0201, mem_crc:0x5B1A, reg_crc:0x0B5D, cc_crc:0x9132 +Testing move16_absl_ind...done. pre_crc:0x966A, mem_crc:0x406B, reg_crc:0xB75C, cc_crc:0xFC24 +Testing move16_absl_postinc...done. pre_crc:0x8B3D, mem_crc:0x41CC, reg_crc:0x7E6A, cc_crc:0x60A0 +Testing move16_ind_absl...done. pre_crc:0xB45B, mem_crc:0xA257, reg_crc:0xA65A, cc_crc:0xE847 +Testing move16_postinc_absl...done. pre_crc:0x78DF, mem_crc:0x9829, reg_crc:0x837C, cc_crc:0x770C +Testing moveb_dreg_dreg...done. pre_crc:0x1446, mem_crc:0x0000, reg_crc:0xD86A, cc_crc:0x712B +Testing movewl_reg_dreg...done. pre_crc:0x608D, mem_crc:0x0000, reg_crc:0xBC4C, cc_crc:0x1CA4 +Testing moveb_ind_dreg...done. pre_crc:0x386A, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0x474B +Testing movewl_ind_dreg...done. pre_crc:0xA606, mem_crc:0x0000, reg_crc:0xFC60, cc_crc:0xC75E +Testing moveb_d16_dreg...done. pre_crc:0x1B99, mem_crc:0x0000, reg_crc:0x608B, cc_crc:0x0587 +Testing movewl_d16_dreg...done. pre_crc:0xA311, mem_crc:0x0000, reg_crc:0xFFD8, cc_crc:0xA0AF +Testing moveb_absl_dreg...done. pre_crc:0x0DF0, mem_crc:0x0000, reg_crc:0x566F, cc_crc:0x5EFE +Testing movewl_absl_dreg...done. pre_crc:0x6AE0, mem_crc:0x0000, reg_crc:0x0048, cc_crc:0x7B6A +Testing movebw_const_dreg...done. pre_crc:0x8620, mem_crc:0x0000, reg_crc:0xA65F, cc_crc:0x6DAE +Testing movel_const_dreg...done. pre_crc:0x7CE7, mem_crc:0x0000, reg_crc:0x8F97, cc_crc:0x8433 +Testing moveb_dreg_ind...done. pre_crc:0x2865, mem_crc:0x75E6, reg_crc:0x577C, cc_crc:0x2800 +Testing movewl_reg_ind...done. pre_crc:0x7A60, mem_crc:0xFDF4, reg_crc:0x5BE3, cc_crc:0xBF75 +Testing moveb_dreg_d16...done. pre_crc:0xC868, mem_crc:0x80C7, reg_crc:0x0572, cc_crc:0x1F40 +Testing movewl_reg_d16...done. pre_crc:0x6B5D, mem_crc:0xE59E, reg_crc:0xB04A, cc_crc:0x426C +Testing moveb_dreg_absl...done. pre_crc:0xF3F0, mem_crc:0x3D73, reg_crc:0xE05D, cc_crc:0x2D28 +Testing movewl_reg_absl...done. pre_crc:0x24AC, mem_crc:0x62EC, reg_crc:0x22ED, cc_crc:0x55B8 +Testing moveb_ind_ind...done. pre_crc:0x653D, mem_crc:0xA783, reg_crc:0x8657, cc_crc:0xFAB2 +Testing moveb_ind_d16...done. pre_crc:0xAACF, mem_crc:0x5DC1, reg_crc:0xDAB3, cc_crc:0xCA87 +Testing moveb_d16_ind...done. pre_crc:0xD6F8, mem_crc:0xD391, reg_crc:0xB2B2, cc_crc:0x6108 +Testing movewl_ind_d16...done. pre_crc:0x728F, mem_crc:0x546E, reg_crc:0x211E, cc_crc:0xB094 +Testing movewl_d16_ind...done. pre_crc:0xC8B6, mem_crc:0x6536, reg_crc:0xECE0, cc_crc:0x2B6A +Testing moveb_d16_d16...done. pre_crc:0x7B41, mem_crc:0xDE9F, reg_crc:0x2218, cc_crc:0x4531 +Testing movewl_d16_d16...done. pre_crc:0x3613, mem_crc:0x92E6, reg_crc:0x21A9, cc_crc:0x5F05 +Testing moveb_ind_absl...done. pre_crc:0x8812, mem_crc:0xE2F3, reg_crc:0x41B8, cc_crc:0x3FB4 +Testing movewl_ind_absl...done. pre_crc:0x3800, mem_crc:0x6CA9, reg_crc:0x129C, cc_crc:0xDAC2 +Testing moveb_absl_ind...done. pre_crc:0x6043, mem_crc:0x82BD, reg_crc:0x8BC3, cc_crc:0x8AF8 +Testing movewl_absl_ind...done. pre_crc:0x1A32, mem_crc:0x9CD8, reg_crc:0x47DE, cc_crc:0x71F0 +Testing moveb_absl_absl...done. pre_crc:0x3039, mem_crc:0x2E4D, reg_crc:0x0AC6, cc_crc:0x8B99 +Testing movewl_absl_absl...done. pre_crc:0x556A, mem_crc:0xC924, reg_crc:0x2B59, cc_crc:0x5E5E +Testing moveb_d16_absl...done. pre_crc:0x77A7, mem_crc:0x734A, reg_crc:0x9C3F, cc_crc:0xDC25 +Testing movewl_d16_absl...done. pre_crc:0x7544, mem_crc:0x4F6D, reg_crc:0xDC7A, cc_crc:0xF4F1 +Testing moveb_absl_d16...done. pre_crc:0xC4FD, mem_crc:0x9DBA, reg_crc:0x98E3, cc_crc:0x0F42 +Testing movewl_absl_d16...done. pre_crc:0xAEBD, mem_crc:0xBFD3, reg_crc:0xB805, cc_crc:0x4EE4 +Testing moveb_const_ind...done. pre_crc:0xDC49, mem_crc:0x2CD6, reg_crc:0x6074, cc_crc:0xA96A +Testing moveb_const_d16...done. pre_crc:0x2C58, mem_crc:0xE385, reg_crc:0xB78E, cc_crc:0x156D +Testing moveb_const_absl...done. pre_crc:0xD0DB, mem_crc:0x3B23, reg_crc:0x843C, cc_crc:0x75F7 +Testing movew_const_ind...done. pre_crc:0xD536, mem_crc:0xAC69, reg_crc:0x7DB1, cc_crc:0x5C81 +Testing movew_const_d16...done. pre_crc:0xAFE0, mem_crc:0xE010, reg_crc:0xD2C3, cc_crc:0xA060 +Testing movew_const_absl...done. pre_crc:0x9967, mem_crc:0x0407, reg_crc:0x0A14, cc_crc:0x4A1A +Testing movel_const_ind...done. pre_crc:0xE8F0, mem_crc:0x7CF1, reg_crc:0x6808, cc_crc:0x2128 +Testing movel_const_d16...done. pre_crc:0xC70E, mem_crc:0x2144, reg_crc:0x34EC, cc_crc:0x9285 +Testing movel_const_absl...done. pre_crc:0xBE84, mem_crc:0xBF38, reg_crc:0x1AD3, cc_crc:0x2812 +Testing movea_reg...done. pre_crc:0x3D5F, mem_crc:0x0000, reg_crc:0x5E7F, cc_crc:0xED56 +Testing movea_ind...done. pre_crc:0x30A8, mem_crc:0x0000, reg_crc:0xD7CA, cc_crc:0x274D +Testing movea_d16...done. pre_crc:0xD51E, mem_crc:0x0000, reg_crc:0x5E9D, cc_crc:0xF6C5 +Testing movea_absl...done. pre_crc:0x4B9C, mem_crc:0x0000, reg_crc:0xA794, cc_crc:0x8F6D +Testing moveaw_const...done. pre_crc:0x11F1, mem_crc:0x0000, reg_crc:0xCB70, cc_crc:0x43AE +Testing moveal_const...done. pre_crc:0x4137, mem_crc:0x0000, reg_crc:0x772B, cc_crc:0x4ACB +Testing move_from_ccr_dreg...done. pre_crc:0x7DC7, mem_crc:0x0000, reg_crc:0xD756, cc_crc:0x5B9E +Testing move_from_ccr_ind...done. pre_crc:0x8551, mem_crc:0x0000, reg_crc:0x6CC0, cc_crc:0x3A30 +Testing move_from_ccr_d16...done. pre_crc:0x5315, mem_crc:0x0000, reg_crc:0xF3F9, cc_crc:0x26B3 +Testing move_to_ccr_reg...done. pre_crc:0x6E37, mem_crc:0x0000, reg_crc:0x4422, cc_crc:0xCCEB +Testing move_to_ccr_ind...done. pre_crc:0x4042, mem_crc:0x0000, reg_crc:0x5974, cc_crc:0xBB78 +Testing movem_to_ind...done. pre_crc:0xBED9, mem_crc:0x71F5, reg_crc:0xB25F, cc_crc:0xC83B +Testing movem_to_predec...done. pre_crc:0xF4E1, mem_crc:0x12B8, reg_crc:0xCDDC, cc_crc:0x4BBB +Testing movem_to_d16...done. pre_crc:0x626D, mem_crc:0x8F2A, reg_crc:0xE523, cc_crc:0x2061 +Testing movem_to_absl...done. pre_crc:0xB9A3, mem_crc:0xE739, reg_crc:0x0372, cc_crc:0x98E3 +Testing movem_from_d16...done. pre_crc:0xC2DE, mem_crc:0x0000, reg_crc:0x0A3A, cc_crc:0xD703 +Testing movem_from_ind...done. pre_crc:0xC95C, mem_crc:0x0000, reg_crc:0x5077, cc_crc:0x30AC +Testing movem_from_absl...done. pre_crc:0x066D, mem_crc:0x0000, reg_crc:0x2D5F, cc_crc:0x5A3A +Testing movep_to_mem...done. pre_crc:0x3778, mem_crc:0xAD61, reg_crc:0xF88C, cc_crc:0x9D38 +Testing movep_from_mem...done. pre_crc:0xC80C, mem_crc:0x0000, reg_crc:0xA982, cc_crc:0xCC09 +Testing moveq...done. pre_crc:0xE528, mem_crc:0x0000, reg_crc:0xE13F, cc_crc:0x4A91 +Testing mulsw_dreg...done. pre_crc:0xD7D6, mem_crc:0x0000, reg_crc:0x7F1C, cc_crc:0x2FE9 +Testing mulsw_ind...done. pre_crc:0x2170, mem_crc:0x0000, reg_crc:0xF9F9, cc_crc:0xBF92 +Testing mulsw_d16...done. pre_crc:0x011D, mem_crc:0x0000, reg_crc:0xB1FA, cc_crc:0x4790 +Testing mulsw_absl...done. pre_crc:0x42E4, mem_crc:0x0000, reg_crc:0xE56B, cc_crc:0x6E45 +Testing muluw_dreg...done. pre_crc:0xF77E, mem_crc:0x0000, reg_crc:0xF223, cc_crc:0x3FDD +Testing muluw_ind...done. pre_crc:0x64D3, mem_crc:0x0000, reg_crc:0xE15F, cc_crc:0x167A +Testing muluw_d16...done. pre_crc:0xF0C6, mem_crc:0x0000, reg_crc:0x0A48, cc_crc:0x69B2 +Testing muluw_absl...done. pre_crc:0x9042, mem_crc:0x0000, reg_crc:0x8991, cc_crc:0xA0F0 +Testing mulsl_dreg...done. pre_crc:0x86B4, mem_crc:0x0000, reg_crc:0xA6AF, cc_crc:0xA84A +Testing mulsl_ind...done. pre_crc:0xAFF2, mem_crc:0x0000, reg_crc:0x12EB, cc_crc:0xEED1 +Testing mulsl_d16...done. pre_crc:0x64EB, mem_crc:0x0000, reg_crc:0x5B70, cc_crc:0x6B29 +Testing mulsl_absl...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0xAECE, cc_crc:0x90F5 +Testing mulul_dreg...done. pre_crc:0x18BB, mem_crc:0x0000, reg_crc:0x56BB, cc_crc:0x658B +Testing mulul_ind...done. pre_crc:0x3207, mem_crc:0x0000, reg_crc:0x307E, cc_crc:0x8AF7 +Testing mulul_d16...done. pre_crc:0x5E5C, mem_crc:0x0000, reg_crc:0x6635, cc_crc:0xADDA +Testing mulul_absl...done. pre_crc:0x12B1, mem_crc:0x0000, reg_crc:0x80E9, cc_crc:0x1ABA +Testing nbcd_reg...done. pre_crc:0x5C12, mem_crc:0x0000, reg_crc:0xDE14, cc_crc:0xA987 +Testing nbcd_ind...done. pre_crc:0x786C, mem_crc:0x928A, reg_crc:0x31A1, cc_crc:0xF56A +Testing nbcd_d16...done. pre_crc:0x15A6, mem_crc:0x61CE, reg_crc:0xDE2E, cc_crc:0x5B0B +Testing nbcd_absl...done. pre_crc:0x99C5, mem_crc:0x92D5, reg_crc:0x3ECE, cc_crc:0x7046 +Testing neg_reg...done. pre_crc:0x29F7, mem_crc:0x0000, reg_crc:0x8E82, cc_crc:0x4A0D +Testing negb_ind...done. pre_crc:0x62BE, mem_crc:0xD3C4, reg_crc:0x8E47, cc_crc:0xD5DF +Testing negwl_ind...done. pre_crc:0x80D3, mem_crc:0x224E, reg_crc:0xDCDC, cc_crc:0x453E +Testing negb_d16...done. pre_crc:0xD76F, mem_crc:0x4DE8, reg_crc:0x2F3D, cc_crc:0x3CDD +Testing negwl_d16...done. pre_crc:0xB771, mem_crc:0xD474, reg_crc:0x0716, cc_crc:0x43A7 +Testing neg_absl...done. pre_crc:0x5A4E, mem_crc:0xCCB1, reg_crc:0xBD2E, cc_crc:0x6D34 +Testing negx_reg...done. pre_crc:0xD639, mem_crc:0x0000, reg_crc:0xC071, cc_crc:0xB0A2 +Testing negxb_ind...done. pre_crc:0x5E8F, mem_crc:0x91FB, reg_crc:0xD385, cc_crc:0x8474 +Testing negxwl_ind...done. pre_crc:0x9887, mem_crc:0xF518, reg_crc:0x379E, cc_crc:0xA42A +Testing negxb_d16...done. pre_crc:0x34B6, mem_crc:0xABD6, reg_crc:0x11E8, cc_crc:0xB5BC +Testing negxwl_d16...done. pre_crc:0x3F9A, mem_crc:0x5918, reg_crc:0xC530, cc_crc:0xB221 +Testing negx_absl...done. pre_crc:0x6CF1, mem_crc:0x6175, reg_crc:0x0BF1, cc_crc:0x6063 +Testing nop...done. pre_crc:0xFA02, mem_crc:0x0000, reg_crc:0xFAC0, cc_crc:0x1B82 +Testing not_reg...done. pre_crc:0xD090, mem_crc:0x0000, reg_crc:0xA960, cc_crc:0xF5CC +Testing notb_ind...done. pre_crc:0x9CD7, mem_crc:0x64FE, reg_crc:0x72EE, cc_crc:0x6559 +Testing notwl_ind...done. pre_crc:0xCE5E, mem_crc:0x0470, reg_crc:0xCDC4, cc_crc:0x86C7 +Testing notb_d16...done. pre_crc:0x4B01, mem_crc:0xCDDC, reg_crc:0xB2BB, cc_crc:0x7B90 +Testing notwl_d16...done. pre_crc:0x9ECB, mem_crc:0xA475, reg_crc:0xC4E3, cc_crc:0x708F +Testing not_absl...done. pre_crc:0x913E, mem_crc:0x5185, reg_crc:0x9B4F, cc_crc:0x16C8 +Testing or_dreg_dreg...done. pre_crc:0xD216, mem_crc:0x0000, reg_crc:0x7E60, cc_crc:0x2932 +Testing or_ind_dreg...done. pre_crc:0x0383, mem_crc:0x0000, reg_crc:0xF3A0, cc_crc:0x065A +Testing or_d16_dreg...done. pre_crc:0xF784, mem_crc:0x0000, reg_crc:0xD70C, cc_crc:0x9A96 +Testing or_absl_dreg...done. pre_crc:0x6BF1, mem_crc:0x0000, reg_crc:0x3FDD, cc_crc:0x242B +Testing orbw_const_dreg...done. pre_crc:0x4079, mem_crc:0x0000, reg_crc:0x9FED, cc_crc:0x358E +Testing orl_const_dreg...done. pre_crc:0xE59F, mem_crc:0x0000, reg_crc:0x974F, cc_crc:0x0AB4 +Testing or_dreg_ind...done. pre_crc:0xCE6F, mem_crc:0xB40A, reg_crc:0xA547, cc_crc:0xA41C +Testing or_dreg_d16...done. pre_crc:0x2300, mem_crc:0x7259, reg_crc:0xCD16, cc_crc:0xBB99 +Testing or_dreg_absl...done. pre_crc:0x23E6, mem_crc:0xA8D3, reg_crc:0x9390, cc_crc:0x2CFE +Testing oribw_dreg...done. pre_crc:0x2A2C, mem_crc:0x0000, reg_crc:0xEFEF, cc_crc:0x8998 +Testing oril_dreg...done. pre_crc:0x6559, mem_crc:0x0000, reg_crc:0x7809, cc_crc:0xB551 +Testing oribw_ind...done. pre_crc:0x1A93, mem_crc:0xB99D, reg_crc:0xE591, cc_crc:0xCA47 +Testing oril_ind...done. pre_crc:0xA590, mem_crc:0x217B, reg_crc:0x06F6, cc_crc:0x8985 +Testing oribw_d16...done. pre_crc:0xB1D9, mem_crc:0xEBAA, reg_crc:0xBDE8, cc_crc:0x5219 +Testing oril_d16...done. pre_crc:0x3C34, mem_crc:0x7869, reg_crc:0x40CB, cc_crc:0x63B2 +Testing oribw_absl...done. pre_crc:0x6F52, mem_crc:0x4FDA, reg_crc:0x5C24, cc_crc:0xE531 +Testing oril_absl...done. pre_crc:0xB9B0, mem_crc:0x0CA9, reg_crc:0x6C0A, cc_crc:0xC93F +Testing ori_to_ccr...done. pre_crc:0xB59F, mem_crc:0x0000, reg_crc:0xFC65, cc_crc:0xAA7D +Testing pack_reg...done. pre_crc:0x2948, mem_crc:0x0000, reg_crc:0xE8A6, cc_crc:0x679D +Testing pack_mem...done. pre_crc:0xCE0F, mem_crc:0x5A95, reg_crc:0xA73D, cc_crc:0xD2D8 +Testing pea_ind...done. pre_crc:0xDE42, mem_crc:0x2242, reg_crc:0xACF3, cc_crc:0x7FC4 +Testing pea_d16...done. pre_crc:0xC728, mem_crc:0x6EE9, reg_crc:0xCCF9, cc_crc:0x8057 +Testing pea_absw...done. pre_crc:0x8F11, mem_crc:0x25B0, reg_crc:0x2B4B, cc_crc:0xCB68 +Testing pea_absl...done. pre_crc:0xF174, mem_crc:0xAFD1, reg_crc:0x5614, cc_crc:0x920D +Testing rol_dx_dy...done. pre_crc:0x0293, mem_crc:0x0000, reg_crc:0x3734, cc_crc:0x951D +Testing rol_const_dy...done. pre_crc:0xCD40, mem_crc:0x0000, reg_crc:0xB7F5, cc_crc:0xB046 +Testing rol_ind...done. pre_crc:0xF976, mem_crc:0xF14F, reg_crc:0x14D4, cc_crc:0x9726 +Testing rol_d16...done. pre_crc:0xE442, mem_crc:0xE9A4, reg_crc:0xA240, cc_crc:0x6BF7 +Testing rol_absl...done. pre_crc:0x5B0F, mem_crc:0xDC34, reg_crc:0xCF4B, cc_crc:0xF729 +Testing ror_dx_dy...done. pre_crc:0x69FA, mem_crc:0x0000, reg_crc:0x154C, cc_crc:0xFE0B +Testing ror_const_dy...done. pre_crc:0x2820, mem_crc:0x0000, reg_crc:0x48F3, cc_crc:0xB228 +Testing ror_ind...done. pre_crc:0xA973, mem_crc:0x289A, reg_crc:0xA4DF, cc_crc:0xACCA +Testing ror_d16...done. pre_crc:0xF3B3, mem_crc:0x3566, reg_crc:0x1A1C, cc_crc:0x4236 +Testing ror_absl...done. pre_crc:0xF6AA, mem_crc:0xB1A6, reg_crc:0x86D0, cc_crc:0xFD97 +Testing roxl_dx_dy...done. pre_crc:0x266E, mem_crc:0x0000, reg_crc:0x7CF4, cc_crc:0x9B54 +Testing roxl_const_dy...done. pre_crc:0xC46C, mem_crc:0x0000, reg_crc:0x9DCD, cc_crc:0x8E35 +Testing roxl_ind...done. pre_crc:0x844F, mem_crc:0x3065, reg_crc:0xBB22, cc_crc:0x79E5 +Testing roxl_d16...done. pre_crc:0x21A3, mem_crc:0x4319, reg_crc:0x0816, cc_crc:0x8991 +Testing roxl_absl...done. pre_crc:0xD401, mem_crc:0xD0CE, reg_crc:0x7E18, cc_crc:0x5644 +Testing roxr_dx_dy...done. pre_crc:0x397E, mem_crc:0x0000, reg_crc:0x1A57, cc_crc:0x17B7 +Testing roxr_const_dy...done. pre_crc:0xE9FC, mem_crc:0x0000, reg_crc:0xC243, cc_crc:0x3C22 +Testing roxr_ind...done. pre_crc:0x0B05, mem_crc:0x1C86, reg_crc:0x9897, cc_crc:0xD7BD +Testing roxr_d16...done. pre_crc:0x7847, mem_crc:0x4C2A, reg_crc:0x5B86, cc_crc:0xA527 +Testing roxr_absl...done. pre_crc:0x6F25, mem_crc:0x1F0D, reg_crc:0xEF25, cc_crc:0xAE13 +Testing rtd...done. pre_crc:0xECE3, mem_crc:0x0000, reg_crc:0x601E, cc_crc:0x3B1F +Testing rtr...done. pre_crc:0x39C5, mem_crc:0x0000, reg_crc:0xFD1F, cc_crc:0x92B3 +Testing rts...done. pre_crc:0x5D0F, mem_crc:0x0000, reg_crc:0x8ABF, cc_crc:0x4FD0 +Testing sbcd_reg...done. pre_crc:0xB563, mem_crc:0x0000, reg_crc:0xEAD3, cc_crc:0xB456 +Testing sbcd_mem...done. pre_crc:0x9D24, mem_crc:0x000A, reg_crc:0x8881, cc_crc:0x1855 +Testing Scc_reg...done. pre_crc:0xFC13, mem_crc:0x0000, reg_crc:0x8809, cc_crc:0xD47E +Testing Scc_ind...done. pre_crc:0x0451, mem_crc:0x7218, reg_crc:0x7923, cc_crc:0xEA64 +Testing Scc_d16...done. pre_crc:0xE924, mem_crc:0x7FBC, reg_crc:0xE070, cc_crc:0xB6F7 +Testing Scc_absl...done. pre_crc:0x8FB1, mem_crc:0x86EC, reg_crc:0xB6F4, cc_crc:0xB0D5 +Testing subb_dreg_dreg...done. pre_crc:0x06EC, mem_crc:0x0000, reg_crc:0x407A, cc_crc:0x84F5 +Testing subw_reg_dreg...done. pre_crc:0xEC41, mem_crc:0x0000, reg_crc:0xE9DC, cc_crc:0xA55F +Testing subl_reg_dreg...done. pre_crc:0x90CA, mem_crc:0x0000, reg_crc:0x6ED0, cc_crc:0xC701 +Testing sub_ind_dreg...done. pre_crc:0x831C, mem_crc:0x0000, reg_crc:0xA464, cc_crc:0x37F8 +Testing sub_d16_dreg...done. pre_crc:0x62FD, mem_crc:0x0000, reg_crc:0xC1D3, cc_crc:0xDFF4 +Testing sub_absl_dreg...done. pre_crc:0xD907, mem_crc:0x0000, reg_crc:0x558D, cc_crc:0xAFFF +Testing subb_const_dreg...done. pre_crc:0xD01E, mem_crc:0x0000, reg_crc:0x7362, cc_crc:0xA176 +Testing subw_const_dreg...done. pre_crc:0xDA64, mem_crc:0x0000, reg_crc:0xAAF0, cc_crc:0xD0B3 +Testing subl_const_dreg...done. pre_crc:0xC762, mem_crc:0x0000, reg_crc:0x239E, cc_crc:0x5861 +Testing sub_dreg_ind...done. pre_crc:0x0A80, mem_crc:0x92B6, reg_crc:0xA0E7, cc_crc:0xDA32 +Testing sub_dreg_d16...done. pre_crc:0xE36A, mem_crc:0xCFB1, reg_crc:0x7C75, cc_crc:0x68DC +Testing sub_dreg_absl...done. pre_crc:0x15B3, mem_crc:0x08A2, reg_crc:0xEEBD, cc_crc:0xAAA5 +Testing subaw_reg_areg...done. pre_crc:0xA3BA, mem_crc:0x0000, reg_crc:0x25A8, cc_crc:0xDE9F +Testing subal_reg_areg...done. pre_crc:0x7150, mem_crc:0x0000, reg_crc:0x06BD, cc_crc:0xA8C4 +Testing suba_ind_areg...done. pre_crc:0x7F2A, mem_crc:0x0000, reg_crc:0x49A1, cc_crc:0xB513 +Testing suba_d16_areg...done. pre_crc:0x633C, mem_crc:0x0000, reg_crc:0x55C5, cc_crc:0x2AF7 +Testing suba_absl_areg...done. pre_crc:0x70DF, mem_crc:0x0000, reg_crc:0x5653, cc_crc:0x57B0 +Testing subaw_const_areg...done. pre_crc:0xAC6A, mem_crc:0x0000, reg_crc:0x0D2F, cc_crc:0x5605 +Testing subal_const_areg...done. pre_crc:0x76CE, mem_crc:0x0000, reg_crc:0x2FD9, cc_crc:0xD979 +Testing subibw_dreg...done. pre_crc:0xAFED, mem_crc:0x0000, reg_crc:0xE67F, cc_crc:0x345D +Testing subil_dreg...done. pre_crc:0x2061, mem_crc:0x0000, reg_crc:0x0797, cc_crc:0x3C5F +Testing subibw_ind...done. pre_crc:0xF8F6, mem_crc:0x77E4, reg_crc:0x706D, cc_crc:0x813F +Testing subil_ind...done. pre_crc:0xE88E, mem_crc:0xDDC5, reg_crc:0xDF86, cc_crc:0x0BC1 +Testing subibw_d16...done. pre_crc:0x2289, mem_crc:0x288D, reg_crc:0x0CB4, cc_crc:0xB916 +Testing subil_d16...done. pre_crc:0xB7D0, mem_crc:0x85E9, reg_crc:0x86E5, cc_crc:0x524F +Testing subibw_absl...done. pre_crc:0xE74F, mem_crc:0xBCD5, reg_crc:0xA752, cc_crc:0xE945 +Testing subil_absl...done. pre_crc:0x69AA, mem_crc:0xF50C, reg_crc:0x0653, cc_crc:0xC107 +Testing subq_dreg...done. pre_crc:0x0730, mem_crc:0x0000, reg_crc:0xF2BA, cc_crc:0x600C +Testing subq_areg...done. pre_crc:0x0D62, mem_crc:0x0000, reg_crc:0xE44B, cc_crc:0xBD8E +Testing subq_ind...done. pre_crc:0x4A05, mem_crc:0xCDB9, reg_crc:0x88B8, cc_crc:0x73E9 +Testing subq_d16...done. pre_crc:0x4543, mem_crc:0xFFD4, reg_crc:0x29F1, cc_crc:0xDFDA +Testing subq_absl...done. pre_crc:0x177C, mem_crc:0xA45E, reg_crc:0xA2E6, cc_crc:0x37EF +Testing subx_reg...done. pre_crc:0x99AE, mem_crc:0x0000, reg_crc:0x3A5C, cc_crc:0x153E +Testing subx_mem...done. pre_crc:0x9AD7, mem_crc:0x803E, reg_crc:0x0743, cc_crc:0xE5E9 +Testing swap...done. pre_crc:0xDC94, mem_crc:0x0000, reg_crc:0x16B0, cc_crc:0x6D25 +Testing tas_dreg...done. pre_crc:0x408B, mem_crc:0x0000, reg_crc:0xAB4C, cc_crc:0x15B3 +Testing tas_ind...done. pre_crc:0x0EC3, mem_crc:0x0758, reg_crc:0xDA52, cc_crc:0x0CE8 +Testing tas_d16...done. pre_crc:0x2038, mem_crc:0xFDC2, reg_crc:0x0C71, cc_crc:0x44C3 +Testing tas_absl...done. pre_crc:0x1CDE, mem_crc:0x5618, reg_crc:0x3D0E, cc_crc:0x4466 +Testing tstb_dreg...done. pre_crc:0x254E, mem_crc:0x0000, reg_crc:0xC1EC, cc_crc:0x9928 +Testing tstwl_reg...done. pre_crc:0xF482, mem_crc:0x0000, reg_crc:0xFD46, cc_crc:0xE4D4 +Testing tstb_ind...done. pre_crc:0x2D36, mem_crc:0x0000, reg_crc:0xBB18, cc_crc:0xAD9B +Testing tstwl_ind...done. pre_crc:0x696B, mem_crc:0x0000, reg_crc:0x61D9, cc_crc:0x5FC0 +Testing tstb_d16...done. pre_crc:0xE369, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xEF7C +Testing tstwl_d16...done. pre_crc:0xDF6F, mem_crc:0x0000, reg_crc:0x9D79, cc_crc:0x76FD +Testing tst_absl...done. pre_crc:0x4DF4, mem_crc:0x0000, reg_crc:0x27BD, cc_crc:0x37EA diff --git a/test/glibc.64 b/test/glibc.64 new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.alpha_modded_source_native b/test/glibc.64.alpha_modded_source_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.alpha_modded_source_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.alpha_modded_source_notnative b/test/glibc.64.alpha_modded_source_notnative new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.alpha_modded_source_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.alpha_plus_one_native b/test/glibc.64.alpha_plus_one_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.alpha_plus_one_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.alpha_plus_one_notnative b/test/glibc.64.alpha_plus_one_notnative new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.alpha_plus_one_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.fresh_built_native b/test/glibc.64.fresh_built_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.fresh_built_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.fresh_built_notnative b/test/glibc.64.fresh_built_notnative new file mode 100644 index 0000000..8c04994 --- /dev/null +++ b/test/glibc.64.fresh_built_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x3D83 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x77FA +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0xB1B1 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xE946 +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x0C48 +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x4DC6 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.intermeidate_source_native b/test/glibc.64.intermeidate_source_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.intermeidate_source_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.intermeidate_source_notnative b/test/glibc.64.intermeidate_source_notnative new file mode 100644 index 0000000..8c04994 --- /dev/null +++ b/test/glibc.64.intermeidate_source_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x3D83 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x77FA +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0xB1B1 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xE946 +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x0C48 +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x4DC6 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.latest_native b/test/glibc.64.latest_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.latest_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.latest_notnative b/test/glibc.64.latest_notnative new file mode 100644 index 0000000..3d0e3c8 --- /dev/null +++ b/test/glibc.64.latest_notnative @@ -0,0 +1,236 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0x358E +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0x7DA0 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD5A2 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0x8F49 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0x9754 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x161A +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc... \ No newline at end of file diff --git a/test/glibc.64.new b/test/glibc.64.new new file mode 100644 index 0000000..4d9f0e8 --- /dev/null +++ b/test/glibc.64.new @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0x358E +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0x7DA0 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD5A2 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0x8F49 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0x9754 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x161A +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.new_test_notnative b/test/glibc.64.new_test_notnative new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.new_test_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.newer_define_native b/test/glibc.64.newer_define_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.newer_define_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.newer_define_notnative b/test/glibc.64.newer_define_notnative new file mode 100644 index 0000000..6064b10 --- /dev/null +++ b/test/glibc.64.newer_define_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x4DC6 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.noncc b/test/glibc.64.noncc new file mode 100644 index 0000000..2958b14 --- /dev/null +++ b/test/glibc.64.noncc @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0xD2AA +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xEA16 +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0xE28B +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x32E6 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0x84EE +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x4493 +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0x3CFA +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xB847, cc_crc:0x9E5E +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x4643 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x97FE +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x7A32 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x15DA +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0xA238 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0x4CEA +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x5249 +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0xC2B3 +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0xD421 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0xE93E +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0x92D5 +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x71D7 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0xC6E2 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0xBF75 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0xF737 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0x82A0 +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x2460 +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0x3055 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0xDD53 +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x4DC6 +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0x7A92 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0x0682 +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0xBFBC +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0x2CCB +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x6659 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0x52D6 +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xFB37 +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x56ED +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0xBC49 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0x132C +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0xFB31 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0x08F4 +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0x1D6A +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0x6936 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0xDB87 +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0xDD39 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xD199 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0xBDE4 +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x736B +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x73E0 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0xA294 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x170A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0xB0B5 +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0x7EAA +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x4304 +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0x8CEA +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0x9B37 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x5AAA +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0xA671 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0xB3CE +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0x89D3 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x9A3C +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0x3AD7 +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x806E +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x84F6 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xE5F8 +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x898C +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xA9B2 +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0x2E55 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xC54D +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x7E81 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0x2997 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x7519 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0x32D5 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x8B09 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0x2C15 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0x5CF9 +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xD97A +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0x2561 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x6ED9 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0x3862 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0x32D3 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0xCD32 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0xB394 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0x0E57 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0x94A4 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x587F +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x06D8 +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xAD10 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0x4E55 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0xCED5 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x4E3C +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0x9F1D +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0xFC63 +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0xD562 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0x5816 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0x1308 +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x8853 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0x23E9 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x98B5 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x53C5 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x1061 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xD098 +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xC039 +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0x0CA6 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0xABB6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xA897 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xF92E +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x79FB +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0x71CC +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xB620 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0xD004 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0xCAD7 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0x552E +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0x5D3D +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xBF26 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x4AF4 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xD8BE +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0xEBAA +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0xDB82 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0x33DE +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x0801 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x18D2 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0x53DE +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x9624 +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0xCDFD +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x2F8C +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x8C0B +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0x73CE +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x70FD +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0xB753 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x5CCC +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0xD5E0 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x2839 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0x4A89 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x5EAB +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x7B6C +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0xE33D +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x46BF +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x012F +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0xDBFA +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x8C0E +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0x9183 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0xEF62 +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xF486 +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0xBE30 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x35A0 +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xD36E +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0xE869 +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xBA7F +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x802C +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0x7424 +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0xE1AF +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x0909 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xC220 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0x974F +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0xD3CD +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0xC43B +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3113 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xEDB1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0x908E +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0x065C +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x5192 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC104 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0x233E +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0x756B +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0xEAF2 +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0x8E84 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xA656 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9E04 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0xEB69 +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0xD925 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0xF6F3 +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0x31AB +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0x77B8 +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x75A8 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x17E7 +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0x1C54 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0x95AA +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0x4B11 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0x2DC9 +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xB43F +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0x85B0 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x2F29 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x077F +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0xA83D +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0xF876 +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x962D +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0x3341 +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0x43E9 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xBE5F +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0xDAF8 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x1A31 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0xD4E2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0xC606 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0x363C +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0xB172 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0xE4AA +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0x7818 +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0x3BB6 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0x2D1B +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0x43C2 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0x1BA5 +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0x1D48 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0xAA44 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0xD882 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x13DC +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x9CC5 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x42DB +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xC35C +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x2741 +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0xE46C +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0xFCEE +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0xE2C3 +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0xD23C +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x2D0F +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0xAF8D +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x8D14 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0xAB9B +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x37E0 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0x9F4E +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0xF4B3 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x185A +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0x44F9 +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0xE85A +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x0AC6 +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xD538 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9B9E +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x6DFD +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0xB118 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0x77F9 +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x638E +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5CD8 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xECF4 +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xBDA0 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3909 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0xEC40 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0xB56B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0xBC37 +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0x39BE +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE821 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0xB3A8 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x5374 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x9AA6 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x1178 +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x02BC +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0xEF9E +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x712B +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0xCD61 +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0xB206 +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x9099 +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x49E3 +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0x71EB +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0xE836 +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0xE00B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x9B15 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x9A27 +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0xCCC9 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0x5E0E +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0xF078 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0x533A +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xF0ED +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xE1B8 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0xD91A +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xE82B +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0xF303 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0x60D7 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x856B +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0x92C4 +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0x9553 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x2484 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2887 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0x9959 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xD2BD +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4DC +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xB705 +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x61A4 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0x72D7 +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x72C9 +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0x51FE +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0x6CCA +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0x92E3 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x2F61 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x85D9 +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x41CA +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xB951 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0xD662 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x59FF +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xF30F +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x234A +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0x632B +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xBA08 +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xE717 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xF6A9 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x3D20 +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x7736 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x50FA +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0xB12E +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xEFF8 +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x89CB +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x391E +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0xDE50 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x62EC +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x7B69 +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0xFAD7 +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0xE77E +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0xC14A +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x8FF8 +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0x2428 +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x9F72 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0xC8FB +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0xBBB8 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x4118 +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xCCE2 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0x048A +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0x9B40 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0x6468 +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xE4F3 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0xCEBC +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0x4C16 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0xE169 +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0xE4BD +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0xCB9D +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xE1D2 +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC3BD +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0xBBDD +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x975D +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x84EB +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xC3B4 +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x731F +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0x8448 +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xC843 +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0xAD94 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x3D02 +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0xD5E3 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0xFFD4 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x83AE +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0x75A7 +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x3B07 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xABB3 +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0x9022 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x7BAF +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0xDDCA +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0x993C +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0xE097 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x5AFA +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x46A2 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x1FAE +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x40FE +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x61BA +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x1AA8 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xED4E +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x2329 +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x1256 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0xAA00 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0xEE50 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0xCE98 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xAF99 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0xE6BC +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0xE77B +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xFE75 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0x43E6 +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x405D +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0x6ED9 +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x8456 +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1ED8 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0xF43B +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x4271 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xC88A +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x086E +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x451C +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB872 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0xD127 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0x9DA8 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0x93C5 +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x7DB1 +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0xFDA7 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x631D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0xBB33 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xD9F2 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x4EDB +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0x481D +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xBE2E +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x271B +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x44F9 +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0xDD66 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x9BAD +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xAAFF +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0xA063 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x8490 +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0x4D42 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0xEABA +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0xCBF4 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xABFD +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0xC420 +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x6959 +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x6303 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0xABE3 +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0x73EA +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0xE41E +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0xFD57 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0xFB31 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0xB736 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x2092 +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0x31E6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0xDD4D +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xCD45 +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0x36FA +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0xC9DE +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x28FA +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0xDE90 +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0x68E9 +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0xFCCC +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xA64B +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xC7FB diff --git a/test/glibc.64.old_source_native b/test/glibc.64.old_source_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.old_source_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.old_source_notnative b/test/glibc.64.old_source_notnative new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.old_source_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.test_native b/test/glibc.64.test_native new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.test_native @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.64.test_notnative b/test/glibc.64.test_notnative new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/glibc.64.test_notnative @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/glibc.8 b/test/glibc.8 new file mode 100644 index 0000000..9a4b9a7 --- /dev/null +++ b/test/glibc.8 @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing moveb_pcd8_dreg...done. pre_crc:0xC52D, mem_crc:0x0000, reg_crc:0xA660, cc_crc:0xAD2A +Testing movewl_pcd8_dreg...done. pre_crc:0xD736, mem_crc:0x0000, reg_crc:0xB74B, cc_crc:0x198F +Testing unpk_reg...done. pre_crc:0x4BD0, mem_crc:0x0000, reg_crc:0x8323, cc_crc:0xBAFE +Testing unpk_mem...done. pre_crc:0xFCF1, mem_crc:0x0AFA, reg_crc:0x0DDA, cc_crc:0x5A28 +Testing unlk...done. pre_crc:0xA1C3, mem_crc:0x0000, reg_crc:0x2F83, cc_crc:0x1472 +Testing movewl_ind_ind...done. pre_crc:0x0EE7, mem_crc:0x67E3, reg_crc:0x436D, cc_crc:0x7D99 +Testing divsl_ll_reg...done. pre_crc:0xC228, mem_crc:0x0000, reg_crc:0x1B3C, cc_crc:0x014C +Testing divsl_ll_ind...done. pre_crc:0xE155, mem_crc:0x0000, reg_crc:0x9CE2, cc_crc:0x9644 +Testing divsl_ll_absl...done. pre_crc:0xAB23, mem_crc:0x0000, reg_crc:0x8CF8, cc_crc:0x374F +Testing lea_pc_ind_preix...done. pre_crc:0x2478, mem_crc:0x0000, reg_crc:0x3312, cc_crc:0x40F2 +Testing lea_pc_ind_postix...done. pre_crc:0x6B52, mem_crc:0x0000, reg_crc:0xE888, cc_crc:0x6B1F +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x8738, mem_crc:0x0000, reg_crc:0x9B54, cc_crc:0xC655 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x1B2C, mem_crc:0x0000, reg_crc:0x2F3D, cc_crc:0x768C +Testing moveb_pcd16_dreg...done. pre_crc:0xF9D4, mem_crc:0x0000, reg_crc:0x6BBA, cc_crc:0xB9B3 +Testing movewl_pcd16_dreg...done. pre_crc:0x70C2, mem_crc:0x0000, reg_crc:0xD98A, cc_crc:0x0164 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xF1AA, mem_crc:0x0000, reg_crc:0xAC3F, cc_crc:0xF5E8 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xE35B, mem_crc:0x0000, reg_crc:0x8358, cc_crc:0x9B85 +Testing lea_ind_preix...done. pre_crc:0xD766, mem_crc:0x0000, reg_crc:0xF89B, cc_crc:0x85F8 +Testing lea_ind_postix...done. pre_crc:0x20A9, mem_crc:0x0000, reg_crc:0xD632, cc_crc:0x7765 +Testing add_absl_dreg...done. pre_crc:0x7FB4, mem_crc:0x0000, reg_crc:0x920D, cc_crc:0xFABB +Testing abcd_reg...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x0FB8, cc_crc:0xBC6E +Testing abcd_mem...done. pre_crc:0xBD89, mem_crc:0xCB98, reg_crc:0xD397, cc_crc:0x39C5 +Testing addb_dreg_dreg...done. pre_crc:0x1D4D, mem_crc:0x0000, reg_crc:0x5ED3, cc_crc:0x4B36 +Testing addw_reg_dreg...done. pre_crc:0x3460, mem_crc:0x0000, reg_crc:0xB91A, cc_crc:0x34FB +Testing addl_reg_dreg...done. pre_crc:0x64CE, mem_crc:0x0000, reg_crc:0xCD2C, cc_crc:0xE86F +Testing add_d16_dreg...done. pre_crc:0xC06F, mem_crc:0x0000, reg_crc:0xA003, cc_crc:0x474B +Testing addb_const_dreg...done. pre_crc:0x7425, mem_crc:0x0000, reg_crc:0x6044, cc_crc:0x58C1 +Testing addw_const_dreg...done. pre_crc:0xD0BF, mem_crc:0x0000, reg_crc:0xA987, cc_crc:0x734F +Testing add_dreg_ind...done. pre_crc:0x950C, mem_crc:0x0D16, reg_crc:0x38F8, cc_crc:0x9A8E +Testing add_ind_dreg...done. pre_crc:0x1EAC, mem_crc:0x0000, reg_crc:0xE184, cc_crc:0xCC2D +Testing addl_const_dreg...done. pre_crc:0x6568, mem_crc:0x0000, reg_crc:0xDA10, cc_crc:0x6CB7 +Testing add_dreg_d16...done. pre_crc:0x89A2, mem_crc:0x103B, reg_crc:0x33C0, cc_crc:0xDDD1 +Testing add_dreg_absl...done. pre_crc:0xFD9E, mem_crc:0xA28C, reg_crc:0x98BF, cc_crc:0x2957 +Testing addaw_reg_areg...done. pre_crc:0xDC26, mem_crc:0x0000, reg_crc:0xBD11, cc_crc:0x5C30 +Testing addal_reg_areg...done. pre_crc:0x8C82, mem_crc:0x0000, reg_crc:0x9F8E, cc_crc:0x1B8E +Testing adda_ind_areg...done. pre_crc:0xEB15, mem_crc:0x0000, reg_crc:0x702F, cc_crc:0x532B +Testing adda_d16_areg...done. pre_crc:0x223A, mem_crc:0x0000, reg_crc:0xAF0F, cc_crc:0xBFBA +Testing adda_absl_areg...done. pre_crc:0xE318, mem_crc:0x0000, reg_crc:0xAABE, cc_crc:0x7159 +Testing addaw_const_areg...done. pre_crc:0x3943, mem_crc:0x0000, reg_crc:0xFDCB, cc_crc:0xD523 +Testing addal_const_areg...done. pre_crc:0x9A00, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x26E5 +Testing addibw_dreg...done. pre_crc:0xE11A, mem_crc:0x0000, reg_crc:0x8B00, cc_crc:0xD662 +Testing addil_dreg...done. pre_crc:0x431F, mem_crc:0x0000, reg_crc:0xFD9E, cc_crc:0x6311 +Testing addibw_ind...done. pre_crc:0x6858, mem_crc:0x5CCF, reg_crc:0x3C9A, cc_crc:0xA2A8 +Testing addil_ind...done. pre_crc:0xED46, mem_crc:0x1337, reg_crc:0x1896, cc_crc:0x674A +Testing addibw_d16...done. pre_crc:0x2466, mem_crc:0x4FE0, reg_crc:0x6077, cc_crc:0x88FA +Testing addil_d16...done. pre_crc:0x05F4, mem_crc:0x00F6, reg_crc:0xA92D, cc_crc:0x16B6 +Testing addibw_absl...done. pre_crc:0x1528, mem_crc:0x4CAD, reg_crc:0xE96D, cc_crc:0xCEA1 +Testing addil_absl...done. pre_crc:0xB9F0, mem_crc:0x1CF7, reg_crc:0xBE2E, cc_crc:0x959A +Testing addq_dreg...done. pre_crc:0xC4DA, mem_crc:0x0000, reg_crc:0x2193, cc_crc:0xDEFA +Testing addq_areg...done. pre_crc:0xC1C7, mem_crc:0x0000, reg_crc:0x11C6, cc_crc:0x9A99 +Testing addq_ind...done. pre_crc:0x051A, mem_crc:0xBB3C, reg_crc:0x3720, cc_crc:0xC1E6 +Testing addq_d16...done. pre_crc:0x7F9D, mem_crc:0x12E8, reg_crc:0x7D7E, cc_crc:0x084A +Testing addq_absl...done. pre_crc:0xC711, mem_crc:0x1B0A, reg_crc:0x3ECB, cc_crc:0xC09F +Testing addx_reg...done. pre_crc:0x7009, mem_crc:0x0000, reg_crc:0xBEA5, cc_crc:0xCCAF +Testing addx_mem...done. pre_crc:0x7944, mem_crc:0x7675, reg_crc:0x7BD2, cc_crc:0x82F6 +Testing and_dreg_dreg...done. pre_crc:0x0955, mem_crc:0x0000, reg_crc:0x20D0, cc_crc:0xA542 +Testing and_ind_dreg...done. pre_crc:0xC681, mem_crc:0x0000, reg_crc:0x9264, cc_crc:0x2CF8 +Testing and_d16_dreg...done. pre_crc:0xBF14, mem_crc:0x0000, reg_crc:0x22EE, cc_crc:0x1F9B +Testing and_absl_dreg...done. pre_crc:0xA8D1, mem_crc:0x0000, reg_crc:0x14B2, cc_crc:0xB064 +Testing andbw_const_dreg...done. pre_crc:0x6CFD, mem_crc:0x0000, reg_crc:0xD2BB, cc_crc:0x3425 +Testing andl_const_dreg...done. pre_crc:0x375B, mem_crc:0x0000, reg_crc:0xFCFA, cc_crc:0xCF39 +Testing and_dreg_ind...done. pre_crc:0x9DEE, mem_crc:0x0ED5, reg_crc:0xEB47, cc_crc:0xF03A +Testing and_dreg_d16...done. pre_crc:0xF940, mem_crc:0x6C9C, reg_crc:0xB450, cc_crc:0xF149 +Testing and_dreg_absl...done. pre_crc:0x35BF, mem_crc:0xDA46, reg_crc:0xC4C2, cc_crc:0xBB1D +Testing andibw_dreg...done. pre_crc:0x1B08, mem_crc:0x0000, reg_crc:0x9E31, cc_crc:0x68AE +Testing andil_dreg...done. pre_crc:0x944C, mem_crc:0x0000, reg_crc:0x54F2, cc_crc:0x702C +Testing andibw_ind...done. pre_crc:0x7692, mem_crc:0x3060, reg_crc:0x348F, cc_crc:0x6F0F +Testing andil_ind...done. pre_crc:0x7592, mem_crc:0xBBE7, reg_crc:0x9A72, cc_crc:0x730D +Testing andibw_d16...done. pre_crc:0x2CAD, mem_crc:0x5D34, reg_crc:0x5FE4, cc_crc:0x11AA +Testing andil_d16...done. pre_crc:0x3372, mem_crc:0x019D, reg_crc:0x6EE3, cc_crc:0xF3C6 +Testing andibw_absl...done. pre_crc:0xCDF1, mem_crc:0x6B61, reg_crc:0xD697, cc_crc:0xF9D7 +Testing andil_absl...done. pre_crc:0xCF4B, mem_crc:0xE44D, reg_crc:0x907E, cc_crc:0x59A0 +Testing andi_to_ccr...done. pre_crc:0xD234, mem_crc:0x0000, reg_crc:0xBB65, cc_crc:0x89CD +Testing asl_dx_dy...done. pre_crc:0x3708, mem_crc:0x0000, reg_crc:0x3930, cc_crc:0x321C +Testing asl_const_dy...done. pre_crc:0xC532, mem_crc:0x0000, reg_crc:0x187E, cc_crc:0xA909 +Testing asl_ind...done. pre_crc:0xD38D, mem_crc:0x6BE5, reg_crc:0x8573, cc_crc:0x000F +Testing asl_d16...done. pre_crc:0x12E8, mem_crc:0x52FE, reg_crc:0xC5C5, cc_crc:0xA4AE +Testing asl_absl...done. pre_crc:0x7976, mem_crc:0x0137, reg_crc:0x9D6D, cc_crc:0x2222 +Testing asr_dx_dy...done. pre_crc:0x5C0E, mem_crc:0x0000, reg_crc:0x39F5, cc_crc:0xA3D2 +Testing asr_const_dy...done. pre_crc:0x8ADB, mem_crc:0x0000, reg_crc:0x1FA8, cc_crc:0xE747 +Testing asr_ind...done. pre_crc:0x3192, mem_crc:0xF7E5, reg_crc:0x49E9, cc_crc:0x21A5 +Testing asr_d16...done. pre_crc:0x9449, mem_crc:0x87D8, reg_crc:0xFD76, cc_crc:0xA57B +Testing asr_absl...done. pre_crc:0xD5AA, mem_crc:0x2958, reg_crc:0x61D5, cc_crc:0x2AEF +Testing lsl_dx_dy...done. pre_crc:0xADD2, mem_crc:0x0000, reg_crc:0xDD6A, cc_crc:0x68D6 +Testing lsl_const_dy...done. pre_crc:0x24C1, mem_crc:0x0000, reg_crc:0xE69D, cc_crc:0x65DD +Testing lsl_ind...done. pre_crc:0x13FA, mem_crc:0x7B3F, reg_crc:0x0F22, cc_crc:0xDC75 +Testing lsl_d16...done. pre_crc:0x75C7, mem_crc:0x7FEA, reg_crc:0x4C19, cc_crc:0xDA52 +Testing lsl_absl...done. pre_crc:0xDF61, mem_crc:0x551E, reg_crc:0x163E, cc_crc:0x6DF1 +Testing lsr_dx_dy...done. pre_crc:0x1338, mem_crc:0x0000, reg_crc:0x8915, cc_crc:0xFB6D +Testing lsr_const_dy...done. pre_crc:0x19EF, mem_crc:0x0000, reg_crc:0x639A, cc_crc:0x2295 +Testing lsr_ind...done. pre_crc:0x62EE, mem_crc:0x7F4A, reg_crc:0x8E71, cc_crc:0xC535 +Testing lsr_d16...done. pre_crc:0x7C63, mem_crc:0x1287, reg_crc:0x924A, cc_crc:0x29CB +Testing lsr_absl...done. pre_crc:0x3118, mem_crc:0x00F3, reg_crc:0xA4C8, cc_crc:0xB683 +Testing bra_b...done. pre_crc:0xFA96, mem_crc:0x0000, reg_crc:0x4A97, cc_crc:0xC234 +Testing bhi_b...done. pre_crc:0x141B, mem_crc:0x0000, reg_crc:0x2DE2, cc_crc:0x8FA7 +Testing bls_b...done. pre_crc:0x1E6F, mem_crc:0x0000, reg_crc:0x296D, cc_crc:0x00B7 +Testing bcc_b...done. pre_crc:0x9868, mem_crc:0x0000, reg_crc:0x4B2E, cc_crc:0x1A7F +Testing bcs_b...done. pre_crc:0x2D5B, mem_crc:0x0000, reg_crc:0xCA72, cc_crc:0x9E61 +Testing bne_b...done. pre_crc:0x5EB2, mem_crc:0x0000, reg_crc:0x8BB1, cc_crc:0x025D +Testing beq_b...done. pre_crc:0x2246, mem_crc:0x0000, reg_crc:0x5693, cc_crc:0xFF6A +Testing bvc_b...done. pre_crc:0x981B, mem_crc:0x0000, reg_crc:0xE490, cc_crc:0x4DBB +Testing bvs_b...done. pre_crc:0xEE5D, mem_crc:0x0000, reg_crc:0x9F33, cc_crc:0x96E7 +Testing bpl_b...done. pre_crc:0x3232, mem_crc:0x0000, reg_crc:0xE256, cc_crc:0x9EAE +Testing bmi_b...done. pre_crc:0x1FDF, mem_crc:0x0000, reg_crc:0x8D99, cc_crc:0xB7C3 +Testing bge_b...done. pre_crc:0x28D2, mem_crc:0x0000, reg_crc:0x02F7, cc_crc:0x356A +Testing blt_b...done. pre_crc:0x2DDA, mem_crc:0x0000, reg_crc:0xF101, cc_crc:0x23C7 +Testing bgt_b...done. pre_crc:0x42F9, mem_crc:0x0000, reg_crc:0xFFFF, cc_crc:0xB908 +Testing ble_b...done. pre_crc:0xBAB4, mem_crc:0x0000, reg_crc:0x2FE6, cc_crc:0xEDE8 +Testing bra_w...done. pre_crc:0x552E, mem_crc:0x0000, reg_crc:0x07B6, cc_crc:0x5696 +Testing bhi_w...done. pre_crc:0x3184, mem_crc:0x0000, reg_crc:0xA660, cc_crc:0xD7E4 +Testing bls_w...done. pre_crc:0xB88A, mem_crc:0x0000, reg_crc:0x9982, cc_crc:0x4C91 +Testing bcc_w...done. pre_crc:0xC54C, mem_crc:0x0000, reg_crc:0x919E, cc_crc:0xC773 +Testing bcs_w...done. pre_crc:0x1961, mem_crc:0x0000, reg_crc:0x620D, cc_crc:0x0A56 +Testing bne_w...done. pre_crc:0x9465, mem_crc:0x0000, reg_crc:0x33F6, cc_crc:0xB40A +Testing beq_w...done. pre_crc:0xAD35, mem_crc:0x0000, reg_crc:0x7043, cc_crc:0xCBD9 +Testing bvc_w...done. pre_crc:0x61E4, mem_crc:0x0000, reg_crc:0x207A, cc_crc:0x67A1 +Testing bvs_w...done. pre_crc:0x6CB6, mem_crc:0x0000, reg_crc:0x7983, cc_crc:0x2BAA +Testing bpl_w...done. pre_crc:0x3C00, mem_crc:0x0000, reg_crc:0x29CB, cc_crc:0xC123 +Testing bmi_w...done. pre_crc:0xF1F3, mem_crc:0x0000, reg_crc:0x9ED9, cc_crc:0xF22F +Testing bge_w...done. pre_crc:0xB61A, mem_crc:0x0000, reg_crc:0x6179, cc_crc:0xDEAF +Testing blt_w...done. pre_crc:0x667D, mem_crc:0x0000, reg_crc:0x33ED, cc_crc:0xAAF0 +Testing bgt_w...done. pre_crc:0x8032, mem_crc:0x0000, reg_crc:0x80CD, cc_crc:0xDC86 +Testing ble_w...done. pre_crc:0x6403, mem_crc:0x0000, reg_crc:0x10FB, cc_crc:0x66BE +Testing bra_l...done. pre_crc:0x88F6, mem_crc:0x0000, reg_crc:0xFBD3, cc_crc:0x77D4 +Testing bhi_l...done. pre_crc:0xD151, mem_crc:0x0000, reg_crc:0xB589, cc_crc:0xF34B +Testing bls_l...done. pre_crc:0x000C, mem_crc:0x0000, reg_crc:0x587C, cc_crc:0x89CD +Testing bcc_l...done. pre_crc:0xD6E9, mem_crc:0x0000, reg_crc:0x105E, cc_crc:0x5CE4 +Testing bcs_l...done. pre_crc:0x68CF, mem_crc:0x0000, reg_crc:0x7BE2, cc_crc:0x1DDB +Testing bne_l...done. pre_crc:0xD5EC, mem_crc:0x0000, reg_crc:0x831C, cc_crc:0xFB16 +Testing beq_l...done. pre_crc:0xC29E, mem_crc:0x0000, reg_crc:0xC5B8, cc_crc:0x6E75 +Testing bvc_l...done. pre_crc:0xF8FC, mem_crc:0x0000, reg_crc:0xC972, cc_crc:0x1510 +Testing bvs_l...done. pre_crc:0x469B, mem_crc:0x0000, reg_crc:0xBA79, cc_crc:0x1BCC +Testing bpl_l...done. pre_crc:0xF904, mem_crc:0x0000, reg_crc:0xB478, cc_crc:0x351B +Testing bmi_l...done. pre_crc:0x1D55, mem_crc:0x0000, reg_crc:0x87DE, cc_crc:0x7E1E +Testing bge_l...done. pre_crc:0x4BBF, mem_crc:0x0000, reg_crc:0x1332, cc_crc:0x84E7 +Testing blt_l...done. pre_crc:0xF6A1, mem_crc:0x0000, reg_crc:0x3761, cc_crc:0x7A7A +Testing bgt_l...done. pre_crc:0x07EC, mem_crc:0x0000, reg_crc:0x6656, cc_crc:0x92B9 +Testing ble_l...done. pre_crc:0x9694, mem_crc:0x0000, reg_crc:0x7C97, cc_crc:0x0981 +Testing bchg_reg_reg...done. pre_crc:0x849C, mem_crc:0x0000, reg_crc:0x19BF, cc_crc:0x0939 +Testing bchg_const_reg...done. pre_crc:0x996C, mem_crc:0x0000, reg_crc:0x329E, cc_crc:0x03F9 +Testing bchg_reg_ind...done. pre_crc:0x06CD, mem_crc:0xEA9D, reg_crc:0x72E4, cc_crc:0x65C0 +Testing bchg_const_ind...done. pre_crc:0x4552, mem_crc:0x5366, reg_crc:0x98FE, cc_crc:0x99FA +Testing bchg_reg_d16...done. pre_crc:0xB178, mem_crc:0x8881, reg_crc:0x8160, cc_crc:0x0E0E +Testing bchg_const_d16...done. pre_crc:0xA71A, mem_crc:0x412E, reg_crc:0x6066, cc_crc:0xD8D4 +Testing bchg_reg_absl...done. pre_crc:0x11DB, mem_crc:0xD3F7, reg_crc:0x20FD, cc_crc:0x9644 +Testing bchg_const_absl...done. pre_crc:0xBBEC, mem_crc:0x0816, reg_crc:0x9066, cc_crc:0x72DB +Testing bclr_reg_reg...done. pre_crc:0x49CD, mem_crc:0x0000, reg_crc:0xCB64, cc_crc:0x2F79 +Testing bclr_const_reg...done. pre_crc:0x0359, mem_crc:0x0000, reg_crc:0x6F41, cc_crc:0x47BD +Testing bclr_reg_ind...done. pre_crc:0x0B65, mem_crc:0x4504, reg_crc:0x7C34, cc_crc:0xE53E +Testing bclr_const_ind...done. pre_crc:0xDAD0, mem_crc:0x770C, reg_crc:0x65E4, cc_crc:0x6D10 +Testing bclr_reg_d16...done. pre_crc:0xDE24, mem_crc:0x8A5D, reg_crc:0x292A, cc_crc:0x6BD3 +Testing bclr_const_d16...done. pre_crc:0xFF71, mem_crc:0x3E34, reg_crc:0xEE9A, cc_crc:0x7A13 +Testing bclr_reg_absl...done. pre_crc:0xB714, mem_crc:0xD4AA, reg_crc:0x7FB9, cc_crc:0xC704 +Testing bclr_const_absl...done. pre_crc:0x907D, mem_crc:0xFA06, reg_crc:0x2C02, cc_crc:0xD67A +Testing bset_reg_reg...done. pre_crc:0x8EC7, mem_crc:0x0000, reg_crc:0x9876, cc_crc:0x7FB3 +Testing bset_const_reg...done. pre_crc:0x3B8C, mem_crc:0x0000, reg_crc:0x101C, cc_crc:0x681F +Testing bset_reg_ind...done. pre_crc:0x9EE1, mem_crc:0x789C, reg_crc:0x83D6, cc_crc:0x430D +Testing bset_const_ind...done. pre_crc:0x2663, mem_crc:0x5522, reg_crc:0x882D, cc_crc:0x3DC8 +Testing bset_reg_d16...done. pre_crc:0x0391, mem_crc:0xE744, reg_crc:0x8A34, cc_crc:0x3DBC +Testing bset_const_d16...done. pre_crc:0xEDFA, mem_crc:0xD686, reg_crc:0x06AC, cc_crc:0xF350 +Testing bset_reg_absl...done. pre_crc:0x687F, mem_crc:0x3B6D, reg_crc:0x2439, cc_crc:0x0AD2 +Testing bset_const_absl...done. pre_crc:0x3AA8, mem_crc:0x7709, reg_crc:0xCE1A, cc_crc:0x2BD8 +Testing btst_reg_reg...done. pre_crc:0x725C, mem_crc:0x0000, reg_crc:0x70CB, cc_crc:0x8C89 +Testing btst_const_reg...done. pre_crc:0x3064, mem_crc:0x0000, reg_crc:0xD4C6, cc_crc:0xD7AF +Testing btst_reg_ind...done. pre_crc:0x0310, mem_crc:0x0000, reg_crc:0x5D89, cc_crc:0x29F2 +Testing btst_const_ind...done. pre_crc:0x00D4, mem_crc:0x0000, reg_crc:0xDCE6, cc_crc:0xD5C2 +Testing btst_reg_d16...done. pre_crc:0x4338, mem_crc:0x0000, reg_crc:0xB3C4, cc_crc:0xE5E9 +Testing btst_const_d16...done. pre_crc:0x93A6, mem_crc:0x0000, reg_crc:0x5588, cc_crc:0x2135 +Testing btst_reg_absl...done. pre_crc:0x48B2, mem_crc:0x0000, reg_crc:0xD0E3, cc_crc:0x90F6 +Testing btst_const_absl...done. pre_crc:0xAB7E, mem_crc:0x0000, reg_crc:0x7DBE, cc_crc:0x45DF +Testing bfchg_reg...done. pre_crc:0x67D9, mem_crc:0x0000, reg_crc:0x406D, cc_crc:0x0028 +Testing bfchg_ind...done. pre_crc:0x8942, mem_crc:0x3906, reg_crc:0x8DA5, cc_crc:0xD171 +Testing bfchg_d16...done. pre_crc:0xA127, mem_crc:0x1FC2, reg_crc:0xE8AF, cc_crc:0xDCC7 +Testing bfchg_absl...done. pre_crc:0xB03C, mem_crc:0x2200, reg_crc:0x8CC1, cc_crc:0xDCB6 +Testing bfclr_reg...done. pre_crc:0x33F2, mem_crc:0x0000, reg_crc:0x9E3B, cc_crc:0x1919 +Testing bfclr_ind...done. pre_crc:0xF9FB, mem_crc:0xC3E2, reg_crc:0x391D, cc_crc:0xC116 +Testing bfclr_d16...done. pre_crc:0xA6F2, mem_crc:0x93A6, reg_crc:0xF9BB, cc_crc:0x0DBA +Testing bfclr_absl...done. pre_crc:0x0C9D, mem_crc:0xBB72, reg_crc:0x1700, cc_crc:0xF011 +Testing bfset_reg...done. pre_crc:0xB2AD, mem_crc:0x0000, reg_crc:0x9CB4, cc_crc:0x98B5 +Testing bfset_ind...done. pre_crc:0x566F, mem_crc:0x0E85, reg_crc:0x187D, cc_crc:0x234A +Testing bfset_d16...done. pre_crc:0xCF3E, mem_crc:0x2A58, reg_crc:0x4FA4, cc_crc:0x088C +Testing bfset_absl...done. pre_crc:0x92B8, mem_crc:0x4B17, reg_crc:0xEF2A, cc_crc:0x5C60 +Testing bftst_reg...done. pre_crc:0xA3EE, mem_crc:0x0000, reg_crc:0xF03A, cc_crc:0x7652 +Testing bftst_ind...done. pre_crc:0x2722, mem_crc:0x0000, reg_crc:0xE098, cc_crc:0x3F39 +Testing bftst_d16...done. pre_crc:0x1B1F, mem_crc:0x0000, reg_crc:0xCFD7, cc_crc:0x690C +Testing bftst_absl...done. pre_crc:0x69EF, mem_crc:0x0000, reg_crc:0xAA88, cc_crc:0xE195 +Testing bfexts_reg...done. pre_crc:0x42B1, mem_crc:0x0000, reg_crc:0x048A, cc_crc:0x0B68 +Testing bfexts_ind...done. pre_crc:0x4C94, mem_crc:0x0000, reg_crc:0x4148, cc_crc:0xB484 +Testing bfexts_d16...done. pre_crc:0xD8C3, mem_crc:0x0000, reg_crc:0x0B61, cc_crc:0x2938 +Testing bfexts_absl...done. pre_crc:0x1EA5, mem_crc:0x0000, reg_crc:0x59D2, cc_crc:0x22AA +Testing bfextu_reg...done. pre_crc:0xCD30, mem_crc:0x0000, reg_crc:0x93ED, cc_crc:0x5514 +Testing bfextu_ind...done. pre_crc:0x4239, mem_crc:0x0000, reg_crc:0x9220, cc_crc:0x9CD1 +Testing bfextu_d16...done. pre_crc:0x52BC, mem_crc:0x0000, reg_crc:0x1121, cc_crc:0x1C6B +Testing bfextu_absl...done. pre_crc:0x6535, mem_crc:0x0000, reg_crc:0x75B5, cc_crc:0xC3D7 +Testing bfffo_reg...done. pre_crc:0xC337, mem_crc:0x0000, reg_crc:0x57A8, cc_crc:0xBCBA +Testing bfffo_ind...done. pre_crc:0x2EF8, mem_crc:0x0000, reg_crc:0x6826, cc_crc:0x36B1 +Testing bfffo_d16...done. pre_crc:0x0F67, mem_crc:0x0000, reg_crc:0x8FE3, cc_crc:0xDAF8 +Testing bfffo_absl...done. pre_crc:0x1C39, mem_crc:0x0000, reg_crc:0x4465, cc_crc:0x33EE +Testing bfins_reg...done. pre_crc:0xCEC3, mem_crc:0x0000, reg_crc:0xC67D, cc_crc:0x1901 +Testing bfins_ind...done. pre_crc:0x9EAD, mem_crc:0x6298, reg_crc:0x76EF, cc_crc:0xB09E +Testing bfins_d16...done. pre_crc:0xCE95, mem_crc:0x1FAD, reg_crc:0x0E07, cc_crc:0x91EF +Testing bfins_absl...done. pre_crc:0x2BFE, mem_crc:0x07D9, reg_crc:0x23FE, cc_crc:0xD5A8 +Testing bsr_b...done. pre_crc:0xF7E1, mem_crc:0x864C, reg_crc:0x4D82, cc_crc:0xDE33 +Testing bsr_w...done. pre_crc:0xFAC7, mem_crc:0x6374, reg_crc:0x9F72, cc_crc:0xBB3C +Testing bsr_l...done. pre_crc:0x1650, mem_crc:0xCB57, reg_crc:0xB90D, cc_crc:0xC660 +Testing cas_ind...done. pre_crc:0xD9A6, mem_crc:0xB94F, reg_crc:0x9285, cc_crc:0x257F +Testing cas2_areg...done. pre_crc:0x9E63, mem_crc:0xC69C, reg_crc:0xC9C0, cc_crc:0x6416 +Testing cas2_anyreg...done. pre_crc:0x82AC, mem_crc:0xA636, reg_crc:0x6550, cc_crc:0x22ED +Testing clr_reg...done. pre_crc:0x6A0C, mem_crc:0x0000, reg_crc:0x045E, cc_crc:0x7BE8 +Testing clrb_ind...done. pre_crc:0x6347, mem_crc:0xF12A, reg_crc:0x9695, cc_crc:0x62B6 +Testing clrwl_ind...done. pre_crc:0x396D, mem_crc:0x43C8, reg_crc:0xB7C9, cc_crc:0xFA5F +Testing clrb_absl...done. pre_crc:0x5A62, mem_crc:0x8835, reg_crc:0x0423, cc_crc:0x87B7 +Testing clrwl_absl...done. pre_crc:0x417B, mem_crc:0x39F5, reg_crc:0xAE2A, cc_crc:0x1A89 +Testing cmp_dreg...done. pre_crc:0x7EC4, mem_crc:0x0000, reg_crc:0xD558, cc_crc:0x3A50 +Testing cmp_areg...done. pre_crc:0x3866, mem_crc:0x0000, reg_crc:0x21CA, cc_crc:0xCF6A +Testing cmpb_ind...done. pre_crc:0xEB26, mem_crc:0x0000, reg_crc:0xF6E8, cc_crc:0xDD24 +Testing cmpwl_ind...done. pre_crc:0x2203, mem_crc:0x0000, reg_crc:0xD0FB, cc_crc:0xB59B +Testing cmpb_d16...done. pre_crc:0x2007, mem_crc:0x0000, reg_crc:0x90D2, cc_crc:0x8E1D +Testing cmpwl_d16...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0xAF9C, cc_crc:0x910D +Testing cmpa_reg...done. pre_crc:0xF1D6, mem_crc:0x0000, reg_crc:0x3514, cc_crc:0xF24A +Testing cmpa_ind...done. pre_crc:0x5332, mem_crc:0x0000, reg_crc:0xA541, cc_crc:0x2144 +Testing cmpa_ind2...done. pre_crc:0x46F8, mem_crc:0x0000, reg_crc:0x0F3A, cc_crc:0x0503 +Testing cmpa_d16...done. pre_crc:0x7B86, mem_crc:0x0000, reg_crc:0x0B54, cc_crc:0x6425 +Testing cmpa_d16_2...done. pre_crc:0x2ECC, mem_crc:0x0000, reg_crc:0x70BF, cc_crc:0x9F0F +Testing cmpa_absl...done. pre_crc:0xAC57, mem_crc:0x0000, reg_crc:0xC939, cc_crc:0xB501 +Testing cmpibw_reg...done. pre_crc:0x6A07, mem_crc:0x0000, reg_crc:0xB87D, cc_crc:0x4B84 +Testing cmpil_reg...done. pre_crc:0x9369, mem_crc:0x0000, reg_crc:0x1171, cc_crc:0xC83D +Testing cmpib_ind...done. pre_crc:0xAE15, mem_crc:0x0000, reg_crc:0xEE81, cc_crc:0x449A +Testing cmpiw_ind...done. pre_crc:0xEFD1, mem_crc:0x0000, reg_crc:0x3682, cc_crc:0x3A47 +Testing cmpil_ind...done. pre_crc:0x4857, mem_crc:0x0000, reg_crc:0x7A7A, cc_crc:0xFCA5 +Testing cmpmb...done. pre_crc:0x6CA0, mem_crc:0x0000, reg_crc:0xF7D3, cc_crc:0xE354 +Testing cmpmwl...done. pre_crc:0x108E, mem_crc:0x0000, reg_crc:0xE2EE, cc_crc:0xC767 +Testing cmp2b_ind...done. pre_crc:0x021E, mem_crc:0x0000, reg_crc:0x6DD3, cc_crc:0x763E +Testing cmp2wl_ind...done. pre_crc:0xF6BF, mem_crc:0x0000, reg_crc:0x0917, cc_crc:0xA854 +Testing dbcc...done. pre_crc:0xE6A6, mem_crc:0x0000, reg_crc:0x256B, cc_crc:0xE9FE +Testing divs_reg...done. pre_crc:0x35E1, mem_crc:0x0000, reg_crc:0x104C, cc_crc:0x065F +Testing divs_same_reg...done. pre_crc:0x1ECC, mem_crc:0x0000, reg_crc:0xEA51, cc_crc:0x3254 +Testing divs_ind...done. pre_crc:0x3E07, mem_crc:0x0000, reg_crc:0xC3AF, cc_crc:0x5AA3 +Testing divs_absl...done. pre_crc:0xC3E7, mem_crc:0x0000, reg_crc:0x636C, cc_crc:0xF791 +Testing divu_reg...done. pre_crc:0x8D31, mem_crc:0x0000, reg_crc:0x623B, cc_crc:0x2D3A +Testing divu_same_reg...done. pre_crc:0x9534, mem_crc:0x0000, reg_crc:0xAB02, cc_crc:0xE81B +Testing divu_ind...done. pre_crc:0xF14C, mem_crc:0x0000, reg_crc:0xDFDA, cc_crc:0x6330 +Testing divu_absl...done. pre_crc:0x0E5C, mem_crc:0x0000, reg_crc:0x1830, cc_crc:0xABF1 +Testing divul_ll_reg...done. pre_crc:0x66C4, mem_crc:0x0000, reg_crc:0x6F1B, cc_crc:0x42F5 +Testing divul_ll_ind...done. pre_crc:0x9275, mem_crc:0x0000, reg_crc:0xD07A, cc_crc:0x6977 +Testing divul_ll_absl...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xCDE5, cc_crc:0xB92A +Testing eor_reg...done. pre_crc:0xB371, mem_crc:0x0000, reg_crc:0x4E3C, cc_crc:0xEA49 +Testing eor_ind...done. pre_crc:0x740C, mem_crc:0x6123, reg_crc:0x853D, cc_crc:0x115F +Testing eor_d16...done. pre_crc:0x2619, mem_crc:0x0C0F, reg_crc:0x511C, cc_crc:0x71AC +Testing eor_absl...done. pre_crc:0xF438, mem_crc:0xA14A, reg_crc:0x23E9, cc_crc:0xDC2A +Testing eoribw_dreg...done. pre_crc:0xEB7B, mem_crc:0x0000, reg_crc:0xC1C2, cc_crc:0x81E4 +Testing eoril_dreg...done. pre_crc:0x6DFA, mem_crc:0x0000, reg_crc:0x655C, cc_crc:0xF2F4 +Testing eoribw_ind...done. pre_crc:0x2ED6, mem_crc:0xD7D4, reg_crc:0x4A73, cc_crc:0xA0B2 +Testing eoril_ind...done. pre_crc:0xBE45, mem_crc:0x1B7E, reg_crc:0xABEA, cc_crc:0x092E +Testing eoribw_d16...done. pre_crc:0x0E63, mem_crc:0x22D4, reg_crc:0x0780, cc_crc:0x6C93 +Testing eoril_d16...done. pre_crc:0x188E, mem_crc:0x080E, reg_crc:0x0BBA, cc_crc:0xBBF3 +Testing eoribw_absl...done. pre_crc:0xF3D9, mem_crc:0x58FE, reg_crc:0xCB38, cc_crc:0x4AA8 +Testing eoril_absl...done. pre_crc:0x7161, mem_crc:0xD516, reg_crc:0xBC1F, cc_crc:0x9933 +Testing eori_to_ccr...done. pre_crc:0xB04B, mem_crc:0x0000, reg_crc:0x9280, cc_crc:0x0500 +Testing exg...done. pre_crc:0xFB8C, mem_crc:0x0000, reg_crc:0xF90C, cc_crc:0x7244 +Testing ext...done. pre_crc:0x20B3, mem_crc:0x0000, reg_crc:0xF3E7, cc_crc:0x03E8 +Testing jmp_absl...done. pre_crc:0xB5FB, mem_crc:0x0000, reg_crc:0xF791, cc_crc:0xEC15 +Testing jmp_ind...done. pre_crc:0x7EE1, mem_crc:0x0000, reg_crc:0x59BE, cc_crc:0xB320 +Testing jmp_d16...done. pre_crc:0x488E, mem_crc:0x0000, reg_crc:0x1CEF, cc_crc:0xE0BF +Testing jsr_absl...done. pre_crc:0x2B64, mem_crc:0x77D2, reg_crc:0x6A39, cc_crc:0x792A +Testing jsr_ind...done. pre_crc:0xE112, mem_crc:0xD45A, reg_crc:0xA8C4, cc_crc:0xA4F2 +Testing jsr_d16...done. pre_crc:0x1068, mem_crc:0x4620, reg_crc:0xBD78, cc_crc:0xC21A +Testing lea_ind...done. pre_crc:0xD85D, mem_crc:0x0000, reg_crc:0x9FB4, cc_crc:0x42B4 +Testing lea_d16...done. pre_crc:0x20A9, mem_crc:0x0000, reg_crc:0x9404, cc_crc:0x1316 +Testing lea_absw...done. pre_crc:0x4065, mem_crc:0x0000, reg_crc:0x595C, cc_crc:0x7D5C +Testing lea_absl...done. pre_crc:0xAB6C, mem_crc:0x0000, reg_crc:0xFF0C, cc_crc:0x8CC4 +Testing linkw...done. pre_crc:0xB8CA, mem_crc:0x2325, reg_crc:0x89F7, cc_crc:0x4418 +Testing linkl...done. pre_crc:0xFEEF, mem_crc:0x17E8, reg_crc:0x781D, cc_crc:0x535A +Testing move16_postinc_postinc...done. pre_crc:0xEAA9, mem_crc:0x60E4, reg_crc:0xE37A, cc_crc:0xA254 +Testing move16_absl_ind...done. pre_crc:0xFE92, mem_crc:0x0820, reg_crc:0x4343, cc_crc:0xD97A +Testing move16_absl_postinc...done. pre_crc:0xCCF9, mem_crc:0x3E5D, reg_crc:0xDE74, cc_crc:0x53C6 +Testing move16_ind_absl...done. pre_crc:0xB08A, mem_crc:0x147B, reg_crc:0x31FD, cc_crc:0x8830 +Testing move16_postinc_absl...done. pre_crc:0xE314, mem_crc:0x671A, reg_crc:0x883F, cc_crc:0xED36 +Testing moveb_dreg_dreg...done. pre_crc:0x87D7, mem_crc:0x0000, reg_crc:0x43B9, cc_crc:0xCB61 +Testing movewl_reg_dreg...done. pre_crc:0xD92C, mem_crc:0x0000, reg_crc:0xB7F6, cc_crc:0x07AB +Testing moveb_ind_dreg...done. pre_crc:0xE14F, mem_crc:0x0000, reg_crc:0x667B, cc_crc:0x771B +Testing movewl_ind_dreg...done. pre_crc:0x89D4, mem_crc:0x0000, reg_crc:0xC656, cc_crc:0xABD9 +Testing moveb_d16_dreg...done. pre_crc:0x8F51, mem_crc:0x0000, reg_crc:0x0CC0, cc_crc:0xA108 +Testing movewl_d16_dreg...done. pre_crc:0x4BE5, mem_crc:0x0000, reg_crc:0x5D0B, cc_crc:0x56CF +Testing moveb_absl_dreg...done. pre_crc:0x2363, mem_crc:0x0000, reg_crc:0x03E8, cc_crc:0x8C89 +Testing movewl_absl_dreg...done. pre_crc:0x2DD5, mem_crc:0x0000, reg_crc:0xF8AD, cc_crc:0xCA0A +Testing movebw_const_dreg...done. pre_crc:0x1E8A, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x49CE +Testing movel_const_dreg...done. pre_crc:0xCA09, mem_crc:0x0000, reg_crc:0x8057, cc_crc:0x1C1C +Testing moveb_dreg_ind...done. pre_crc:0xB053, mem_crc:0x2D55, reg_crc:0xC80D, cc_crc:0xC204 +Testing movewl_reg_ind...done. pre_crc:0x2B5A, mem_crc:0x200B, reg_crc:0xB49A, cc_crc:0xB7D8 +Testing moveb_dreg_d16...done. pre_crc:0x4E98, mem_crc:0xCB98, reg_crc:0x9A17, cc_crc:0xBA23 +Testing movewl_reg_d16...done. pre_crc:0x6229, mem_crc:0xD92C, reg_crc:0x65B2, cc_crc:0x45E6 +Testing moveb_dreg_absl...done. pre_crc:0x8237, mem_crc:0x5E9D, reg_crc:0x0B5E, cc_crc:0xFA87 +Testing movewl_reg_absl...done. pre_crc:0xFA91, mem_crc:0x7E27, reg_crc:0x2784, cc_crc:0x5ACC +Testing moveb_ind_ind...done. pre_crc:0x10CB, mem_crc:0xAA41, reg_crc:0x9D68, cc_crc:0xBD00 +Testing moveb_ind_d16...done. pre_crc:0x533A, mem_crc:0x47F6, reg_crc:0x628A, cc_crc:0x20F1 +Testing moveb_d16_ind...done. pre_crc:0x5761, mem_crc:0x6E52, reg_crc:0x70A2, cc_crc:0x2FFB +Testing movewl_ind_d16...done. pre_crc:0xFB4A, mem_crc:0x0BBF, reg_crc:0x19EF, cc_crc:0xF3E1 +Testing movewl_d16_ind...done. pre_crc:0xD7D6, mem_crc:0xD4D2, reg_crc:0x5003, cc_crc:0x983E +Testing moveb_d16_d16...done. pre_crc:0x6AFE, mem_crc:0x10FB, reg_crc:0x9EA1, cc_crc:0xB772 +Testing movewl_d16_d16...done. pre_crc:0x616A, mem_crc:0x5D20, reg_crc:0x87C6, cc_crc:0xD796 +Testing moveb_ind_absl...done. pre_crc:0x95EB, mem_crc:0x119A, reg_crc:0x2169, cc_crc:0x9404 +Testing movewl_ind_absl...done. pre_crc:0x0DEA, mem_crc:0x0213, reg_crc:0x1269, cc_crc:0x3DBA +Testing moveb_absl_ind...done. pre_crc:0xBDAA, mem_crc:0xC1C7, reg_crc:0x51DF, cc_crc:0x407A +Testing movewl_absl_ind...done. pre_crc:0x9698, mem_crc:0x4A83, reg_crc:0xCD01, cc_crc:0x4D99 +Testing moveb_absl_absl...done. pre_crc:0x5FB7, mem_crc:0x7A2F, reg_crc:0xD774, cc_crc:0x3CC0 +Testing movewl_absl_absl...done. pre_crc:0xB5B7, mem_crc:0x1CA2, reg_crc:0xA0B7, cc_crc:0x9618 +Testing moveb_d16_absl...done. pre_crc:0x5B39, mem_crc:0x3BA7, reg_crc:0xB35E, cc_crc:0xBCE5 +Testing movewl_d16_absl...done. pre_crc:0x7143, mem_crc:0x53F5, reg_crc:0x9B02, cc_crc:0xFCC3 +Testing moveb_absl_d16...done. pre_crc:0x4180, mem_crc:0xC1E0, reg_crc:0x34D0, cc_crc:0x6FD4 +Testing movewl_absl_d16...done. pre_crc:0x4A2C, mem_crc:0x0BE6, reg_crc:0xF437, cc_crc:0x013E +Testing moveb_const_ind...done. pre_crc:0xBA79, mem_crc:0x0D1C, reg_crc:0x247B, cc_crc:0x53AA +Testing moveb_const_d16...done. pre_crc:0x018F, mem_crc:0x67B0, reg_crc:0x4EE8, cc_crc:0x21E4 +Testing moveb_const_absl...done. pre_crc:0x59BB, mem_crc:0x9F6C, reg_crc:0x88FC, cc_crc:0x4C52 +Testing movew_const_ind...done. pre_crc:0x88C5, mem_crc:0xF14C, reg_crc:0x54C7, cc_crc:0x7AAB +Testing movew_const_d16...done. pre_crc:0x7C83, mem_crc:0x18C9, reg_crc:0x1FE6, cc_crc:0xB7BB +Testing movew_const_absl...done. pre_crc:0xCCF8, mem_crc:0x75A8, reg_crc:0x0768, cc_crc:0x70EF +Testing movel_const_ind...done. pre_crc:0x3474, mem_crc:0x7FB5, reg_crc:0x9611, cc_crc:0xB554 +Testing movel_const_d16...done. pre_crc:0x3A1A, mem_crc:0x2997, reg_crc:0xB967, cc_crc:0x947A +Testing movel_const_absl...done. pre_crc:0xB26D, mem_crc:0x2E33, reg_crc:0x8214, cc_crc:0x8B24 +Testing movea_reg...done. pre_crc:0x86BE, mem_crc:0x0000, reg_crc:0x91AE, cc_crc:0xF8DA +Testing movea_ind...done. pre_crc:0x606A, mem_crc:0x0000, reg_crc:0xC9FF, cc_crc:0xA813 +Testing movea_d16...done. pre_crc:0x763F, mem_crc:0x0000, reg_crc:0x73EF, cc_crc:0xB7B7 +Testing movea_absl...done. pre_crc:0xAD94, mem_crc:0x0000, reg_crc:0xE7B2, cc_crc:0x3889 +Testing moveaw_const...done. pre_crc:0x40F2, mem_crc:0x0000, reg_crc:0xAE62, cc_crc:0xF6A5 +Testing moveal_const...done. pre_crc:0xF23B, mem_crc:0x0000, reg_crc:0xC707, cc_crc:0x3D94 +Testing move_from_ccr_dreg...done. pre_crc:0x8586, mem_crc:0x0000, reg_crc:0xD12E, cc_crc:0x4271 +Testing move_from_ccr_ind...done. pre_crc:0x38AB, mem_crc:0x0000, reg_crc:0x370B, cc_crc:0x1D56 +Testing move_from_ccr_d16...done. pre_crc:0xD456, mem_crc:0x0000, reg_crc:0xDE4D, cc_crc:0xEEF6 +Testing move_to_ccr_reg...done. pre_crc:0x90B3, mem_crc:0x0000, reg_crc:0x1465, cc_crc:0xA816 +Testing move_to_ccr_ind...done. pre_crc:0x9EA3, mem_crc:0x0000, reg_crc:0x279F, cc_crc:0x43DF +Testing movem_to_ind...done. pre_crc:0x81DC, mem_crc:0x1A23, reg_crc:0xA725, cc_crc:0x07CE +Testing movem_to_predec...done. pre_crc:0xE7E1, mem_crc:0x21BD, reg_crc:0x1DD2, cc_crc:0x6470 +Testing movem_to_d16...done. pre_crc:0x3FAB, mem_crc:0x6347, reg_crc:0x5FA9, cc_crc:0x9E4F +Testing movem_to_absl...done. pre_crc:0x61BC, mem_crc:0x291F, reg_crc:0x94B3, cc_crc:0x1EFF +Testing movem_from_d16...done. pre_crc:0xC9E7, mem_crc:0x0000, reg_crc:0xBA07, cc_crc:0x9752 +Testing movem_from_ind...done. pre_crc:0x4F99, mem_crc:0x0000, reg_crc:0x34BC, cc_crc:0x815C +Testing movem_from_absl...done. pre_crc:0x3B3F, mem_crc:0x0000, reg_crc:0x31E5, cc_crc:0x4964 +Testing movep_to_mem...done. pre_crc:0x8E61, mem_crc:0x1CD0, reg_crc:0x980B, cc_crc:0x3353 +Testing movep_from_mem...done. pre_crc:0xF230, mem_crc:0x0000, reg_crc:0x15E0, cc_crc:0x0699 +Testing moveq...done. pre_crc:0xA128, mem_crc:0x0000, reg_crc:0xF416, cc_crc:0xD3FE +Testing mulsw_dreg...done. pre_crc:0xA8FF, mem_crc:0x0000, reg_crc:0xCCBD, cc_crc:0x2EB8 +Testing mulsw_ind...done. pre_crc:0x9179, mem_crc:0x0000, reg_crc:0xA44A, cc_crc:0x1EA0 +Testing mulsw_d16...done. pre_crc:0x7E56, mem_crc:0x0000, reg_crc:0x800D, cc_crc:0x6A4D +Testing mulsw_absl...done. pre_crc:0xC468, mem_crc:0x0000, reg_crc:0x1E05, cc_crc:0xFE1A +Testing muluw_dreg...done. pre_crc:0x1DC5, mem_crc:0x0000, reg_crc:0x312C, cc_crc:0x15B0 +Testing muluw_ind...done. pre_crc:0x7EAC, mem_crc:0x0000, reg_crc:0xB487, cc_crc:0x91BF +Testing muluw_d16...done. pre_crc:0x7E40, mem_crc:0x0000, reg_crc:0x3021, cc_crc:0x10AD +Testing muluw_absl...done. pre_crc:0x3F8A, mem_crc:0x0000, reg_crc:0xD0D9, cc_crc:0x3955 +Testing mulsl_dreg...done. pre_crc:0x56D7, mem_crc:0x0000, reg_crc:0x4FF2, cc_crc:0x12C3 +Testing mulsl_ind...done. pre_crc:0xDE23, mem_crc:0x0000, reg_crc:0x0C39, cc_crc:0xAAEB +Testing mulsl_d16...done. pre_crc:0xC355, mem_crc:0x0000, reg_crc:0x37E9, cc_crc:0x3740 +Testing mulsl_absl...done. pre_crc:0x1721, mem_crc:0x0000, reg_crc:0x6761, cc_crc:0x0C8B +Testing mulul_dreg...done. pre_crc:0x0769, mem_crc:0x0000, reg_crc:0xF2C2, cc_crc:0x8BDE +Testing mulul_ind...done. pre_crc:0x9D1D, mem_crc:0x0000, reg_crc:0x84F5, cc_crc:0x02BC +Testing mulul_d16...done. pre_crc:0x04DE, mem_crc:0x0000, reg_crc:0xE85F, cc_crc:0x2D3A +Testing mulul_absl...done. pre_crc:0x9C34, mem_crc:0x0000, reg_crc:0xDC38, cc_crc:0xE2CF +Testing nbcd_reg...done. pre_crc:0x02D9, mem_crc:0x0000, reg_crc:0x86C4, cc_crc:0x4C2A +Testing nbcd_ind...done. pre_crc:0x7347, mem_crc:0x94F4, reg_crc:0xE65E, cc_crc:0x2112 +Testing nbcd_d16...done. pre_crc:0x6A12, mem_crc:0x97AD, reg_crc:0x0D46, cc_crc:0xD3F2 +Testing nbcd_absl...done. pre_crc:0xF647, mem_crc:0x8BF3, reg_crc:0x19C7, cc_crc:0x63F0 +Testing neg_reg...done. pre_crc:0xB929, mem_crc:0x0000, reg_crc:0xDF67, cc_crc:0x9798 +Testing negb_ind...done. pre_crc:0xF7E6, mem_crc:0x926E, reg_crc:0x65FF, cc_crc:0xA773 +Testing negwl_ind...done. pre_crc:0xE280, mem_crc:0x8086, reg_crc:0x6B6D, cc_crc:0xE77B +Testing negb_d16...done. pre_crc:0x0965, mem_crc:0x4EEB, reg_crc:0x6F8E, cc_crc:0x6F7D +Testing negwl_d16...done. pre_crc:0x1A9D, mem_crc:0xAC05, reg_crc:0x78B8, cc_crc:0xAC42 +Testing neg_absl...done. pre_crc:0x61C9, mem_crc:0x506A, reg_crc:0x3ACA, cc_crc:0xC914 +Testing negx_reg...done. pre_crc:0x2719, mem_crc:0x0000, reg_crc:0x246A, cc_crc:0x3624 +Testing negxb_ind...done. pre_crc:0x08CE, mem_crc:0xA13B, reg_crc:0xBB3C, cc_crc:0xC4C4 +Testing negxwl_ind...done. pre_crc:0x20EF, mem_crc:0xBB33, reg_crc:0x8675, cc_crc:0x3EAE +Testing negxb_d16...done. pre_crc:0x5231, mem_crc:0x67BA, reg_crc:0x4576, cc_crc:0x2D2B +Testing negxwl_d16...done. pre_crc:0x5EC4, mem_crc:0xB3FB, reg_crc:0x9492, cc_crc:0x1AF1 +Testing negx_absl...done. pre_crc:0xAB2C, mem_crc:0x763E, reg_crc:0xDA89, cc_crc:0xDFF4 +Testing nop...done. pre_crc:0x0A25, mem_crc:0x0000, reg_crc:0xAFDE, cc_crc:0x231F +Testing not_reg...done. pre_crc:0x1C77, mem_crc:0x0000, reg_crc:0xE8AC, cc_crc:0x8C04 +Testing notb_ind...done. pre_crc:0x8BF8, mem_crc:0xF342, reg_crc:0x920D, cc_crc:0x169D +Testing notwl_ind...done. pre_crc:0x1437, mem_crc:0x1F52, reg_crc:0x0587, cc_crc:0x2D4D +Testing notb_d16...done. pre_crc:0x6A8B, mem_crc:0xE357, reg_crc:0x21F9, cc_crc:0x2255 +Testing notwl_d16...done. pre_crc:0x38A8, mem_crc:0xA789, reg_crc:0xCA0F, cc_crc:0x8F0D +Testing not_absl...done. pre_crc:0xE1EF, mem_crc:0xECEC, reg_crc:0x16F1, cc_crc:0xCD23 +Testing or_dreg_dreg...done. pre_crc:0x062B, mem_crc:0x0000, reg_crc:0x9246, cc_crc:0x84CA +Testing or_ind_dreg...done. pre_crc:0x65BC, mem_crc:0x0000, reg_crc:0x6B3B, cc_crc:0x8B71 +Testing or_d16_dreg...done. pre_crc:0xA796, mem_crc:0x0000, reg_crc:0x5953, cc_crc:0x7893 +Testing or_absl_dreg...done. pre_crc:0x831B, mem_crc:0x0000, reg_crc:0xD9C1, cc_crc:0x317F +Testing orbw_const_dreg...done. pre_crc:0x5D2A, mem_crc:0x0000, reg_crc:0xA0E1, cc_crc:0x27C0 +Testing orl_const_dreg...done. pre_crc:0xA016, mem_crc:0x0000, reg_crc:0xC21C, cc_crc:0x5D76 +Testing or_dreg_ind...done. pre_crc:0x106B, mem_crc:0x631B, reg_crc:0x7540, cc_crc:0x51B0 +Testing or_dreg_d16...done. pre_crc:0x53FE, mem_crc:0x91C1, reg_crc:0x7E8D, cc_crc:0xAB1F +Testing or_dreg_absl...done. pre_crc:0xA1AB, mem_crc:0x096F, reg_crc:0x5213, cc_crc:0x7054 +Testing oribw_dreg...done. pre_crc:0xD21A, mem_crc:0x0000, reg_crc:0x4CE5, cc_crc:0x9B51 +Testing oril_dreg...done. pre_crc:0x5F9C, mem_crc:0x0000, reg_crc:0x99CA, cc_crc:0x59D1 +Testing oribw_ind...done. pre_crc:0xD4E1, mem_crc:0xE61C, reg_crc:0xEAA2, cc_crc:0x516E +Testing oril_ind...done. pre_crc:0xB557, mem_crc:0x12E4, reg_crc:0xD2F9, cc_crc:0xE822 +Testing oribw_d16...done. pre_crc:0xDD8D, mem_crc:0x3D16, reg_crc:0xDB14, cc_crc:0x4B1B +Testing oril_d16...done. pre_crc:0x9B83, mem_crc:0xD1D2, reg_crc:0xE3FB, cc_crc:0x67DA +Testing oribw_absl...done. pre_crc:0xE245, mem_crc:0x0FDD, reg_crc:0x509A, cc_crc:0x6E54 +Testing oril_absl...done. pre_crc:0xAA8F, mem_crc:0x5A35, reg_crc:0x75C7, cc_crc:0x508B +Testing ori_to_ccr...done. pre_crc:0x348A, mem_crc:0x0000, reg_crc:0x9CB2, cc_crc:0x6FC6 +Testing pack_reg...done. pre_crc:0x8519, mem_crc:0x0000, reg_crc:0x3D62, cc_crc:0xDAC2 +Testing pack_mem...done. pre_crc:0x0CB5, mem_crc:0x2FC1, reg_crc:0x2668, cc_crc:0x5A30 +Testing pea_ind...done. pre_crc:0xC423, mem_crc:0x8A13, reg_crc:0x9F8B, cc_crc:0xB91A +Testing pea_d16...done. pre_crc:0x1475, mem_crc:0x9360, reg_crc:0x7C19, cc_crc:0x0EE3 +Testing pea_absw...done. pre_crc:0x23ED, mem_crc:0xBABC, reg_crc:0x52E9, cc_crc:0xBCFB +Testing pea_absl...done. pre_crc:0xE7C6, mem_crc:0xF95C, reg_crc:0x1E65, cc_crc:0xA1AD +Testing rol_dx_dy...done. pre_crc:0x93FF, mem_crc:0x0000, reg_crc:0x96E8, cc_crc:0x89A2 +Testing rol_const_dy...done. pre_crc:0xEAFD, mem_crc:0x0000, reg_crc:0xB64A, cc_crc:0x8302 +Testing rol_ind...done. pre_crc:0x9502, mem_crc:0xD18B, reg_crc:0xE60E, cc_crc:0x2376 +Testing rol_d16...done. pre_crc:0xA254, mem_crc:0xCA2D, reg_crc:0x6F05, cc_crc:0x01F8 +Testing rol_absl...done. pre_crc:0x76DB, mem_crc:0xABEF, reg_crc:0x8F13, cc_crc:0xB613 +Testing ror_dx_dy...done. pre_crc:0xB4D2, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x4C43 +Testing ror_const_dy...done. pre_crc:0x7B87, mem_crc:0x0000, reg_crc:0xB308, cc_crc:0x63E7 +Testing ror_ind...done. pre_crc:0xB6F2, mem_crc:0x374C, reg_crc:0x08A7, cc_crc:0xD5F8 +Testing ror_d16...done. pre_crc:0x3999, mem_crc:0xCB2C, reg_crc:0x91C8, cc_crc:0x438A +Testing ror_absl...done. pre_crc:0x4471, mem_crc:0x7F16, reg_crc:0x330C, cc_crc:0x794A +Testing roxl_dx_dy...done. pre_crc:0xA298, mem_crc:0x0000, reg_crc:0xD2DB, cc_crc:0x4F1F +Testing roxl_const_dy...done. pre_crc:0x5B7F, mem_crc:0x0000, reg_crc:0x8F37, cc_crc:0xD080 +Testing roxl_ind...done. pre_crc:0x3916, mem_crc:0x0081, reg_crc:0x142E, cc_crc:0x17EE +Testing roxl_d16...done. pre_crc:0x745A, mem_crc:0x1265, reg_crc:0xBCA7, cc_crc:0x12DB +Testing roxl_absl...done. pre_crc:0x9BF5, mem_crc:0x992B, reg_crc:0x640B, cc_crc:0x1943 +Testing roxr_dx_dy...done. pre_crc:0x8EBB, mem_crc:0x0000, reg_crc:0xB6EF, cc_crc:0x9582 +Testing roxr_const_dy...done. pre_crc:0x6DD1, mem_crc:0x0000, reg_crc:0x1B47, cc_crc:0x1EA3 +Testing roxr_ind...done. pre_crc:0x1860, mem_crc:0x63FF, reg_crc:0x8EAC, cc_crc:0x66A5 +Testing roxr_d16...done. pre_crc:0x3676, mem_crc:0xD0BC, reg_crc:0x0DFD, cc_crc:0x839B +Testing roxr_absl...done. pre_crc:0x430F, mem_crc:0xBA26, reg_crc:0x095C, cc_crc:0xE2E7 +Testing rtd...done. pre_crc:0x2FB2, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0x69EE +Testing rtr...done. pre_crc:0xBFD6, mem_crc:0x0000, reg_crc:0x3A1D, cc_crc:0xB310 +Testing rts...done. pre_crc:0xB567, mem_crc:0x0000, reg_crc:0xAB32, cc_crc:0x868C +Testing sbcd_reg...done. pre_crc:0xFCEA, mem_crc:0x0000, reg_crc:0x1893, cc_crc:0x77A9 +Testing sbcd_mem...done. pre_crc:0x09D9, mem_crc:0x1441, reg_crc:0x7471, cc_crc:0xBC54 +Testing Scc_reg...done. pre_crc:0x32A4, mem_crc:0x0000, reg_crc:0x1869, cc_crc:0x9663 +Testing Scc_ind...done. pre_crc:0xD264, mem_crc:0x3912, reg_crc:0xBA6B, cc_crc:0x84EB +Testing Scc_d16...done. pre_crc:0xD309, mem_crc:0x9FBE, reg_crc:0x1F85, cc_crc:0xC2CB +Testing Scc_absl...done. pre_crc:0x5C43, mem_crc:0xD610, reg_crc:0x9D4F, cc_crc:0xC69F +Testing subb_dreg_dreg...done. pre_crc:0x08B1, mem_crc:0x0000, reg_crc:0x03A5, cc_crc:0x525B +Testing subw_reg_dreg...done. pre_crc:0x643B, mem_crc:0x0000, reg_crc:0x32EC, cc_crc:0x3D73 +Testing subl_reg_dreg...done. pre_crc:0x07D2, mem_crc:0x0000, reg_crc:0xABF7, cc_crc:0xF0CA +Testing sub_ind_dreg...done. pre_crc:0x2488, mem_crc:0x0000, reg_crc:0x0C63, cc_crc:0x7345 +Testing sub_d16_dreg...done. pre_crc:0xCD1D, mem_crc:0x0000, reg_crc:0xAFA3, cc_crc:0xAC95 +Testing sub_absl_dreg...done. pre_crc:0xDD07, mem_crc:0x0000, reg_crc:0xDA4C, cc_crc:0x6404 +Testing subb_const_dreg...done. pre_crc:0xAB0E, mem_crc:0x0000, reg_crc:0x9C5C, cc_crc:0xF5A9 +Testing subw_const_dreg...done. pre_crc:0x1AF0, mem_crc:0x0000, reg_crc:0xA9F5, cc_crc:0x24F9 +Testing subl_const_dreg...done. pre_crc:0x8B92, mem_crc:0x0000, reg_crc:0xF71A, cc_crc:0x9F27 +Testing sub_dreg_ind...done. pre_crc:0xF40C, mem_crc:0x7784, reg_crc:0x7CB6, cc_crc:0xA234 +Testing sub_dreg_d16...done. pre_crc:0x2645, mem_crc:0x34FB, reg_crc:0xF9C5, cc_crc:0xB17B +Testing sub_dreg_absl...done. pre_crc:0xFC28, mem_crc:0x8E09, reg_crc:0xC530, cc_crc:0x6BBF +Testing subaw_reg_areg...done. pre_crc:0xEA36, mem_crc:0x0000, reg_crc:0x55AA, cc_crc:0x6B4A +Testing subal_reg_areg...done. pre_crc:0x12F8, mem_crc:0x0000, reg_crc:0xDB6C, cc_crc:0xB9C1 +Testing suba_ind_areg...done. pre_crc:0x6499, mem_crc:0x0000, reg_crc:0xBF25, cc_crc:0x8181 +Testing suba_d16_areg...done. pre_crc:0x00EB, mem_crc:0x0000, reg_crc:0x8C8F, cc_crc:0x2562 +Testing suba_absl_areg...done. pre_crc:0xE137, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xD42D +Testing subaw_const_areg...done. pre_crc:0x2994, mem_crc:0x0000, reg_crc:0xB55B, cc_crc:0xC5A0 +Testing subal_const_areg...done. pre_crc:0x23B1, mem_crc:0x0000, reg_crc:0x9E26, cc_crc:0x9FB1 +Testing subibw_dreg...done. pre_crc:0x043F, mem_crc:0x0000, reg_crc:0xB456, cc_crc:0xC3A9 +Testing subil_dreg...done. pre_crc:0x232E, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xC7A2 +Testing subibw_ind...done. pre_crc:0x3D68, mem_crc:0x7793, reg_crc:0x841D, cc_crc:0x2975 +Testing subil_ind...done. pre_crc:0x5E14, mem_crc:0x6768, reg_crc:0xAA95, cc_crc:0xDFB9 +Testing subibw_d16...done. pre_crc:0xA33A, mem_crc:0x3535, reg_crc:0x1F9B, cc_crc:0xAEA1 +Testing subil_d16...done. pre_crc:0x67D4, mem_crc:0xF7B5, reg_crc:0xB308, cc_crc:0x9528 +Testing subibw_absl...done. pre_crc:0x9C4D, mem_crc:0x3AAF, reg_crc:0x586D, cc_crc:0xA688 +Testing subil_absl...done. pre_crc:0xB351, mem_crc:0x47EB, reg_crc:0xD89A, cc_crc:0x2AAE +Testing subq_dreg...done. pre_crc:0xAF44, mem_crc:0x0000, reg_crc:0x0437, cc_crc:0xA1BA +Testing subq_areg...done. pre_crc:0x5020, mem_crc:0x0000, reg_crc:0x5687, cc_crc:0xCD0D +Testing subq_ind...done. pre_crc:0x9240, mem_crc:0xE5CB, reg_crc:0x8B3A, cc_crc:0xBE96 +Testing subq_d16...done. pre_crc:0xA5AC, mem_crc:0x52A8, reg_crc:0xADB0, cc_crc:0x6A36 +Testing subq_absl...done. pre_crc:0x7853, mem_crc:0x4D47, reg_crc:0xF6A9, cc_crc:0xF981 +Testing subx_reg...done. pre_crc:0x4606, mem_crc:0x0000, reg_crc:0xF1DA, cc_crc:0x2B6A +Testing subx_mem...done. pre_crc:0x647A, mem_crc:0x34D6, reg_crc:0x67F4, cc_crc:0x66A5 +Testing swap...done. pre_crc:0xAB20, mem_crc:0x0000, reg_crc:0xD73F, cc_crc:0x881E +Testing tas_dreg...done. pre_crc:0x1C1D, mem_crc:0x0000, reg_crc:0xEE7B, cc_crc:0x8D4E +Testing tas_ind...done. pre_crc:0xF195, mem_crc:0x1211, reg_crc:0x20B9, cc_crc:0xF7FB +Testing tas_d16...done. pre_crc:0x6C94, mem_crc:0x594E, reg_crc:0x5005, cc_crc:0x3639 +Testing tas_absl...done. pre_crc:0x4FDD, mem_crc:0xD397, reg_crc:0xEC54, cc_crc:0x1373 +Testing tstb_dreg...done. pre_crc:0x643C, mem_crc:0x0000, reg_crc:0x1487, cc_crc:0xD39D +Testing tstwl_reg...done. pre_crc:0x2FA5, mem_crc:0x0000, reg_crc:0x1AA8, cc_crc:0x960C +Testing tstb_ind...done. pre_crc:0xE162, mem_crc:0x0000, reg_crc:0x6E70, cc_crc:0x2E39 +Testing tstwl_ind...done. pre_crc:0x6019, mem_crc:0x0000, reg_crc:0x4FAE, cc_crc:0x9B91 +Testing tstb_d16...done. pre_crc:0xEB2C, mem_crc:0x0000, reg_crc:0x7828, cc_crc:0xC8E3 +Testing tstwl_d16...done. pre_crc:0x2CBD, mem_crc:0x0000, reg_crc:0x13F8, cc_crc:0xA922 +Testing tst_absl...done. pre_crc:0xA95A, mem_crc:0x0000, reg_crc:0x7235, cc_crc:0x127D diff --git a/test/glibc.cc.noncc b/test/glibc.cc.noncc new file mode 100644 index 0000000..467d575 --- /dev/null +++ b/test/glibc.cc.noncc @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x61C3, mem_crc:0x0000, reg_crc:0x4A40, cc_crc:0xD5BA +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3363, mem_crc:0x7469, reg_crc:0x9CE7, cc_crc:0x0D4C +Testing unlk...2000...4000...6000...8000...10000...done. pre_crc:0x2F13, mem_crc:0x0000, reg_crc:0x293B, cc_crc:0x7DE8 +Testing movewl_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1DC8, mem_crc:0xACC5, reg_crc:0x716A, cc_crc:0x5889 +Testing divsl_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2290, mem_crc:0x0000, reg_crc:0x51EC, cc_crc:0x65B4 +Testing divsl_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0xECF1, mem_crc:0x0000, reg_crc:0x6445, cc_crc:0xE6E6 +Testing divsl_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x103F, mem_crc:0x0000, reg_crc:0xB860, cc_crc:0x5834 +Testing lea_pc_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x911D, mem_crc:0x0000, reg_crc:0x20AD, cc_crc:0x2FD3 +Testing lea_pc_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x7F95, mem_crc:0x0000, reg_crc:0x4C29, cc_crc:0xBA70 +Testing moveb_pc_ind_preix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD498, mem_crc:0x0000, reg_crc:0x7AC4, cc_crc:0x4744 +Testing moveb_pc_ind_postix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB983, mem_crc:0x0000, reg_crc:0xD040, cc_crc:0xF900 +Testing moveb_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3257, mem_crc:0x0000, reg_crc:0xD34C, cc_crc:0xA9A5 +Testing movewl_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x421A, mem_crc:0x0000, reg_crc:0x17EE, cc_crc:0x2205 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x393A, mem_crc:0x0000, reg_crc:0x8FDC, cc_crc:0xB84D +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x7DD8, cc_crc:0xA415 +Testing moveb_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC45E, mem_crc:0x0000, reg_crc:0xE7B1, cc_crc:0xA4B6 +Testing movewl_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x52FC, mem_crc:0x0000, reg_crc:0x7D82, cc_crc:0x0E6E +Testing lea_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x6E8D, mem_crc:0x0000, reg_crc:0x3446, cc_crc:0x25AE +Testing lea_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0xD0AC, mem_crc:0x0000, reg_crc:0xF22F, cc_crc:0x24A3 +Testing add_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBEDB, mem_crc:0x0000, reg_crc:0xC98B, cc_crc:0xF70B +Testing abcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAE76, mem_crc:0x0000, reg_crc:0x7B96, cc_crc:0x001E +Testing abcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3CF2, mem_crc:0xFA6F, reg_crc:0x079B, cc_crc:0x6603 +Testing addb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8B43, mem_crc:0x0000, reg_crc:0xA854, cc_crc:0xAC2B +Testing addw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x48CA, mem_crc:0x0000, reg_crc:0x974A, cc_crc:0x6B32 +Testing addl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD379, mem_crc:0x0000, reg_crc:0x946E, cc_crc:0xF78C +Testing add_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE463, mem_crc:0x0000, reg_crc:0xD38F, cc_crc:0x8187 +Testing addb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDC74, mem_crc:0x0000, reg_crc:0x0030, cc_crc:0xCCD7 +Testing addw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0D95, mem_crc:0x0000, reg_crc:0x4C0E, cc_crc:0xA4F1 +Testing add_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9341, mem_crc:0x3C84, reg_crc:0xDC4F, cc_crc:0xC90A +Testing add_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12BE, mem_crc:0x0000, reg_crc:0x9D23, cc_crc:0x8BDB +Testing addl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1BFA, mem_crc:0x0000, reg_crc:0xA3C6, cc_crc:0x95E7 +Testing add_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3686, mem_crc:0x505F, reg_crc:0x28A9, cc_crc:0xEE0A +Testing add_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBB52, mem_crc:0xC02D, reg_crc:0x218E, cc_crc:0x2389 +Testing addaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0x2B03, mem_crc:0x0000, reg_crc:0x3322, cc_crc:0x3312 +Testing addal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xBC77, mem_crc:0x0000, reg_crc:0xB8FC, cc_crc:0x3996 +Testing adda_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x16E6, mem_crc:0x0000, reg_crc:0xBB7D, cc_crc:0xFB49 +Testing adda_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0xF0A3, cc_crc:0xACC5 +Testing adda_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x426D, mem_crc:0x0000, reg_crc:0xA90F, cc_crc:0xF55C +Testing addaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7B7F, mem_crc:0x0000, reg_crc:0x02A8, cc_crc:0x4EF5 +Testing addal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7738, mem_crc:0x0000, reg_crc:0xFE38, cc_crc:0xCE1C +Testing addibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEF65, mem_crc:0x0000, reg_crc:0x4D6F, cc_crc:0x56C3 +Testing addil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD31F, mem_crc:0x0000, reg_crc:0x76CB, cc_crc:0x9069 +Testing addibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7B5D, mem_crc:0x3F2B, reg_crc:0xEBC9, cc_crc:0xFC3A +Testing addil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF4D1, mem_crc:0xF944, reg_crc:0x3408, cc_crc:0x49DF +Testing addibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x92D7, mem_crc:0xB495, reg_crc:0x58DF, cc_crc:0x4233 +Testing addil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7EAD, mem_crc:0x4F45, reg_crc:0x6ED0, cc_crc:0xA89D +Testing addibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB98B, mem_crc:0x19B9, reg_crc:0x44C3, cc_crc:0xD1BE +Testing addil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9A57, mem_crc:0x243C, reg_crc:0xA892, cc_crc:0x1B74 +Testing addq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7B4F, mem_crc:0x0000, reg_crc:0x2D9C, cc_crc:0x6636 +Testing addq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF932, mem_crc:0x0000, reg_crc:0x9F93, cc_crc:0xDCC7 +Testing addq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2ECA, mem_crc:0xEA7A, reg_crc:0x717B, cc_crc:0x27AC +Testing addq_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF89F, mem_crc:0x2C16, reg_crc:0x44D2, cc_crc:0xB282 +Testing addq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFE06, mem_crc:0x2F2C, reg_crc:0xE015, cc_crc:0x8364 +Testing addx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x1E5E, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x4EEE +Testing addx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3DC6, mem_crc:0x60C9, reg_crc:0x40E9, cc_crc:0x7FE3 +Testing and_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB92D, mem_crc:0x0000, reg_crc:0x20E6, cc_crc:0x5993 +Testing and_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6B03, mem_crc:0x0000, reg_crc:0x48A3, cc_crc:0xF069 +Testing and_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFC96, mem_crc:0x0000, reg_crc:0x16DA, cc_crc:0xED4E +Testing and_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF0D7, mem_crc:0x0000, reg_crc:0xDF1C, cc_crc:0x157A +Testing andbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x74B9, mem_crc:0x0000, reg_crc:0x5C9F, cc_crc:0xD782 +Testing andl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8BDA, mem_crc:0x0000, reg_crc:0x1620, cc_crc:0x46A1 +Testing and_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9A23, mem_crc:0x8E74, reg_crc:0x0C8E, cc_crc:0x47FF +Testing and_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB1F8, mem_crc:0xB166, reg_crc:0x0636, cc_crc:0xC656 +Testing and_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2875, mem_crc:0xB787, reg_crc:0x3794, cc_crc:0x6CB8 +Testing andibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7F29, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xBD22 +Testing andil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE8AF, mem_crc:0x0000, reg_crc:0x503C, cc_crc:0xB90B +Testing andibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x203B, mem_crc:0x8E5C, reg_crc:0x06D7, cc_crc:0x80C8 +Testing andil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x20C4, mem_crc:0x8178, reg_crc:0x6A4D, cc_crc:0x48D2 +Testing andibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7380, mem_crc:0xB744, reg_crc:0xBEAC, cc_crc:0x3754 +Testing andil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBA4C, mem_crc:0x8459, reg_crc:0x65F9, cc_crc:0xE3C4 +Testing andibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5EE5, mem_crc:0xD4B7, reg_crc:0x260D, cc_crc:0xC369 +Testing andil_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE2BB, mem_crc:0x3279, reg_crc:0x8D2E, cc_crc:0x3A0F +Testing andi_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x4422, mem_crc:0x0000, reg_crc:0x6BA1, cc_crc:0x07D3 +Testing asl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFBA3, mem_crc:0x0000, reg_crc:0x1067, cc_crc:0x861A +Testing asl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF2CE, mem_crc:0x0000, reg_crc:0x583D, cc_crc:0x5152 +Testing asl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB18, mem_crc:0xA52E, reg_crc:0xE2CC, cc_crc:0x8E22 +Testing asl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1598, mem_crc:0x305A, reg_crc:0x2D77, cc_crc:0x7C9B +Testing asl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x88CB, mem_crc:0x4DB4, reg_crc:0xB975, cc_crc:0xD70C +Testing asr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5094, mem_crc:0x0000, reg_crc:0xC5CF, cc_crc:0x018F +Testing asr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF283, mem_crc:0x0000, reg_crc:0x7652, cc_crc:0x021C +Testing asr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1A7A, mem_crc:0xAB01, reg_crc:0x783A, cc_crc:0x8967 +Testing asr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xDBC5, mem_crc:0xE218, reg_crc:0x78AA, cc_crc:0x7DF5 +Testing asr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFDC3, mem_crc:0x17D4, reg_crc:0xEDBB, cc_crc:0xD2EB +Testing lsl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x6A33, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0x150E +Testing lsl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xA5F0, mem_crc:0x0000, reg_crc:0x590A, cc_crc:0x8973 +Testing lsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB1B, mem_crc:0xBBFA, reg_crc:0xA31D, cc_crc:0x6D80 +Testing lsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x51A6, mem_crc:0x07D6, reg_crc:0x37AB, cc_crc:0x71A0 +Testing lsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5593, mem_crc:0xE907, reg_crc:0x7008, cc_crc:0x8397 +Testing lsr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5610, mem_crc:0x0000, reg_crc:0xBEAF, cc_crc:0x8477 +Testing lsr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8E56, mem_crc:0x0000, reg_crc:0x7CC2, cc_crc:0x1546 +Testing lsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x31D1, mem_crc:0x449F, reg_crc:0x584C, cc_crc:0xF158 +Testing lsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5D5A, mem_crc:0xB3A2, reg_crc:0x2FC8, cc_crc:0x442E +Testing lsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x502D, mem_crc:0x8383, reg_crc:0xFE73, cc_crc:0xF641 +Testing bra_b...2000...4000...6000...8000...10000...done. pre_crc:0x14AC, mem_crc:0x0000, reg_crc:0xFA65, cc_crc:0xFE02 +Testing bhi_b...2000...4000...6000...8000...10000...done. pre_crc:0x02E8, mem_crc:0x0000, reg_crc:0xDF0D, cc_crc:0xE6E5 +Testing bls_b...2000...4000...6000...8000...10000...done. pre_crc:0xA40B, mem_crc:0x0000, reg_crc:0xBB93, cc_crc:0x012F +Testing bcc_b...2000...4000...6000...8000...10000...done. pre_crc:0x17F7, mem_crc:0x0000, reg_crc:0xFA35, cc_crc:0x7447 +Testing bcs_b...2000...4000...6000...8000...10000...done. pre_crc:0xE14B, mem_crc:0x0000, reg_crc:0x2016, cc_crc:0x00CC +Testing bne_b...2000...4000...6000...8000...10000...done. pre_crc:0x6EFE, mem_crc:0x0000, reg_crc:0x602D, cc_crc:0x749F +Testing beq_b...2000...4000...6000...8000...10000...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x37D6, cc_crc:0x5035 +Testing bvc_b...2000...4000...6000...8000...10000...done. pre_crc:0x8A64, mem_crc:0x0000, reg_crc:0xB86A, cc_crc:0xD1C0 +Testing bvs_b...2000...4000...6000...8000...10000...done. pre_crc:0xDB88, mem_crc:0x0000, reg_crc:0x9B67, cc_crc:0x370B +Testing bpl_b...2000...4000...6000...8000...10000...done. pre_crc:0x1227, mem_crc:0x0000, reg_crc:0x9892, cc_crc:0x10CB +Testing bmi_b...2000...4000...6000...8000...10000...done. pre_crc:0x8F4F, mem_crc:0x0000, reg_crc:0x31A1, cc_crc:0x7CB5 +Testing bge_b...2000...4000...6000...8000...10000...done. pre_crc:0xCA78, mem_crc:0x0000, reg_crc:0x9630, cc_crc:0xC033 +Testing blt_b...2000...4000...6000...8000...10000...done. pre_crc:0xFE2D, mem_crc:0x0000, reg_crc:0x4EF9, cc_crc:0x4F19 +Testing bgt_b...2000...4000...6000...8000...10000...done. pre_crc:0x38BD, mem_crc:0x0000, reg_crc:0x8938, cc_crc:0x0B49 +Testing ble_b...2000...4000...6000...8000...10000...done. pre_crc:0x8833, mem_crc:0x0000, reg_crc:0x1307, cc_crc:0x41F9 +Testing bra_w...2000...4000...6000...8000...10000...done. pre_crc:0x67E5, mem_crc:0x0000, reg_crc:0x1A7C, cc_crc:0x5D75 +Testing bhi_w...2000...4000...6000...8000...10000...done. pre_crc:0x8AAD, mem_crc:0x0000, reg_crc:0x3868, cc_crc:0x7F8C +Testing bls_w...2000...4000...6000...8000...10000...done. pre_crc:0x8F5F, mem_crc:0x0000, reg_crc:0xC0CA, cc_crc:0x8277 +Testing bcc_w...2000...4000...6000...8000...10000...done. pre_crc:0xBD81, mem_crc:0x0000, reg_crc:0x1BE2, cc_crc:0xD26F +Testing bcs_w...2000...4000...6000...8000...10000...done. pre_crc:0xAE6B, mem_crc:0x0000, reg_crc:0x9624, cc_crc:0x85E9 +Testing bne_w...2000...4000...6000...8000...10000...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0x075B, cc_crc:0x4C4A +Testing beq_w...2000...4000...6000...8000...10000...done. pre_crc:0x9EC5, mem_crc:0x0000, reg_crc:0xB6D5, cc_crc:0xCF3A +Testing bvc_w...2000...4000...6000...8000...10000...done. pre_crc:0xA01E, mem_crc:0x0000, reg_crc:0x0F06, cc_crc:0x6AE7 +Testing bvs_w...2000...4000...6000...8000...10000...done. pre_crc:0x4FF2, mem_crc:0x0000, reg_crc:0xCEDA, cc_crc:0x8B03 +Testing bpl_w...2000...4000...6000...8000...10000...done. pre_crc:0x8CA2, mem_crc:0x0000, reg_crc:0x9164, cc_crc:0xF16E +Testing bmi_w...2000...4000...6000...8000...10000...done. pre_crc:0x954B, mem_crc:0x0000, reg_crc:0xD6D9, cc_crc:0x406E +Testing bge_w...2000...4000...6000...8000...10000...done. pre_crc:0x4AB1, mem_crc:0x0000, reg_crc:0x47F6, cc_crc:0x828D +Testing blt_w...2000...4000...6000...8000...10000...done. pre_crc:0x2CE3, mem_crc:0x0000, reg_crc:0xF3D7, cc_crc:0xFFF6 +Testing bgt_w...2000...4000...6000...8000...10000...done. pre_crc:0x6ECF, mem_crc:0x0000, reg_crc:0x1F34, cc_crc:0x36E2 +Testing ble_w...2000...4000...6000...8000...10000...done. pre_crc:0x1BB2, mem_crc:0x0000, reg_crc:0xE08A, cc_crc:0x320E +Testing bra_l...2000...4000...6000...8000...10000...done. pre_crc:0x10D5, mem_crc:0x0000, reg_crc:0x24A0, cc_crc:0x99C5 +Testing bhi_l...2000...4000...6000...8000...10000...done. pre_crc:0xDECC, mem_crc:0x0000, reg_crc:0xE9E3, cc_crc:0x978A +Testing bls_l...2000...4000...6000...8000...10000...done. pre_crc:0x84FD, mem_crc:0x0000, reg_crc:0x7CA4, cc_crc:0x4CC8 +Testing bcc_l...2000...4000...6000...8000...10000...done. pre_crc:0x0B65, mem_crc:0x0000, reg_crc:0x86F7, cc_crc:0x7E90 +Testing bcs_l...2000...4000...6000...8000...10000...done. pre_crc:0xCD11, mem_crc:0x0000, reg_crc:0xA1D6, cc_crc:0x71CC +Testing bne_l...2000...4000...6000...8000...10000...done. pre_crc:0x3618, mem_crc:0x0000, reg_crc:0x9BC2, cc_crc:0x9096 +Testing beq_l...2000...4000...6000...8000...10000...done. pre_crc:0x27F0, mem_crc:0x0000, reg_crc:0xB63E, cc_crc:0xBF6D +Testing bvc_l...2000...4000...6000...8000...10000...done. pre_crc:0x6F17, mem_crc:0x0000, reg_crc:0x8887, cc_crc:0xB7B2 +Testing bvs_l...2000...4000...6000...8000...10000...done. pre_crc:0x1100, mem_crc:0x0000, reg_crc:0xFDA4, cc_crc:0xF1AD +Testing bpl_l...2000...4000...6000...8000...10000...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0xCE31, cc_crc:0xA918 +Testing bmi_l...2000...4000...6000...8000...10000...done. pre_crc:0xAEEA, mem_crc:0x0000, reg_crc:0x2BE1, cc_crc:0xB562 +Testing bge_l...2000...4000...6000...8000...10000...done. pre_crc:0x34FB, mem_crc:0x0000, reg_crc:0x9EDF, cc_crc:0x296D +Testing blt_l...2000...4000...6000...8000...10000...done. pre_crc:0x7495, mem_crc:0x0000, reg_crc:0x345E, cc_crc:0xCD15 +Testing bgt_l...2000...4000...6000...8000...10000...done. pre_crc:0xA52F, mem_crc:0x0000, reg_crc:0xCE20, cc_crc:0x070D +Testing ble_l...2000...4000...6000...8000...10000...done. pre_crc:0x9B33, mem_crc:0x0000, reg_crc:0x3E20, cc_crc:0x01C1 +Testing bchg_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x817C, mem_crc:0x0000, reg_crc:0x2992, cc_crc:0xBF13 +Testing bchg_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC24E, mem_crc:0x0000, reg_crc:0x69D8, cc_crc:0x24E2 +Testing bchg_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4051, mem_crc:0xE1AA, reg_crc:0xC07E, cc_crc:0xC297 +Testing bchg_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB68, mem_crc:0xFFC5, reg_crc:0x7FD0, cc_crc:0x16A8 +Testing bchg_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5977, mem_crc:0x6FD1, reg_crc:0x69A9, cc_crc:0xD3A7 +Testing bchg_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x71D2, mem_crc:0x6C71, reg_crc:0x5226, cc_crc:0xF801 +Testing bchg_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xADD7, mem_crc:0x543E, reg_crc:0x28EE, cc_crc:0x54E3 +Testing bchg_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9797, mem_crc:0xE6E3, reg_crc:0x36DB, cc_crc:0xECF8 +Testing bclr_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF8DC, mem_crc:0x0000, reg_crc:0xED3A, cc_crc:0x48F0 +Testing bclr_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9388, mem_crc:0x0000, reg_crc:0xD952, cc_crc:0x6C0A +Testing bclr_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB2A, mem_crc:0xC2A4, reg_crc:0x8D1D, cc_crc:0x5B68 +Testing bclr_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x755A, mem_crc:0x38BA, reg_crc:0x1920, cc_crc:0xE403 +Testing bclr_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x793C, mem_crc:0xBE81, reg_crc:0x568D, cc_crc:0x3548 +Testing bclr_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x74BE, mem_crc:0x4D28, reg_crc:0x2FF1, cc_crc:0x9584 +Testing bclr_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2B42, mem_crc:0x23D6, reg_crc:0x6981, cc_crc:0xF3DB +Testing bclr_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x983A, mem_crc:0x432F, reg_crc:0xE733, cc_crc:0xE2FC +Testing bset_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xB74E, mem_crc:0x0000, reg_crc:0x85A1, cc_crc:0x6A71 +Testing bset_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x760C, mem_crc:0x0000, reg_crc:0xF746, cc_crc:0x14D8 +Testing bset_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2003, mem_crc:0x4537, reg_crc:0xAE2A, cc_crc:0xBA91 +Testing bset_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4928, mem_crc:0xAAF0, reg_crc:0x7C92, cc_crc:0x47AF +Testing bset_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C6B, mem_crc:0xB3C1, reg_crc:0x3408, cc_crc:0x9707 +Testing bset_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7B0F, mem_crc:0x7046, reg_crc:0x73F8, cc_crc:0xE8AA +Testing bset_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2A2D, mem_crc:0x6D5E, reg_crc:0xAF2B, cc_crc:0x6D31 +Testing bset_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7B08, mem_crc:0xC603, reg_crc:0xDA10, cc_crc:0x8BE1 +Testing btst_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x63BF, mem_crc:0x0000, reg_crc:0xDD1D, cc_crc:0xF234 +Testing btst_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x0B62, mem_crc:0x0000, reg_crc:0x1964, cc_crc:0x7278 +Testing btst_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE168, mem_crc:0x0000, reg_crc:0xA66F, cc_crc:0x6303 +Testing btst_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEA32, mem_crc:0x0000, reg_crc:0xA179, cc_crc:0x509A +Testing btst_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4691, mem_crc:0x0000, reg_crc:0xF808, cc_crc:0xE14D +Testing btst_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4654, mem_crc:0x0000, reg_crc:0x6912, cc_crc:0xEDBE +Testing btst_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2C06, mem_crc:0x0000, reg_crc:0xB89C, cc_crc:0x0CD8 +Testing btst_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3EEE, mem_crc:0x0000, reg_crc:0xF67E, cc_crc:0x5458 +Testing bfchg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x7DBD, mem_crc:0x0000, reg_crc:0xD51F, cc_crc:0x270F +Testing bfchg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB27, mem_crc:0xD748, reg_crc:0x7D82, cc_crc:0xC8A7 +Testing bfchg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x17D3, mem_crc:0x62EA, reg_crc:0x688C, cc_crc:0x4B87 +Testing bfchg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x321A, mem_crc:0x909A, reg_crc:0x8A26, cc_crc:0x6E7F +Testing bfclr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x56A8, mem_crc:0x0000, reg_crc:0xC02D, cc_crc:0xE5B0 +Testing bfclr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBB1C, mem_crc:0xFBE6, reg_crc:0x78A5, cc_crc:0xDF15 +Testing bfclr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2604, mem_crc:0x7A15, reg_crc:0xDD4D, cc_crc:0xA861 +Testing bfclr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA49F, mem_crc:0x2943, reg_crc:0xE967, cc_crc:0xAB15 +Testing bfset_reg...2000...4000...6000...8000...10000...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x4F38, cc_crc:0x9E76 +Testing bfset_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4A8F, mem_crc:0x5ECB, reg_crc:0x86A2, cc_crc:0x79E5 +Testing bfset_d16...2000...4000...6000...8000...10000...done. pre_crc:0x06CD, mem_crc:0xBB59, reg_crc:0xFEDF, cc_crc:0x40EC +Testing bfset_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x46CE, reg_crc:0x5653, cc_crc:0x3514 +Testing bftst_reg...2000...4000...6000...8000...10000...done. pre_crc:0x48E0, mem_crc:0x0000, reg_crc:0x492C, cc_crc:0x1B12 +Testing bftst_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8203, mem_crc:0x0000, reg_crc:0xC138, cc_crc:0xC599 +Testing bftst_d16...2000...4000...6000...8000...10000...done. pre_crc:0x998C, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x4A0E +Testing bftst_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD6CD, mem_crc:0x0000, reg_crc:0x1FFB, cc_crc:0x9944 +Testing bfexts_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2979, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xBAB6 +Testing bfexts_ind...2000...4000...6000...8000...10000...done. pre_crc:0x19AB, mem_crc:0x0000, reg_crc:0x06D8, cc_crc:0x6132 +Testing bfexts_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE734, mem_crc:0x0000, reg_crc:0xD169, cc_crc:0x6A55 +Testing bfexts_absl...2000...4000...6000...8000...10000...done. pre_crc:0xACBE, mem_crc:0x0000, reg_crc:0x7F67, cc_crc:0x1E41 +Testing bfextu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x28E9, mem_crc:0x0000, reg_crc:0x9399, cc_crc:0xBA32 +Testing bfextu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBCD6, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xA126 +Testing bfextu_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7744, mem_crc:0x0000, reg_crc:0x01F1, cc_crc:0x33C5 +Testing bfextu_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2531, mem_crc:0x0000, reg_crc:0x43D6, cc_crc:0x7750 +Testing bfffo_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6524, mem_crc:0x0000, reg_crc:0x1C86, cc_crc:0xF413 +Testing bfffo_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A2B, mem_crc:0x0000, reg_crc:0x6832, cc_crc:0x65E8 +Testing bfffo_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA166, mem_crc:0x0000, reg_crc:0x84E2, cc_crc:0xCF27 +Testing bfffo_absl...2000...4000...6000...8000...10000...done. pre_crc:0xDCD2, mem_crc:0x0000, reg_crc:0x3CBD, cc_crc:0x2D82 +Testing bfins_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8117, mem_crc:0x0000, reg_crc:0xDC61, cc_crc:0xBEA5 +Testing bfins_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8362, mem_crc:0x7877, reg_crc:0x699A, cc_crc:0x667D +Testing bfins_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C7B, mem_crc:0x5D89, reg_crc:0x6335, cc_crc:0xA03F +Testing bfins_absl...2000...4000...6000...8000...10000...done. pre_crc:0x167B, mem_crc:0x557B, reg_crc:0x6356, cc_crc:0xE217 +Testing bsr_b...2000...4000...6000...8000...10000...done. pre_crc:0x0F9E, mem_crc:0x9350, reg_crc:0x2562, cc_crc:0xC8D9 +Testing bsr_w...2000...4000...6000...8000...10000...done. pre_crc:0xFC47, mem_crc:0xC2BF, reg_crc:0xB43A, cc_crc:0x40C1 +Testing bsr_l...2000...4000...6000...8000...10000...done. pre_crc:0x158C, mem_crc:0xB0EF, reg_crc:0xB908, cc_crc:0x9078 +Testing cas_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA4EC, mem_crc:0xEA85, reg_crc:0xE33D, cc_crc:0x6731 +Testing cas2_areg...2000...4000...6000...8000...10000...done. pre_crc:0x25D3, mem_crc:0x982A, reg_crc:0x6C6A, cc_crc:0xA05C +Testing cas2_anyreg...2000...4000...6000...8000...10000...done. pre_crc:0xEB9C, mem_crc:0xAB85, reg_crc:0xEEDD, cc_crc:0x8D48 +Testing clr_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAFA3, mem_crc:0x0000, reg_crc:0x4C94, cc_crc:0x51CD +Testing clrb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE55C, mem_crc:0x7D2D, reg_crc:0x2CE0, cc_crc:0xE5F2 +Testing clrwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE518, mem_crc:0x8B3F, reg_crc:0x6BBC, cc_crc:0xC120 +Testing clrb_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B5D, mem_crc:0xBC40, reg_crc:0xB46C, cc_crc:0x0E5E +Testing clrwl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x123D, mem_crc:0x06CF, reg_crc:0x5786, cc_crc:0x69D1 +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4761, mem_crc:0x0000, reg_crc:0x4233, cc_crc:0x5D0E +Testing cmp_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF2A1, mem_crc:0x0000, reg_crc:0x2008, cc_crc:0x7AB6 +Testing cmpb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9FED, mem_crc:0x0000, reg_crc:0xE230, cc_crc:0x405E +Testing cmpwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x11E5, mem_crc:0x0000, reg_crc:0x4F2A, cc_crc:0x9382 +Testing cmpb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE06D, mem_crc:0x0000, reg_crc:0xA611, cc_crc:0xD4A3 +Testing cmpwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD541, mem_crc:0x0000, reg_crc:0x0944, cc_crc:0x3521 +Testing cmpa_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE4A5, mem_crc:0x0000, reg_crc:0x68FD, cc_crc:0xA517 +Testing cmpa_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6AA4, mem_crc:0x0000, reg_crc:0x3D45, cc_crc:0x1E7D +Testing cmpa_ind2...2000...4000...6000...8000...10000...done. pre_crc:0xD1BF, mem_crc:0x0000, reg_crc:0x2F10, cc_crc:0xD629 +Testing cmpa_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD05, mem_crc:0x0000, reg_crc:0x2083, cc_crc:0xC14A +Testing cmpa_d16_2...2000...4000...6000...8000...10000...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0xE412, cc_crc:0x2D8D +Testing cmpa_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0x7F2F, cc_crc:0xBECA +Testing cmpibw_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF401, mem_crc:0x0000, reg_crc:0x1755, cc_crc:0x8DAA +Testing cmpil_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBC0C, mem_crc:0x0000, reg_crc:0xC3E7, cc_crc:0x853B +Testing cmpib_ind...2000...4000...6000...8000...10000...done. pre_crc:0x796C, mem_crc:0x0000, reg_crc:0x320D, cc_crc:0xB118 +Testing cmpiw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCD6F, mem_crc:0x0000, reg_crc:0xBC92, cc_crc:0x449A +Testing cmpil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6F88, mem_crc:0x0000, reg_crc:0x095C, cc_crc:0xD9C4 +Testing cmpmb...2000...4000...6000...8000...10000...done. pre_crc:0xB182, mem_crc:0x0000, reg_crc:0xDDC0, cc_crc:0x418D +Testing cmpmwl...2000...4000...6000...8000...10000...done. pre_crc:0xD437, mem_crc:0x0000, reg_crc:0xA8DF, cc_crc:0x201F +Testing cmp2b_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA01B, mem_crc:0x0000, reg_crc:0x36E7, cc_crc:0xFB29 +Testing cmp2wl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0E96, mem_crc:0x0000, reg_crc:0x7D1B, cc_crc:0x0536 +Testing dbcc...2000...4000...6000...8000...10000...done. pre_crc:0xE667, mem_crc:0x0000, reg_crc:0x8133, cc_crc:0x616B +Testing divs_reg...2000...4000...6000...8000...10000...done. pre_crc:0x90C6, mem_crc:0x0000, reg_crc:0x1D78, cc_crc:0xBB9F +Testing divs_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA2A8, mem_crc:0x0000, reg_crc:0x02B9, cc_crc:0x3220 +Testing divs_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4392, mem_crc:0x0000, reg_crc:0xB1F9, cc_crc:0xF802 +Testing divs_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFCC1, mem_crc:0x0000, reg_crc:0xECBC, cc_crc:0x8A8F +Testing divu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2D15, mem_crc:0x0000, reg_crc:0xA83B, cc_crc:0xD1F5 +Testing divu_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC71D, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xAB7F +Testing divu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF92B, mem_crc:0x0000, reg_crc:0x106D, cc_crc:0xED21 +Testing divu_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA203, mem_crc:0x0000, reg_crc:0x1B81, cc_crc:0x6A71 +Testing divul_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE0F6, mem_crc:0x0000, reg_crc:0xFA14, cc_crc:0x8D5A +Testing divul_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0x28AB, mem_crc:0x0000, reg_crc:0xE487, cc_crc:0x1C0E +Testing divul_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE21A, mem_crc:0x0000, reg_crc:0x22C3, cc_crc:0xDA08 +Testing eor_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5EA4, mem_crc:0x0000, reg_crc:0xE130, cc_crc:0xBBE4 +Testing eor_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE2C1, mem_crc:0x9990, reg_crc:0x55DE, cc_crc:0x73CB +Testing eor_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFC62, mem_crc:0x4351, reg_crc:0x4109, cc_crc:0x8290 +Testing eor_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE1FA, mem_crc:0x68F4, reg_crc:0x8A80, cc_crc:0xF627 +Testing eoribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6129, mem_crc:0x0000, reg_crc:0x1817, cc_crc:0xD1C3 +Testing eoril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7000, mem_crc:0x0000, reg_crc:0x7877, cc_crc:0x5DCB +Testing eoribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2284, mem_crc:0x60B7, reg_crc:0xFFC5, cc_crc:0x77EB +Testing eoril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xD20B, mem_crc:0xBAAB, reg_crc:0x5C9C, cc_crc:0xB7A0 +Testing eoribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4BFF, mem_crc:0x4CA1, reg_crc:0xEEC3, cc_crc:0xB4B2 +Testing eoril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB199, mem_crc:0x455D, reg_crc:0x4698, cc_crc:0xB6D3 +Testing eoribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC3EB, mem_crc:0xC318, reg_crc:0xAE86, cc_crc:0xFD5E +Testing eoril_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB1C2, mem_crc:0x5A24, reg_crc:0x17CC, cc_crc:0xCC95 +Testing eori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0xC7C1, cc_crc:0x6348 +Testing exg...2000...4000...6000...8000...10000...done. pre_crc:0x3636, mem_crc:0x0000, reg_crc:0x1C92, cc_crc:0xD45C +Testing ext...2000...4000...6000...8000...10000...done. pre_crc:0x7020, mem_crc:0x0000, reg_crc:0xCC6F, cc_crc:0x3C22 +Testing jmp_absl...2000...4000...6000...8000...10000...done. pre_crc:0x264A, mem_crc:0x0000, reg_crc:0xD052, cc_crc:0x5415 +Testing jmp_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5D81, mem_crc:0x0000, reg_crc:0x5801, cc_crc:0x1652 +Testing jmp_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3B8F, mem_crc:0x0000, reg_crc:0x2FBC, cc_crc:0x23A2 +Testing jsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB252, mem_crc:0x9021, reg_crc:0xCC42, cc_crc:0x4985 +Testing jsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x122E, mem_crc:0x97C4, reg_crc:0xC79B, cc_crc:0xD3A8 +Testing jsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C2A, mem_crc:0x9164, reg_crc:0x7BFC, cc_crc:0x16C4 +Testing lea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9516, mem_crc:0x0000, reg_crc:0x2EE8, cc_crc:0xC452 +Testing lea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4E75, mem_crc:0x0000, reg_crc:0x473A, cc_crc:0xFEC4 +Testing lea_absw...2000...4000...6000...8000...10000...done. pre_crc:0xA64A, mem_crc:0x0000, reg_crc:0xAE0D, cc_crc:0x25A8 +Testing lea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6527, mem_crc:0x0000, reg_crc:0x097D, cc_crc:0x9410 +Testing linkw...2000...4000...6000...8000...10000...done. pre_crc:0x9D80, mem_crc:0x342A, reg_crc:0x72BB, cc_crc:0x43FE +Testing linkl...2000...4000...6000...8000...10000...done. pre_crc:0xAA30, mem_crc:0x56C5, reg_crc:0xAD94, cc_crc:0x1392 +Testing move16_postinc_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x17CC, mem_crc:0x6858, reg_crc:0xE156, cc_crc:0x39A6 +Testing move16_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDE6C, mem_crc:0x52C8, reg_crc:0xD490, cc_crc:0x5387 +Testing move16_absl_postinc...2000...4000...6000...8000...10000...done. pre_crc:0xB7F5, mem_crc:0x2C89, reg_crc:0x5489, cc_crc:0x8221 +Testing move16_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8FD0, mem_crc:0x45BC, reg_crc:0x7E12, cc_crc:0xA095 +Testing move16_postinc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xEAED, mem_crc:0xB2B2, reg_crc:0xC7D6, cc_crc:0x3826 +Testing moveb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xCCB7, mem_crc:0x0000, reg_crc:0x9AE1, cc_crc:0xFDB5 +Testing movewl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90B6, mem_crc:0x0000, reg_crc:0x03B7, cc_crc:0x4FCB +Testing moveb_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7490, mem_crc:0x0000, reg_crc:0x786A, cc_crc:0x213F +Testing movewl_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7906, mem_crc:0x0000, reg_crc:0x8916, cc_crc:0x78F6 +Testing moveb_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0850, mem_crc:0x0000, reg_crc:0xDA64, cc_crc:0xB39D +Testing movewl_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE0BE, mem_crc:0x0000, reg_crc:0xECC8, cc_crc:0xF98D +Testing moveb_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7C87, mem_crc:0x0000, reg_crc:0xE00D, cc_crc:0xFF5A +Testing movewl_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD859, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0x5138 +Testing movebw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF4C1, mem_crc:0x0000, reg_crc:0xE217, cc_crc:0x4424 +Testing movel_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0x1D77, cc_crc:0x5C06 +Testing moveb_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A9E, mem_crc:0x375D, reg_crc:0x4CD0, cc_crc:0x3506 +Testing movewl_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBC94, mem_crc:0x3B3E, reg_crc:0xB1F6, cc_crc:0x5129 +Testing moveb_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFAD7, mem_crc:0xB35D, reg_crc:0x8733, cc_crc:0xFDE5 +Testing movewl_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA0E0, mem_crc:0x0F2B, reg_crc:0xDD6A, cc_crc:0x6A0C +Testing moveb_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1650, mem_crc:0x866E, reg_crc:0xFE73, cc_crc:0x4AB6 +Testing movewl_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x619A, mem_crc:0xC43E, reg_crc:0xF395, cc_crc:0xD1D8 +Testing moveb_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF5E6, mem_crc:0x4AC7, reg_crc:0x0684, cc_crc:0x2919 +Testing moveb_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0DCD, mem_crc:0x6123, reg_crc:0xB9CE, cc_crc:0x2728 +Testing moveb_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA739, mem_crc:0x9BB5, reg_crc:0xCE2F, cc_crc:0x534E +Testing movewl_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x62A3, mem_crc:0x2842, reg_crc:0xC3E1, cc_crc:0x2818 +Testing movewl_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDBFC, mem_crc:0x7E93, reg_crc:0xDA89, cc_crc:0x0955 +Testing moveb_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD252, mem_crc:0x8236, reg_crc:0xCA8E, cc_crc:0x9FA0 +Testing movewl_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6DEF, mem_crc:0xF08D, reg_crc:0x3599, cc_crc:0x10D9 +Testing moveb_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8B0C, mem_crc:0x741B, reg_crc:0x2DDE, cc_crc:0x4CC1 +Testing movewl_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF679, mem_crc:0xA314, reg_crc:0x5B89, cc_crc:0xF8FE +Testing moveb_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x47C5, mem_crc:0x27DD, reg_crc:0x73DC, cc_crc:0x2255 +Testing movewl_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2B48, mem_crc:0x9918, reg_crc:0xE8A9, cc_crc:0xAE08 +Testing moveb_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5B5C, mem_crc:0x384A, reg_crc:0xFD61, cc_crc:0xA63C +Testing movewl_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB400, mem_crc:0x913D, reg_crc:0x5AF3, cc_crc:0x517F +Testing moveb_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x90DE, mem_crc:0x1E21, reg_crc:0x7806, cc_crc:0x6B29 +Testing movewl_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x89B9, mem_crc:0x27B8, reg_crc:0x78D7, cc_crc:0xCE04 +Testing moveb_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7A9A, mem_crc:0x8BDB, reg_crc:0x99F0, cc_crc:0x8916 +Testing movewl_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x408F, mem_crc:0xF4FE, reg_crc:0x0802, cc_crc:0x7FAD +Testing moveb_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0361, mem_crc:0xA069, reg_crc:0x5DD9, cc_crc:0x9CB2 +Testing moveb_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5FE6, mem_crc:0x6D86, reg_crc:0x755D, cc_crc:0x659F +Testing moveb_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0CCC, mem_crc:0xE01F, reg_crc:0xD1E1, cc_crc:0xDF79 +Testing movew_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC05F, mem_crc:0xB81B, reg_crc:0xFAEB, cc_crc:0xA684 +Testing movew_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF8E0, mem_crc:0xD6A4, reg_crc:0x174E, cc_crc:0x3A78 +Testing movew_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5967, mem_crc:0xF528, reg_crc:0xC783, cc_crc:0x8529 +Testing movel_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x200F, mem_crc:0xA511, reg_crc:0xC642, cc_crc:0x2537 +Testing movel_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7C51, mem_crc:0x91F7, reg_crc:0x4067, cc_crc:0x4B03 +Testing movel_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0xAE75, mem_crc:0x0B8F, reg_crc:0x4662, cc_crc:0xD88D +Testing movea_reg...2000...4000...6000...8000...10000...done. pre_crc:0x861B, mem_crc:0x0000, reg_crc:0x956A, cc_crc:0x7FE6 +Testing movea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2C5E, mem_crc:0x0000, reg_crc:0xD8CA, cc_crc:0x1007 +Testing movea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6EC4, mem_crc:0x0000, reg_crc:0xA6F5, cc_crc:0x889A +Testing movea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF876, mem_crc:0x0000, reg_crc:0xC45B, cc_crc:0x7B4D +Testing moveaw_const...2000...4000...6000...8000...10000...done. pre_crc:0xB99A, mem_crc:0x0000, reg_crc:0xBEE1, cc_crc:0x70F2 +Testing moveal_const...2000...4000...6000...8000...10000...done. pre_crc:0x0D69, mem_crc:0x0000, reg_crc:0x7F73, cc_crc:0xF5E4 +Testing move_from_ccr_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEEEB, mem_crc:0x0000, reg_crc:0xBFA7, cc_crc:0x6420 +Testing move_from_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x976B, mem_crc:0x0000, reg_crc:0x1A92, cc_crc:0x5F84 +Testing move_from_ccr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF84A, mem_crc:0x0000, reg_crc:0xD16C, cc_crc:0x2B53 +Testing move_to_ccr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2B8A, mem_crc:0x0000, reg_crc:0x601B, cc_crc:0xF93C +Testing move_to_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEDA3, mem_crc:0x0000, reg_crc:0xB9C1, cc_crc:0xEB9F +Testing movem_to_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9B28, mem_crc:0x975E, reg_crc:0xAF77, cc_crc:0x7507 +Testing movem_to_predec...2000...4000...6000...8000...10000...done. pre_crc:0xD6B7, mem_crc:0xD658, reg_crc:0x2F67, cc_crc:0xBB4D +Testing movem_to_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC8F0, mem_crc:0x8DEB, reg_crc:0xD89F, cc_crc:0x4AD0 +Testing movem_to_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8CEE, mem_crc:0xC6D7, reg_crc:0x1D2E, cc_crc:0x40B5 +Testing movem_from_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86D6, mem_crc:0x0000, reg_crc:0x5ED9, cc_crc:0xF4BF +Testing movem_from_ind...2000...4000...6000...8000...10000...done. pre_crc:0x399F, mem_crc:0x0000, reg_crc:0x281B, cc_crc:0xEAEA +Testing movem_from_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FA0, mem_crc:0x0000, reg_crc:0x6C77, cc_crc:0x4561 +Testing movep_to_mem...2000...4000...6000...8000...10000...done. pre_crc:0x5A5B, mem_crc:0x170F, reg_crc:0xB29A, cc_crc:0xE1C5 +Testing movep_from_mem...2000...4000...6000...8000...10000...done. pre_crc:0x1F11, mem_crc:0x0000, reg_crc:0xCF30, cc_crc:0x3EEF +Testing moveq...2000...4000...6000...8000...10000...done. pre_crc:0xAAF9, mem_crc:0x0000, reg_crc:0xAF6C, cc_crc:0x73FD +Testing mulsw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBCCC, mem_crc:0x0000, reg_crc:0xDEFF, cc_crc:0xD03B +Testing mulsw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE7C9, mem_crc:0x0000, reg_crc:0xED7B, cc_crc:0x72D1 +Testing mulsw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA827, mem_crc:0x0000, reg_crc:0x9D43, cc_crc:0xAE31 +Testing mulsw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA7DD, mem_crc:0x0000, reg_crc:0x01AE, cc_crc:0x6875 +Testing muluw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x0854, cc_crc:0x9A2B +Testing muluw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE9A0, mem_crc:0x0000, reg_crc:0x4188, cc_crc:0xBBAF +Testing muluw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8B1C, mem_crc:0x0000, reg_crc:0xA08E, cc_crc:0x86B9 +Testing muluw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6CC2, mem_crc:0x0000, reg_crc:0x6BA8, cc_crc:0xEE4B +Testing mulsl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1960, mem_crc:0x0000, reg_crc:0x4CF7, cc_crc:0xFEF8 +Testing mulsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFA22, mem_crc:0x0000, reg_crc:0x106E, cc_crc:0x0873 +Testing mulsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0x18EB, cc_crc:0x0665 +Testing mulsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x862F, mem_crc:0x0000, reg_crc:0x8D09, cc_crc:0xF628 +Testing mulul_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA4B9, mem_crc:0x0000, reg_crc:0x7EB2, cc_crc:0x901D +Testing mulul_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3AE0, mem_crc:0x0000, reg_crc:0x6770, cc_crc:0xEEB4 +Testing mulul_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15E9, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0x531E +Testing mulul_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FD2, mem_crc:0x0000, reg_crc:0xA831, cc_crc:0xFC59 +Testing nbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA576, mem_crc:0x0000, reg_crc:0x06AA, cc_crc:0x5F8E +Testing nbcd_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0818, mem_crc:0xA922, reg_crc:0xD549, cc_crc:0x08DC +Testing nbcd_d16...2000...4000...6000...8000...10000...done. pre_crc:0x33B4, mem_crc:0x367B, reg_crc:0x8A08, cc_crc:0xF9E4 +Testing nbcd_absl...2000...4000...6000...8000...10000...done. pre_crc:0x419A, mem_crc:0x2567, reg_crc:0xB20C, cc_crc:0x5DE9 +Testing neg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5A85, mem_crc:0x0000, reg_crc:0xDF04, cc_crc:0xB2E4 +Testing negb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x013F, mem_crc:0x58D0, reg_crc:0xA347, cc_crc:0xBE28 +Testing negwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3E95, mem_crc:0xCA00, reg_crc:0x1CC1, cc_crc:0xAC9A +Testing negb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE89F, mem_crc:0x919B, reg_crc:0x3B19, cc_crc:0x0F93 +Testing negwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEF77, mem_crc:0x7349, reg_crc:0x3536, cc_crc:0xABD3 +Testing neg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3A10, mem_crc:0xD22B, reg_crc:0x227E, cc_crc:0xB375 +Testing negx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8C17, mem_crc:0x0000, reg_crc:0x2414, cc_crc:0xCE97 +Testing negxb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x565B, mem_crc:0xA327, reg_crc:0x9285, cc_crc:0xF0BE +Testing negxwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x26BA, mem_crc:0x69F5, reg_crc:0x265B, cc_crc:0x3B45 +Testing negxb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x70FF, mem_crc:0x6704, reg_crc:0x4320, cc_crc:0x4B93 +Testing negxwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x445B, mem_crc:0x6050, reg_crc:0x57DF, cc_crc:0x6055 +Testing negx_absl...2000...4000...6000...8000...10000...done. pre_crc:0x79B4, mem_crc:0xE637, reg_crc:0x9C48, cc_crc:0x364D +Testing nop...2000...4000...6000...8000...10000...done. pre_crc:0x26B8, mem_crc:0x0000, reg_crc:0x153D, cc_crc:0xD96E +Testing not_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x6134, cc_crc:0x1F29 +Testing notb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x98CD, mem_crc:0x5226, reg_crc:0xB4A3, cc_crc:0x6A11 +Testing notwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x71D8, mem_crc:0x32FE, reg_crc:0xED81, cc_crc:0x6101 +Testing notb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD90C, mem_crc:0x194F, reg_crc:0xBA3E, cc_crc:0x79B3 +Testing notwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1346, mem_crc:0x3234, reg_crc:0x0944, cc_crc:0x3521 +Testing not_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF983, mem_crc:0x0486, reg_crc:0x86FD, cc_crc:0x487D +Testing or_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC936, mem_crc:0x0000, reg_crc:0x86AD, cc_crc:0x0ACA +Testing or_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x9BBE, mem_crc:0x0000, reg_crc:0xCE0B, cc_crc:0xD24E +Testing or_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7387, mem_crc:0x0000, reg_crc:0x61FB, cc_crc:0x62C4 +Testing or_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8E27, mem_crc:0x0000, reg_crc:0xB2EB, cc_crc:0x4144 +Testing orbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8285, mem_crc:0x0000, reg_crc:0xE9BF, cc_crc:0x84C0 +Testing orl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x451E, mem_crc:0x0000, reg_crc:0x231A, cc_crc:0xCCF0 +Testing or_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8A96, mem_crc:0xCB4F, reg_crc:0xED74, cc_crc:0x4FE5 +Testing or_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x599A, mem_crc:0x9475, reg_crc:0x4FD6, cc_crc:0xC2CE +Testing or_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B95, mem_crc:0x6977, reg_crc:0x969A, cc_crc:0x7755 +Testing oribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1EB0, mem_crc:0x0000, reg_crc:0x0324, cc_crc:0x11E8 +Testing oril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDD29, mem_crc:0x0000, reg_crc:0x65DD, cc_crc:0xA9D1 +Testing oribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0857, mem_crc:0x5CCC, reg_crc:0xE658, cc_crc:0xCAFA +Testing oril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAFAF, mem_crc:0x523B, reg_crc:0x280F, cc_crc:0xFD2A +Testing oribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x36A9, mem_crc:0x2C86, reg_crc:0xE866, cc_crc:0xCB20 +Testing oril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE846, mem_crc:0x34AD, reg_crc:0xF0D2, cc_crc:0xA396 +Testing oribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC57A, mem_crc:0x8325, reg_crc:0xF4F7, cc_crc:0x085B +Testing oril_absl...2000...4000...6000...8000...10000...done. pre_crc:0x36F9, mem_crc:0xCF27, reg_crc:0xD4C3, cc_crc:0xE5C7 +Testing ori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x1AE9, mem_crc:0x0000, reg_crc:0x51DC, cc_crc:0xF03C +Testing pack_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D52, mem_crc:0x0000, reg_crc:0x18FF, cc_crc:0x6BA2 +Testing pack_mem...2000...4000...6000...8000...10000...done. pre_crc:0xEAC4, mem_crc:0x1F8A, reg_crc:0xCF05, cc_crc:0x1A04 +Testing pea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3BC3, mem_crc:0xDF7C, reg_crc:0xAC77, cc_crc:0x2B8D +Testing pea_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBAB7, mem_crc:0xB7FC, reg_crc:0x2357, cc_crc:0xF82A +Testing pea_absw...2000...4000...6000...8000...10000...done. pre_crc:0x4192, mem_crc:0x3555, reg_crc:0x16C7, cc_crc:0x2F67 +Testing pea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x687D, mem_crc:0x76AE, reg_crc:0xE12D, cc_crc:0x51EA +Testing rol_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x1E89, mem_crc:0x0000, reg_crc:0xDB84, cc_crc:0x2A75 +Testing rol_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x789C, mem_crc:0x0000, reg_crc:0x1E06, cc_crc:0xD7AA +Testing rol_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5100, mem_crc:0x950F, reg_crc:0x638D, cc_crc:0x302E +Testing rol_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9969, mem_crc:0x0275, reg_crc:0x1CE0, cc_crc:0x1531 +Testing rol_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9DEB, mem_crc:0x402C, reg_crc:0x0A63, cc_crc:0xC535 +Testing ror_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x2D9D, mem_crc:0x0000, reg_crc:0xF825, cc_crc:0x1144 +Testing ror_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xCB2E, mem_crc:0x0000, reg_crc:0xB8C0, cc_crc:0xF15D +Testing ror_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3551, mem_crc:0x8FE9, reg_crc:0x6D40, cc_crc:0x70D0 +Testing ror_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86CE, mem_crc:0xC3C5, reg_crc:0xA0C3, cc_crc:0x48CA +Testing ror_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6E9E, mem_crc:0x2250, reg_crc:0x9EF2, cc_crc:0x4537 +Testing roxl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5FFD, mem_crc:0x0000, reg_crc:0x568D, cc_crc:0x5B97 +Testing roxl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8813, mem_crc:0x0000, reg_crc:0xB06B, cc_crc:0x3E79 +Testing roxl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7C26, mem_crc:0xC831, reg_crc:0xD02F, cc_crc:0x3944 +Testing roxl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD251, mem_crc:0x9251, reg_crc:0x5D91, cc_crc:0xB54A +Testing roxl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x71B1, mem_crc:0x7427, reg_crc:0x554E, cc_crc:0xF2A4 +Testing roxr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF819, mem_crc:0x0000, reg_crc:0x2B96, cc_crc:0x383D +Testing roxr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFB96, mem_crc:0x0000, reg_crc:0x878B, cc_crc:0xD24E +Testing roxr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC468, mem_crc:0x2379, reg_crc:0xB711, cc_crc:0x36A3 +Testing roxr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x18E3, mem_crc:0xCDEC, reg_crc:0xEA7F, cc_crc:0x054D +Testing roxr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBA00, mem_crc:0xC879, reg_crc:0xC081, cc_crc:0xC635 +Testing rtd...2000...4000...6000...8000...10000...done. pre_crc:0x8AF7, mem_crc:0x0000, reg_crc:0x544A, cc_crc:0xF560 +Testing rtr...2000...4000...6000...8000...10000...done. pre_crc:0xF73D, mem_crc:0x0000, reg_crc:0xF544, cc_crc:0x36FF +Testing rts...2000...4000...6000...8000...10000...done. pre_crc:0x2E26, mem_crc:0x0000, reg_crc:0x8516, cc_crc:0x27B7 +Testing sbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9195, mem_crc:0x0000, reg_crc:0x62B3, cc_crc:0xC0DD +Testing sbcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x15BA, mem_crc:0x0892, reg_crc:0xF4AE, cc_crc:0xE299 +Testing Scc_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x6816, cc_crc:0x5FCF +Testing Scc_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3142, mem_crc:0x8A4F, reg_crc:0x08A2, cc_crc:0x3996 +Testing Scc_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5CBC, mem_crc:0xE122, reg_crc:0x71F3, cc_crc:0x8F6D +Testing Scc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFD07, mem_crc:0xCE85, reg_crc:0x170A, cc_crc:0xD691 +Testing subb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12EF, mem_crc:0x0000, reg_crc:0x6D97, cc_crc:0xFA88 +Testing subw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x350C, mem_crc:0x0000, reg_crc:0x7B71, cc_crc:0xAA5A +Testing subl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA32C, mem_crc:0x0000, reg_crc:0x6161, cc_crc:0xC151 +Testing sub_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x57B7, mem_crc:0x0000, reg_crc:0xECA2, cc_crc:0xB06E +Testing sub_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC4B8, mem_crc:0x0000, reg_crc:0xD135, cc_crc:0x274B +Testing sub_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x39B4, mem_crc:0x0000, reg_crc:0x6A18, cc_crc:0x2F4A +Testing subb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1B39, mem_crc:0x0000, reg_crc:0x1064, cc_crc:0xB958 +Testing subw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0B2A, mem_crc:0x0000, reg_crc:0xECE9, cc_crc:0xC3D2 +Testing subl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2A5E, mem_crc:0x0000, reg_crc:0x27A3, cc_crc:0x4205 +Testing sub_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCC3F, mem_crc:0x12A0, reg_crc:0x83BA, cc_crc:0xACB4 +Testing sub_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB34D, mem_crc:0xBD6A, reg_crc:0xE373, cc_crc:0xE694 +Testing sub_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD8BA, mem_crc:0x5ACC, reg_crc:0x910E, cc_crc:0x2824 +Testing subaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xDB02, mem_crc:0x0000, reg_crc:0xE540, cc_crc:0xB02C +Testing subal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xA1B6, mem_crc:0x0000, reg_crc:0x6113, cc_crc:0xB0EC +Testing suba_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0xEE63, mem_crc:0x0000, reg_crc:0x3D52, cc_crc:0x59D8 +Testing suba_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0xE757, mem_crc:0x0000, reg_crc:0x6E64, cc_crc:0x20E3 +Testing suba_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x9132, mem_crc:0x0000, reg_crc:0x8958, cc_crc:0xF9FA +Testing subaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x89AF, mem_crc:0x0000, reg_crc:0x4908, cc_crc:0xD95E +Testing subal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1D3D, mem_crc:0x0000, reg_crc:0xE5C7, cc_crc:0x1F16 +Testing subibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4719, mem_crc:0x0000, reg_crc:0x35E1, cc_crc:0xD1A6 +Testing subil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x66E0, mem_crc:0x0000, reg_crc:0xC969, cc_crc:0xE827 +Testing subibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2431, mem_crc:0xA377, reg_crc:0x4ED2, cc_crc:0x4C68 +Testing subil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3F7D, mem_crc:0xC5A0, reg_crc:0x3226, cc_crc:0xAFED +Testing subibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC774, mem_crc:0xE278, reg_crc:0xA699, cc_crc:0x111D +Testing subil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBF55, mem_crc:0xE409, reg_crc:0xC633, cc_crc:0x97EF +Testing subibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1144, mem_crc:0x73DF, reg_crc:0x5EE6, cc_crc:0x42D7 +Testing subil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7178, mem_crc:0xA603, reg_crc:0x8B59, cc_crc:0x82EB +Testing subq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFCA6, mem_crc:0x0000, reg_crc:0xFA4D, cc_crc:0xC95C +Testing subq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xB2EF, mem_crc:0x0000, reg_crc:0x19C2, cc_crc:0x8142 +Testing subq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CB3, mem_crc:0xF7FD, reg_crc:0xE9F8, cc_crc:0x0289 +Testing subq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8C0D, mem_crc:0x038B, reg_crc:0x8D05, cc_crc:0x47F6 +Testing subq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC055, mem_crc:0x5CE2, reg_crc:0x10B9, cc_crc:0xBE74 +Testing subx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x16E2, mem_crc:0x0000, reg_crc:0x667D, cc_crc:0x54A1 +Testing subx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x261C, mem_crc:0x5A3A, reg_crc:0x5999, cc_crc:0x6C09 +Testing swap...2000...4000...6000...8000...10000...done. pre_crc:0x13BF, mem_crc:0x0000, reg_crc:0x23B6, cc_crc:0x6988 +Testing tas_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB548, mem_crc:0x0000, reg_crc:0xE6B9, cc_crc:0xB4AC +Testing tas_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CD4, mem_crc:0x1075, reg_crc:0xD830, cc_crc:0x6CD7 +Testing tas_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C23, mem_crc:0x46C7, reg_crc:0x6AD1, cc_crc:0xCD15 +Testing tas_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF539, mem_crc:0xC180, reg_crc:0xD994, cc_crc:0xFD80 +Testing tstb_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4DEE, mem_crc:0x0000, reg_crc:0xC1B5, cc_crc:0xF630 +Testing tstwl_reg...2000...4000...6000...8000...10000...done. pre_crc:0xDDAF, mem_crc:0x0000, reg_crc:0x9D2A, cc_crc:0x01F8 +Testing tstb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0534, mem_crc:0x0000, reg_crc:0xABCE, cc_crc:0xB8B8 +Testing tstwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF804, mem_crc:0x0000, reg_crc:0x9311, cc_crc:0xABCE +Testing tstb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15BB, mem_crc:0x0000, reg_crc:0x1F23, cc_crc:0x2610 +Testing tstwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEE40, mem_crc:0x0000, reg_crc:0xDFEC, cc_crc:0x3708 +Testing tst_absl...2000...4000...6000...8000...10000...done. pre_crc:0x737C, mem_crc:0x0000, reg_crc:0x4B3C, cc_crc:0xC2B0 diff --git a/test/i486-linux-elf-debug.1.noncc b/test/i486-linux-elf-debug.1.noncc new file mode 100644 index 0000000..f9ef49c --- /dev/null +++ b/test/i486-linux-elf-debug.1.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0xD931 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0x6996 +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x81C0, mem_crc:0xE9D6, reg_crc:0x7C94 +Testing unlk...done. pre_crc:0x3300, mem_crc:0x0000, reg_crc:0xB315 +Testing movewl_ind_ind...done. pre_crc:0x2730, mem_crc:0xB7E2, reg_crc:0x7079 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0x936F +Testing divsl_ll_ind...done. pre_crc:0x73F0, mem_crc:0x0000, reg_crc:0xC289 +Testing divsl_ll_absl...done. pre_crc:0x0266, mem_crc:0x0000, reg_crc:0x04F7 +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0x2520 +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0x6DCD +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x78AF +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0x2777 +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0xC129 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0x10B3 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0xF578 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0xE3B9 +Testing lea_ind_preix...done. pre_crc:0x5C4A, mem_crc:0x0000, reg_crc:0xB0AD +Testing lea_ind_postix...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0x3A4D +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xDC8F +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x5DD5 +Testing abcd_mem...done. pre_crc:0x5636, mem_crc:0x1F54, reg_crc:0xFA60 +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0x9AA0 +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x23DC +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0x8537 +Testing add_d16_dreg...done. pre_crc:0x429B, mem_crc:0x0000, reg_crc:0x332B +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xC213 +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xA096 +Testing add_dreg_ind...done. pre_crc:0x8BE2, mem_crc:0x169E, reg_crc:0x915B +Testing add_ind_dreg...done. pre_crc:0x00A3, mem_crc:0x0000, reg_crc:0x6ECD +Testing addl_const_dreg...done. pre_crc:0x0BD7, mem_crc:0x0000, reg_crc:0x9378 +Testing add_dreg_d16...done. pre_crc:0x7DC4, mem_crc:0xC78C, reg_crc:0x478B +Testing add_dreg_absl...done. pre_crc:0xE583, mem_crc:0x15A2, reg_crc:0x4AE6 +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x492F +Testing addal_reg_areg...done. pre_crc:0xB728, mem_crc:0x0000, reg_crc:0xAD83 +Testing adda_ind_areg...done. pre_crc:0xFD08, mem_crc:0x0000, reg_crc:0xEA5E +Testing adda_d16_areg...done. pre_crc:0x707D, mem_crc:0x0000, reg_crc:0x9060 +Testing adda_absl_areg...done. pre_crc:0x94A7, mem_crc:0x0000, reg_crc:0xACA0 +Testing addaw_const_areg...done. pre_crc:0xBB14, mem_crc:0x0000, reg_crc:0x9550 +Testing addal_const_areg...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0x89E0 +Testing addibw_dreg...done. pre_crc:0x260E, mem_crc:0x0000, reg_crc:0xFA9A +Testing addil_dreg...done. pre_crc:0x62BD, mem_crc:0x0000, reg_crc:0x059F +Testing addibw_ind...done. pre_crc:0x1434, mem_crc:0x0219, reg_crc:0x7841 +Testing addil_ind...done. pre_crc:0x7592, mem_crc:0x91A4, reg_crc:0x977F +Testing addibw_d16...done. pre_crc:0x4A71, mem_crc:0x3497, reg_crc:0xB567 +Testing addil_d16...done. pre_crc:0x6001, mem_crc:0x1453, reg_crc:0xADEF +Testing addibw_absl...done. pre_crc:0x5139, mem_crc:0x00D1, reg_crc:0x2651 +Testing addil_absl...done. pre_crc:0xEB1E, mem_crc:0xA5C5, reg_crc:0x9BD0 +Testing addq_dreg...done. pre_crc:0xD176, mem_crc:0x0000, reg_crc:0xD4A9 +Testing addq_areg...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0x78E7 +Testing addq_ind...done. pre_crc:0x0053, mem_crc:0x1BA5, reg_crc:0xE2A5 +Testing addq_d16...done. pre_crc:0xA776, mem_crc:0x7E00, reg_crc:0x82BB +Testing addq_absl...done. pre_crc:0xFD05, mem_crc:0x2747, reg_crc:0x5FD7 +Testing addx_reg...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0x11C3 +Testing addx_mem...done. pre_crc:0xAA3B, mem_crc:0xCDF4, reg_crc:0x2712 +Testing and_dreg_dreg...done. pre_crc:0xBD22, mem_crc:0x0000, reg_crc:0xFF1D +Testing and_ind_dreg...done. pre_crc:0x475D, mem_crc:0x0000, reg_crc:0x8E28 +Testing and_d16_dreg...done. pre_crc:0x6A6C, mem_crc:0x0000, reg_crc:0xB7F6 +Testing and_absl_dreg...done. pre_crc:0x67B2, mem_crc:0x0000, reg_crc:0x0BCD +Testing andbw_const_dreg...done. pre_crc:0x0165, mem_crc:0x0000, reg_crc:0x3C55 +Testing andl_const_dreg...done. pre_crc:0xD8DC, mem_crc:0x0000, reg_crc:0xA512 +Testing and_dreg_ind...done. pre_crc:0x3B26, mem_crc:0x823F, reg_crc:0x487B +Testing and_dreg_d16...done. pre_crc:0x4641, mem_crc:0xD34F, reg_crc:0xBF2F +Testing and_dreg_absl...done. pre_crc:0x8354, mem_crc:0xF4B9, reg_crc:0x109D +Testing andibw_dreg...done. pre_crc:0x56E9, mem_crc:0x0000, reg_crc:0x96B7 +Testing andil_dreg...done. pre_crc:0x3C94, mem_crc:0x0000, reg_crc:0x3C33 +Testing andibw_ind...done. pre_crc:0xC9D4, mem_crc:0x6E2C, reg_crc:0x474B +Testing andil_ind...done. pre_crc:0x5F56, mem_crc:0x79C4, reg_crc:0x8F40 +Testing andibw_d16...done. pre_crc:0xF62C, mem_crc:0x4148, reg_crc:0x1616 +Testing andil_d16...done. pre_crc:0xB9D2, mem_crc:0x8ED7, reg_crc:0x81FC +Testing andibw_absl...done. pre_crc:0x3D1C, mem_crc:0x02C4, reg_crc:0xD675 +Testing andil_absl...done. pre_crc:0xB921, mem_crc:0x987A, reg_crc:0xA0E1 +Testing andi_to_ccr...done. pre_crc:0x3F68, mem_crc:0x0000, reg_crc:0xBC5D +Testing asl_dx_dy...done. pre_crc:0x223C, mem_crc:0x0000, reg_crc:0x9CF5 +Testing asl_const_dy...done. pre_crc:0x3313, mem_crc:0x0000, reg_crc:0x5372 +Testing asl_ind...done. pre_crc:0x2E7B, mem_crc:0xB30D, reg_crc:0x636A +Testing asl_d16...done. pre_crc:0xAB5F, mem_crc:0x5A95, reg_crc:0x0CEB +Testing asl_absl...done. pre_crc:0x21E1, mem_crc:0x5EEA, reg_crc:0x885A +Testing asr_dx_dy...done. pre_crc:0xDEF4, mem_crc:0x0000, reg_crc:0x2F1A +Testing asr_const_dy...done. pre_crc:0x9019, mem_crc:0x0000, reg_crc:0x9971 +Testing asr_ind...done. pre_crc:0x045F, mem_crc:0xB433, reg_crc:0xBF37 +Testing asr_d16...done. pre_crc:0xD44B, mem_crc:0xA53A, reg_crc:0x6093 +Testing asr_absl...done. pre_crc:0xF150, mem_crc:0xD295, reg_crc:0x644A +Testing lsl_dx_dy...done. pre_crc:0xD75E, mem_crc:0x0000, reg_crc:0x2F98 +Testing lsl_const_dy...done. pre_crc:0xFEBB, mem_crc:0x0000, reg_crc:0x9E8A +Testing lsl_ind...done. pre_crc:0x31FF, mem_crc:0x8B22, reg_crc:0x336F +Testing lsl_d16...done. pre_crc:0x7673, mem_crc:0xC768, reg_crc:0xB2FA +Testing lsl_absl...done. pre_crc:0x25E2, mem_crc:0x1B50, reg_crc:0xA687 +Testing lsr_dx_dy...done. pre_crc:0x0541, mem_crc:0x0000, reg_crc:0xFEF4 +Testing lsr_const_dy...done. pre_crc:0x26C9, mem_crc:0x0000, reg_crc:0xD37C +Testing lsr_ind...done. pre_crc:0xD4B0, mem_crc:0xE943, reg_crc:0xB75F +Testing lsr_d16...done. pre_crc:0x923D, mem_crc:0x6CBB, reg_crc:0x84BB +Testing lsr_absl...done. pre_crc:0x002C, mem_crc:0x321C, reg_crc:0x3F60 +Testing bra_b...done. pre_crc:0x892A, mem_crc:0x0000, reg_crc:0xF0E8 +Testing bhi_b...done. pre_crc:0x6996, mem_crc:0x0000, reg_crc:0xCE19 +Testing bls_b...done. pre_crc:0x708C, mem_crc:0x0000, reg_crc:0x9194 +Testing bcc_b...done. pre_crc:0xD3A7, mem_crc:0x0000, reg_crc:0xD74D +Testing bcs_b...done. pre_crc:0x11D9, mem_crc:0x0000, reg_crc:0xA79D +Testing bne_b...done. pre_crc:0x2CFC, mem_crc:0x0000, reg_crc:0x43BF +Testing beq_b...done. pre_crc:0xE18A, mem_crc:0x0000, reg_crc:0x7B99 +Testing bvc_b...done. pre_crc:0xCD22, mem_crc:0x0000, reg_crc:0x5FAC +Testing bvs_b...done. pre_crc:0x204C, mem_crc:0x0000, reg_crc:0x34EC +Testing bpl_b...done. pre_crc:0x8711, mem_crc:0x0000, reg_crc:0xA845 +Testing bmi_b...done. pre_crc:0x1736, mem_crc:0x0000, reg_crc:0x3044 +Testing bge_b...done. pre_crc:0x480E, mem_crc:0x0000, reg_crc:0xFC95 +Testing blt_b...done. pre_crc:0xECE0, mem_crc:0x0000, reg_crc:0x8478 +Testing bgt_b...done. pre_crc:0x2A70, mem_crc:0x0000, reg_crc:0x8E1B +Testing ble_b...done. pre_crc:0xADB3, mem_crc:0x0000, reg_crc:0x329E +Testing bra_w...done. pre_crc:0x962F, mem_crc:0x0000, reg_crc:0xBABF +Testing bhi_w...done. pre_crc:0x0856, mem_crc:0x0000, reg_crc:0x4C68 +Testing bls_w...done. pre_crc:0x972B, mem_crc:0x0000, reg_crc:0x384A +Testing bcc_w...done. pre_crc:0x9873, mem_crc:0x0000, reg_crc:0xD890 +Testing bcs_w...done. pre_crc:0x0B72, mem_crc:0x0000, reg_crc:0x7937 +Testing bne_w...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0x3924 +Testing beq_w...done. pre_crc:0xE339, mem_crc:0x0000, reg_crc:0x5BEC +Testing bvc_w...done. pre_crc:0x88C7, mem_crc:0x0000, reg_crc:0xAC69 +Testing bvs_w...done. pre_crc:0x4DB3, mem_crc:0x0000, reg_crc:0x3021 +Testing bpl_w...done. pre_crc:0x9D12, mem_crc:0x0000, reg_crc:0x8A76 +Testing bmi_w...done. pre_crc:0xDF78, mem_crc:0x0000, reg_crc:0xE645 +Testing bge_w...done. pre_crc:0x0F7D, mem_crc:0x0000, reg_crc:0x5E70 +Testing blt_w...done. pre_crc:0xCF04, mem_crc:0x0000, reg_crc:0x68E3 +Testing bgt_w...done. pre_crc:0x6345, mem_crc:0x0000, reg_crc:0xC39F +Testing ble_w...done. pre_crc:0xD85E, mem_crc:0x0000, reg_crc:0x59F3 +Testing bra_l...done. pre_crc:0xFF14, mem_crc:0x0000, reg_crc:0x1FE0 +Testing bhi_l...done. pre_crc:0x6C7B, mem_crc:0x0000, reg_crc:0x607E +Testing bls_l...done. pre_crc:0x86F4, mem_crc:0x0000, reg_crc:0xDCD6 +Testing bcc_l...done. pre_crc:0x1C70, mem_crc:0x0000, reg_crc:0x81CA +Testing bcs_l...done. pre_crc:0xCD68, mem_crc:0x0000, reg_crc:0x4FB3 +Testing bne_l...done. pre_crc:0xEC8E, mem_crc:0x0000, reg_crc:0x2205 +Testing beq_l...done. pre_crc:0x34C7, mem_crc:0x0000, reg_crc:0x8B35 +Testing bvc_l...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0xA740 +Testing bvs_l...done. pre_crc:0x174C, mem_crc:0x0000, reg_crc:0x409E +Testing bpl_l...done. pre_crc:0xF6B1, mem_crc:0x0000, reg_crc:0xD680 +Testing bmi_l...done. pre_crc:0x4653, mem_crc:0x0000, reg_crc:0x1D4D +Testing bge_l...done. pre_crc:0x1804, mem_crc:0x0000, reg_crc:0x20A1 +Testing blt_l...done. pre_crc:0xA540, mem_crc:0x0000, reg_crc:0x1B1D +Testing bgt_l...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x5467 +Testing ble_l...done. pre_crc:0xBCDA, mem_crc:0x0000, reg_crc:0x8DF0 +Testing bchg_reg_reg...done. pre_crc:0x079F, mem_crc:0x0000, reg_crc:0xB412 +Testing bchg_const_reg...done. pre_crc:0x30E8, mem_crc:0x0000, reg_crc:0x8D2B +Testing bchg_reg_ind...done. pre_crc:0xE961, mem_crc:0x21DD, reg_crc:0x2C52 +Testing bchg_const_ind...done. pre_crc:0x2F8E, mem_crc:0xF6AC, reg_crc:0xC78C +Testing bchg_reg_d16...done. pre_crc:0xC74A, mem_crc:0xFE49, reg_crc:0x839E +Testing bchg_const_d16...done. pre_crc:0xFE4F, mem_crc:0xBD8B, reg_crc:0x2ECC +Testing bchg_reg_absl...done. pre_crc:0x2C28, mem_crc:0x2FFE, reg_crc:0xBA1C +Testing bchg_const_absl...done. pre_crc:0x125E, mem_crc:0x6292, reg_crc:0x7B36 +Testing bclr_reg_reg...done. pre_crc:0x08D2, mem_crc:0x0000, reg_crc:0x2643 +Testing bclr_const_reg...done. pre_crc:0x5163, mem_crc:0x0000, reg_crc:0x8E0F +Testing bclr_reg_ind...done. pre_crc:0xF2C1, mem_crc:0x6A05, reg_crc:0x3371 +Testing bclr_const_ind...done. pre_crc:0x1D2F, mem_crc:0x646B, reg_crc:0xF500 +Testing bclr_reg_d16...done. pre_crc:0xAD30, mem_crc:0x390C, reg_crc:0x389B +Testing bclr_const_d16...done. pre_crc:0x52EE, mem_crc:0xB6EA, reg_crc:0xEE03 +Testing bclr_reg_absl...done. pre_crc:0xAB6F, mem_crc:0xBB50, reg_crc:0x4983 +Testing bclr_const_absl...done. pre_crc:0x0752, mem_crc:0x9710, reg_crc:0xE1C9 +Testing bset_reg_reg...done. pre_crc:0x9018, mem_crc:0x0000, reg_crc:0x4896 +Testing bset_const_reg...done. pre_crc:0x265C, mem_crc:0x0000, reg_crc:0x17CF +Testing bset_reg_ind...done. pre_crc:0x5599, mem_crc:0xE463, reg_crc:0x9C39 +Testing bset_const_ind...done. pre_crc:0x2C3F, mem_crc:0x282D, reg_crc:0x30BE +Testing bset_reg_d16...done. pre_crc:0x3481, mem_crc:0xF292, reg_crc:0xCE94 +Testing bset_const_d16...done. pre_crc:0xC7A0, mem_crc:0x8830, reg_crc:0xAAD4 +Testing bset_reg_absl...done. pre_crc:0xCD7A, mem_crc:0x328A, reg_crc:0xFE10 +Testing bset_const_absl...done. pre_crc:0x9FB4, mem_crc:0x29DA, reg_crc:0x6588 +Testing btst_reg_reg...done. pre_crc:0x6DDC, mem_crc:0x0000, reg_crc:0xE920 +Testing btst_const_reg...done. pre_crc:0x87FC, mem_crc:0x0000, reg_crc:0xC541 +Testing btst_reg_ind...done. pre_crc:0x43B9, mem_crc:0x0000, reg_crc:0x4683 +Testing btst_const_ind...done. pre_crc:0xC6A1, mem_crc:0x0000, reg_crc:0xE652 +Testing btst_reg_d16...done. pre_crc:0x0468, mem_crc:0x0000, reg_crc:0x8ACB +Testing btst_const_d16...done. pre_crc:0xD60C, mem_crc:0x0000, reg_crc:0x18BE +Testing btst_reg_absl...done. pre_crc:0x267C, mem_crc:0x0000, reg_crc:0x3F50 +Testing btst_const_absl...done. pre_crc:0x8263, mem_crc:0x0000, reg_crc:0x69D4 +Testing bfchg_reg...done. pre_crc:0x8A46, mem_crc:0x0000, reg_crc:0xDBAC +Testing bfchg_ind...done. pre_crc:0x954C, mem_crc:0xBB4D, reg_crc:0xD537 +Testing bfchg_d16...done. pre_crc:0x9CD2, mem_crc:0x1A10, reg_crc:0x315B +Testing bfchg_absl...done. pre_crc:0x5B2B, mem_crc:0x8BE2, reg_crc:0xCB73 +Testing bfclr_reg...done. pre_crc:0x3998, mem_crc:0x0000, reg_crc:0x4139 +Testing bfclr_ind...done. pre_crc:0x7CAA, mem_crc:0x4080, reg_crc:0xB3DA +Testing bfclr_d16...done. pre_crc:0x17AA, mem_crc:0xBA8F, reg_crc:0x1A94 +Testing bfclr_absl...done. pre_crc:0x436E, mem_crc:0x3EC7, reg_crc:0xE38A +Testing bfset_reg...done. pre_crc:0x0FD5, mem_crc:0x0000, reg_crc:0xB9DA +Testing bfset_ind...done. pre_crc:0x801C, mem_crc:0x74FA, reg_crc:0x7BE2 +Testing bfset_d16...done. pre_crc:0x6DB0, mem_crc:0xEF9B, reg_crc:0x0688 +Testing bfset_absl...done. pre_crc:0xE19E, mem_crc:0x556A, reg_crc:0x4BC5 +Testing bftst_reg...done. pre_crc:0x11D7, mem_crc:0x0000, reg_crc:0x1BA0 +Testing bftst_ind...done. pre_crc:0xEE93, mem_crc:0x0000, reg_crc:0xB239 +Testing bftst_d16...done. pre_crc:0x0D29, mem_crc:0x0000, reg_crc:0x5F05 +Testing bftst_absl...done. pre_crc:0x4813, mem_crc:0x0000, reg_crc:0x4F13 +Testing bfexts_reg...done. pre_crc:0x9903, mem_crc:0x0000, reg_crc:0x81B7 +Testing bfexts_ind...done. pre_crc:0x469E, mem_crc:0x0000, reg_crc:0x21DE +Testing bfexts_d16...done. pre_crc:0x72B1, mem_crc:0x0000, reg_crc:0xCEB0 +Testing bfexts_absl...done. pre_crc:0x158D, mem_crc:0x0000, reg_crc:0xBCA7 +Testing bfextu_reg...done. pre_crc:0x0D1C, mem_crc:0x0000, reg_crc:0x68F7 +Testing bfextu_ind...done. pre_crc:0xF775, mem_crc:0x0000, reg_crc:0x2242 +Testing bfextu_d16...done. pre_crc:0x7591, mem_crc:0x0000, reg_crc:0xB8F9 +Testing bfextu_absl...done. pre_crc:0x51F0, mem_crc:0x0000, reg_crc:0x336A +Testing bfffo_reg...done. pre_crc:0x2C35, mem_crc:0x0000, reg_crc:0x6B7C +Testing bfffo_ind...done. pre_crc:0x608E, mem_crc:0x0000, reg_crc:0x8B36 +Testing bfffo_d16...done. pre_crc:0x1FD0, mem_crc:0x0000, reg_crc:0xBC4C +Testing bfffo_absl...done. pre_crc:0xC105, mem_crc:0x0000, reg_crc:0x7698 +Testing bfins_reg...done. pre_crc:0x6AAC, mem_crc:0x0000, reg_crc:0xCBE3 +Testing bfins_ind...done. pre_crc:0xC791, mem_crc:0x9423, reg_crc:0xD934 +Testing bfins_d16...done. pre_crc:0xFF05, mem_crc:0xA802, reg_crc:0x30BD +Testing bfins_absl...done. pre_crc:0x23EE, mem_crc:0x81F5, reg_crc:0x43D5 +Testing bsr_b...done. pre_crc:0x6953, mem_crc:0x2ABF, reg_crc:0x1CE3 +Testing bsr_w...done. pre_crc:0x6C2B, mem_crc:0x5798, reg_crc:0xF8D3 +Testing bsr_l...done. pre_crc:0x8133, mem_crc:0x8717, reg_crc:0xF3EE +Testing cas_ind...done. pre_crc:0xD5D7, mem_crc:0x99EE, reg_crc:0xC522 +Testing cas2_areg...done. pre_crc:0xF6F1, mem_crc:0xF68B, reg_crc:0x06AF +Testing cas2_anyreg...done. pre_crc:0x6042, mem_crc:0xAFEB, reg_crc:0xB020 +Testing clr_reg...done. pre_crc:0x4068, mem_crc:0x0000, reg_crc:0x0077 +Testing clrb_ind...done. pre_crc:0xC11C, mem_crc:0x7FA1, reg_crc:0xEC6B +Testing clrwl_ind...done. pre_crc:0x0C52, mem_crc:0xADB6, reg_crc:0x87CF +Testing clrb_absl...done. pre_crc:0x1671, mem_crc:0x0B49, reg_crc:0x5B01 +Testing clrwl_absl...done. pre_crc:0x78E5, mem_crc:0xB13A, reg_crc:0x9152 +Testing cmp_dreg...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x432A +Testing cmp_areg...done. pre_crc:0x3101, mem_crc:0x0000, reg_crc:0xA99F +Testing cmpb_ind...done. pre_crc:0x09D7, mem_crc:0x0000, reg_crc:0x34A8 +Testing cmpwl_ind...done. pre_crc:0x9A54, mem_crc:0x0000, reg_crc:0x5387 +Testing cmpb_d16...done. pre_crc:0x86E9, mem_crc:0x0000, reg_crc:0xEAA4 +Testing cmpwl_d16...done. pre_crc:0x2035, mem_crc:0x0000, reg_crc:0x5275 +Testing cmpa_reg...done. pre_crc:0x4044, mem_crc:0x0000, reg_crc:0x4362 +Testing cmpa_ind...done. pre_crc:0x067E, mem_crc:0x0000, reg_crc:0xD7FC +Testing cmpa_ind2...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0xF37E +Testing cmpa_d16...done. pre_crc:0x80C3, mem_crc:0x0000, reg_crc:0x533C +Testing cmpa_d16_2...done. pre_crc:0x2D6B, mem_crc:0x0000, reg_crc:0x9852 +Testing cmpa_absl...done. pre_crc:0xCE41, mem_crc:0x0000, reg_crc:0xA8E0 +Testing cmpibw_reg...done. pre_crc:0xF433, mem_crc:0x0000, reg_crc:0x175F +Testing cmpil_reg...done. pre_crc:0xDF59, mem_crc:0x0000, reg_crc:0xAD94 +Testing cmpib_ind...done. pre_crc:0x22A3, mem_crc:0x0000, reg_crc:0x5D02 +Testing cmpiw_ind...done. pre_crc:0xA49F, mem_crc:0x0000, reg_crc:0x33F3 +Testing cmpil_ind...done. pre_crc:0x1D6F, mem_crc:0x0000, reg_crc:0x835B +Testing cmpmb...done. pre_crc:0xB7AD, mem_crc:0x0000, reg_crc:0xD397 +Testing cmpmwl...done. pre_crc:0xF55E, mem_crc:0x0000, reg_crc:0x2222 +Testing cmp2b_ind...done. pre_crc:0xE14E, mem_crc:0x0000, reg_crc:0x8FA8 +Testing cmp2wl_ind...done. pre_crc:0x47C7, mem_crc:0x0000, reg_crc:0x9146 +Testing dbcc...done. pre_crc:0xAD8C, mem_crc:0x0000, reg_crc:0x2CAD +Testing divs_reg...done. pre_crc:0x770F, mem_crc:0x0000, reg_crc:0x50F9 +Testing divs_same_reg...done. pre_crc:0xF63B, mem_crc:0x0000, reg_crc:0xBE2D +Testing divs_ind...done. pre_crc:0xEE5C, mem_crc:0x0000, reg_crc:0xB338 +Testing divs_absl...done. pre_crc:0x986E, mem_crc:0x0000, reg_crc:0x9FD1 +Testing divu_reg...done. pre_crc:0xD5B4, mem_crc:0x0000, reg_crc:0x8379 +Testing divu_same_reg...done. pre_crc:0x39CE, mem_crc:0x0000, reg_crc:0xA33A +Testing divu_ind...done. pre_crc:0x1685, mem_crc:0x0000, reg_crc:0x7C01 +Testing divu_absl...done. pre_crc:0x87C9, mem_crc:0x0000, reg_crc:0x4199 +Testing divul_ll_reg...done. pre_crc:0x311F, mem_crc:0x0000, reg_crc:0xE307 +Testing divul_ll_ind...done. pre_crc:0xA286, mem_crc:0x0000, reg_crc:0x2C08 +Testing divul_ll_absl...done. pre_crc:0xB02D, mem_crc:0x0000, reg_crc:0xD812 +Testing eor_reg...done. pre_crc:0x77CD, mem_crc:0x0000, reg_crc:0x38B0 +Testing eor_ind...done. pre_crc:0x4975, mem_crc:0xCB67, reg_crc:0xC64E +Testing eor_d16...done. pre_crc:0xB12D, mem_crc:0x3D85, reg_crc:0x0757 +Testing eor_absl...done. pre_crc:0x63D1, mem_crc:0xB52C, reg_crc:0x5143 +Testing eoribw_dreg...done. pre_crc:0xC652, mem_crc:0x0000, reg_crc:0xECCE +Testing eoril_dreg...done. pre_crc:0xCA96, mem_crc:0x0000, reg_crc:0xA3CC +Testing eoribw_ind...done. pre_crc:0xEF84, mem_crc:0xE558, reg_crc:0x21DD +Testing eoril_ind...done. pre_crc:0xF171, mem_crc:0xAC47, reg_crc:0xB070 +Testing eoribw_d16...done. pre_crc:0x9794, mem_crc:0x782D, reg_crc:0xDF29 +Testing eoril_d16...done. pre_crc:0x933F, mem_crc:0x607B, reg_crc:0x0A69 +Testing eoribw_absl...done. pre_crc:0x0B84, mem_crc:0x1866, reg_crc:0xC74C +Testing eoril_absl...done. pre_crc:0x8B97, mem_crc:0xB85F, reg_crc:0x2206 +Testing eori_to_ccr...done. pre_crc:0x30BF, mem_crc:0x0000, reg_crc:0x4812 +Testing exg...done. pre_crc:0xB2DB, mem_crc:0x0000, reg_crc:0x1A5D +Testing ext...done. pre_crc:0x7326, mem_crc:0x0000, reg_crc:0xB004 +Testing jmp_absl...done. pre_crc:0x7440, mem_crc:0x0000, reg_crc:0x3928 +Testing jmp_ind...done. pre_crc:0x617C, mem_crc:0x0000, reg_crc:0xD8E2 +Testing jmp_d16...done. pre_crc:0xB3BE, mem_crc:0x0000, reg_crc:0x4409 +Testing jsr_absl...done. pre_crc:0xEF7F, mem_crc:0x149A, reg_crc:0xF6D1 +Testing jsr_ind...done. pre_crc:0x4945, mem_crc:0xEF61, reg_crc:0xFB7F +Testing jsr_d16...done. pre_crc:0x0903, mem_crc:0x8FA4, reg_crc:0xBCD6 +Testing lea_ind...done. pre_crc:0xB20B, mem_crc:0x0000, reg_crc:0xFA74 +Testing lea_d16...done. pre_crc:0x02D4, mem_crc:0x0000, reg_crc:0xA462 +Testing lea_absw...done. pre_crc:0x3CD1, mem_crc:0x0000, reg_crc:0xBF9D +Testing lea_absl...done. pre_crc:0x96D2, mem_crc:0x0000, reg_crc:0x9B16 +Testing linkw...done. pre_crc:0x1FB1, mem_crc:0x60C9, reg_crc:0x00E4 +Testing linkl...done. pre_crc:0xC8F5, mem_crc:0x4F54, reg_crc:0x792F +Testing move16_postinc_postinc...done. pre_crc:0x7377, mem_crc:0x2E81, reg_crc:0xB433 +Testing move16_absl_ind...done. pre_crc:0xAC38, mem_crc:0x4CDA, reg_crc:0xF8DF +Testing move16_absl_postinc...done. pre_crc:0x0E78, mem_crc:0x7AA4, reg_crc:0xD4DB +Testing move16_ind_absl...done. pre_crc:0x0B22, mem_crc:0x1D17, reg_crc:0xB3F7 +Testing move16_postinc_absl...done. pre_crc:0x9625, mem_crc:0xA1B6, reg_crc:0xBE22 +Testing moveb_dreg_dreg...done. pre_crc:0x51C0, mem_crc:0x0000, reg_crc:0xEE8D +Testing movewl_reg_dreg...done. pre_crc:0xE4DF, mem_crc:0x0000, reg_crc:0xF1DF +Testing moveb_ind_dreg...done. pre_crc:0xCDD0, mem_crc:0x0000, reg_crc:0x64F8 +Testing movewl_ind_dreg...done. pre_crc:0xACB3, mem_crc:0x0000, reg_crc:0xF987 +Testing moveb_d16_dreg...done. pre_crc:0x1B10, mem_crc:0x0000, reg_crc:0xB44B +Testing movewl_d16_dreg...done. pre_crc:0xFF9D, mem_crc:0x0000, reg_crc:0x06B1 +Testing moveb_absl_dreg...done. pre_crc:0x0B31, mem_crc:0x0000, reg_crc:0xE667 +Testing movewl_absl_dreg...done. pre_crc:0x08B5, mem_crc:0x0000, reg_crc:0x91A4 +Testing movebw_const_dreg...done. pre_crc:0x348B, mem_crc:0x0000, reg_crc:0x14E2 +Testing movel_const_dreg...done. pre_crc:0x7CC3, mem_crc:0x0000, reg_crc:0x15F8 +Testing moveb_dreg_ind...done. pre_crc:0xF5C9, mem_crc:0x9D2C, reg_crc:0x6245 +Testing movewl_reg_ind...done. pre_crc:0xBAB0, mem_crc:0x2623, reg_crc:0x69F0 +Testing moveb_dreg_d16...done. pre_crc:0x5F5E, mem_crc:0x1BB1, reg_crc:0x29FE +Testing movewl_reg_d16...done. pre_crc:0x1344, mem_crc:0xAD02, reg_crc:0xE67C +Testing moveb_dreg_absl...done. pre_crc:0x8BF7, mem_crc:0xB0F1, reg_crc:0x38D9 +Testing movewl_reg_absl...done. pre_crc:0x9AE3, mem_crc:0x180A, reg_crc:0x3918 +Testing moveb_ind_ind...done. pre_crc:0x11F1, mem_crc:0x73A7, reg_crc:0x62DA +Testing moveb_ind_d16...done. pre_crc:0x04AE, mem_crc:0x912A, reg_crc:0x887E +Testing moveb_d16_ind...done. pre_crc:0x6665, mem_crc:0xE4E8, reg_crc:0x3547 +Testing movewl_ind_d16...done. pre_crc:0xF30A, mem_crc:0x0CA9, reg_crc:0x9628 +Testing movewl_d16_ind...done. pre_crc:0x5455, mem_crc:0xA95F, reg_crc:0x8AC7 +Testing moveb_d16_d16...done. pre_crc:0x9611, mem_crc:0xC4DF, reg_crc:0x5498 +Testing movewl_d16_d16...done. pre_crc:0xEBF5, mem_crc:0x2F54, reg_crc:0x63F3 +Testing moveb_ind_absl...done. pre_crc:0x777C, mem_crc:0x8E7E, reg_crc:0x0548 +Testing movewl_ind_absl...done. pre_crc:0xAD85, mem_crc:0x14CC, reg_crc:0x76C8 +Testing moveb_absl_ind...done. pre_crc:0x27C1, mem_crc:0xBF80, reg_crc:0x2178 +Testing movewl_absl_ind...done. pre_crc:0x72CF, mem_crc:0xB5C2, reg_crc:0xC587 +Testing moveb_absl_absl...done. pre_crc:0x769A, mem_crc:0xF2FB, reg_crc:0xA6E1 +Testing movewl_absl_absl...done. pre_crc:0xDC5E, mem_crc:0x4501, reg_crc:0x7756 +Testing moveb_d16_absl...done. pre_crc:0xAC5A, mem_crc:0x6E0D, reg_crc:0xF2A7 +Testing movewl_d16_absl...done. pre_crc:0x2A4C, mem_crc:0xA8DA, reg_crc:0x9C5C +Testing moveb_absl_d16...done. pre_crc:0x3B4C, mem_crc:0x392B, reg_crc:0xCB0D +Testing movewl_absl_d16...done. pre_crc:0x5E40, mem_crc:0x912C, reg_crc:0x862F +Testing moveb_const_ind...done. pre_crc:0x3CB4, mem_crc:0xCF50, reg_crc:0x049D +Testing moveb_const_d16...done. pre_crc:0x5C50, mem_crc:0xEF1C, reg_crc:0xC35C +Testing moveb_const_absl...done. pre_crc:0xB5BE, mem_crc:0xC596, reg_crc:0x5B3E +Testing movew_const_ind...done. pre_crc:0xCF72, mem_crc:0x88E1, reg_crc:0x17C9 +Testing movew_const_d16...done. pre_crc:0x8388, mem_crc:0xC0AC, reg_crc:0x12AF +Testing movew_const_absl...done. pre_crc:0xD2F8, mem_crc:0x20FB, reg_crc:0x5D9D +Testing movel_const_ind...done. pre_crc:0xB95B, mem_crc:0xF12C, reg_crc:0xA7B0 +Testing movel_const_d16...done. pre_crc:0xB462, mem_crc:0xCBCE, reg_crc:0x4188 +Testing movel_const_absl...done. pre_crc:0xA419, mem_crc:0xDDB2, reg_crc:0x412E +Testing movea_reg...done. pre_crc:0xE773, mem_crc:0x0000, reg_crc:0x1510 +Testing movea_ind...done. pre_crc:0x7412, mem_crc:0x0000, reg_crc:0xF5CA +Testing movea_d16...done. pre_crc:0xE6BD, mem_crc:0x0000, reg_crc:0x94A1 +Testing movea_absl...done. pre_crc:0xD6B3, mem_crc:0x0000, reg_crc:0x7FC4 +Testing moveaw_const...done. pre_crc:0x1103, mem_crc:0x0000, reg_crc:0x71E2 +Testing moveal_const...done. pre_crc:0xF54F, mem_crc:0x0000, reg_crc:0x9EA7 +Testing move_from_ccr_dreg...done. pre_crc:0x22A0, mem_crc:0x0000, reg_crc:0x5FA3 +Testing move_from_ccr_ind...done. pre_crc:0xC182, mem_crc:0x0000, reg_crc:0x3886 +Testing move_from_ccr_d16...done. pre_crc:0xC24C, mem_crc:0x0000, reg_crc:0x54D9 +Testing move_to_ccr_reg...done. pre_crc:0x8EB6, mem_crc:0x0000, reg_crc:0x3CFC +Testing move_to_ccr_ind...done. pre_crc:0x53A0, mem_crc:0x0000, reg_crc:0xC219 +Testing movem_to_ind...done. pre_crc:0x4017, mem_crc:0x28D1, reg_crc:0xD9B0 +Testing movem_to_predec...done. pre_crc:0x1219, mem_crc:0x4E9A, reg_crc:0x79AE +Testing movem_to_d16...done. pre_crc:0x4288, mem_crc:0x6786, reg_crc:0xB343 +Testing movem_to_absl...done. pre_crc:0xD7D0, mem_crc:0xFDF2, reg_crc:0xC267 +Testing movem_from_d16...done. pre_crc:0x9A59, mem_crc:0x0000, reg_crc:0xE519 +Testing movem_from_ind...done. pre_crc:0xC708, mem_crc:0x0000, reg_crc:0x43F7 +Testing movem_from_absl...done. pre_crc:0x153C, mem_crc:0x0000, reg_crc:0x3440 +Testing movep_to_mem...done. pre_crc:0x31AF, mem_crc:0xF1EC, reg_crc:0x184D +Testing movep_from_mem...done. pre_crc:0x54CA, mem_crc:0x0000, reg_crc:0x34F7 +Testing moveq...done. pre_crc:0x20AF, mem_crc:0x0000, reg_crc:0xDAB3 +Testing mulsw_dreg...done. pre_crc:0x1EEE, mem_crc:0x0000, reg_crc:0xB95B +Testing mulsw_ind...done. pre_crc:0x7FBB, mem_crc:0x0000, reg_crc:0x950C +Testing mulsw_d16...done. pre_crc:0xB850, mem_crc:0x0000, reg_crc:0x0D5D +Testing mulsw_absl...done. pre_crc:0xD9AD, mem_crc:0x0000, reg_crc:0x90DB +Testing muluw_dreg...done. pre_crc:0x0408, mem_crc:0x0000, reg_crc:0x859E +Testing muluw_ind...done. pre_crc:0xE4E6, mem_crc:0x0000, reg_crc:0x48FF +Testing muluw_d16...done. pre_crc:0xF520, mem_crc:0x0000, reg_crc:0x34C7 +Testing muluw_absl...done. pre_crc:0xDB57, mem_crc:0x0000, reg_crc:0xF999 +Testing mulsl_dreg...done. pre_crc:0x1014, mem_crc:0x0000, reg_crc:0x5CCA +Testing mulsl_ind...done. pre_crc:0x282C, mem_crc:0x0000, reg_crc:0xC738 +Testing mulsl_d16...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0x7EA3 +Testing mulsl_absl...done. pre_crc:0xDA84, mem_crc:0x0000, reg_crc:0x0ACC +Testing mulul_dreg...done. pre_crc:0x89E1, mem_crc:0x0000, reg_crc:0x80E0 +Testing mulul_ind...done. pre_crc:0xA29B, mem_crc:0x0000, reg_crc:0x8250 +Testing mulul_d16...done. pre_crc:0x5A4C, mem_crc:0x0000, reg_crc:0x6FD4 +Testing mulul_absl...done. pre_crc:0x6690, mem_crc:0x0000, reg_crc:0x7B41 +Testing nbcd_reg...done. pre_crc:0x3F25, mem_crc:0x0000, reg_crc:0xEC57 +Testing nbcd_ind...done. pre_crc:0x9AFB, mem_crc:0x82BD, reg_crc:0x3F1B +Testing nbcd_d16...done. pre_crc:0x5596, mem_crc:0xD93B, reg_crc:0x61F8 +Testing nbcd_absl...done. pre_crc:0x0943, mem_crc:0x3333, reg_crc:0x8D18 +Testing neg_reg...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x4E3A +Testing negb_ind...done. pre_crc:0xA3F8, mem_crc:0x93DD, reg_crc:0x2576 +Testing negwl_ind...done. pre_crc:0xB1A9, mem_crc:0x45B5, reg_crc:0x5FD7 +Testing negb_d16...done. pre_crc:0xDDA2, mem_crc:0x2728, reg_crc:0x8F94 +Testing negwl_d16...done. pre_crc:0xBF89, mem_crc:0x74D8, reg_crc:0x5851 +Testing neg_absl...done. pre_crc:0x16D0, mem_crc:0x934E, reg_crc:0x7C19 +Testing negx_reg...done. pre_crc:0xC6B8, mem_crc:0x0000, reg_crc:0xE96D +Testing negxb_ind...done. pre_crc:0xE647, mem_crc:0x4D84, reg_crc:0xDD09 +Testing negxwl_ind...done. pre_crc:0x5665, mem_crc:0xEBF3, reg_crc:0x526E +Testing negxb_d16...done. pre_crc:0xB859, mem_crc:0xADD3, reg_crc:0x9D9E +Testing negxwl_d16...done. pre_crc:0x8271, mem_crc:0xC0B8, reg_crc:0x8370 +Testing negx_absl...done. pre_crc:0x946F, mem_crc:0x53FF, reg_crc:0xF704 +Testing nop...done. pre_crc:0xF16E, mem_crc:0x0000, reg_crc:0x333C +Testing not_reg...done. pre_crc:0xA924, mem_crc:0x0000, reg_crc:0xADB3 +Testing notb_ind...done. pre_crc:0x2227, mem_crc:0x212E, reg_crc:0xD5B3 +Testing notwl_ind...done. pre_crc:0x7D2A, mem_crc:0x2B55, reg_crc:0x7133 +Testing notb_d16...done. pre_crc:0x8306, mem_crc:0x9E75, reg_crc:0xF9A9 +Testing notwl_d16...done. pre_crc:0x4ABE, mem_crc:0xF11F, reg_crc:0xC0B4 +Testing not_absl...done. pre_crc:0xC2DF, mem_crc:0xB8ED, reg_crc:0x8453 +Testing or_dreg_dreg...done. pre_crc:0xCF15, mem_crc:0x0000, reg_crc:0x7DF3 +Testing or_ind_dreg...done. pre_crc:0x3ECE, mem_crc:0x0000, reg_crc:0x2C57 +Testing or_d16_dreg...done. pre_crc:0xD891, mem_crc:0x0000, reg_crc:0x776C +Testing or_absl_dreg...done. pre_crc:0x8AF3, mem_crc:0x0000, reg_crc:0x30A5 +Testing orbw_const_dreg...done. pre_crc:0x8724, mem_crc:0x0000, reg_crc:0x91E6 +Testing orl_const_dreg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0xA143 +Testing or_dreg_ind...done. pre_crc:0x69E4, mem_crc:0x7C62, reg_crc:0xC83E +Testing or_dreg_d16...done. pre_crc:0xFF69, mem_crc:0x3969, reg_crc:0x2604 +Testing or_dreg_absl...done. pre_crc:0x0375, mem_crc:0xF2B0, reg_crc:0x31E9 +Testing oribw_dreg...done. pre_crc:0xC232, mem_crc:0x0000, reg_crc:0x3491 +Testing oril_dreg...done. pre_crc:0xCC77, mem_crc:0x0000, reg_crc:0x3003 +Testing oribw_ind...done. pre_crc:0xB593, mem_crc:0xDA9B, reg_crc:0xCE79 +Testing oril_ind...done. pre_crc:0x8460, mem_crc:0x3966, reg_crc:0x43E3 +Testing oribw_d16...done. pre_crc:0x1C25, mem_crc:0xBB18, reg_crc:0x2C58 +Testing oril_d16...done. pre_crc:0xB0C5, mem_crc:0x9EA7, reg_crc:0x15F2 +Testing oribw_absl...done. pre_crc:0x8FF4, mem_crc:0x1585, reg_crc:0x1983 +Testing oril_absl...done. pre_crc:0xD927, mem_crc:0xB23A, reg_crc:0x145A +Testing ori_to_ccr...done. pre_crc:0xD18F, mem_crc:0x0000, reg_crc:0x89F8 +Testing pack_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0xAF66 +Testing pack_mem...done. pre_crc:0x3310, mem_crc:0xB661, reg_crc:0x2230 +Testing pea_ind...done. pre_crc:0x44F8, mem_crc:0x61A4, reg_crc:0xA180 +Testing pea_d16...done. pre_crc:0xF8AC, mem_crc:0xC4FE, reg_crc:0x4712 +Testing pea_absw...done. pre_crc:0xF361, mem_crc:0x83A1, reg_crc:0xBFB3 +Testing pea_absl...done. pre_crc:0xD7AB, mem_crc:0x1253, reg_crc:0x7765 +Testing rol_dx_dy...done. pre_crc:0x6179, mem_crc:0x0000, reg_crc:0xDBC5 +Testing rol_const_dy...done. pre_crc:0x0A37, mem_crc:0x0000, reg_crc:0xE0E9 +Testing rol_ind...done. pre_crc:0x2106, mem_crc:0xA132, reg_crc:0xA084 +Testing rol_d16...done. pre_crc:0xE064, mem_crc:0x1E0A, reg_crc:0x6273 +Testing rol_absl...done. pre_crc:0x06A9, mem_crc:0xDABA, reg_crc:0x5719 +Testing ror_dx_dy...done. pre_crc:0x6030, mem_crc:0x0000, reg_crc:0xDA9B +Testing ror_const_dy...done. pre_crc:0x404E, mem_crc:0x0000, reg_crc:0x5390 +Testing ror_ind...done. pre_crc:0x7282, mem_crc:0xCD2A, reg_crc:0xAAE1 +Testing ror_d16...done. pre_crc:0x3867, mem_crc:0x169E, reg_crc:0x6486 +Testing ror_absl...done. pre_crc:0x9B0A, mem_crc:0x1CEF, reg_crc:0x342C +Testing roxl_dx_dy...done. pre_crc:0xA011, mem_crc:0x0000, reg_crc:0x61C2 +Testing roxl_const_dy...done. pre_crc:0xE66F, mem_crc:0x0000, reg_crc:0x9E57 +Testing roxl_ind...done. pre_crc:0x561B, mem_crc:0x08DA, reg_crc:0x61C7 +Testing roxl_d16...done. pre_crc:0xE870, mem_crc:0x2FEC, reg_crc:0x3BAD +Testing roxl_absl...done. pre_crc:0xB9BA, mem_crc:0xEC2F, reg_crc:0x40AB +Testing roxr_dx_dy...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0xCC6F +Testing roxr_const_dy...done. pre_crc:0x3130, mem_crc:0x0000, reg_crc:0xDFC8 +Testing roxr_ind...done. pre_crc:0x854C, mem_crc:0x6492, reg_crc:0x5816 +Testing roxr_d16...done. pre_crc:0x4E08, mem_crc:0x388F, reg_crc:0xBEF0 +Testing roxr_absl...done. pre_crc:0x9492, mem_crc:0x6E52, reg_crc:0xDEB4 +Testing rtd...done. pre_crc:0x5AE5, mem_crc:0x0000, reg_crc:0x85B0 +Testing rtr...done. pre_crc:0xB26B, mem_crc:0x0000, reg_crc:0x2F97 +Testing rts...done. pre_crc:0x3CFF, mem_crc:0x0000, reg_crc:0x1496 +Testing sbcd_reg...done. pre_crc:0x8669, mem_crc:0x0000, reg_crc:0x01BF +Testing sbcd_mem...done. pre_crc:0xA0C6, mem_crc:0x0B1C, reg_crc:0xA348 +Testing Scc_reg...done. pre_crc:0xF0D0, mem_crc:0x0000, reg_crc:0x03F5 +Testing Scc_ind...done. pre_crc:0x2161, mem_crc:0x0B4F, reg_crc:0x92EA +Testing Scc_d16...done. pre_crc:0xC330, mem_crc:0x0880, reg_crc:0xCA65 +Testing Scc_absl...done. pre_crc:0x1EC1, mem_crc:0xF1E6, reg_crc:0x0536 +Testing subb_dreg_dreg...done. pre_crc:0xAF79, mem_crc:0x0000, reg_crc:0x7209 +Testing subw_reg_dreg...done. pre_crc:0x4F07, mem_crc:0x0000, reg_crc:0x53AF +Testing subl_reg_dreg...done. pre_crc:0x1AC8, mem_crc:0x0000, reg_crc:0x6A74 +Testing sub_ind_dreg...done. pre_crc:0x154D, mem_crc:0x0000, reg_crc:0x4F2F +Testing sub_d16_dreg...done. pre_crc:0xBD8A, mem_crc:0x0000, reg_crc:0x3BC2 +Testing sub_absl_dreg...done. pre_crc:0xD9ED, mem_crc:0x0000, reg_crc:0x1B11 +Testing subb_const_dreg...done. pre_crc:0x9B21, mem_crc:0x0000, reg_crc:0x59AF +Testing subw_const_dreg...done. pre_crc:0xD248, mem_crc:0x0000, reg_crc:0x86FE +Testing subl_const_dreg...done. pre_crc:0x0DCF, mem_crc:0x0000, reg_crc:0x1FAD +Testing sub_dreg_ind...done. pre_crc:0xAA2D, mem_crc:0xB986, reg_crc:0x84D4 +Testing sub_dreg_d16...done. pre_crc:0x8A45, mem_crc:0x09C9, reg_crc:0x25F1 +Testing sub_dreg_absl...done. pre_crc:0xD81B, mem_crc:0x60F9, reg_crc:0xCECD +Testing subaw_reg_areg...done. pre_crc:0x7519, mem_crc:0x0000, reg_crc:0x6E23 +Testing subal_reg_areg...done. pre_crc:0xD624, mem_crc:0x0000, reg_crc:0x8136 +Testing suba_ind_areg...done. pre_crc:0x18DC, mem_crc:0x0000, reg_crc:0x857C +Testing suba_d16_areg...done. pre_crc:0x312F, mem_crc:0x0000, reg_crc:0xC27F +Testing suba_absl_areg...done. pre_crc:0x4710, mem_crc:0x0000, reg_crc:0x477E +Testing subaw_const_areg...done. pre_crc:0x4E2A, mem_crc:0x0000, reg_crc:0xDA32 +Testing subal_const_areg...done. pre_crc:0xBB4D, mem_crc:0x0000, reg_crc:0x7E35 +Testing subibw_dreg...done. pre_crc:0x38BF, mem_crc:0x0000, reg_crc:0xA3F0 +Testing subil_dreg...done. pre_crc:0x2C9D, mem_crc:0x0000, reg_crc:0x2A46 +Testing subibw_ind...done. pre_crc:0x995B, mem_crc:0x5AC6, reg_crc:0xE7E8 +Testing subil_ind...done. pre_crc:0x7D61, mem_crc:0x73BC, reg_crc:0xCE6B +Testing subibw_d16...done. pre_crc:0xDA03, mem_crc:0x3AED, reg_crc:0xDCBF +Testing subil_d16...done. pre_crc:0xF7EF, mem_crc:0x8589, reg_crc:0xF39A +Testing subibw_absl...done. pre_crc:0x770E, mem_crc:0xB4DE, reg_crc:0x0948 +Testing subil_absl...done. pre_crc:0x0C58, mem_crc:0x395A, reg_crc:0xE874 +Testing subq_dreg...done. pre_crc:0xAA1A, mem_crc:0x0000, reg_crc:0x04B6 +Testing subq_areg...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC4F8 +Testing subq_ind...done. pre_crc:0x5778, mem_crc:0xE40A, reg_crc:0xCC87 +Testing subq_d16...done. pre_crc:0x8A71, mem_crc:0xD004, reg_crc:0x32CD +Testing subq_absl...done. pre_crc:0x79BC, mem_crc:0x3A0C, reg_crc:0x78FA +Testing subx_reg...done. pre_crc:0x343B, mem_crc:0x0000, reg_crc:0xA2FD +Testing subx_mem...done. pre_crc:0xE2E0, mem_crc:0x898A, reg_crc:0x31DF +Testing swap...done. pre_crc:0xBE86, mem_crc:0x0000, reg_crc:0xEA08 +Testing tas_dreg...done. pre_crc:0x4165, mem_crc:0x0000, reg_crc:0x987C +Testing tas_ind...done. pre_crc:0x7D07, mem_crc:0xAA66, reg_crc:0x56AA +Testing tas_d16...done. pre_crc:0xB219, mem_crc:0xC9B1, reg_crc:0x091B +Testing tas_absl...done. pre_crc:0xA88A, mem_crc:0x0CF0, reg_crc:0xB196 +Testing tstb_dreg...done. pre_crc:0x6E7A, mem_crc:0x0000, reg_crc:0xFF82 +Testing tstwl_reg...done. pre_crc:0x1C0C, mem_crc:0x0000, reg_crc:0xA2B3 +Testing tstb_ind...done. pre_crc:0xAEE1, mem_crc:0x0000, reg_crc:0x02E9 +Testing tstwl_ind...done. pre_crc:0x0C55, mem_crc:0x0000, reg_crc:0x7D56 +Testing tstb_d16...done. pre_crc:0x82D8, mem_crc:0x0000, reg_crc:0x6257 +Testing tstwl_d16...done. pre_crc:0x3A3F, mem_crc:0x0000, reg_crc:0x8CE3 +Testing tst_absl...done. pre_crc:0xE5E7, mem_crc:0x0000, reg_crc:0xE629 diff --git a/test/i486-linux-elf-debug.10.noncc b/test/i486-linux-elf-debug.10.noncc new file mode 100644 index 0000000..ce78775 --- /dev/null +++ b/test/i486-linux-elf-debug.10.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x4D58, mem_crc:0x0000, reg_crc:0x492A +Testing movewl_pcd8_dreg...done. pre_crc:0xCDA2, mem_crc:0x0000, reg_crc:0x1224 +Testing unpk_reg...done. pre_crc:0x38D9, mem_crc:0x0000, reg_crc:0xCD5E +Testing unpk_mem...done. pre_crc:0xC835, mem_crc:0xA9BE, reg_crc:0x53AA +Testing unlk...done. pre_crc:0x47D3, mem_crc:0x0000, reg_crc:0x99B4 +Testing movewl_ind_ind...done. pre_crc:0x6E58, mem_crc:0xB0B0, reg_crc:0x51C7 +Testing divsl_ll_reg...done. pre_crc:0xCA9C, mem_crc:0x0000, reg_crc:0x84D4 +Testing divsl_ll_ind...done. pre_crc:0x6AED, mem_crc:0x0000, reg_crc:0xA73D +Testing divsl_ll_absl...done. pre_crc:0x34D9, mem_crc:0x0000, reg_crc:0xDCD9 +Testing lea_pc_ind_preix...done. pre_crc:0x5398, mem_crc:0x0000, reg_crc:0xAA47 +Testing lea_pc_ind_postix...done. pre_crc:0x363D, mem_crc:0x0000, reg_crc:0x7442 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xAF89, mem_crc:0x0000, reg_crc:0x9D7A +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5D03, mem_crc:0x0000, reg_crc:0x7591 +Testing moveb_pcd16_dreg...done. pre_crc:0x0556, mem_crc:0x0000, reg_crc:0x545D +Testing movewl_pcd16_dreg...done. pre_crc:0x7027, mem_crc:0x0000, reg_crc:0x6DE0 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD8C1, mem_crc:0x0000, reg_crc:0xB7A3 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x8889, mem_crc:0x0000, reg_crc:0xFF7D +Testing lea_ind_preix...done. pre_crc:0x1F3F, mem_crc:0x0000, reg_crc:0x1F3E +Testing lea_ind_postix...done. pre_crc:0x5E19, mem_crc:0x0000, reg_crc:0xCA6C +Testing add_absl_dreg...done. pre_crc:0xF0A5, mem_crc:0x0000, reg_crc:0x05F6 +Testing abcd_reg...done. pre_crc:0xBC6F, mem_crc:0x0000, reg_crc:0x81A3 +Testing abcd_mem...done. pre_crc:0x207A, mem_crc:0xCA77, reg_crc:0x1AB6 +Testing addb_dreg_dreg...done. pre_crc:0xBF40, mem_crc:0x0000, reg_crc:0x4F91 +Testing addw_reg_dreg...done. pre_crc:0xF0A4, mem_crc:0x0000, reg_crc:0x16D0 +Testing addl_reg_dreg...done. pre_crc:0x9596, mem_crc:0x0000, reg_crc:0x4277 +Testing add_d16_dreg...done. pre_crc:0xFBAD, mem_crc:0x0000, reg_crc:0x50EB +Testing addb_const_dreg...done. pre_crc:0x04D8, mem_crc:0x0000, reg_crc:0x3536 +Testing addw_const_dreg...done. pre_crc:0xBA7E, mem_crc:0x0000, reg_crc:0xFB20 +Testing add_dreg_ind...done. pre_crc:0x21E7, mem_crc:0x0B02, reg_crc:0x36B8 +Testing add_ind_dreg...done. pre_crc:0x73B2, mem_crc:0x0000, reg_crc:0x8F13 +Testing addl_const_dreg...done. pre_crc:0x85DD, mem_crc:0x0000, reg_crc:0x5D8C +Testing add_dreg_d16...done. pre_crc:0x40EB, mem_crc:0xE49A, reg_crc:0x2C5B +Testing add_dreg_absl...done. pre_crc:0x9293, mem_crc:0x7E7E, reg_crc:0xE84D +Testing addaw_reg_areg...done. pre_crc:0xC0C6, mem_crc:0x0000, reg_crc:0x5A1D +Testing addal_reg_areg...done. pre_crc:0x98BE, mem_crc:0x0000, reg_crc:0xD592 +Testing adda_ind_areg...done. pre_crc:0x5A55, mem_crc:0x0000, reg_crc:0x1531 +Testing adda_d16_areg...done. pre_crc:0xE543, mem_crc:0x0000, reg_crc:0xE70C +Testing adda_absl_areg...done. pre_crc:0x033B, mem_crc:0x0000, reg_crc:0xB7C5 +Testing addaw_const_areg...done. pre_crc:0xEDC4, mem_crc:0x0000, reg_crc:0x88E4 +Testing addal_const_areg...done. pre_crc:0x662D, mem_crc:0x0000, reg_crc:0xAEFB +Testing addibw_dreg...done. pre_crc:0x693D, mem_crc:0x0000, reg_crc:0xEA29 +Testing addil_dreg...done. pre_crc:0x6C70, mem_crc:0x0000, reg_crc:0xBA40 +Testing addibw_ind...done. pre_crc:0x6B43, mem_crc:0x3129, reg_crc:0xEA46 +Testing addil_ind...done. pre_crc:0x3416, mem_crc:0x1753, reg_crc:0x6219 +Testing addibw_d16...done. pre_crc:0x8D11, mem_crc:0x6F60, reg_crc:0xF13D +Testing addil_d16...done. pre_crc:0x8A63, mem_crc:0x162A, reg_crc:0x69E7 +Testing addibw_absl...done. pre_crc:0x003F, mem_crc:0xF7B5, reg_crc:0xE3CB +Testing addil_absl...done. pre_crc:0x5AD0, mem_crc:0x8C80, reg_crc:0x6611 +Testing addq_dreg...done. pre_crc:0x16C6, mem_crc:0x0000, reg_crc:0xD828 +Testing addq_areg...done. pre_crc:0x829B, mem_crc:0x0000, reg_crc:0x773A +Testing addq_ind...done. pre_crc:0x145B, mem_crc:0x3DB9, reg_crc:0x1BB4 +Testing addq_d16...done. pre_crc:0xA470, mem_crc:0x8583, reg_crc:0xD9E0 +Testing addq_absl...done. pre_crc:0xDA04, mem_crc:0xA59A, reg_crc:0xB79F +Testing addx_reg...done. pre_crc:0x25C1, mem_crc:0x0000, reg_crc:0x69C9 +Testing addx_mem...done. pre_crc:0xF9FB, mem_crc:0xB55E, reg_crc:0x497A +Testing and_dreg_dreg...done. pre_crc:0xE5C1, mem_crc:0x0000, reg_crc:0x5381 +Testing and_ind_dreg...done. pre_crc:0xB4DF, mem_crc:0x0000, reg_crc:0x4591 +Testing and_d16_dreg...done. pre_crc:0x456F, mem_crc:0x0000, reg_crc:0xCAB7 +Testing and_absl_dreg...done. pre_crc:0xA413, mem_crc:0x0000, reg_crc:0x5EFD +Testing andbw_const_dreg...done. pre_crc:0xEB21, mem_crc:0x0000, reg_crc:0x2CB0 +Testing andl_const_dreg...done. pre_crc:0xC274, mem_crc:0x0000, reg_crc:0xB5B0 +Testing and_dreg_ind...done. pre_crc:0xF302, mem_crc:0x8620, reg_crc:0xEF25 +Testing and_dreg_d16...done. pre_crc:0x465F, mem_crc:0xD5C8, reg_crc:0x68D6 +Testing and_dreg_absl...done. pre_crc:0xAC41, mem_crc:0x5F63, reg_crc:0xAD45 +Testing andibw_dreg...done. pre_crc:0x0137, mem_crc:0x0000, reg_crc:0xC11F +Testing andil_dreg...done. pre_crc:0x2476, mem_crc:0x0000, reg_crc:0xA1D3 +Testing andibw_ind...done. pre_crc:0x025A, mem_crc:0xFE1A, reg_crc:0x468A +Testing andil_ind...done. pre_crc:0x9542, mem_crc:0x9087, reg_crc:0xEE50 +Testing andibw_d16...done. pre_crc:0x3F66, mem_crc:0x940D, reg_crc:0x9BFB +Testing andil_d16...done. pre_crc:0x712C, mem_crc:0x7EF0, reg_crc:0x811B +Testing andibw_absl...done. pre_crc:0x64F5, mem_crc:0x5B7F, reg_crc:0x14F6 +Testing andil_absl...done. pre_crc:0x49DC, mem_crc:0x6593, reg_crc:0x63D4 +Testing andi_to_ccr...done. pre_crc:0x0C28, mem_crc:0x0000, reg_crc:0x2010 +Testing asl_dx_dy...done. pre_crc:0xCBCA, mem_crc:0x0000, reg_crc:0xDC5B +Testing asl_const_dy...done. pre_crc:0x28DF, mem_crc:0x0000, reg_crc:0xBB44 +Testing asl_ind...done. pre_crc:0x7331, mem_crc:0xFA05, reg_crc:0x81E4 +Testing asl_d16...done. pre_crc:0xF5BA, mem_crc:0xB85F, reg_crc:0x4E9F +Testing asl_absl...done. pre_crc:0x8B35, mem_crc:0xD712, reg_crc:0x0E8F +Testing asr_dx_dy...done. pre_crc:0x9E8C, mem_crc:0x0000, reg_crc:0x8C01 +Testing asr_const_dy...done. pre_crc:0x6DE1, mem_crc:0x0000, reg_crc:0x2019 +Testing asr_ind...done. pre_crc:0xEB9F, mem_crc:0xDEFF, reg_crc:0x886C +Testing asr_d16...done. pre_crc:0x49A0, mem_crc:0xC792, reg_crc:0xB968 +Testing asr_absl...done. pre_crc:0x27EB, mem_crc:0x9A1B, reg_crc:0x22C3 +Testing lsl_dx_dy...done. pre_crc:0x00EC, mem_crc:0x0000, reg_crc:0xB872 +Testing lsl_const_dy...done. pre_crc:0xA08D, mem_crc:0x0000, reg_crc:0xB19C +Testing lsl_ind...done. pre_crc:0x765B, mem_crc:0x3D07, reg_crc:0x6E4C +Testing lsl_d16...done. pre_crc:0xC154, mem_crc:0x2884, reg_crc:0x864F +Testing lsl_absl...done. pre_crc:0xC5E2, mem_crc:0x9201, reg_crc:0x58BF +Testing lsr_dx_dy...done. pre_crc:0xCC3A, mem_crc:0x0000, reg_crc:0x073D +Testing lsr_const_dy...done. pre_crc:0x9910, mem_crc:0x0000, reg_crc:0x6226 +Testing lsr_ind...done. pre_crc:0xE8D5, mem_crc:0x3886, reg_crc:0xC31B +Testing lsr_d16...done. pre_crc:0x3D1D, mem_crc:0x8BCA, reg_crc:0x1B7D +Testing lsr_absl...done. pre_crc:0x2024, mem_crc:0x78D2, reg_crc:0x1796 +Testing bra_b...done. pre_crc:0xFDCD, mem_crc:0x0000, reg_crc:0xD073 +Testing bhi_b...done. pre_crc:0x3DEB, mem_crc:0x0000, reg_crc:0xA2B6 +Testing bls_b...done. pre_crc:0x0D1A, mem_crc:0x0000, reg_crc:0xFA48 +Testing bcc_b...done. pre_crc:0x7A03, mem_crc:0x0000, reg_crc:0xA79B +Testing bcs_b...done. pre_crc:0x0473, mem_crc:0x0000, reg_crc:0x9542 +Testing bne_b...done. pre_crc:0x07A8, mem_crc:0x0000, reg_crc:0x702F +Testing beq_b...done. pre_crc:0x0DFE, mem_crc:0x0000, reg_crc:0x5789 +Testing bvc_b...done. pre_crc:0x8C34, mem_crc:0x0000, reg_crc:0x78D8 +Testing bvs_b...done. pre_crc:0xC0F9, mem_crc:0x0000, reg_crc:0xB6FB +Testing bpl_b...done. pre_crc:0x243B, mem_crc:0x0000, reg_crc:0x9530 +Testing bmi_b...done. pre_crc:0xB880, mem_crc:0x0000, reg_crc:0x8817 +Testing bge_b...done. pre_crc:0xF0A4, mem_crc:0x0000, reg_crc:0x3006 +Testing blt_b...done. pre_crc:0xF687, mem_crc:0x0000, reg_crc:0xAD0D +Testing bgt_b...done. pre_crc:0x5882, mem_crc:0x0000, reg_crc:0xA5C6 +Testing ble_b...done. pre_crc:0x4649, mem_crc:0x0000, reg_crc:0x63B4 +Testing bra_w...done. pre_crc:0x6014, mem_crc:0x0000, reg_crc:0xC9ED +Testing bhi_w...done. pre_crc:0x0AFE, mem_crc:0x0000, reg_crc:0x2C5B +Testing bls_w...done. pre_crc:0xF44F, mem_crc:0x0000, reg_crc:0x3ABD +Testing bcc_w...done. pre_crc:0x97E9, mem_crc:0x0000, reg_crc:0xB516 +Testing bcs_w...done. pre_crc:0x8EDA, mem_crc:0x0000, reg_crc:0x8DB8 +Testing bne_w...done. pre_crc:0x787E, mem_crc:0x0000, reg_crc:0xC565 +Testing beq_w...done. pre_crc:0x214D, mem_crc:0x0000, reg_crc:0x8CD3 +Testing bvc_w...done. pre_crc:0xBF36, mem_crc:0x0000, reg_crc:0x641A +Testing bvs_w...done. pre_crc:0x9ADB, mem_crc:0x0000, reg_crc:0x31E9 +Testing bpl_w...done. pre_crc:0xE863, mem_crc:0x0000, reg_crc:0xA91E +Testing bmi_w...done. pre_crc:0xDEAA, mem_crc:0x0000, reg_crc:0xCA48 +Testing bge_w...done. pre_crc:0xE727, mem_crc:0x0000, reg_crc:0x86A7 +Testing blt_w...done. pre_crc:0xF823, mem_crc:0x0000, reg_crc:0x5000 +Testing bgt_w...done. pre_crc:0x25B4, mem_crc:0x0000, reg_crc:0xA8F7 +Testing ble_w...done. pre_crc:0xBE8D, mem_crc:0x0000, reg_crc:0x417B +Testing bra_l...done. pre_crc:0xA569, mem_crc:0x0000, reg_crc:0x573B +Testing bhi_l...done. pre_crc:0xE6AA, mem_crc:0x0000, reg_crc:0x31FB +Testing bls_l...done. pre_crc:0xD6D3, mem_crc:0x0000, reg_crc:0x7AB0 +Testing bcc_l...done. pre_crc:0xCCC1, mem_crc:0x0000, reg_crc:0x3F2E +Testing bcs_l...done. pre_crc:0x838A, mem_crc:0x0000, reg_crc:0xBE47 +Testing bne_l...done. pre_crc:0x63D9, mem_crc:0x0000, reg_crc:0x27A0 +Testing beq_l...done. pre_crc:0x9207, mem_crc:0x0000, reg_crc:0x4B65 +Testing bvc_l...done. pre_crc:0xFE81, mem_crc:0x0000, reg_crc:0x952D +Testing bvs_l...done. pre_crc:0x3B6C, mem_crc:0x0000, reg_crc:0x3AFF +Testing bpl_l...done. pre_crc:0xED42, mem_crc:0x0000, reg_crc:0x4BA9 +Testing bmi_l...done. pre_crc:0x04A2, mem_crc:0x0000, reg_crc:0x3C77 +Testing bge_l...done. pre_crc:0x3884, mem_crc:0x0000, reg_crc:0xC6BB +Testing blt_l...done. pre_crc:0x9911, mem_crc:0x0000, reg_crc:0xC1AE +Testing bgt_l...done. pre_crc:0xFD24, mem_crc:0x0000, reg_crc:0x5C9A +Testing ble_l...done. pre_crc:0xC9B9, mem_crc:0x0000, reg_crc:0xAF5A +Testing bchg_reg_reg...done. pre_crc:0x5C84, mem_crc:0x0000, reg_crc:0x2EED +Testing bchg_const_reg...done. pre_crc:0x0D65, mem_crc:0x0000, reg_crc:0x818E +Testing bchg_reg_ind...done. pre_crc:0xD668, mem_crc:0x0745, reg_crc:0xCEEA +Testing bchg_const_ind...done. pre_crc:0x6AD9, mem_crc:0xA89B, reg_crc:0xEDCF +Testing bchg_reg_d16...done. pre_crc:0xC9C3, mem_crc:0x036A, reg_crc:0xF9B2 +Testing bchg_const_d16...done. pre_crc:0xE2F9, mem_crc:0x15E5, reg_crc:0x6681 +Testing bchg_reg_absl...done. pre_crc:0x5085, mem_crc:0x9D1C, reg_crc:0xA0DE +Testing bchg_const_absl...done. pre_crc:0x5D5B, mem_crc:0xC42C, reg_crc:0x86B9 +Testing bclr_reg_reg...done. pre_crc:0x64D8, mem_crc:0x0000, reg_crc:0xE11B +Testing bclr_const_reg...done. pre_crc:0xEE92, mem_crc:0x0000, reg_crc:0x5237 +Testing bclr_reg_ind...done. pre_crc:0xDAA3, mem_crc:0x7ACB, reg_crc:0x18E2 +Testing bclr_const_ind...done. pre_crc:0xC511, mem_crc:0x9905, reg_crc:0x1199 +Testing bclr_reg_d16...done. pre_crc:0xFF00, mem_crc:0x1689, reg_crc:0xFB3E +Testing bclr_const_d16...done. pre_crc:0x7F9B, mem_crc:0xA8A1, reg_crc:0x28FC +Testing bclr_reg_absl...done. pre_crc:0x96BA, mem_crc:0x62C7, reg_crc:0x1EB1 +Testing bclr_const_absl...done. pre_crc:0x88EC, mem_crc:0xC333, reg_crc:0x1A32 +Testing bset_reg_reg...done. pre_crc:0xFF92, mem_crc:0x0000, reg_crc:0x761C +Testing bset_const_reg...done. pre_crc:0x37D7, mem_crc:0x0000, reg_crc:0x66C5 +Testing bset_reg_ind...done. pre_crc:0xEE15, mem_crc:0x7CF8, reg_crc:0xB8A6 +Testing bset_const_ind...done. pre_crc:0x3D67, mem_crc:0x5825, reg_crc:0xB70C +Testing bset_reg_d16...done. pre_crc:0xE22F, mem_crc:0x738F, reg_crc:0x0C18 +Testing bset_const_d16...done. pre_crc:0x3B5D, mem_crc:0xE683, reg_crc:0x8E22 +Testing bset_reg_absl...done. pre_crc:0x7EE1, mem_crc:0x8A7F, reg_crc:0x64A8 +Testing bset_const_absl...done. pre_crc:0x56E2, mem_crc:0x67E9, reg_crc:0x1212 +Testing btst_reg_reg...done. pre_crc:0x1474, mem_crc:0x0000, reg_crc:0x5565 +Testing btst_const_reg...done. pre_crc:0x1E4A, mem_crc:0x0000, reg_crc:0x3807 +Testing btst_reg_ind...done. pre_crc:0x6AD2, mem_crc:0x0000, reg_crc:0x1A23 +Testing btst_const_ind...done. pre_crc:0x906C, mem_crc:0x0000, reg_crc:0x0E62 +Testing btst_reg_d16...done. pre_crc:0x5C87, mem_crc:0x0000, reg_crc:0xEB1B +Testing btst_const_d16...done. pre_crc:0x0941, mem_crc:0x0000, reg_crc:0x7753 +Testing btst_reg_absl...done. pre_crc:0xE867, mem_crc:0x0000, reg_crc:0x19E6 +Testing btst_const_absl...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x0AED +Testing bfchg_reg...done. pre_crc:0x99F7, mem_crc:0x0000, reg_crc:0x4BB2 +Testing bfchg_ind...done. pre_crc:0x91F5, mem_crc:0xE4E8, reg_crc:0xE98F +Testing bfchg_d16...done. pre_crc:0xE282, mem_crc:0xA9BB, reg_crc:0xF7E6 +Testing bfchg_absl...done. pre_crc:0x0E06, mem_crc:0xC550, reg_crc:0xEE00 +Testing bfclr_reg...done. pre_crc:0xD8D0, mem_crc:0x0000, reg_crc:0xAA22 +Testing bfclr_ind...done. pre_crc:0x183E, mem_crc:0x4C5B, reg_crc:0x2973 +Testing bfclr_d16...done. pre_crc:0x56CA, mem_crc:0x657D, reg_crc:0xB5BF +Testing bfclr_absl...done. pre_crc:0x1042, mem_crc:0x08BA, reg_crc:0xB756 +Testing bfset_reg...done. pre_crc:0x87E4, mem_crc:0x0000, reg_crc:0xC43D +Testing bfset_ind...done. pre_crc:0xE778, mem_crc:0x63DB, reg_crc:0x5956 +Testing bfset_d16...done. pre_crc:0x8D94, mem_crc:0x66A3, reg_crc:0x3F05 +Testing bfset_absl...done. pre_crc:0xC660, mem_crc:0xB77D, reg_crc:0xAE10 +Testing bftst_reg...done. pre_crc:0xC2E7, mem_crc:0x0000, reg_crc:0x3300 +Testing bftst_ind...done. pre_crc:0xEBD0, mem_crc:0x0000, reg_crc:0xBC70 +Testing bftst_d16...done. pre_crc:0x2166, mem_crc:0x0000, reg_crc:0xC09C +Testing bftst_absl...done. pre_crc:0x23D5, mem_crc:0x0000, reg_crc:0x49F8 +Testing bfexts_reg...done. pre_crc:0x6810, mem_crc:0x0000, reg_crc:0xE583 +Testing bfexts_ind...done. pre_crc:0xAFEB, mem_crc:0x0000, reg_crc:0x7887 +Testing bfexts_d16...done. pre_crc:0xDC63, mem_crc:0x0000, reg_crc:0x6AFC +Testing bfexts_absl...done. pre_crc:0x97FD, mem_crc:0x0000, reg_crc:0x9093 +Testing bfextu_reg...done. pre_crc:0x70DB, mem_crc:0x0000, reg_crc:0x0FBB +Testing bfextu_ind...done. pre_crc:0xA8E4, mem_crc:0x0000, reg_crc:0xB8ED +Testing bfextu_d16...done. pre_crc:0xC3B1, mem_crc:0x0000, reg_crc:0xE9FD +Testing bfextu_absl...done. pre_crc:0x8D99, mem_crc:0x0000, reg_crc:0xF802 +Testing bfffo_reg...done. pre_crc:0x49EE, mem_crc:0x0000, reg_crc:0xDC2A +Testing bfffo_ind...done. pre_crc:0x8BF2, mem_crc:0x0000, reg_crc:0x4C2C +Testing bfffo_d16...done. pre_crc:0xAA2F, mem_crc:0x0000, reg_crc:0xBE36 +Testing bfffo_absl...done. pre_crc:0x96B5, mem_crc:0x0000, reg_crc:0xE68F +Testing bfins_reg...done. pre_crc:0x807A, mem_crc:0x0000, reg_crc:0xB4D2 +Testing bfins_ind...done. pre_crc:0xB3AA, mem_crc:0xE4D8, reg_crc:0xB94C +Testing bfins_d16...done. pre_crc:0x389F, mem_crc:0xB7F9, reg_crc:0x19AE +Testing bfins_absl...done. pre_crc:0xDEF2, mem_crc:0x8148, reg_crc:0x2795 +Testing bsr_b...done. pre_crc:0x49FA, mem_crc:0xDF7C, reg_crc:0x6F39 +Testing bsr_w...done. pre_crc:0xB1C4, mem_crc:0xA539, reg_crc:0xB20A +Testing bsr_l...done. pre_crc:0xA4CD, mem_crc:0x8A61, reg_crc:0x95A0 +Testing cas_ind...done. pre_crc:0xDD65, mem_crc:0x3D92, reg_crc:0xB61F +Testing cas2_areg...done. pre_crc:0xB4A8, mem_crc:0x0E0D, reg_crc:0x89D5 +Testing cas2_anyreg...done. pre_crc:0x2D9C, mem_crc:0x07C1, reg_crc:0x35EE +Testing clr_reg...done. pre_crc:0x2BBD, mem_crc:0x0000, reg_crc:0xDCAD +Testing clrb_ind...done. pre_crc:0x5E55, mem_crc:0xF21F, reg_crc:0x542C +Testing clrwl_ind...done. pre_crc:0xD837, mem_crc:0xC191, reg_crc:0x723F +Testing clrb_absl...done. pre_crc:0x3CC6, mem_crc:0x7733, reg_crc:0xCFB1 +Testing clrwl_absl...done. pre_crc:0x3601, mem_crc:0x488D, reg_crc:0xAD49 +Testing cmp_dreg...done. pre_crc:0x4BC8, mem_crc:0x0000, reg_crc:0xAD31 +Testing cmp_areg...done. pre_crc:0x8B10, mem_crc:0x0000, reg_crc:0x0C28 +Testing cmpb_ind...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0xCE34 +Testing cmpwl_ind...done. pre_crc:0x9FE4, mem_crc:0x0000, reg_crc:0xBF64 +Testing cmpb_d16...done. pre_crc:0x751C, mem_crc:0x0000, reg_crc:0x6A60 +Testing cmpwl_d16...done. pre_crc:0x064C, mem_crc:0x0000, reg_crc:0x3725 +Testing cmpa_reg...done. pre_crc:0x92F2, mem_crc:0x0000, reg_crc:0xF09F +Testing cmpa_ind...done. pre_crc:0x2E9D, mem_crc:0x0000, reg_crc:0x98D3 +Testing cmpa_ind2...done. pre_crc:0x3717, mem_crc:0x0000, reg_crc:0xD9EF +Testing cmpa_d16...done. pre_crc:0x392A, mem_crc:0x0000, reg_crc:0xCCD2 +Testing cmpa_d16_2...done. pre_crc:0xFE28, mem_crc:0x0000, reg_crc:0x4C51 +Testing cmpa_absl...done. pre_crc:0xCB33, mem_crc:0x0000, reg_crc:0x01C4 +Testing cmpibw_reg...done. pre_crc:0x4BC1, mem_crc:0x0000, reg_crc:0x7967 +Testing cmpil_reg...done. pre_crc:0x0F53, mem_crc:0x0000, reg_crc:0xB615 +Testing cmpib_ind...done. pre_crc:0x9D0F, mem_crc:0x0000, reg_crc:0x7714 +Testing cmpiw_ind...done. pre_crc:0xC163, mem_crc:0x0000, reg_crc:0xD43F +Testing cmpil_ind...done. pre_crc:0x3E72, mem_crc:0x0000, reg_crc:0xB9C8 +Testing cmpmb...done. pre_crc:0x91F2, mem_crc:0x0000, reg_crc:0xF87C +Testing cmpmwl...done. pre_crc:0x2665, mem_crc:0x0000, reg_crc:0x4874 +Testing cmp2b_ind...done. pre_crc:0xBC8B, mem_crc:0x0000, reg_crc:0x5E5B +Testing cmp2wl_ind...done. pre_crc:0xA5C7, mem_crc:0x0000, reg_crc:0x121B +Testing dbcc...done. pre_crc:0x70B5, mem_crc:0x0000, reg_crc:0x7B65 +Testing divs_reg...done. pre_crc:0xBAC3, mem_crc:0x0000, reg_crc:0x76FB +Testing divs_same_reg...done. pre_crc:0xAC99, mem_crc:0x0000, reg_crc:0x7DA9 +Testing divs_ind...done. pre_crc:0x842B, mem_crc:0x0000, reg_crc:0x238C +Testing divs_absl...done. pre_crc:0xF8D6, mem_crc:0x0000, reg_crc:0x7E9C +Testing divu_reg...done. pre_crc:0xCB3C, mem_crc:0x0000, reg_crc:0xF9E1 +Testing divu_same_reg...done. pre_crc:0x2214, mem_crc:0x0000, reg_crc:0x91A1 +Testing divu_ind...done. pre_crc:0x05A1, mem_crc:0x0000, reg_crc:0x98E3 +Testing divu_absl...done. pre_crc:0x5A34, mem_crc:0x0000, reg_crc:0x79B5 +Testing divul_ll_reg...done. pre_crc:0x9750, mem_crc:0x0000, reg_crc:0x8D60 +Testing divul_ll_ind...done. pre_crc:0x8BC8, mem_crc:0x0000, reg_crc:0x5C82 +Testing divul_ll_absl...done. pre_crc:0x7A2E, mem_crc:0x0000, reg_crc:0xC67B +Testing eor_reg...done. pre_crc:0xAF03, mem_crc:0x0000, reg_crc:0x4ACD +Testing eor_ind...done. pre_crc:0xAB65, mem_crc:0x4E30, reg_crc:0x7EB2 +Testing eor_d16...done. pre_crc:0xD260, mem_crc:0x74CC, reg_crc:0x8F92 +Testing eor_absl...done. pre_crc:0xC326, mem_crc:0xFEAE, reg_crc:0x54FD +Testing eoribw_dreg...done. pre_crc:0xCAA9, mem_crc:0x0000, reg_crc:0x19D0 +Testing eoril_dreg...done. pre_crc:0xB633, mem_crc:0x0000, reg_crc:0xFB3B +Testing eoribw_ind...done. pre_crc:0xA32F, mem_crc:0x65B7, reg_crc:0x1B27 +Testing eoril_ind...done. pre_crc:0x8A65, mem_crc:0x1F54, reg_crc:0x12F6 +Testing eoribw_d16...done. pre_crc:0xA021, mem_crc:0xF762, reg_crc:0xBB6A +Testing eoril_d16...done. pre_crc:0x84EE, mem_crc:0x36D8, reg_crc:0x71F6 +Testing eoribw_absl...done. pre_crc:0x3164, mem_crc:0xADE9, reg_crc:0x501E +Testing eoril_absl...done. pre_crc:0xE1CF, mem_crc:0xB753, reg_crc:0x491A +Testing eori_to_ccr...done. pre_crc:0x6ED0, mem_crc:0x0000, reg_crc:0xD83C +Testing exg...done. pre_crc:0x13E2, mem_crc:0x0000, reg_crc:0x8B56 +Testing ext...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0xF7BC +Testing jmp_absl...done. pre_crc:0x066F, mem_crc:0x0000, reg_crc:0xAEB6 +Testing jmp_ind...done. pre_crc:0x38AD, mem_crc:0x0000, reg_crc:0x1BE2 +Testing jmp_d16...done. pre_crc:0x18BC, mem_crc:0x0000, reg_crc:0x95BE +Testing jsr_absl...done. pre_crc:0x9B63, mem_crc:0xF243, reg_crc:0xE2C9 +Testing jsr_ind...done. pre_crc:0xBC0B, mem_crc:0x1422, reg_crc:0xF39C +Testing jsr_d16...done. pre_crc:0x78CF, mem_crc:0x03FF, reg_crc:0x18BB +Testing lea_ind...done. pre_crc:0x345B, mem_crc:0x0000, reg_crc:0xF41A +Testing lea_d16...done. pre_crc:0x37E8, mem_crc:0x0000, reg_crc:0x1591 +Testing lea_absw...done. pre_crc:0x9B0F, mem_crc:0x0000, reg_crc:0x403B +Testing lea_absl...done. pre_crc:0x3F74, mem_crc:0x0000, reg_crc:0x9E04 +Testing linkw...done. pre_crc:0x9199, mem_crc:0x20B5, reg_crc:0x2FFB +Testing linkl...done. pre_crc:0x0CF6, mem_crc:0x5F05, reg_crc:0xD64A +Testing move16_postinc_postinc...done. pre_crc:0xB320, mem_crc:0xBE7D, reg_crc:0xC6A0 +Testing move16_absl_ind...done. pre_crc:0xDD51, mem_crc:0x3157, reg_crc:0xED6F +Testing move16_absl_postinc...done. pre_crc:0x9804, mem_crc:0xAD3B, reg_crc:0x4488 +Testing move16_ind_absl...done. pre_crc:0xA82F, mem_crc:0xE0E0, reg_crc:0x915D +Testing move16_postinc_absl...done. pre_crc:0x8C1A, mem_crc:0xDFC8, reg_crc:0xA134 +Testing moveb_dreg_dreg...done. pre_crc:0xE17E, mem_crc:0x0000, reg_crc:0xEDD2 +Testing movewl_reg_dreg...done. pre_crc:0xD8F6, mem_crc:0x0000, reg_crc:0x1235 +Testing moveb_ind_dreg...done. pre_crc:0xCA85, mem_crc:0x0000, reg_crc:0xF096 +Testing movewl_ind_dreg...done. pre_crc:0x32A6, mem_crc:0x0000, reg_crc:0x71E4 +Testing moveb_d16_dreg...done. pre_crc:0xB157, mem_crc:0x0000, reg_crc:0x6BDF +Testing movewl_d16_dreg...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0xE052 +Testing moveb_absl_dreg...done. pre_crc:0x68E6, mem_crc:0x0000, reg_crc:0x4CAD +Testing movewl_absl_dreg...done. pre_crc:0x4396, mem_crc:0x0000, reg_crc:0xA644 +Testing movebw_const_dreg...done. pre_crc:0x4806, mem_crc:0x0000, reg_crc:0x5E19 +Testing movel_const_dreg...done. pre_crc:0x53CD, mem_crc:0x0000, reg_crc:0x840F +Testing moveb_dreg_ind...done. pre_crc:0x4316, mem_crc:0x1D33, reg_crc:0x87E2 +Testing movewl_reg_ind...done. pre_crc:0x496F, mem_crc:0x6909, reg_crc:0x46D9 +Testing moveb_dreg_d16...done. pre_crc:0xF19C, mem_crc:0x7B1E, reg_crc:0xA996 +Testing movewl_reg_d16...done. pre_crc:0x05FB, mem_crc:0x100D, reg_crc:0x202F +Testing moveb_dreg_absl...done. pre_crc:0xB4EF, mem_crc:0x528A, reg_crc:0x6D20 +Testing movewl_reg_absl...done. pre_crc:0xEBF5, mem_crc:0x5E45, reg_crc:0xB7F9 +Testing moveb_ind_ind...done. pre_crc:0xD448, mem_crc:0xC577, reg_crc:0x8502 +Testing moveb_ind_d16...done. pre_crc:0xBC10, mem_crc:0x5797, reg_crc:0xC1AB +Testing moveb_d16_ind...done. pre_crc:0x0EC2, mem_crc:0x4583, reg_crc:0x7856 +Testing movewl_ind_d16...done. pre_crc:0x535D, mem_crc:0xB83C, reg_crc:0xEC57 +Testing movewl_d16_ind...done. pre_crc:0x3F74, mem_crc:0xEA29, reg_crc:0x88C9 +Testing moveb_d16_d16...done. pre_crc:0x1679, mem_crc:0xA94E, reg_crc:0xE6A2 +Testing movewl_d16_d16...done. pre_crc:0x7D95, mem_crc:0x7495, reg_crc:0x6C66 +Testing moveb_ind_absl...done. pre_crc:0x1B71, mem_crc:0x3544, reg_crc:0x30DB +Testing movewl_ind_absl...done. pre_crc:0x86B6, mem_crc:0x26EF, reg_crc:0xC2E6 +Testing moveb_absl_ind...done. pre_crc:0x5CEA, mem_crc:0xD753, reg_crc:0x0868 +Testing movewl_absl_ind...done. pre_crc:0xDA45, mem_crc:0x6897, reg_crc:0x18AC +Testing moveb_absl_absl...done. pre_crc:0x9CC1, mem_crc:0xF69A, reg_crc:0x4F92 +Testing movewl_absl_absl...done. pre_crc:0xF0B5, mem_crc:0x1277, reg_crc:0x9ECB +Testing moveb_d16_absl...done. pre_crc:0x23A6, mem_crc:0x8DD1, reg_crc:0xC906 +Testing movewl_d16_absl...done. pre_crc:0xD744, mem_crc:0x48ED, reg_crc:0x6D01 +Testing moveb_absl_d16...done. pre_crc:0x6445, mem_crc:0x97EC, reg_crc:0x9823 +Testing movewl_absl_d16...done. pre_crc:0xEEB7, mem_crc:0x0D5B, reg_crc:0xC2B3 +Testing moveb_const_ind...done. pre_crc:0x2B6B, mem_crc:0xD828, reg_crc:0x8BA3 +Testing moveb_const_d16...done. pre_crc:0xC6E5, mem_crc:0x4A7A, reg_crc:0x7B09 +Testing moveb_const_absl...done. pre_crc:0xDD52, mem_crc:0x8211, reg_crc:0x3E32 +Testing movew_const_ind...done. pre_crc:0x93DB, mem_crc:0x3167, reg_crc:0x29FE +Testing movew_const_d16...done. pre_crc:0x5ED5, mem_crc:0x27B1, reg_crc:0x7481 +Testing movew_const_absl...done. pre_crc:0x3BFA, mem_crc:0xE1C0, reg_crc:0x41AF +Testing movel_const_ind...done. pre_crc:0x2278, mem_crc:0x908E, reg_crc:0xBE56 +Testing movel_const_d16...done. pre_crc:0x5829, mem_crc:0x7FC2, reg_crc:0x8753 +Testing movel_const_absl...done. pre_crc:0xE05D, mem_crc:0x4086, reg_crc:0x3050 +Testing movea_reg...done. pre_crc:0x5D49, mem_crc:0x0000, reg_crc:0x2747 +Testing movea_ind...done. pre_crc:0x06E6, mem_crc:0x0000, reg_crc:0xF7EC +Testing movea_d16...done. pre_crc:0xD878, mem_crc:0x0000, reg_crc:0xC79D +Testing movea_absl...done. pre_crc:0x703A, mem_crc:0x0000, reg_crc:0xC0DE +Testing moveaw_const...done. pre_crc:0x73F3, mem_crc:0x0000, reg_crc:0x3DDA +Testing moveal_const...done. pre_crc:0x9357, mem_crc:0x0000, reg_crc:0xF715 +Testing move_from_ccr_dreg...done. pre_crc:0x35FD, mem_crc:0x0000, reg_crc:0x2FC4 +Testing move_from_ccr_ind...done. pre_crc:0x3E4C, mem_crc:0x0000, reg_crc:0x285F +Testing move_from_ccr_d16...done. pre_crc:0x06DF, mem_crc:0x0000, reg_crc:0x964D +Testing move_to_ccr_reg...done. pre_crc:0xF346, mem_crc:0x0000, reg_crc:0x0F03 +Testing move_to_ccr_ind...done. pre_crc:0xCC67, mem_crc:0x0000, reg_crc:0x52FB +Testing movem_to_ind...done. pre_crc:0xAF11, mem_crc:0x5892, reg_crc:0xBFFB +Testing movem_to_predec...done. pre_crc:0x2B32, mem_crc:0x614F, reg_crc:0xCD0B +Testing movem_to_d16...done. pre_crc:0x59AF, mem_crc:0x0074, reg_crc:0x01BF +Testing movem_to_absl...done. pre_crc:0x60F9, mem_crc:0xDA4F, reg_crc:0x1AA4 +Testing movem_from_d16...done. pre_crc:0x14D2, mem_crc:0x0000, reg_crc:0x269E +Testing movem_from_ind...done. pre_crc:0xC87C, mem_crc:0x0000, reg_crc:0xFA50 +Testing movem_from_absl...done. pre_crc:0xD251, mem_crc:0x0000, reg_crc:0x2B3F +Testing movep_to_mem...done. pre_crc:0x6FBA, mem_crc:0xB8CA, reg_crc:0xAFFC +Testing movep_from_mem...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0x339C +Testing moveq...done. pre_crc:0x088D, mem_crc:0x0000, reg_crc:0x8AAD +Testing mulsw_dreg...done. pre_crc:0x7756, mem_crc:0x0000, reg_crc:0xB99B +Testing mulsw_ind...done. pre_crc:0xA6E3, mem_crc:0x0000, reg_crc:0x3588 +Testing mulsw_d16...done. pre_crc:0xED6D, mem_crc:0x0000, reg_crc:0x9B3D +Testing mulsw_absl...done. pre_crc:0xF93B, mem_crc:0x0000, reg_crc:0x276F +Testing muluw_dreg...done. pre_crc:0xA5E2, mem_crc:0x0000, reg_crc:0xCDC7 +Testing muluw_ind...done. pre_crc:0x7EC9, mem_crc:0x0000, reg_crc:0x7FE3 +Testing muluw_d16...done. pre_crc:0xC16A, mem_crc:0x0000, reg_crc:0x4B6C +Testing muluw_absl...done. pre_crc:0x1D4E, mem_crc:0x0000, reg_crc:0x0745 +Testing mulsl_dreg...done. pre_crc:0xD05D, mem_crc:0x0000, reg_crc:0x5BCB +Testing mulsl_ind...done. pre_crc:0x6866, mem_crc:0x0000, reg_crc:0x9E6E +Testing mulsl_d16...done. pre_crc:0x3599, mem_crc:0x0000, reg_crc:0x27B1 +Testing mulsl_absl...done. pre_crc:0x7EF3, mem_crc:0x0000, reg_crc:0x68E0 +Testing mulul_dreg...done. pre_crc:0xA436, mem_crc:0x0000, reg_crc:0x05F5 +Testing mulul_ind...done. pre_crc:0x7FB1, mem_crc:0x0000, reg_crc:0x1EBD +Testing mulul_d16...done. pre_crc:0x5545, mem_crc:0x0000, reg_crc:0x3059 +Testing mulul_absl...done. pre_crc:0xC927, mem_crc:0x0000, reg_crc:0x70F1 +Testing nbcd_reg...done. pre_crc:0xA07B, mem_crc:0x0000, reg_crc:0x422E +Testing nbcd_ind...done. pre_crc:0xE261, mem_crc:0x3B92, reg_crc:0x3036 +Testing nbcd_d16...done. pre_crc:0x144D, mem_crc:0xD564, reg_crc:0xFA3C +Testing nbcd_absl...done. pre_crc:0x0305, mem_crc:0xD658, reg_crc:0x896D +Testing neg_reg...done. pre_crc:0xEA6C, mem_crc:0x0000, reg_crc:0x4224 +Testing negb_ind...done. pre_crc:0xC04F, mem_crc:0x5C7D, reg_crc:0xF0CA +Testing negwl_ind...done. pre_crc:0x2746, mem_crc:0xE938, reg_crc:0x5577 +Testing negb_d16...done. pre_crc:0xEB2B, mem_crc:0xD774, reg_crc:0x3ED5 +Testing negwl_d16...done. pre_crc:0xCB51, mem_crc:0x2E0F, reg_crc:0x8FBA +Testing neg_absl...done. pre_crc:0xA0A7, mem_crc:0xC656, reg_crc:0xC497 +Testing negx_reg...done. pre_crc:0xB19E, mem_crc:0x0000, reg_crc:0x678A +Testing negxb_ind...done. pre_crc:0xF672, mem_crc:0x20DA, reg_crc:0xDD99 +Testing negxwl_ind...done. pre_crc:0x0643, mem_crc:0xD3B9, reg_crc:0xAC14 +Testing negxb_d16...done. pre_crc:0x54AF, mem_crc:0x9DC2, reg_crc:0x3ADB +Testing negxwl_d16...done. pre_crc:0x36E8, mem_crc:0xA914, reg_crc:0x394B +Testing negx_absl...done. pre_crc:0x67E3, mem_crc:0x59A3, reg_crc:0x0C17 +Testing nop...done. pre_crc:0x4CB3, mem_crc:0x0000, reg_crc:0x0B07 +Testing not_reg...done. pre_crc:0x842F, mem_crc:0x0000, reg_crc:0x281D +Testing notb_ind...done. pre_crc:0xAF5C, mem_crc:0x1448, reg_crc:0x97D0 +Testing notwl_ind...done. pre_crc:0x13CD, mem_crc:0x4E5F, reg_crc:0xC423 +Testing notb_d16...done. pre_crc:0x57A6, mem_crc:0xF1AB, reg_crc:0x1A9E +Testing notwl_d16...done. pre_crc:0x4BF7, mem_crc:0x54C4, reg_crc:0x4B7B +Testing not_absl...done. pre_crc:0xC058, mem_crc:0xA102, reg_crc:0xE501 +Testing or_dreg_dreg...done. pre_crc:0x80C4, mem_crc:0x0000, reg_crc:0x4361 +Testing or_ind_dreg...done. pre_crc:0xE29B, mem_crc:0x0000, reg_crc:0x5B4C +Testing or_d16_dreg...done. pre_crc:0xF2FB, mem_crc:0x0000, reg_crc:0x5268 +Testing or_absl_dreg...done. pre_crc:0xCC40, mem_crc:0x0000, reg_crc:0xB895 +Testing orbw_const_dreg...done. pre_crc:0x76B3, mem_crc:0x0000, reg_crc:0x8706 +Testing orl_const_dreg...done. pre_crc:0xD4C7, mem_crc:0x0000, reg_crc:0x4EE4 +Testing or_dreg_ind...done. pre_crc:0x371E, mem_crc:0x0229, reg_crc:0xE8BD +Testing or_dreg_d16...done. pre_crc:0x1663, mem_crc:0xDF3D, reg_crc:0x78C0 +Testing or_dreg_absl...done. pre_crc:0x9315, mem_crc:0xE040, reg_crc:0x6489 +Testing oribw_dreg...done. pre_crc:0xBAE9, mem_crc:0x0000, reg_crc:0xCE40 +Testing oril_dreg...done. pre_crc:0xB21F, mem_crc:0x0000, reg_crc:0x642F +Testing oribw_ind...done. pre_crc:0x672F, mem_crc:0x6D76, reg_crc:0x7398 +Testing oril_ind...done. pre_crc:0x46DF, mem_crc:0x8C9E, reg_crc:0xB926 +Testing oribw_d16...done. pre_crc:0xA9E8, mem_crc:0xF053, reg_crc:0xA4B6 +Testing oril_d16...done. pre_crc:0xC883, mem_crc:0x5699, reg_crc:0xC5A5 +Testing oribw_absl...done. pre_crc:0x6FC2, mem_crc:0x5353, reg_crc:0xA8E9 +Testing oril_absl...done. pre_crc:0xC651, mem_crc:0x502E, reg_crc:0x017C +Testing ori_to_ccr...done. pre_crc:0x9FEE, mem_crc:0x0000, reg_crc:0x137C +Testing pack_reg...done. pre_crc:0x8A35, mem_crc:0x0000, reg_crc:0xF289 +Testing pack_mem...done. pre_crc:0xCA15, mem_crc:0x573D, reg_crc:0x5BEA +Testing pea_ind...done. pre_crc:0xB9DC, mem_crc:0x422D, reg_crc:0xAD37 +Testing pea_d16...done. pre_crc:0xDB0D, mem_crc:0x8224, reg_crc:0x1D5A +Testing pea_absw...done. pre_crc:0x2602, mem_crc:0xE239, reg_crc:0xF7E9 +Testing pea_absl...done. pre_crc:0xB491, mem_crc:0x00E2, reg_crc:0xAEAE +Testing rol_dx_dy...done. pre_crc:0x5498, mem_crc:0x0000, reg_crc:0x04D0 +Testing rol_const_dy...done. pre_crc:0x0DC6, mem_crc:0x0000, reg_crc:0x8B59 +Testing rol_ind...done. pre_crc:0x0EA3, mem_crc:0x0DDF, reg_crc:0x2092 +Testing rol_d16...done. pre_crc:0xEBEE, mem_crc:0xC7EF, reg_crc:0x2A6D +Testing rol_absl...done. pre_crc:0xF2E3, mem_crc:0x2620, reg_crc:0x15BC +Testing ror_dx_dy...done. pre_crc:0x4A0F, mem_crc:0x0000, reg_crc:0xA38B +Testing ror_const_dy...done. pre_crc:0x4DDE, mem_crc:0x0000, reg_crc:0x598D +Testing ror_ind...done. pre_crc:0x23C0, mem_crc:0x031B, reg_crc:0x0729 +Testing ror_d16...done. pre_crc:0x9765, mem_crc:0xBE2E, reg_crc:0x44A5 +Testing ror_absl...done. pre_crc:0x118E, mem_crc:0x4EE4, reg_crc:0xEA23 +Testing roxl_dx_dy...done. pre_crc:0x03F4, mem_crc:0x0000, reg_crc:0xBF73 +Testing roxl_const_dy...done. pre_crc:0xDB16, mem_crc:0x0000, reg_crc:0xA2F8 +Testing roxl_ind...done. pre_crc:0xB735, mem_crc:0x26E9, reg_crc:0xCB2C +Testing roxl_d16...done. pre_crc:0x8DC3, mem_crc:0x78FC, reg_crc:0x8D8D +Testing roxl_absl...done. pre_crc:0xDCF7, mem_crc:0x6C17, reg_crc:0xD367 +Testing roxr_dx_dy...done. pre_crc:0x861F, mem_crc:0x0000, reg_crc:0x4BD2 +Testing roxr_const_dy...done. pre_crc:0x02B4, mem_crc:0x0000, reg_crc:0xA506 +Testing roxr_ind...done. pre_crc:0xFFBE, mem_crc:0x097B, reg_crc:0x17E8 +Testing roxr_d16...done. pre_crc:0x4173, mem_crc:0x2430, reg_crc:0xBA34 +Testing roxr_absl...done. pre_crc:0xA1BA, mem_crc:0xE41B, reg_crc:0x2CF4 +Testing rtd...done. pre_crc:0xFC50, mem_crc:0x0000, reg_crc:0x4B7B +Testing rtr...done. pre_crc:0x89A6, mem_crc:0x0000, reg_crc:0xB38C +Testing rts...done. pre_crc:0x3122, mem_crc:0x0000, reg_crc:0xE5FE +Testing sbcd_reg...done. pre_crc:0x8F14, mem_crc:0x0000, reg_crc:0x725A +Testing sbcd_mem...done. pre_crc:0xACA7, mem_crc:0x4F46, reg_crc:0x0E29 +Testing Scc_reg...done. pre_crc:0x114C, mem_crc:0x0000, reg_crc:0xB6D3 +Testing Scc_ind...done. pre_crc:0x8B92, mem_crc:0x4DEE, reg_crc:0xF9BE +Testing Scc_d16...done. pre_crc:0xFEB4, mem_crc:0x24CA, reg_crc:0x9749 +Testing Scc_absl...done. pre_crc:0xD959, mem_crc:0x2DBB, reg_crc:0x5C63 +Testing subb_dreg_dreg...done. pre_crc:0x8143, mem_crc:0x0000, reg_crc:0xC3A0 +Testing subw_reg_dreg...done. pre_crc:0x5EBB, mem_crc:0x0000, reg_crc:0x2BC0 +Testing subl_reg_dreg...done. pre_crc:0xAF3E, mem_crc:0x0000, reg_crc:0x732A +Testing sub_ind_dreg...done. pre_crc:0x6727, mem_crc:0x0000, reg_crc:0x6737 +Testing sub_d16_dreg...done. pre_crc:0xFB73, mem_crc:0x0000, reg_crc:0xFA9F +Testing sub_absl_dreg...done. pre_crc:0x8F9C, mem_crc:0x0000, reg_crc:0x39DE +Testing subb_const_dreg...done. pre_crc:0x4BEB, mem_crc:0x0000, reg_crc:0x5618 +Testing subw_const_dreg...done. pre_crc:0xD9BE, mem_crc:0x0000, reg_crc:0xFCEB +Testing subl_const_dreg...done. pre_crc:0x2865, mem_crc:0x0000, reg_crc:0x64CE +Testing sub_dreg_ind...done. pre_crc:0xF6A5, mem_crc:0x90D8, reg_crc:0x42E7 +Testing sub_dreg_d16...done. pre_crc:0xCC49, mem_crc:0x030A, reg_crc:0xDC31 +Testing sub_dreg_absl...done. pre_crc:0x384E, mem_crc:0xAE57, reg_crc:0x01F2 +Testing subaw_reg_areg...done. pre_crc:0x2D68, mem_crc:0x0000, reg_crc:0xEF64 +Testing subal_reg_areg...done. pre_crc:0xF396, mem_crc:0x0000, reg_crc:0x71F9 +Testing suba_ind_areg...done. pre_crc:0x5044, mem_crc:0x0000, reg_crc:0xAEFD +Testing suba_d16_areg...done. pre_crc:0x9441, mem_crc:0x0000, reg_crc:0x920E +Testing suba_absl_areg...done. pre_crc:0x83E7, mem_crc:0x0000, reg_crc:0x3F9A +Testing subaw_const_areg...done. pre_crc:0xEF7E, mem_crc:0x0000, reg_crc:0xEF52 +Testing subal_const_areg...done. pre_crc:0x4A28, mem_crc:0x0000, reg_crc:0x89D5 +Testing subibw_dreg...done. pre_crc:0x2AD5, mem_crc:0x0000, reg_crc:0x6C69 +Testing subil_dreg...done. pre_crc:0x2025, mem_crc:0x0000, reg_crc:0x9889 +Testing subibw_ind...done. pre_crc:0x5741, mem_crc:0x9E10, reg_crc:0x724B +Testing subil_ind...done. pre_crc:0x2061, mem_crc:0x0AEB, reg_crc:0xDB88 +Testing subibw_d16...done. pre_crc:0x59E0, mem_crc:0x24F6, reg_crc:0xA768 +Testing subil_d16...done. pre_crc:0x61EF, mem_crc:0x2CFD, reg_crc:0x406E +Testing subibw_absl...done. pre_crc:0x9577, mem_crc:0xE217, reg_crc:0xD2A5 +Testing subil_absl...done. pre_crc:0x3D9B, mem_crc:0x14CA, reg_crc:0x4B6A +Testing subq_dreg...done. pre_crc:0xDEBD, mem_crc:0x0000, reg_crc:0x94DA +Testing subq_areg...done. pre_crc:0xFB42, mem_crc:0x0000, reg_crc:0x57A1 +Testing subq_ind...done. pre_crc:0x6632, mem_crc:0xF339, reg_crc:0xB0DF +Testing subq_d16...done. pre_crc:0xE452, mem_crc:0xF776, reg_crc:0x92E0 +Testing subq_absl...done. pre_crc:0xD5A3, mem_crc:0x2ED7, reg_crc:0x707F +Testing subx_reg...done. pre_crc:0x9DFB, mem_crc:0x0000, reg_crc:0x6415 +Testing subx_mem...done. pre_crc:0xB336, mem_crc:0x7652, reg_crc:0xDFFE +Testing swap...done. pre_crc:0x8C5E, mem_crc:0x0000, reg_crc:0x619D +Testing tas_dreg...done. pre_crc:0x6C0A, mem_crc:0x0000, reg_crc:0xAC59 +Testing tas_ind...done. pre_crc:0xAF3C, mem_crc:0xB667, reg_crc:0x9AF6 +Testing tas_d16...done. pre_crc:0x4C2A, mem_crc:0xF401, reg_crc:0x9F8D +Testing tas_absl...done. pre_crc:0xE0F6, mem_crc:0xCFEE, reg_crc:0x69EE +Testing tstb_dreg...done. pre_crc:0x342D, mem_crc:0x0000, reg_crc:0x0B79 +Testing tstwl_reg...done. pre_crc:0x38AB, mem_crc:0x0000, reg_crc:0x5653 +Testing tstb_ind...done. pre_crc:0x6880, mem_crc:0x0000, reg_crc:0x68B6 +Testing tstwl_ind...done. pre_crc:0x3A8D, mem_crc:0x0000, reg_crc:0x3C2E +Testing tstb_d16...done. pre_crc:0x0A13, mem_crc:0x0000, reg_crc:0x2610 +Testing tstwl_d16...done. pre_crc:0xE0CB, mem_crc:0x0000, reg_crc:0x1362 +Testing tst_absl...done. pre_crc:0x1C8A, mem_crc:0x0000, reg_crc:0x1FA1 diff --git a/test/i486-linux-elf-debug.1000.noncc b/test/i486-linux-elf-debug.1000.noncc new file mode 100644 index 0000000..683a250 --- /dev/null +++ b/test/i486-linux-elf-debug.1000.noncc @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x235E, mem_crc:0x0000, reg_crc:0xBF9D +Testing movewl_pcd8_dreg...done. pre_crc:0x366A, mem_crc:0x0000, reg_crc:0x16F4 +Testing unpk_reg...done. pre_crc:0xF8FE, mem_crc:0x0000, reg_crc:0x1D4B +Testing unpk_mem...done. pre_crc:0xAA1B, mem_crc:0xC76B, reg_crc:0xFC9A +Testing unlk...done. pre_crc:0x3085, mem_crc:0x0000, reg_crc:0xCBDF +Testing movewl_ind_ind...done. pre_crc:0x401A, mem_crc:0xA41C, reg_crc:0x0972 +Testing divsl_ll_reg...done. pre_crc:0x657D, mem_crc:0x0000, reg_crc:0x4B06 +Testing divsl_ll_ind...done. pre_crc:0x879C, mem_crc:0x0000, reg_crc:0x93AA +Testing divsl_ll_absl...done. pre_crc:0xA868, mem_crc:0x0000, reg_crc:0x350C +Testing lea_pc_ind_preix...done. pre_crc:0xCC4C, mem_crc:0x0000, reg_crc:0x039F +Testing lea_pc_ind_postix...done. pre_crc:0x11DD, mem_crc:0x0000, reg_crc:0xA4A1 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x6AB6, mem_crc:0x0000, reg_crc:0xD43C +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xFAAF, mem_crc:0x0000, reg_crc:0xC4B6 +Testing moveb_pcd16_dreg...done. pre_crc:0x7312, mem_crc:0x0000, reg_crc:0x1CB6 +Testing movewl_pcd16_dreg...done. pre_crc:0xEB85, mem_crc:0x0000, reg_crc:0x03BE +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xB597, mem_crc:0x0000, reg_crc:0x7B55 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x5996, mem_crc:0x0000, reg_crc:0x9808 +Testing lea_ind_preix...done. pre_crc:0x92D3, mem_crc:0x0000, reg_crc:0xEFA8 +Testing lea_ind_postix...done. pre_crc:0xA694, mem_crc:0x0000, reg_crc:0xCC44 +Testing add_absl_dreg...done. pre_crc:0x1FA4, mem_crc:0x0000, reg_crc:0xDC9B +Testing abcd_reg...done. pre_crc:0x36FD, mem_crc:0x0000, reg_crc:0x25D0 +Testing abcd_mem...done. pre_crc:0xFC3C, mem_crc:0x74AA, reg_crc:0x88DD +Testing addb_dreg_dreg...done. pre_crc:0x8582, mem_crc:0x0000, reg_crc:0xC60F +Testing addw_reg_dreg...done. pre_crc:0x467A, mem_crc:0x0000, reg_crc:0x54A1 +Testing addl_reg_dreg...done. pre_crc:0x038C, mem_crc:0x0000, reg_crc:0x6595 +Testing add_d16_dreg...done. pre_crc:0x8AF9, mem_crc:0x0000, reg_crc:0x6ED9 +Testing addb_const_dreg...done. pre_crc:0xCD8C, mem_crc:0x0000, reg_crc:0x6C50 +Testing addw_const_dreg...done. pre_crc:0x22E7, mem_crc:0x0000, reg_crc:0x5618 +Testing add_dreg_ind...done. pre_crc:0xA640, mem_crc:0x1114, reg_crc:0x106D +Testing add_ind_dreg...done. pre_crc:0xADE4, mem_crc:0x0000, reg_crc:0x103E +Testing addl_const_dreg...done. pre_crc:0x9796, mem_crc:0x0000, reg_crc:0x33ED +Testing add_dreg_d16...done. pre_crc:0xF2F6, mem_crc:0x26EA, reg_crc:0x7CEF +Testing add_dreg_absl...done. pre_crc:0x0121, mem_crc:0x9E4C, reg_crc:0xDA13 +Testing addaw_reg_areg...done. pre_crc:0x502D, mem_crc:0x0000, reg_crc:0x1EA0 +Testing addal_reg_areg...done. pre_crc:0x83F1, mem_crc:0x0000, reg_crc:0x3892 +Testing adda_ind_areg...done. pre_crc:0x826B, mem_crc:0x0000, reg_crc:0xF9B2 +Testing adda_d16_areg...done. pre_crc:0xBBDE, mem_crc:0x0000, reg_crc:0x3E86 +Testing adda_absl_areg...done. pre_crc:0x3D56, mem_crc:0x0000, reg_crc:0x4106 +Testing addaw_const_areg...done. pre_crc:0x2319, mem_crc:0x0000, reg_crc:0x38A1 +Testing addal_const_areg...done. pre_crc:0x37D6, mem_crc:0x0000, reg_crc:0x347C +Testing addibw_dreg...done. pre_crc:0x3AEE, mem_crc:0x0000, reg_crc:0xF11F +Testing addil_dreg...done. pre_crc:0x1EE4, mem_crc:0x0000, reg_crc:0xBF7C +Testing addibw_ind...done. pre_crc:0xAA06, mem_crc:0x2A7C, reg_crc:0x9192 +Testing addil_ind...done. pre_crc:0xA52C, mem_crc:0x632E, reg_crc:0x875F +Testing addibw_d16...done. pre_crc:0xE1F4, mem_crc:0xEF68, reg_crc:0x4412 +Testing addil_d16...done. pre_crc:0x0E49, mem_crc:0x64B3, reg_crc:0x01A4 +Testing addibw_absl...done. pre_crc:0x5FE6, mem_crc:0x1727, reg_crc:0x76A1 +Testing addil_absl...done. pre_crc:0x1101, mem_crc:0x7F58, reg_crc:0xDB72 +Testing addq_dreg...done. pre_crc:0xC50A, mem_crc:0x0000, reg_crc:0x78B1 +Testing addq_areg...done. pre_crc:0xC07C, mem_crc:0x0000, reg_crc:0x266E +Testing addq_ind...done. pre_crc:0x500D, mem_crc:0x3317, reg_crc:0x57FB +Testing addq_d16...done. pre_crc:0x8CE9, mem_crc:0x94A2, reg_crc:0x0486 +Testing addq_absl...done. pre_crc:0x7313, mem_crc:0x070B, reg_crc:0xA897 +Testing addx_reg...done. pre_crc:0xD26E, mem_crc:0x0000, reg_crc:0xBAAD +Testing addx_mem...done. pre_crc:0x44E7, mem_crc:0x03ED, reg_crc:0x2915 +Testing and_dreg_dreg...done. pre_crc:0xBB54, mem_crc:0x0000, reg_crc:0xCF35 +Testing and_ind_dreg...done. pre_crc:0x012D, mem_crc:0x0000, reg_crc:0xE8CC +Testing and_d16_dreg...done. pre_crc:0x15C5, mem_crc:0x0000, reg_crc:0x9C7E +Testing and_absl_dreg...done. pre_crc:0xC127, mem_crc:0x0000, reg_crc:0x581F +Testing andbw_const_dreg...done. pre_crc:0x27F4, mem_crc:0x0000, reg_crc:0x3ADE +Testing andl_const_dreg...done. pre_crc:0x8217, mem_crc:0x0000, reg_crc:0x06D8 +Testing and_dreg_ind...done. pre_crc:0x2BA1, mem_crc:0x7934, reg_crc:0x5E6E +Testing and_dreg_d16...done. pre_crc:0x0196, mem_crc:0xBCCE, reg_crc:0xA02B +Testing and_dreg_absl...done. pre_crc:0xEAF8, mem_crc:0x55E1, reg_crc:0x04D5 +Testing andibw_dreg...done. pre_crc:0xAD7B, mem_crc:0x0000, reg_crc:0xAE92 +Testing andil_dreg...done. pre_crc:0x8FDE, mem_crc:0x0000, reg_crc:0x074F +Testing andibw_ind...done. pre_crc:0xD381, mem_crc:0xA0E8, reg_crc:0xFD75 +Testing andil_ind...done. pre_crc:0x38EE, mem_crc:0x7D99, reg_crc:0x0096 +Testing andibw_d16...done. pre_crc:0x6934, mem_crc:0x6715, reg_crc:0xA2CE +Testing andil_d16...done. pre_crc:0xBFB8, mem_crc:0x0710, reg_crc:0x011F +Testing andibw_absl...done. pre_crc:0xDFD3, mem_crc:0xC107, reg_crc:0x3DCB +Testing andil_absl...done. pre_crc:0x8555, mem_crc:0x5D4A, reg_crc:0x83C4 +Testing andi_to_ccr...done. pre_crc:0x4F9D, mem_crc:0x0000, reg_crc:0x50CC +Testing asl_dx_dy...done. pre_crc:0x062B, mem_crc:0x0000, reg_crc:0xB4EE +Testing asl_const_dy...done. pre_crc:0x5B80, mem_crc:0x0000, reg_crc:0x35A5 +Testing asl_ind...done. pre_crc:0x4CE7, mem_crc:0x1ADF, reg_crc:0x6971 +Testing asl_d16...done. pre_crc:0xC1C7, mem_crc:0x34A8, reg_crc:0x40B3 +Testing asl_absl...done. pre_crc:0xA49B, mem_crc:0x244D, reg_crc:0x1FE5 +Testing asr_dx_dy...done. pre_crc:0x8AA7, mem_crc:0x0000, reg_crc:0x30E4 +Testing asr_const_dy...done. pre_crc:0x5EDC, mem_crc:0x0000, reg_crc:0x0DE0 +Testing asr_ind...done. pre_crc:0xA13A, mem_crc:0x11BD, reg_crc:0x2130 +Testing asr_d16...done. pre_crc:0x56AE, mem_crc:0xF0E1, reg_crc:0xF314 +Testing asr_absl...done. pre_crc:0xE3DB, mem_crc:0x44FC, reg_crc:0x764C +Testing lsl_dx_dy...done. pre_crc:0xE157, mem_crc:0x0000, reg_crc:0xCE7F +Testing lsl_const_dy...done. pre_crc:0x9A6B, mem_crc:0x0000, reg_crc:0x3108 +Testing lsl_ind...done. pre_crc:0xD0A8, mem_crc:0x4CD9, reg_crc:0x90ED +Testing lsl_d16...done. pre_crc:0xFB72, mem_crc:0xB023, reg_crc:0x589D +Testing lsl_absl...done. pre_crc:0xF80F, mem_crc:0x8B66, reg_crc:0x0582 +Testing lsr_dx_dy...done. pre_crc:0xDFC8, mem_crc:0x0000, reg_crc:0x0CCC +Testing lsr_const_dy...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x29D5 +Testing lsr_ind...done. pre_crc:0xE22B, mem_crc:0x24CC, reg_crc:0x0DC8 +Testing lsr_d16...done. pre_crc:0x866A, mem_crc:0x66FF, reg_crc:0x5BF4 +Testing lsr_absl...done. pre_crc:0x839F, mem_crc:0xACDE, reg_crc:0x0176 +Testing bra_b...done. pre_crc:0x0EC7, mem_crc:0x0000, reg_crc:0x51DA +Testing bhi_b...done. pre_crc:0xD9BB, mem_crc:0x0000, reg_crc:0x2163 +Testing bls_b...done. pre_crc:0xE6D0, mem_crc:0x0000, reg_crc:0x2668 +Testing bcc_b...done. pre_crc:0x8EF8, mem_crc:0x0000, reg_crc:0xE985 +Testing bcs_b...done. pre_crc:0xA946, mem_crc:0x0000, reg_crc:0x464A +Testing bne_b...done. pre_crc:0x7188, mem_crc:0x0000, reg_crc:0x4774 +Testing beq_b...done. pre_crc:0xBC35, mem_crc:0x0000, reg_crc:0xC093 +Testing bvc_b...done. pre_crc:0xFF8E, mem_crc:0x0000, reg_crc:0xB711 +Testing bvs_b...done. pre_crc:0x6C9F, mem_crc:0x0000, reg_crc:0xA18C +Testing bpl_b...done. pre_crc:0xD9A8, mem_crc:0x0000, reg_crc:0x073B +Testing bmi_b...done. pre_crc:0x83CE, mem_crc:0x0000, reg_crc:0x4FFE +Testing bge_b...done. pre_crc:0xCC8C, mem_crc:0x0000, reg_crc:0x18B7 +Testing blt_b...done. pre_crc:0x890F, mem_crc:0x0000, reg_crc:0x8B33 +Testing bgt_b...done. pre_crc:0xC3F7, mem_crc:0x0000, reg_crc:0xE8DD +Testing ble_b...done. pre_crc:0x877F, mem_crc:0x0000, reg_crc:0xD64F +Testing bra_w...done. pre_crc:0xC414, mem_crc:0x0000, reg_crc:0xCA35 +Testing bhi_w...done. pre_crc:0x71A6, mem_crc:0x0000, reg_crc:0x22CC +Testing bls_w...done. pre_crc:0x92AF, mem_crc:0x0000, reg_crc:0xDB12 +Testing bcc_w...done. pre_crc:0xE091, mem_crc:0x0000, reg_crc:0x7DE1 +Testing bcs_w...done. pre_crc:0xD3F8, mem_crc:0x0000, reg_crc:0x2CF7 +Testing bne_w...done. pre_crc:0xCFD1, mem_crc:0x0000, reg_crc:0xBF04 +Testing beq_w...done. pre_crc:0x0EB1, mem_crc:0x0000, reg_crc:0xFD97 +Testing bvc_w...done. pre_crc:0x05D4, mem_crc:0x0000, reg_crc:0xB499 +Testing bvs_w...done. pre_crc:0x964B, mem_crc:0x0000, reg_crc:0x6F42 +Testing bpl_w...done. pre_crc:0x9D4D, mem_crc:0x0000, reg_crc:0x8B72 +Testing bmi_w...done. pre_crc:0x97DF, mem_crc:0x0000, reg_crc:0xA4F2 +Testing bge_w...done. pre_crc:0xF568, mem_crc:0x0000, reg_crc:0x2031 +Testing blt_w...done. pre_crc:0xCF94, mem_crc:0x0000, reg_crc:0x3F09 +Testing bgt_w...done. pre_crc:0xEF35, mem_crc:0x0000, reg_crc:0xD026 +Testing ble_w...done. pre_crc:0xB98E, mem_crc:0x0000, reg_crc:0xA365 +Testing bra_l...done. pre_crc:0xBACA, mem_crc:0x0000, reg_crc:0xCCF0 +Testing bhi_l...done. pre_crc:0xB039, mem_crc:0x0000, reg_crc:0x74E2 +Testing bls_l...done. pre_crc:0xB0AA, mem_crc:0x0000, reg_crc:0x4F5B +Testing bcc_l...done. pre_crc:0xD15B, mem_crc:0x0000, reg_crc:0xA063 +Testing bcs_l...done. pre_crc:0xAC0F, mem_crc:0x0000, reg_crc:0x20B9 +Testing bne_l...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xDCA2 +Testing beq_l...done. pre_crc:0x4F57, mem_crc:0x0000, reg_crc:0x699F +Testing bvc_l...done. pre_crc:0x2D2E, mem_crc:0x0000, reg_crc:0xEA0E +Testing bvs_l...done. pre_crc:0x4721, mem_crc:0x0000, reg_crc:0x535F +Testing bpl_l...done. pre_crc:0xB174, mem_crc:0x0000, reg_crc:0x21A0 +Testing bmi_l...done. pre_crc:0x64D4, mem_crc:0x0000, reg_crc:0x77B4 +Testing bge_l...done. pre_crc:0x037A, mem_crc:0x0000, reg_crc:0x730E +Testing blt_l...done. pre_crc:0xF621, mem_crc:0x0000, reg_crc:0x0F74 +Testing bgt_l...done. pre_crc:0x31F0, mem_crc:0x0000, reg_crc:0x0BE3 +Testing ble_l...done. pre_crc:0x4D59, mem_crc:0x0000, reg_crc:0xCC8E +Testing bchg_reg_reg...done. pre_crc:0xFF1A, mem_crc:0x0000, reg_crc:0x6522 +Testing bchg_const_reg...done. pre_crc:0x795A, mem_crc:0x0000, reg_crc:0xCC22 +Testing bchg_reg_ind...done. pre_crc:0x5A32, mem_crc:0x65BB, reg_crc:0x89E0 +Testing bchg_const_ind...done. pre_crc:0xC683, mem_crc:0xF1E9, reg_crc:0xF003 +Testing bchg_reg_d16...done. pre_crc:0x83EC, mem_crc:0x6885, reg_crc:0x9725 +Testing bchg_const_d16...done. pre_crc:0xC2BF, mem_crc:0x5870, reg_crc:0xB7DB +Testing bchg_reg_absl...done. pre_crc:0xB0F9, mem_crc:0x1136, reg_crc:0x8E21 +Testing bchg_const_absl...done. pre_crc:0x04D7, mem_crc:0x1A94, reg_crc:0xD592 +Testing bclr_reg_reg...done. pre_crc:0x0C0E, mem_crc:0x0000, reg_crc:0xB516 +Testing bclr_const_reg...done. pre_crc:0x6D5E, mem_crc:0x0000, reg_crc:0x6A5C +Testing bclr_reg_ind...done. pre_crc:0xB7D0, mem_crc:0x938D, reg_crc:0x01FB +Testing bclr_const_ind...done. pre_crc:0x4FF1, mem_crc:0x94A8, reg_crc:0x37A7 +Testing bclr_reg_d16...done. pre_crc:0x6F3E, mem_crc:0x315B, reg_crc:0x44C9 +Testing bclr_const_d16...done. pre_crc:0xE75B, mem_crc:0x65C9, reg_crc:0x4CA2 +Testing bclr_reg_absl...done. pre_crc:0x1506, mem_crc:0x3C41, reg_crc:0xD453 +Testing bclr_const_absl...done. pre_crc:0xE8B3, mem_crc:0xB441, reg_crc:0x0123 +Testing bset_reg_reg...done. pre_crc:0xB356, mem_crc:0x0000, reg_crc:0xE187 +Testing bset_const_reg...done. pre_crc:0xEDBD, mem_crc:0x0000, reg_crc:0xC7A8 +Testing bset_reg_ind...done. pre_crc:0x7EE9, mem_crc:0x96F0, reg_crc:0xA732 +Testing bset_const_ind...done. pre_crc:0xA700, mem_crc:0xBE0C, reg_crc:0x9D4F +Testing bset_reg_d16...done. pre_crc:0x75B5, mem_crc:0xE495, reg_crc:0x61CD +Testing bset_const_d16...done. pre_crc:0xF258, mem_crc:0x0D3D, reg_crc:0x0D07 +Testing bset_reg_absl...done. pre_crc:0xB043, mem_crc:0x284E, reg_crc:0x11A0 +Testing bset_const_absl...done. pre_crc:0x5D9E, mem_crc:0x7E28, reg_crc:0xF0DD +Testing btst_reg_reg...done. pre_crc:0xA588, mem_crc:0x0000, reg_crc:0x6A95 +Testing btst_const_reg...done. pre_crc:0xB9CF, mem_crc:0x0000, reg_crc:0x8625 +Testing btst_reg_ind...done. pre_crc:0x2A5D, mem_crc:0x0000, reg_crc:0x0C3C +Testing btst_const_ind...done. pre_crc:0x4E1E, mem_crc:0x0000, reg_crc:0x8B1B +Testing btst_reg_d16...done. pre_crc:0x0CB7, mem_crc:0x0000, reg_crc:0x8FC1 +Testing btst_const_d16...done. pre_crc:0x8E14, mem_crc:0x0000, reg_crc:0x92B0 +Testing btst_reg_absl...done. pre_crc:0x6B35, mem_crc:0x0000, reg_crc:0x1916 +Testing btst_const_absl...done. pre_crc:0x425A, mem_crc:0x0000, reg_crc:0xB00E +Testing bfchg_reg...done. pre_crc:0xA4B5, mem_crc:0x0000, reg_crc:0xE156 +Testing bfchg_ind...done. pre_crc:0x5DA8, mem_crc:0x39B8, reg_crc:0xCDA2 +Testing bfchg_d16...done. pre_crc:0xE8DC, mem_crc:0xF917, reg_crc:0xE28B +Testing bfchg_absl...done. pre_crc:0x2004, mem_crc:0xB689, reg_crc:0x510D +Testing bfclr_reg...done. pre_crc:0x07B8, mem_crc:0x0000, reg_crc:0x1015 +Testing bfclr_ind...done. pre_crc:0xC7D1, mem_crc:0xBF2F, reg_crc:0x379E +Testing bfclr_d16...done. pre_crc:0xC5A9, mem_crc:0xD0B9, reg_crc:0x3387 +Testing bfclr_absl...done. pre_crc:0xCDCE, mem_crc:0x752F, reg_crc:0xCDCD +Testing bfset_reg...done. pre_crc:0x9214, mem_crc:0x0000, reg_crc:0xA483 +Testing bfset_ind...done. pre_crc:0xD7A1, mem_crc:0xC2F4, reg_crc:0xB007 +Testing bfset_d16...done. pre_crc:0x100F, mem_crc:0xC6F3, reg_crc:0x5996 +Testing bfset_absl...done. pre_crc:0x0A9A, mem_crc:0xAE7A, reg_crc:0x9C7D +Testing bftst_reg...done. pre_crc:0xF16B, mem_crc:0x0000, reg_crc:0x8782 +Testing bftst_ind...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xD0B5 +Testing bftst_d16...done. pre_crc:0xCFD3, mem_crc:0x0000, reg_crc:0x8332 +Testing bftst_absl...done. pre_crc:0xE060, mem_crc:0x0000, reg_crc:0xE63E +Testing bfexts_reg...done. pre_crc:0x737B, mem_crc:0x0000, reg_crc:0xC61B +Testing bfexts_ind...done. pre_crc:0xC430, mem_crc:0x0000, reg_crc:0x1BFC +Testing bfexts_d16...done. pre_crc:0x80C0, mem_crc:0x0000, reg_crc:0x0DA4 +Testing bfexts_absl...done. pre_crc:0x1568, mem_crc:0x0000, reg_crc:0x9861 +Testing bfextu_reg...done. pre_crc:0x85B8, mem_crc:0x0000, reg_crc:0x99E1 +Testing bfextu_ind...done. pre_crc:0x144C, mem_crc:0x0000, reg_crc:0x1C26 +Testing bfextu_d16...done. pre_crc:0x1467, mem_crc:0x0000, reg_crc:0x8E35 +Testing bfextu_absl...done. pre_crc:0xA51B, mem_crc:0x0000, reg_crc:0x9F95 +Testing bfffo_reg...done. pre_crc:0x6856, mem_crc:0x0000, reg_crc:0x30C6 +Testing bfffo_ind...done. pre_crc:0xE7FE, mem_crc:0x0000, reg_crc:0xC3DD +Testing bfffo_d16...done. pre_crc:0x4966, mem_crc:0x0000, reg_crc:0x5297 +Testing bfffo_absl...done. pre_crc:0x0E71, mem_crc:0x0000, reg_crc:0xE8D1 +Testing bfins_reg...done. pre_crc:0x6B79, mem_crc:0x0000, reg_crc:0x7025 +Testing bfins_ind...done. pre_crc:0xAFF6, mem_crc:0x40AE, reg_crc:0xEE06 +Testing bfins_d16...done. pre_crc:0xE106, mem_crc:0xF8A4, reg_crc:0xDF10 +Testing bfins_absl...done. pre_crc:0xF741, mem_crc:0xDD71, reg_crc:0x9A3F +Testing bsr_b...done. pre_crc:0x58D5, mem_crc:0xF1FE, reg_crc:0x9BF4 +Testing bsr_w...done. pre_crc:0x6EBB, mem_crc:0x19DC, reg_crc:0x9584 +Testing bsr_l...done. pre_crc:0xF012, mem_crc:0x92EC, reg_crc:0x3D37 +Testing cas_ind...done. pre_crc:0x8643, mem_crc:0x3FCC, reg_crc:0x8BA5 +Testing cas2_areg...done. pre_crc:0x6AE9, mem_crc:0x02EC, reg_crc:0xC58B +Testing cas2_anyreg...done. pre_crc:0x13E8, mem_crc:0x8FA2, reg_crc:0xFF35 +Testing clr_reg...done. pre_crc:0xED40, mem_crc:0x0000, reg_crc:0xD389 +Testing clrb_ind...done. pre_crc:0xE79F, mem_crc:0xE27D, reg_crc:0xFC2B +Testing clrwl_ind...done. pre_crc:0x3F4F, mem_crc:0xF2D6, reg_crc:0x2B7D +Testing clrb_absl...done. pre_crc:0xD05D, mem_crc:0x1172, reg_crc:0x641C +Testing clrwl_absl...done. pre_crc:0x7EEE, mem_crc:0xAA7D, reg_crc:0x3B61 +Testing cmp_dreg...done. pre_crc:0x97C3, mem_crc:0x0000, reg_crc:0x0F4B +Testing cmp_areg...done. pre_crc:0x9294, mem_crc:0x0000, reg_crc:0x6522 +Testing cmpb_ind...done. pre_crc:0x3AE2, mem_crc:0x0000, reg_crc:0x7551 +Testing cmpwl_ind...done. pre_crc:0x5D3D, mem_crc:0x0000, reg_crc:0x9F4B +Testing cmpb_d16...done. pre_crc:0x0C2F, mem_crc:0x0000, reg_crc:0x08C8 +Testing cmpwl_d16...done. pre_crc:0x281B, mem_crc:0x0000, reg_crc:0xE661 +Testing cmpa_reg...done. pre_crc:0x6B07, mem_crc:0x0000, reg_crc:0x8D1D +Testing cmpa_ind...done. pre_crc:0xE866, mem_crc:0x0000, reg_crc:0xB2DB +Testing cmpa_ind2...done. pre_crc:0xCD33, mem_crc:0x0000, reg_crc:0x9D19 +Testing cmpa_d16...done. pre_crc:0x487B, mem_crc:0x0000, reg_crc:0x0996 +Testing cmpa_d16_2...done. pre_crc:0x5EE0, mem_crc:0x0000, reg_crc:0xEAB0 +Testing cmpa_absl...done. pre_crc:0x4647, mem_crc:0x0000, reg_crc:0x9EBC +Testing cmpibw_reg...done. pre_crc:0x1DDA, mem_crc:0x0000, reg_crc:0xFC12 +Testing cmpil_reg...done. pre_crc:0x8A61, mem_crc:0x0000, reg_crc:0x020B +Testing cmpib_ind...done. pre_crc:0x1F70, mem_crc:0x0000, reg_crc:0xB741 +Testing cmpiw_ind...done. pre_crc:0x27E1, mem_crc:0x0000, reg_crc:0x2679 +Testing cmpil_ind...done. pre_crc:0x2019, mem_crc:0x0000, reg_crc:0x8878 +Testing cmpmb...done. pre_crc:0xCEAD, mem_crc:0x0000, reg_crc:0xE482 +Testing cmpmwl...done. pre_crc:0xBCAE, mem_crc:0x0000, reg_crc:0x775A +Testing cmp2b_ind...done. pre_crc:0x5A47, mem_crc:0x0000, reg_crc:0xDEA5 +Testing cmp2wl_ind...done. pre_crc:0x0409, mem_crc:0x0000, reg_crc:0x6F00 +Testing dbcc...done. pre_crc:0x0AFA, mem_crc:0x0000, reg_crc:0x7F6D +Testing divs_reg...done. pre_crc:0xBCE5, mem_crc:0x0000, reg_crc:0x8718 +Testing divs_same_reg...done. pre_crc:0x5D69, mem_crc:0x0000, reg_crc:0x5C50 +Testing divs_ind...done. pre_crc:0x9551, mem_crc:0x0000, reg_crc:0xBA31 +Testing divs_absl...done. pre_crc:0x7190, mem_crc:0x0000, reg_crc:0x61A8 +Testing divu_reg...done. pre_crc:0x71C5, mem_crc:0x0000, reg_crc:0x7F43 +Testing divu_same_reg...done. pre_crc:0x8BA4, mem_crc:0x0000, reg_crc:0x091B +Testing divu_ind...done. pre_crc:0x80FC, mem_crc:0x0000, reg_crc:0x1326 +Testing divu_absl...done. pre_crc:0x1CAD, mem_crc:0x0000, reg_crc:0x1106 +Testing divul_ll_reg...done. pre_crc:0x1209, mem_crc:0x0000, reg_crc:0x0A93 +Testing divul_ll_ind...done. pre_crc:0x8479, mem_crc:0x0000, reg_crc:0x6639 +Testing divul_ll_absl...done. pre_crc:0xEEAF, mem_crc:0x0000, reg_crc:0x3E64 +Testing eor_reg...done. pre_crc:0x9F54, mem_crc:0x0000, reg_crc:0x7C0B +Testing eor_ind...done. pre_crc:0x0E9D, mem_crc:0x0B0D, reg_crc:0x1100 +Testing eor_d16...done. pre_crc:0xE72C, mem_crc:0x320E, reg_crc:0x64F7 +Testing eor_absl...done. pre_crc:0x77F9, mem_crc:0x8BB7, reg_crc:0x97E6 +Testing eoribw_dreg...done. pre_crc:0x20AE, mem_crc:0x0000, reg_crc:0x72FA +Testing eoril_dreg...done. pre_crc:0xF30C, mem_crc:0x0000, reg_crc:0x764A +Testing eoribw_ind...done. pre_crc:0xA95E, mem_crc:0x144D, reg_crc:0x8F6B +Testing eoril_ind...done. pre_crc:0x29A8, mem_crc:0x72E2, reg_crc:0x3384 +Testing eoribw_d16...done. pre_crc:0xFDE4, mem_crc:0xA5C9, reg_crc:0xD293 +Testing eoril_d16...done. pre_crc:0xF4CB, mem_crc:0xF18F, reg_crc:0xDD84 +Testing eoribw_absl...done. pre_crc:0xE0AE, mem_crc:0x747E, reg_crc:0xC071 +Testing eoril_absl...done. pre_crc:0xB653, mem_crc:0x4354, reg_crc:0x1668 +Testing eori_to_ccr...done. pre_crc:0x4DBC, mem_crc:0x0000, reg_crc:0xF3CC +Testing exg...done. pre_crc:0xD60F, mem_crc:0x0000, reg_crc:0x6655 +Testing ext...done. pre_crc:0x102B, mem_crc:0x0000, reg_crc:0x57AE +Testing jmp_absl...done. pre_crc:0x92E3, mem_crc:0x0000, reg_crc:0x8DD2 +Testing jmp_ind...done. pre_crc:0xBF0A, mem_crc:0x0000, reg_crc:0x0D7F +Testing jmp_d16...done. pre_crc:0x28D8, mem_crc:0x0000, reg_crc:0xDF43 +Testing jsr_absl...done. pre_crc:0xCF4F, mem_crc:0xD523, reg_crc:0xAB89 +Testing jsr_ind...done. pre_crc:0xC94B, mem_crc:0x6F05, reg_crc:0xF754 +Testing jsr_d16...done. pre_crc:0xCFEF, mem_crc:0x019E, reg_crc:0xEB65 +Testing lea_ind...done. pre_crc:0x2841, mem_crc:0x0000, reg_crc:0x0245 +Testing lea_d16...done. pre_crc:0x07E4, mem_crc:0x0000, reg_crc:0x4545 +Testing lea_absw...done. pre_crc:0xC6DC, mem_crc:0x0000, reg_crc:0x5E9D +Testing lea_absl...done. pre_crc:0x47AC, mem_crc:0x0000, reg_crc:0xD05B +Testing linkw...done. pre_crc:0xDB61, mem_crc:0x7026, reg_crc:0xA0D8 +Testing linkl...done. pre_crc:0x1E27, mem_crc:0x6E54, reg_crc:0xF963 +Testing move16_postinc_postinc...done. pre_crc:0x3CFE, mem_crc:0x4B4D, reg_crc:0x81EB +Testing move16_absl_ind...done. pre_crc:0x094F, mem_crc:0x42C0, reg_crc:0x5AA0 +Testing move16_absl_postinc...done. pre_crc:0x6CC5, mem_crc:0xB926, reg_crc:0x8799 +Testing move16_ind_absl...done. pre_crc:0x2C55, mem_crc:0x422D, reg_crc:0x81B2 +Testing move16_postinc_absl...done. pre_crc:0xE699, mem_crc:0xDABF, reg_crc:0x42CA +Testing moveb_dreg_dreg...done. pre_crc:0x83BB, mem_crc:0x0000, reg_crc:0x6CB1 +Testing movewl_reg_dreg...done. pre_crc:0x6187, mem_crc:0x0000, reg_crc:0x40C7 +Testing moveb_ind_dreg...done. pre_crc:0x08CC, mem_crc:0x0000, reg_crc:0x5852 +Testing movewl_ind_dreg...done. pre_crc:0x9581, mem_crc:0x0000, reg_crc:0x3DD6 +Testing moveb_d16_dreg...done. pre_crc:0xB814, mem_crc:0x0000, reg_crc:0x17AA +Testing movewl_d16_dreg...done. pre_crc:0xC000, mem_crc:0x0000, reg_crc:0x9DF7 +Testing moveb_absl_dreg...done. pre_crc:0x9AA5, mem_crc:0x0000, reg_crc:0x76AE +Testing movewl_absl_dreg...done. pre_crc:0x227F, mem_crc:0x0000, reg_crc:0xE94A +Testing movebw_const_dreg...done. pre_crc:0x127D, mem_crc:0x0000, reg_crc:0xC87A +Testing movel_const_dreg...done. pre_crc:0xC928, mem_crc:0x0000, reg_crc:0x3FA6 +Testing moveb_dreg_ind...done. pre_crc:0x7F6D, mem_crc:0x47F5, reg_crc:0x0240 +Testing movewl_reg_ind...done. pre_crc:0xA287, mem_crc:0xAAA9, reg_crc:0xE7E2 +Testing moveb_dreg_d16...done. pre_crc:0x5CD7, mem_crc:0xC339, reg_crc:0x6262 +Testing movewl_reg_d16...done. pre_crc:0x988B, mem_crc:0xEF83, reg_crc:0x6F53 +Testing moveb_dreg_absl...done. pre_crc:0x8D94, mem_crc:0x43EC, reg_crc:0x4FBC +Testing movewl_reg_absl...done. pre_crc:0x6A34, mem_crc:0x13B9, reg_crc:0xF0CA +Testing moveb_ind_ind...done. pre_crc:0x2969, mem_crc:0x6BAB, reg_crc:0x8E06 +Testing moveb_ind_d16...done. pre_crc:0x1CD0, mem_crc:0xC52E, reg_crc:0x1727 +Testing moveb_d16_ind...done. pre_crc:0xDEB5, mem_crc:0x8346, reg_crc:0xEE77 +Testing movewl_ind_d16...done. pre_crc:0xB13B, mem_crc:0xF10D, reg_crc:0x6512 +Testing movewl_d16_ind...done. pre_crc:0xA9C5, mem_crc:0xDDB1, reg_crc:0x5FED +Testing moveb_d16_d16...done. pre_crc:0x9809, mem_crc:0x9E70, reg_crc:0x49EC +Testing movewl_d16_d16...done. pre_crc:0xB08B, mem_crc:0xD6C8, reg_crc:0xEBE1 +Testing moveb_ind_absl...done. pre_crc:0xC82B, mem_crc:0x7054, reg_crc:0x06E7 +Testing movewl_ind_absl...done. pre_crc:0xE149, mem_crc:0xAC33, reg_crc:0xC981 +Testing moveb_absl_ind...done. pre_crc:0x20FD, mem_crc:0xF066, reg_crc:0x930C +Testing movewl_absl_ind...done. pre_crc:0x6493, mem_crc:0x3C7E, reg_crc:0xF012 +Testing moveb_absl_absl...done. pre_crc:0x7A68, mem_crc:0x8B35, reg_crc:0x3C47 +Testing movewl_absl_absl...done. pre_crc:0x56BE, mem_crc:0xDEEE, reg_crc:0xC4F2 +Testing moveb_d16_absl...done. pre_crc:0xFAFB, mem_crc:0xDD2E, reg_crc:0x3116 +Testing movewl_d16_absl...done. pre_crc:0xDCBB, mem_crc:0x3858, reg_crc:0x5CB2 +Testing moveb_absl_d16...done. pre_crc:0x1991, mem_crc:0x30D8, reg_crc:0x0119 +Testing movewl_absl_d16...done. pre_crc:0x2D4A, mem_crc:0x6011, reg_crc:0x139E +Testing moveb_const_ind...done. pre_crc:0x0EE8, mem_crc:0xE6CE, reg_crc:0x497A +Testing moveb_const_d16...done. pre_crc:0x296E, mem_crc:0xC84F, reg_crc:0x16DA +Testing moveb_const_absl...done. pre_crc:0xA129, mem_crc:0xE712, reg_crc:0x8BB7 +Testing movew_const_ind...done. pre_crc:0xD05B, mem_crc:0xF6E8, reg_crc:0x7BAC +Testing movew_const_d16...done. pre_crc:0x95B9, mem_crc:0xACDE, reg_crc:0x4B66 +Testing movew_const_absl...done. pre_crc:0x43A5, mem_crc:0x69DE, reg_crc:0x7EEB +Testing movel_const_ind...done. pre_crc:0xA384, mem_crc:0xA49E, reg_crc:0x5E7F +Testing movel_const_d16...done. pre_crc:0x28D3, mem_crc:0xDB30, reg_crc:0x642F +Testing movel_const_absl...done. pre_crc:0x978E, mem_crc:0x950C, reg_crc:0xF030 +Testing movea_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0xB811 +Testing movea_ind...done. pre_crc:0xAD96, mem_crc:0x0000, reg_crc:0x2FF2 +Testing movea_d16...done. pre_crc:0x0402, mem_crc:0x0000, reg_crc:0xD8AA +Testing movea_absl...done. pre_crc:0xAB5F, mem_crc:0x0000, reg_crc:0x120F +Testing moveaw_const...done. pre_crc:0x7271, mem_crc:0x0000, reg_crc:0x7214 +Testing moveal_const...done. pre_crc:0xA9A3, mem_crc:0x0000, reg_crc:0x92C2 +Testing move_from_ccr_dreg...done. pre_crc:0x16FD, mem_crc:0x0000, reg_crc:0x50BD +Testing move_from_ccr_ind...done. pre_crc:0x8F13, mem_crc:0x0000, reg_crc:0x213A +Testing move_from_ccr_d16...done. pre_crc:0x796D, mem_crc:0x0000, reg_crc:0xB405 +Testing move_to_ccr_reg...done. pre_crc:0x6D76, mem_crc:0x0000, reg_crc:0xAF74 +Testing move_to_ccr_ind...done. pre_crc:0x652F, mem_crc:0x0000, reg_crc:0x5F00 +Testing movem_to_ind...done. pre_crc:0xF9D5, mem_crc:0xD057, reg_crc:0x3AE4 +Testing movem_to_predec...done. pre_crc:0xC525, mem_crc:0xC71F, reg_crc:0x98D9 +Testing movem_to_d16...done. pre_crc:0xB834, mem_crc:0xFE79, reg_crc:0xE722 +Testing movem_to_absl...done. pre_crc:0xCB9F, mem_crc:0x16D3, reg_crc:0x0E7A +Testing movem_from_d16...done. pre_crc:0xB73D, mem_crc:0x0000, reg_crc:0x2160 +Testing movem_from_ind...done. pre_crc:0x553B, mem_crc:0x0000, reg_crc:0x6D85 +Testing movem_from_absl...done. pre_crc:0x2362, mem_crc:0x0000, reg_crc:0x1C0E +Testing movep_to_mem...done. pre_crc:0xA1C4, mem_crc:0xAC88, reg_crc:0x7FFD +Testing movep_from_mem...done. pre_crc:0xAE3B, mem_crc:0x0000, reg_crc:0x8523 +Testing moveq...done. pre_crc:0xA9CC, mem_crc:0x0000, reg_crc:0xD7F6 +Testing mulsw_dreg...done. pre_crc:0x0BA6, mem_crc:0x0000, reg_crc:0x1FF1 +Testing mulsw_ind...done. pre_crc:0x8FD7, mem_crc:0x0000, reg_crc:0xF810 +Testing mulsw_d16...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0xEFA2 +Testing mulsw_absl...done. pre_crc:0x5A20, mem_crc:0x0000, reg_crc:0x0E5D +Testing muluw_dreg...done. pre_crc:0xC121, mem_crc:0x0000, reg_crc:0x4354 +Testing muluw_ind...done. pre_crc:0x1169, mem_crc:0x0000, reg_crc:0xBC6D +Testing muluw_d16...done. pre_crc:0x493D, mem_crc:0x0000, reg_crc:0x923E +Testing muluw_absl...done. pre_crc:0xA37F, mem_crc:0x0000, reg_crc:0x1F67 +Testing mulsl_dreg...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0x7AF4 +Testing mulsl_ind...done. pre_crc:0xD61C, mem_crc:0x0000, reg_crc:0x61D3 +Testing mulsl_d16...done. pre_crc:0xDB3F, mem_crc:0x0000, reg_crc:0x8122 +Testing mulsl_absl...done. pre_crc:0xDA78, mem_crc:0x0000, reg_crc:0xDE36 +Testing mulul_dreg...done. pre_crc:0xD1F9, mem_crc:0x0000, reg_crc:0x8835 +Testing mulul_ind...done. pre_crc:0x8E69, mem_crc:0x0000, reg_crc:0x20AE +Testing mulul_d16...done. pre_crc:0x9EA1, mem_crc:0x0000, reg_crc:0x0767 +Testing mulul_absl...done. pre_crc:0x99CC, mem_crc:0x0000, reg_crc:0xEC19 +Testing nbcd_reg...done. pre_crc:0xF72C, mem_crc:0x0000, reg_crc:0x87B4 +Testing nbcd_ind...done. pre_crc:0x245F, mem_crc:0x4313, reg_crc:0xEDE8 +Testing nbcd_d16...done. pre_crc:0xBCD0, mem_crc:0xE568, reg_crc:0x0560 +Testing nbcd_absl...done. pre_crc:0x6A0D, mem_crc:0x8C9D, reg_crc:0xFC90 +Testing neg_reg...done. pre_crc:0x076C, mem_crc:0x0000, reg_crc:0x9099 +Testing negb_ind...done. pre_crc:0x3D20, mem_crc:0xCF36, reg_crc:0xBD71 +Testing negwl_ind...done. pre_crc:0x6AE5, mem_crc:0xE5AB, reg_crc:0x544F +Testing negb_d16...done. pre_crc:0xD947, mem_crc:0xBC1C, reg_crc:0x15D3 +Testing negwl_d16...done. pre_crc:0x95A4, mem_crc:0xF8C1, reg_crc:0x457C +Testing neg_absl...done. pre_crc:0x9709, mem_crc:0xB9F7, reg_crc:0x6EAD +Testing negx_reg...done. pre_crc:0x2945, mem_crc:0x0000, reg_crc:0xDCB3 +Testing negxb_ind...done. pre_crc:0xB1C9, mem_crc:0x8288, reg_crc:0x2260 +Testing negxwl_ind...done. pre_crc:0xCC4C, mem_crc:0x6B6B, reg_crc:0x2520 +Testing negxb_d16...done. pre_crc:0xE88E, mem_crc:0xA67B, reg_crc:0xE9A4 +Testing negxwl_d16...done. pre_crc:0x2B5D, mem_crc:0xDC89, reg_crc:0x6202 +Testing negx_absl...done. pre_crc:0xB436, mem_crc:0x126C, reg_crc:0x9D37 +Testing nop...done. pre_crc:0xE15D, mem_crc:0x0000, reg_crc:0xC099 +Testing not_reg...done. pre_crc:0x1E52, mem_crc:0x0000, reg_crc:0x7392 +Testing notb_ind...done. pre_crc:0x1051, mem_crc:0xE573, reg_crc:0x81C6 +Testing notwl_ind...done. pre_crc:0x9729, mem_crc:0xFECB, reg_crc:0x7CCD +Testing notb_d16...done. pre_crc:0xCD8A, mem_crc:0xBC0B, reg_crc:0x562B +Testing notwl_d16...done. pre_crc:0xB795, mem_crc:0x9C63, reg_crc:0x8124 +Testing not_absl...done. pre_crc:0xD5B9, mem_crc:0x8C3E, reg_crc:0x4B8E +Testing or_dreg_dreg...done. pre_crc:0x6841, mem_crc:0x0000, reg_crc:0xD72E +Testing or_ind_dreg...done. pre_crc:0x2A23, mem_crc:0x0000, reg_crc:0x5DE0 +Testing or_d16_dreg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0xA46D +Testing or_absl_dreg...done. pre_crc:0x8E60, mem_crc:0x0000, reg_crc:0x8E2B +Testing orbw_const_dreg...done. pre_crc:0x53ED, mem_crc:0x0000, reg_crc:0xB0F7 +Testing orl_const_dreg...done. pre_crc:0xEB5D, mem_crc:0x0000, reg_crc:0x2AB9 +Testing or_dreg_ind...done. pre_crc:0xDC04, mem_crc:0x4703, reg_crc:0x5D08 +Testing or_dreg_d16...done. pre_crc:0x78A5, mem_crc:0x9C3A, reg_crc:0x6E5B +Testing or_dreg_absl...done. pre_crc:0x0957, mem_crc:0x0944, reg_crc:0x54FE +Testing oribw_dreg...done. pre_crc:0xF341, mem_crc:0x0000, reg_crc:0x06A3 +Testing oril_dreg...done. pre_crc:0x3B7C, mem_crc:0x0000, reg_crc:0x5FCC +Testing oribw_ind...done. pre_crc:0xB681, mem_crc:0xA9E7, reg_crc:0x5DD9 +Testing oril_ind...done. pre_crc:0xE04E, mem_crc:0x3F8D, reg_crc:0x5713 +Testing oribw_d16...done. pre_crc:0x14BC, mem_crc:0x0D5D, reg_crc:0x1340 +Testing oril_d16...done. pre_crc:0xE380, mem_crc:0xC4EA, reg_crc:0x9C11 +Testing oribw_absl...done. pre_crc:0xDCA8, mem_crc:0xE20F, reg_crc:0xB515 +Testing oril_absl...done. pre_crc:0xB00B, mem_crc:0xC113, reg_crc:0xB910 +Testing ori_to_ccr...done. pre_crc:0x1C02, mem_crc:0x0000, reg_crc:0x7763 +Testing pack_reg...done. pre_crc:0x11BA, mem_crc:0x0000, reg_crc:0x6966 +Testing pack_mem...done. pre_crc:0xE0F6, mem_crc:0xC40B, reg_crc:0x175C +Testing pea_ind...done. pre_crc:0x7ECE, mem_crc:0x5D7C, reg_crc:0x19A7 +Testing pea_d16...done. pre_crc:0xECB5, mem_crc:0x89C8, reg_crc:0x3E01 +Testing pea_absw...done. pre_crc:0x5428, mem_crc:0x79E6, reg_crc:0x2A13 +Testing pea_absl...done. pre_crc:0x382C, mem_crc:0xA2CE, reg_crc:0xADBA +Testing rol_dx_dy...done. pre_crc:0x217C, mem_crc:0x0000, reg_crc:0xFC1E +Testing rol_const_dy...done. pre_crc:0x7B69, mem_crc:0x0000, reg_crc:0xB17B +Testing rol_ind...done. pre_crc:0x0BF5, mem_crc:0x69D7, reg_crc:0x8156 +Testing rol_d16...done. pre_crc:0x7C79, mem_crc:0xEDEB, reg_crc:0xFA66 +Testing rol_absl...done. pre_crc:0xD7EB, mem_crc:0xD177, reg_crc:0x4F9D +Testing ror_dx_dy...done. pre_crc:0x8FCD, mem_crc:0x0000, reg_crc:0xFD70 +Testing ror_const_dy...done. pre_crc:0xABFD, mem_crc:0x0000, reg_crc:0xA64D +Testing ror_ind...done. pre_crc:0x6DEC, mem_crc:0x0055, reg_crc:0x39B1 +Testing ror_d16...done. pre_crc:0x7A76, mem_crc:0x86D9, reg_crc:0x72CF +Testing ror_absl...done. pre_crc:0x9C80, mem_crc:0x3F27, reg_crc:0x1471 +Testing roxl_dx_dy...done. pre_crc:0xFEC8, mem_crc:0x0000, reg_crc:0xFE13 +Testing roxl_const_dy...done. pre_crc:0x04B3, mem_crc:0x0000, reg_crc:0x80F8 +Testing roxl_ind...done. pre_crc:0xF4A0, mem_crc:0xDBBE, reg_crc:0x650C +Testing roxl_d16...done. pre_crc:0xC4CD, mem_crc:0x6A47, reg_crc:0x4B0F +Testing roxl_absl...done. pre_crc:0xA755, mem_crc:0x1203, reg_crc:0xFF1B +Testing roxr_dx_dy...done. pre_crc:0x2369, mem_crc:0x0000, reg_crc:0xBC2F +Testing roxr_const_dy...done. pre_crc:0x93CE, mem_crc:0x0000, reg_crc:0x2F04 +Testing roxr_ind...done. pre_crc:0xFE5A, mem_crc:0x9FA6, reg_crc:0xC837 +Testing roxr_d16...done. pre_crc:0xCC59, mem_crc:0x46D6, reg_crc:0x3B1C +Testing roxr_absl...done. pre_crc:0x4476, mem_crc:0xF725, reg_crc:0x5627 +Testing rtd...done. pre_crc:0xBA73, mem_crc:0x0000, reg_crc:0x60C3 +Testing rtr...done. pre_crc:0x6643, mem_crc:0x0000, reg_crc:0x7CBC +Testing rts...done. pre_crc:0x7211, mem_crc:0x0000, reg_crc:0x6CD1 +Testing sbcd_reg...done. pre_crc:0xCDA1, mem_crc:0x0000, reg_crc:0x99BD +Testing sbcd_mem...done. pre_crc:0xF6E5, mem_crc:0x0528, reg_crc:0xD96D +Testing Scc_reg...done. pre_crc:0x37C2, mem_crc:0x0000, reg_crc:0x56C9 +Testing Scc_ind...done. pre_crc:0x618C, mem_crc:0x56AF, reg_crc:0x13DC +Testing Scc_d16...done. pre_crc:0x336D, mem_crc:0x5F5F, reg_crc:0xFC4B +Testing Scc_absl...done. pre_crc:0x32D5, mem_crc:0x5B92, reg_crc:0x72F3 +Testing subb_dreg_dreg...done. pre_crc:0x2350, mem_crc:0x0000, reg_crc:0xECCE +Testing subw_reg_dreg...done. pre_crc:0x9281, mem_crc:0x0000, reg_crc:0x6768 +Testing subl_reg_dreg...done. pre_crc:0xAA4A, mem_crc:0x0000, reg_crc:0x703D +Testing sub_ind_dreg...done. pre_crc:0x9848, mem_crc:0x0000, reg_crc:0xC981 +Testing sub_d16_dreg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0x2057 +Testing sub_absl_dreg...done. pre_crc:0xCC84, mem_crc:0x0000, reg_crc:0x6E83 +Testing subb_const_dreg...done. pre_crc:0xB94A, mem_crc:0x0000, reg_crc:0x810F +Testing subw_const_dreg...done. pre_crc:0x055E, mem_crc:0x0000, reg_crc:0x75EA +Testing subl_const_dreg...done. pre_crc:0xA7B1, mem_crc:0x0000, reg_crc:0xAD15 +Testing sub_dreg_ind...done. pre_crc:0x5622, mem_crc:0x6A59, reg_crc:0xDA4F +Testing sub_dreg_d16...done. pre_crc:0x0DC8, mem_crc:0x7575, reg_crc:0x70A7 +Testing sub_dreg_absl...done. pre_crc:0xC205, mem_crc:0xEC97, reg_crc:0xFC4D +Testing subaw_reg_areg...done. pre_crc:0x03F2, mem_crc:0x0000, reg_crc:0x5BCD +Testing subal_reg_areg...done. pre_crc:0x3E77, mem_crc:0x0000, reg_crc:0x39CC +Testing suba_ind_areg...done. pre_crc:0x9FE3, mem_crc:0x0000, reg_crc:0xEACD +Testing suba_d16_areg...done. pre_crc:0x00C4, mem_crc:0x0000, reg_crc:0x4919 +Testing suba_absl_areg...done. pre_crc:0x9261, mem_crc:0x0000, reg_crc:0x42AF +Testing subaw_const_areg...done. pre_crc:0x5AAD, mem_crc:0x0000, reg_crc:0x94D3 +Testing subal_const_areg...done. pre_crc:0x2FC0, mem_crc:0x0000, reg_crc:0x3419 +Testing subibw_dreg...done. pre_crc:0x6A48, mem_crc:0x0000, reg_crc:0xE224 +Testing subil_dreg...done. pre_crc:0x6349, mem_crc:0x0000, reg_crc:0x521A +Testing subibw_ind...done. pre_crc:0x52FF, mem_crc:0xF4FE, reg_crc:0x2661 +Testing subil_ind...done. pre_crc:0xFC3E, mem_crc:0x7D44, reg_crc:0xFA48 +Testing subibw_d16...done. pre_crc:0xC836, mem_crc:0xF571, reg_crc:0x9EDF +Testing subil_d16...done. pre_crc:0x8978, mem_crc:0x6560, reg_crc:0x2435 +Testing subibw_absl...done. pre_crc:0x75AB, mem_crc:0x72C5, reg_crc:0x0DD5 +Testing subil_absl...done. pre_crc:0xD3DB, mem_crc:0x3B10, reg_crc:0xD9C7 +Testing subq_dreg...done. pre_crc:0x9220, mem_crc:0x0000, reg_crc:0x7368 +Testing subq_areg...done. pre_crc:0x45C7, mem_crc:0x0000, reg_crc:0xD6DA +Testing subq_ind...done. pre_crc:0x8F48, mem_crc:0xDAD3, reg_crc:0xBA54 +Testing subq_d16...done. pre_crc:0xCE60, mem_crc:0x5FC5, reg_crc:0x5E37 +Testing subq_absl...done. pre_crc:0x4D37, mem_crc:0x4345, reg_crc:0x19B9 +Testing subx_reg...done. pre_crc:0xDA03, mem_crc:0x0000, reg_crc:0xBC5B +Testing subx_mem...done. pre_crc:0x75AD, mem_crc:0xF219, reg_crc:0x42C3 +Testing swap...done. pre_crc:0x9AAC, mem_crc:0x0000, reg_crc:0x9802 +Testing tas_dreg...done. pre_crc:0xFE8A, mem_crc:0x0000, reg_crc:0x459D +Testing tas_ind...done. pre_crc:0xC50A, mem_crc:0x2A85, reg_crc:0x76A1 +Testing tas_d16...done. pre_crc:0x20AD, mem_crc:0x4A8A, reg_crc:0xFE75 +Testing tas_absl...done. pre_crc:0x4AA3, mem_crc:0xC2A2, reg_crc:0xEB21 +Testing tstb_dreg...done. pre_crc:0xD8B1, mem_crc:0x0000, reg_crc:0x89CD +Testing tstwl_reg...done. pre_crc:0xA295, mem_crc:0x0000, reg_crc:0xEFBF +Testing tstb_ind...done. pre_crc:0x76C6, mem_crc:0x0000, reg_crc:0xB117 +Testing tstwl_ind...done. pre_crc:0xD101, mem_crc:0x0000, reg_crc:0xDC20 +Testing tstb_d16...done. pre_crc:0x119B, mem_crc:0x0000, reg_crc:0xBE77 +Testing tstwl_d16...done. pre_crc:0xF63C, mem_crc:0x0000, reg_crc:0x49F2 +Testing tst_absl...done. pre_crc:0x2C65, mem_crc:0x0000, reg_crc:0x53F3 diff --git a/test/include/callemulator.h b/test/include/callemulator.h new file mode 100644 index 0000000..b8810d1 --- /dev/null +++ b/test/include/callemulator.h @@ -0,0 +1,6 @@ +#ifndef _callemulator_h_ +#define _callemulator_h_ + +extern int call_emulator (int (*func)(), ...); + +#endif /* Not _callemulator_h_ */ diff --git a/test/include/crc.h b/test/include/crc.h new file mode 100644 index 0000000..95f32d2 --- /dev/null +++ b/test/include/crc.h @@ -0,0 +1,7 @@ +#ifndef _crc_h_ +#define _crc_h_ + +extern unsigned short compute_crc (unsigned char *data, long length, + unsigned short seed); + +#endif /* Not _crc_h_ */ diff --git a/test/include/driver.h b/test/include/driver.h new file mode 100644 index 0000000..04e3970 --- /dev/null +++ b/test/include/driver.h @@ -0,0 +1,21 @@ +#ifndef _driver_h_ +#define _driver_h_ + +#include "syn68k_public.h" + +typedef enum { + DM_USE_EMULATOR, + DM_USE_68000, + DM_COMPARE_AS_YOU_GO + } DriverMode; + +extern uint32 times_called; +extern uint16 ccr; +extern int test_only_non_cc_variants; +extern int generate_crc; + +extern void test_all_instructions (uint32 try_count); + +#define MAX_ERRORS 30 + +#endif /* Not driver_h_ */ diff --git a/test/include/run68k.h b/test/include/run68k.h new file mode 100644 index 0000000..60e868b --- /dev/null +++ b/test/include/run68k.h @@ -0,0 +1,8 @@ +#ifndef _run68k_h_ +#define _run68k_h_ + +#include "syn68k_public.h" + +extern void run_code_on_68000 (uint16 *code, uint32 *return_address); + +#endif /* Not _run68k_h_ */ diff --git a/test/include/setup.h b/test/include/setup.h new file mode 100644 index 0000000..2970814 --- /dev/null +++ b/test/include/setup.h @@ -0,0 +1,17 @@ +#ifndef _setup_h_ +#define _setup_h_ + +#include "syn68k_public.h" + +#define MEM_SIZE 2048 + +extern uint8 *mem; + +extern void randomize_mem (void); +extern void randomize_regs (int low_reg, int high_reg, uint32 low_val, + uint32 high_val, uint32 bits_to_mask); +extern void fully_randomize_regs (void); +extern int32 randint (int32 low, int32 high); +extern int32 randnum (); + +#endif /* Not _setup_h_ */ diff --git a/test/include/testbattery.h b/test/include/testbattery.h new file mode 100644 index 0000000..cea75fa --- /dev/null +++ b/test/include/testbattery.h @@ -0,0 +1,30 @@ +#ifndef _testbattery_h_ +#define _testbattery_h_ + +typedef struct { + const char *name; + void (*code_creator)(uint16 *); + int cc_mask; + int code_words; + int might_change_memory; + int max_times_to_call; /* 0 if no limit */ +} TestInfo; + +#define C_BIT 0x01 +#define V_BIT 0x02 +#define Z_BIT 0x04 +#define N_BIT 0x08 +#define X_BIT 0x10 +#define ALL_CCS 0x1F +#define NO_CCS 0x00 + +#define MOVE16_CHANGE_MEMORY 2 /* nasty hack because move16 isn't guaranteed + to move memory under NS 3.1 */ +#define MIGHT_CHANGE_MEMORY 1 +#define WONT_CHANGE_MEMORY 0 + +#define NO_LIMIT 0 + +extern const TestInfo test_info[]; + +#endif /* Not _testbattery_h_ */ diff --git a/test/include/testqsort.h b/test/include/testqsort.h new file mode 100644 index 0000000..a20e95b --- /dev/null +++ b/test/include/testqsort.h @@ -0,0 +1,6 @@ +#ifndef _testqsort_h_ +#define _testqsort_h_ + +extern void test_qsort (void); + +#endif /* _testqsort_h_ */ diff --git a/test/include/testrt.h b/test/include/testrt.h new file mode 100644 index 0000000..2e787a3 --- /dev/null +++ b/test/include/testrt.h @@ -0,0 +1,6 @@ +#ifndef _testrt_h_ +#define _testrt_h_ + +extern void test_rangetree (void); + +#endif /* Not _testrt_h_ */ diff --git a/test/include/testtrap.h b/test/include/testtrap.h new file mode 100644 index 0000000..fc6d321 --- /dev/null +++ b/test/include/testtrap.h @@ -0,0 +1,6 @@ +#ifndef _testtrap_h_ +#define _testtrap_h_ + +extern void test_traps (void); + +#endif /* Not _testtrap_h_ */ diff --git a/test/main.c b/test/main.c new file mode 100644 index 0000000..6d5e3a7 --- /dev/null +++ b/test/main.c @@ -0,0 +1,86 @@ +#include "syn68k_public.h" +#include "driver.h" +#include "callemulator.h" +#include "testtrap.h" +#include "crc.h" +#include "testrt.h" +#include "testqsort.h" +#include +#include +#include + +#ifndef EXIT_SUCCESS +#define EXIT_SUCCESS 0 +#endif + + +int +main (int argc, char *argv[]) +{ + static uint32 trap_vectors[64]; + uint32 count = 10000; + int i; + int native_p; + + native_p = 1; + +#ifdef NeXT + malloc_debug (31); /* Just to be safe. */ +#endif + + /* Set up default values for command line switches. */ + test_only_non_cc_variants = 0; +#ifdef mc68000 + generate_crc = 0; +#else + generate_crc = 1; +#endif + + /* Grab command-line switches. */ + for (i = 1; i < argc; i++) + { + if (!strcmp (argv[i], "-crc")) + generate_crc = 1; + else if (!strcmp (argv[i], "-noncc")) + test_only_non_cc_variants = 1; + else if (strcmp (argv[i], "-notnative") == 0) + native_p = 0; + else if (atoi (argv[i]) != 0) + count = atoi (argv[i]); + else + { + fprintf (stderr, "Usage: %s [test count] [-crc] [-noncc] [-notnative]\n", + argv[0]); + exit (-1); + } + } + + /* Initialize stuff. */ + initialize_68k_emulator (NULL, native_p, trap_vectors, 0); + +#if 0 + test_rangetree (); + exit (0); +#endif + +#if 0 + test_qsort (); + dump_profile ("../profile/instrfreq"); + exit (0); +#endif + +#if 0 + test_traps (); +#else + /* Run through test suite. */ + test_all_instructions (count); +#endif + + return EXIT_SUCCESS; +} + +#if 0 && defined(GO32) +void __main(void) +{ +} +#endif diff --git a/test/maketestbattery.pl b/test/maketestbattery.pl new file mode 100755 index 0000000..10ca7fe --- /dev/null +++ b/test/maketestbattery.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +print ("#include \"syn68k_public.h\"\n", + "#include \"testbattery.h\"\n", + "\n"); + +while (<>) +{ + if (/^TEST\s*\(([^,]*),\s*([^,]*),\s*([^,]*),\s*([^,]*),\s*([^\)]*)\s*\)/) + { + $decls .= "extern void $1 (uint16 *);\n"; + $array .= " { \"$1\", $1, $2, $3, $4, $5 },\n"; + } +} + +print ($decls, "\n", + "const TestInfo test_info[] = {\n", + $array, + " { 0, 0, 0, 0, 0, 0 }\n", + "};\n"); diff --git a/test/new b/test/new new file mode 100644 index 0000000..94f7409 --- /dev/null +++ b/test/new @@ -0,0 +1,39 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +add_dreg_d16...done. +add_dreg_absl...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/new.1000 b/test/new.1000 new file mode 100644 index 0000000..bac91c0 --- /dev/null +++ b/test/new.1000 @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing unpk_reg...done. pre_crc:0x1F3D, mem_crc:0x0000, reg_crc:0xAC71 +Testing unpk_mem...done. pre_crc:0x0EE7, mem_crc:0x5353, reg_crc:0x6941 +Testing unlk...done. pre_crc:0xFBBC, mem_crc:0x0000, reg_crc:0x9A5A +Testing movewl_ind_ind...done. pre_crc:0xBE82, mem_crc:0xF157, reg_crc:0x3F82 +Testing divsl_ll_reg...done. pre_crc:0x656B, mem_crc:0x0000, reg_crc:0x45A8 +Testing divsl_ll_ind...done. pre_crc:0xD9AF, mem_crc:0x0000, reg_crc:0x68FE +Testing divsl_ll_absl...done. pre_crc:0xDE0B, mem_crc:0x0000, reg_crc:0xF036 +Testing lea_pc_ind_preix...done. pre_crc:0x27EC, mem_crc:0x0000, reg_crc:0xE122 +Testing lea_pc_ind_postix...done. pre_crc:0x15D7, mem_crc:0x0000, reg_crc:0xB12B +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xCAA9, mem_crc:0x0000, reg_crc:0x5462 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xEF03, mem_crc:0x0000, reg_crc:0xF5A6 +Testing moveb_pcd16_dreg...done. pre_crc:0xBD7F, mem_crc:0x0000, reg_crc:0xCE89 +Testing movewl_pcd16_dreg...done. pre_crc:0xB5C5, mem_crc:0x0000, reg_crc:0xE878 +Testing moveb_pcd8_dreg...done. pre_crc:0x62B9, mem_crc:0x0000, reg_crc:0xC104 +Testing movewl_pcd8_dreg...done. pre_crc:0x06BA, mem_crc:0x0000, reg_crc:0x1747 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1F05, mem_crc:0x0000, reg_crc:0xA7EA +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF164 +Testing lea_ind_preix...done. pre_crc:0x891C, mem_crc:0x0000, reg_crc:0xB037 +Testing lea_ind_postix...done. pre_crc:0x6A65, mem_crc:0x0000, reg_crc:0xDE44 +Testing add_absl_dreg...done. pre_crc:0xCF43, mem_crc:0x0000, reg_crc:0x1A8F +Testing abcd_reg...done. pre_crc:0xB1DF, mem_crc:0x0000, reg_crc:0xA20D +Testing abcd_mem...done. pre_crc:0x5F46, mem_crc:0x8D2B, reg_crc:0x1976 +Testing addb_dreg_dreg...done. pre_crc:0x20E0, mem_crc:0x0000, reg_crc:0x5449 +Testing addw_reg_dreg...done. pre_crc:0x43CF, mem_crc:0x0000, reg_crc:0xAB08 +Testing addl_reg_dreg...done. pre_crc:0xE016, mem_crc:0x0000, reg_crc:0x2760 +Testing add_d16_dreg...done. pre_crc:0x9D2B, mem_crc:0x0000, reg_crc:0x9D75 +Testing addb_const_dreg...done. pre_crc:0x1FF2, mem_crc:0x0000, reg_crc:0x5305 +Testing addw_const_dreg...done. pre_crc:0xC685, mem_crc:0x0000, reg_crc:0xFABE +Testing add_dreg_ind...done. pre_crc:0xB5A9, mem_crc:0x5D6E, reg_crc:0x42F3 +Testing add_ind_dreg...done. pre_crc:0x3762, mem_crc:0x0000, reg_crc:0xD98F +Testing addl_const_dreg...done. pre_crc:0xFAAF, mem_crc:0x0000, reg_crc:0xE42E +Testing add_dreg_d16...done. pre_crc:0x331D, mem_crc:0xE412, reg_crc:0x02E0 +Testing add_dreg_absl...done. pre_crc:0x4D7B, mem_crc:0x6815, reg_crc:0x2D2D +Testing addaw_reg_areg...done. pre_crc:0xF8FC, mem_crc:0x0000, reg_crc:0xC268 +Testing addal_reg_areg...done. pre_crc:0xA018, mem_crc:0x0000, reg_crc:0x979D +Testing adda_ind_areg...done. pre_crc:0xEDAE, mem_crc:0x0000, reg_crc:0x02A4 +Testing adda_d16_areg...done. pre_crc:0xE95E, mem_crc:0x0000, reg_crc:0x3126 +Testing adda_absl_areg...done. pre_crc:0xA76E, mem_crc:0x0000, reg_crc:0x1F29 +Testing addaw_const_areg...done. pre_crc:0x6A1C, mem_crc:0x0000, reg_crc:0x1EB2 +Testing addal_const_areg...done. pre_crc:0x3672, mem_crc:0x0000, reg_crc:0xF960 +Testing addibw_dreg...done. pre_crc:0x839C, mem_crc:0x0000, reg_crc:0x11EB +Testing addil_dreg...done. pre_crc:0x9A10, mem_crc:0x0000, reg_crc:0x0107 +Testing addibw_ind...done. pre_crc:0xEC9E, mem_crc:0xA219, reg_crc:0x16FE +Testing addil_ind...done. pre_crc:0xD231, mem_crc:0xF7B0, reg_crc:0xEC9B +Testing addibw_d16...done. pre_crc:0xD69C, mem_crc:0xC67E, reg_crc:0x84C6 +Testing addil_d16...done. pre_crc:0x0CBF, mem_crc:0x1F85, reg_crc:0x6D37 +Testing addibw_absl...done. pre_crc:0x2F0B, mem_crc:0xC88C, reg_crc:0x93AC +Testing addil_absl...done. pre_crc:0x1101, mem_crc:0x7F58, reg_crc:0xCE34 +Testing addq_dreg...done. pre_crc:0xC50A, mem_crc:0x0000, reg_crc:0x80A8 +Testing addq_areg...done. pre_crc:0xC07C, mem_crc:0x0000, reg_crc:0x266E +Testing addq_ind...done. pre_crc:0x500D, mem_crc:0x3317, reg_crc:0x3B1A +Testing addq_d16...done. pre_crc:0x8CE9, mem_crc:0x94A2, reg_crc:0x4800 +Testing addq_absl...done. pre_crc:0x7313, mem_crc:0x070B, reg_crc:0x401A +Testing addx_reg...done. pre_crc:0xD26E, mem_crc:0x0000, reg_crc:0x2651 +Testing addx_mem...done. pre_crc:0x44E7, mem_crc:0x03ED, reg_crc:0xAC5F +Testing and_dreg_dreg...done. pre_crc:0xBB54, mem_crc:0x0000, reg_crc:0x9A2D +Testing and_ind_dreg...done. pre_crc:0x012D, mem_crc:0x0000, reg_crc:0xE54F +Testing and_d16_dreg...done. pre_crc:0x15C5, mem_crc:0x0000, reg_crc:0x069F +Testing and_absl_dreg...done. pre_crc:0xC127, mem_crc:0x0000, reg_crc:0x2DE2 +Testing andbw_const_dreg...done. pre_crc:0x27F4, mem_crc:0x0000, reg_crc:0xB18D +Testing andl_const_dreg...done. pre_crc:0x8217, mem_crc:0x0000, reg_crc:0x0E5D +Testing and_dreg_ind...done. pre_crc:0x2BA1, mem_crc:0x7934, reg_crc:0x3BD9 +Testing and_dreg_d16...done. pre_crc:0x0196, mem_crc:0xBCCE, reg_crc:0x70DA +Testing and_dreg_absl...done. pre_crc:0xEAF8, mem_crc:0x55E1, reg_crc:0x1FB9 +Testing andibw_dreg...done. pre_crc:0xAD7B, mem_crc:0x0000, reg_crc:0x8BF3 +Testing andil_dreg...done. pre_crc:0x8FDE, mem_crc:0x0000, reg_crc:0x54F4 +Testing andibw_ind...done. pre_crc:0xD381, mem_crc:0xA0E8, reg_crc:0xAC72 +Testing andil_ind...done. pre_crc:0x38EE, mem_crc:0x7D99, reg_crc:0xA348 +Testing andibw_d16...done. pre_crc:0x6934, mem_crc:0x6715, reg_crc:0xF783 +Testing andil_d16...done. pre_crc:0xBFB8, mem_crc:0x0710, reg_crc:0x55B7 +Testing andibw_absl...done. pre_crc:0xDFD3, mem_crc:0xC107, reg_crc:0x6574 +Testing andil_absl...done. pre_crc:0x8555, mem_crc:0x5D4A, reg_crc:0xFD3D +Testing andi_to_ccr...done. pre_crc:0x4F9D, mem_crc:0x0000, reg_crc:0x9B04 +Testing asl_dx_dy...done. pre_crc:0x062B, mem_crc:0x0000, reg_crc:0xD5F7 +Testing asl_const_dy...done. pre_crc:0x5B80, mem_crc:0x0000, reg_crc:0xB3CB +Testing asl_ind...done. pre_crc:0x4CE7, mem_crc:0x1ADF, reg_crc:0x22B1 +Testing asl_d16...done. pre_crc:0xC1C7, mem_crc:0x34A8, reg_crc:0x184B +Testing asl_absl...done. pre_crc:0xA49B, mem_crc:0x244D, reg_crc:0x8031 +Testing asr_dx_dy...done. pre_crc:0x8AA7, mem_crc:0x0000, reg_crc:0x3D4A +Testing asr_const_dy...done. pre_crc:0x5EDC, mem_crc:0x0000, reg_crc:0xE714 +Testing asr_ind...done. pre_crc:0xA13A, mem_crc:0x11BD, reg_crc:0x508B +Testing asr_d16...done. pre_crc:0x56AE, mem_crc:0xF0E1, reg_crc:0xC593 +Testing asr_absl...done. pre_crc:0xE3DB, mem_crc:0x44FC, reg_crc:0xCFC9 +Testing lsl_dx_dy...done. pre_crc:0xE157, mem_crc:0x0000, reg_crc:0xC536 +Testing lsl_const_dy...done. pre_crc:0x9A6B, mem_crc:0x0000, reg_crc:0x84BD +Testing lsl_ind...done. pre_crc:0xD0A8, mem_crc:0x4CD9, reg_crc:0x6E04 +Testing lsl_d16...done. pre_crc:0xFB72, mem_crc:0xB023, reg_crc:0xD80F +Testing lsl_absl...done. pre_crc:0xF80F, mem_crc:0x8B66, reg_crc:0xD25F +Testing lsr_dx_dy...done. pre_crc:0xDFC8, mem_crc:0x0000, reg_crc:0x8D84 +Testing lsr_const_dy...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x6FC9 +Testing lsr_ind...done. pre_crc:0xE22B, mem_crc:0x24CC, reg_crc:0x2608 +Testing lsr_d16...done. pre_crc:0x866A, mem_crc:0x66FF, reg_crc:0xD946 +Testing lsr_absl...done. pre_crc:0x839F, mem_crc:0xACDE, reg_crc:0xB510 +Testing bra_b...done. pre_crc:0x0EC7, mem_crc:0x0000, reg_crc:0xCAE4 +Testing bhi_b...done. pre_crc:0xD9BB, mem_crc:0x0000, reg_crc:0xD79F +Testing bls_b...done. pre_crc:0xE6D0, mem_crc:0x0000, reg_crc:0xFB10 +Testing bcc_b...done. pre_crc:0x8EF8, mem_crc:0x0000, reg_crc:0x477E +Testing bcs_b...done. pre_crc:0xA946, mem_crc:0x0000, reg_crc:0xC335 +Testing bne_b...done. pre_crc:0x7188, mem_crc:0x0000, reg_crc:0x3270 +Testing beq_b...done. pre_crc:0xBC35, mem_crc:0x0000, reg_crc:0x9E13 +Testing bvc_b...done. pre_crc:0xFF8E, mem_crc:0x0000, reg_crc:0xEE14 +Testing bvs_b...done. pre_crc:0x6C9F, mem_crc:0x0000, reg_crc:0xD30D +Testing bpl_b...done. pre_crc:0xD9A8, mem_crc:0x0000, reg_crc:0xF6BD +Testing bmi_b...done. pre_crc:0x83CE, mem_crc:0x0000, reg_crc:0x95FC +Testing bge_b...done. pre_crc:0xCC8C, mem_crc:0x0000, reg_crc:0x2B0A +Testing blt_b...done. pre_crc:0x890F, mem_crc:0x0000, reg_crc:0x930A +Testing bgt_b...done. pre_crc:0xC3F7, mem_crc:0x0000, reg_crc:0x6F11 +Testing ble_b...done. pre_crc:0x877F, mem_crc:0x0000, reg_crc:0x7A07 +Testing bra_w...done. pre_crc:0xC414, mem_crc:0x0000, reg_crc:0x510B +Testing bhi_w...done. pre_crc:0x71A6, mem_crc:0x0000, reg_crc:0xD430 +Testing bls_w...done. pre_crc:0x92AF, mem_crc:0x0000, reg_crc:0x066A +Testing bcc_w...done. pre_crc:0xE091, mem_crc:0x0000, reg_crc:0xD31A +Testing bcs_w...done. pre_crc:0xD3F8, mem_crc:0x0000, reg_crc:0xA988 +Testing bne_w...done. pre_crc:0xCFD1, mem_crc:0x0000, reg_crc:0xCA00 +Testing beq_w...done. pre_crc:0x0EB1, mem_crc:0x0000, reg_crc:0xA317 +Testing bvc_w...done. pre_crc:0x05D4, mem_crc:0x0000, reg_crc:0xED9C +Testing bvs_w...done. pre_crc:0x964B, mem_crc:0x0000, reg_crc:0x1DC3 +Testing bpl_w...done. pre_crc:0x9D4D, mem_crc:0x0000, reg_crc:0x7AF4 +Testing bmi_w...done. pre_crc:0x97DF, mem_crc:0x0000, reg_crc:0x7EF0 +Testing bge_w...done. pre_crc:0xF568, mem_crc:0x0000, reg_crc:0x138C +Testing blt_w...done. pre_crc:0xCF94, mem_crc:0x0000, reg_crc:0x2730 +Testing bgt_w...done. pre_crc:0xEF35, mem_crc:0x0000, reg_crc:0x57EA +Testing ble_w...done. pre_crc:0xB98E, mem_crc:0x0000, reg_crc:0x0F2D +Testing bra_l...done. pre_crc:0xBACA, mem_crc:0x0000, reg_crc:0x57CE +Testing bhi_l...done. pre_crc:0xB039, mem_crc:0x0000, reg_crc:0x821E +Testing bls_l...done. pre_crc:0xB0AA, mem_crc:0x0000, reg_crc:0x9223 +Testing bcc_l...done. pre_crc:0xD15B, mem_crc:0x0000, reg_crc:0x0E98 +Testing bcs_l...done. pre_crc:0xAC0F, mem_crc:0x0000, reg_crc:0xA5C6 +Testing bne_l...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xA9A6 +Testing beq_l...done. pre_crc:0x4F57, mem_crc:0x0000, reg_crc:0x371F +Testing bvc_l...done. pre_crc:0x2D2E, mem_crc:0x0000, reg_crc:0xB30B +Testing bvs_l...done. pre_crc:0x4721, mem_crc:0x0000, reg_crc:0x21DE +Testing bpl_l...done. pre_crc:0xB174, mem_crc:0x0000, reg_crc:0xD026 +Testing bmi_l...done. pre_crc:0x64D4, mem_crc:0x0000, reg_crc:0xADB6 +Testing bge_l...done. pre_crc:0x037A, mem_crc:0x0000, reg_crc:0x40B3 +Testing blt_l...done. pre_crc:0xF621, mem_crc:0x0000, reg_crc:0x174D +Testing bgt_l...done. pre_crc:0x31F0, mem_crc:0x0000, reg_crc:0x8C2F +Testing ble_l...done. pre_crc:0x4D59, mem_crc:0x0000, reg_crc:0x60C6 +Testing bchg_reg_reg...done. pre_crc:0xFF1A, mem_crc:0x0000, reg_crc:0x9D97 +Testing bchg_const_reg...done. pre_crc:0x795A, mem_crc:0x0000, reg_crc:0x0688 +Testing bchg_reg_ind...done. pre_crc:0x5A32, mem_crc:0x65BB, reg_crc:0xC5B2 +Testing bchg_const_ind...done. pre_crc:0xC683, mem_crc:0xF1E9, reg_crc:0xB392 +Testing bchg_reg_d16...done. pre_crc:0x83EC, mem_crc:0x6885, reg_crc:0xF84F +Testing bchg_const_d16...done. pre_crc:0xC2BF, mem_crc:0x5870, reg_crc:0x19DA +Testing bchg_reg_absl...done. pre_crc:0xB0F9, mem_crc:0x1136, reg_crc:0xCEA8 +Testing bchg_const_absl...done. pre_crc:0x04D7, mem_crc:0x1A94, reg_crc:0xFFF9 +Testing bclr_reg_reg...done. pre_crc:0x0C0E, mem_crc:0x0000, reg_crc:0x90A3 +Testing bclr_const_reg...done. pre_crc:0x6D5E, mem_crc:0x0000, reg_crc:0x33AC +Testing bclr_reg_ind...done. pre_crc:0xB7D0, mem_crc:0x938D, reg_crc:0x7383 +Testing bclr_const_ind...done. pre_crc:0x4FF1, mem_crc:0x94A8, reg_crc:0xAEA4 +Testing bclr_reg_d16...done. pre_crc:0x6F3E, mem_crc:0x315B, reg_crc:0xC8DC +Testing bclr_const_d16...done. pre_crc:0xE75B, mem_crc:0x65C9, reg_crc:0xC8CD +Testing bclr_reg_absl...done. pre_crc:0x1506, mem_crc:0x3C41, reg_crc:0x4C91 +Testing bclr_const_absl...done. pre_crc:0xE8B3, mem_crc:0xB441, reg_crc:0x1C5B +Testing bset_reg_reg...done. pre_crc:0xB356, mem_crc:0x0000, reg_crc:0xA66A +Testing bset_const_reg...done. pre_crc:0xEDBD, mem_crc:0x0000, reg_crc:0x0536 +Testing bset_reg_ind...done. pre_crc:0x7EE9, mem_crc:0x96F0, reg_crc:0xC85E +Testing bset_const_ind...done. pre_crc:0xA700, mem_crc:0xBE0C, reg_crc:0x2983 +Testing bset_reg_d16...done. pre_crc:0x75B5, mem_crc:0xE495, reg_crc:0x5E3E +Testing bset_const_d16...done. pre_crc:0xF258, mem_crc:0x0D3D, reg_crc:0x94EC +Testing bset_reg_absl...done. pre_crc:0xB043, mem_crc:0x284E, reg_crc:0xA75B +Testing bset_const_absl...done. pre_crc:0x5D9E, mem_crc:0x7E28, reg_crc:0xC9A6 +Testing btst_reg_reg...done. pre_crc:0xA588, mem_crc:0x0000, reg_crc:0x46A4 +Testing btst_const_reg...done. pre_crc:0xB9CF, mem_crc:0x0000, reg_crc:0x009A +Testing btst_reg_ind...done. pre_crc:0x2A5D, mem_crc:0x0000, reg_crc:0xEF1F +Testing btst_const_ind...done. pre_crc:0x4E1E, mem_crc:0x0000, reg_crc:0x10FD +Testing btst_reg_d16...done. pre_crc:0x0CB7, mem_crc:0x0000, reg_crc:0xE10F +Testing btst_const_d16...done. pre_crc:0x8E14, mem_crc:0x0000, reg_crc:0xF542 +Testing btst_reg_absl...done. pre_crc:0x6B35, mem_crc:0x0000, reg_crc:0x163B +Testing btst_const_absl...done. pre_crc:0x425A, mem_crc:0x0000, reg_crc:0x0B19 +Testing bfchg_reg...done. pre_crc:0xA4B5, mem_crc:0x0000, reg_crc:0x6A1D +Testing bfchg_ind...done. pre_crc:0x5DA8, mem_crc:0x39B8, reg_crc:0xA483 +Testing bfchg_d16...done. pre_crc:0xE8DC, mem_crc:0xF917, reg_crc:0xE06D +Testing bfchg_absl...done. pre_crc:0x2004, mem_crc:0xB689, reg_crc:0x3C24 +Testing bfclr_reg...done. pre_crc:0x07B8, mem_crc:0x0000, reg_crc:0xC3B8 +Testing bfclr_ind...done. pre_crc:0xC7D1, mem_crc:0xBF2F, reg_crc:0x88E4 +Testing bfclr_d16...done. pre_crc:0xC5A9, mem_crc:0xD0B9, reg_crc:0x3476 +Testing bfclr_absl...done. pre_crc:0xCDCE, mem_crc:0x752F, reg_crc:0x761A +Testing bfset_reg...done. pre_crc:0x9214, mem_crc:0x0000, reg_crc:0x25B0 +Testing bfset_ind...done. pre_crc:0xD7A1, mem_crc:0xC2F4, reg_crc:0x1DE2 +Testing bfset_d16...done. pre_crc:0x100F, mem_crc:0xC6F3, reg_crc:0x38A1 +Testing bfset_absl...done. pre_crc:0x0A9A, mem_crc:0xAE7A, reg_crc:0xB2A0 +Testing bftst_reg...done. pre_crc:0xF16B, mem_crc:0x0000, reg_crc:0x7E81 +Testing bftst_ind...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xC90C +Testing bftst_d16...done. pre_crc:0xCFD3, mem_crc:0x0000, reg_crc:0x384C +Testing bftst_absl...done. pre_crc:0xE060, mem_crc:0x0000, reg_crc:0x325D +Testing bfexts_reg...done. pre_crc:0x737B, mem_crc:0x0000, reg_crc:0xEBB1 +Testing bfexts_ind...done. pre_crc:0xC430, mem_crc:0x0000, reg_crc:0x4B42 +Testing bfexts_d16...done. pre_crc:0x80C0, mem_crc:0x0000, reg_crc:0xDB33 +Testing bfexts_absl...done. pre_crc:0x1568, mem_crc:0x0000, reg_crc:0xF00C +Testing bfextu_reg...done. pre_crc:0x85B8, mem_crc:0x0000, reg_crc:0x959C +Testing bfextu_ind...done. pre_crc:0x144C, mem_crc:0x0000, reg_crc:0x37BF +Testing bfextu_d16...done. pre_crc:0x1467, mem_crc:0x0000, reg_crc:0x96F0 +Testing bfextu_absl...done. pre_crc:0xA51B, mem_crc:0x0000, reg_crc:0x25AD +Testing bfffo_reg...done. pre_crc:0x6856, mem_crc:0x0000, reg_crc:0x73D9 +Testing bfffo_ind...done. pre_crc:0xE7FE, mem_crc:0x0000, reg_crc:0x1148 +Testing bfffo_d16...done. pre_crc:0x4966, mem_crc:0x0000, reg_crc:0x8697 +Testing bfffo_absl...done. pre_crc:0x0E71, mem_crc:0x0000, reg_crc:0xE72D +Testing bfins_reg...done. pre_crc:0x6B79, mem_crc:0x0000, reg_crc:0x011A +Testing bfins_ind...done. pre_crc:0xAFF6, mem_crc:0x40AE, reg_crc:0x5892 +Testing bfins_d16...done. pre_crc:0xE106, mem_crc:0xF8A4, reg_crc:0x9F22 +Testing bfins_absl...done. pre_crc:0xF741, mem_crc:0xDD71, reg_crc:0xCE13 +Testing bsr_b...done. pre_crc:0x58D5, mem_crc:0xF1FE, reg_crc:0x11A9 +Testing bsr_w...done. pre_crc:0x6EBB, mem_crc:0x19DC, reg_crc:0x7E09 +Testing bsr_l...done. pre_crc:0xF012, mem_crc:0x92EC, reg_crc:0x54EC +Testing cas_ind...done. pre_crc:0x8643, mem_crc:0x3FCC, reg_crc:0x0861 +Testing cas2_areg...done. pre_crc:0x6AE9, mem_crc:0x02EC, reg_crc:0x673D +Testing cas2_anyreg...done. pre_crc:0x13E8, mem_crc:0x8FA2, reg_crc:0x0A8E +Testing clr_reg...done. pre_crc:0xED40, mem_crc:0x0000, reg_crc:0x6333 +Testing clrb_ind...done. pre_crc:0xE79F, mem_crc:0xE27D, reg_crc:0x4C91 +Testing clrwl_ind...done. pre_crc:0x3F4F, mem_crc:0xF2D6, reg_crc:0x9BC7 +Testing clrb_absl...done. pre_crc:0xD05D, mem_crc:0x1172, reg_crc:0xD4A6 +Testing clrwl_absl...done. pre_crc:0x7EEE, mem_crc:0xAA7D, reg_crc:0xDE2D +Testing cmp_dreg...done. pre_crc:0x97C3, mem_crc:0x0000, reg_crc:0x7097 +Testing cmp_areg...done. pre_crc:0x9294, mem_crc:0x0000, reg_crc:0x9138 +Testing cmpb_ind...done. pre_crc:0x3AE2, mem_crc:0x0000, reg_crc:0x7697 +Testing cmpwl_ind...done. pre_crc:0x5D3D, mem_crc:0x0000, reg_crc:0x93A9 +Testing cmpb_d16...done. pre_crc:0x0C2F, mem_crc:0x0000, reg_crc:0xC158 +Testing cmpwl_d16...done. pre_crc:0x281B, mem_crc:0x0000, reg_crc:0x0099 +Testing cmpa_reg...done. pre_crc:0x6B07, mem_crc:0x0000, reg_crc:0x2712 +Testing cmpa_ind...done. pre_crc:0xE866, mem_crc:0x0000, reg_crc:0xFEF7 +Testing cmpa_ind2...done. pre_crc:0xCD33, mem_crc:0x0000, reg_crc:0x29CE +Testing cmpa_d16...done. pre_crc:0x487B, mem_crc:0x0000, reg_crc:0x3596 +Testing cmpa_d16_2...done. pre_crc:0x5EE0, mem_crc:0x0000, reg_crc:0xCF8E +Testing cmpa_absl...done. pre_crc:0x4647, mem_crc:0x0000, reg_crc:0xBC29 +Testing cmpibw_reg...done. pre_crc:0x1DDA, mem_crc:0x0000, reg_crc:0x4E36 +Testing cmpil_reg...done. pre_crc:0x8A61, mem_crc:0x0000, reg_crc:0xF3C5 +Testing cmpib_ind...done. pre_crc:0x1F70, mem_crc:0x0000, reg_crc:0x466B +Testing cmpiw_ind...done. pre_crc:0x27E1, mem_crc:0x0000, reg_crc:0x0491 +Testing cmpil_ind...done. pre_crc:0x2019, mem_crc:0x0000, reg_crc:0x5262 +Testing cmpmb...done. pre_crc:0xCEAD, mem_crc:0x0000, reg_crc:0x6A1B +Testing cmpmwl...done. pre_crc:0xBCAE, mem_crc:0x0000, reg_crc:0xD061 +Testing cmp2b_ind...done. pre_crc:0x5A47, mem_crc:0x0000, reg_crc:0x2DFF +Testing cmp2wl_ind...done. pre_crc:0x0409, mem_crc:0x0000, reg_crc:0x2C73 +Testing dbcc...done. pre_crc:0x0AFA, mem_crc:0x0000, reg_crc:0x3CF6 +Testing divs_reg...done. pre_crc:0xBCE5, mem_crc:0x0000, reg_crc:0x10F2 +Testing divs_same_reg...done. pre_crc:0x5D69, mem_crc:0x0000, reg_crc:0x92F4 +Testing divs_ind...done. pre_crc:0x9551, mem_crc:0x0000, reg_crc:0x5BAD +Testing divs_absl...done. pre_crc:0x7190, mem_crc:0x0000, reg_crc:0xDFAD +Testing divu_reg...done. pre_crc:0x71C5, mem_crc:0x0000, reg_crc:0x536A +Testing divu_same_reg...done. pre_crc:0x8BA4, mem_crc:0x0000, reg_crc:0x09F0 +Testing divu_ind...done. pre_crc:0x80FC, mem_crc:0x0000, reg_crc:0xAC3A +Testing divu_absl...done. pre_crc:0x1CAD, mem_crc:0x0000, reg_crc:0x2379 +Testing divul_ll_reg...done. pre_crc:0x1209, mem_crc:0x0000, reg_crc:0x8013 +Testing divul_ll_ind...done. pre_crc:0x8479, mem_crc:0x0000, reg_crc:0x8447 +Testing divul_ll_absl...done. pre_crc:0xEEAF, mem_crc:0x0000, reg_crc:0xB90B +Testing eor_reg...done. pre_crc:0x9F54, mem_crc:0x0000, reg_crc:0xA6BD +Testing eor_ind...done. pre_crc:0x0E9D, mem_crc:0x0B0D, reg_crc:0x15BF +Testing eor_d16...done. pre_crc:0xE72C, mem_crc:0x320E, reg_crc:0xC162 +Testing eor_absl...done. pre_crc:0x77F9, mem_crc:0x8BB7, reg_crc:0x3F6A +Testing eoribw_dreg...done. pre_crc:0x20AE, mem_crc:0x0000, reg_crc:0x94CE +Testing eoril_dreg...done. pre_crc:0xF30C, mem_crc:0x0000, reg_crc:0xEEE2 +Testing eoribw_ind...done. pre_crc:0xA95E, mem_crc:0x144D, reg_crc:0xF715 +Testing eoril_ind...done. pre_crc:0x29A8, mem_crc:0x72E2, reg_crc:0x9AD8 +Testing eoribw_d16...done. pre_crc:0xFDE4, mem_crc:0xA5C9, reg_crc:0xA279 +Testing eoril_d16...done. pre_crc:0xF4CB, mem_crc:0xF18F, reg_crc:0x168F +Testing eoribw_absl...done. pre_crc:0xE0AE, mem_crc:0x747E, reg_crc:0xD3D0 +Testing eoril_absl...done. pre_crc:0xB653, mem_crc:0x4354, reg_crc:0x5816 +Testing eori_to_ccr...done. pre_crc:0x4DBC, mem_crc:0x0000, reg_crc:0x376D +Testing exg...done. pre_crc:0xD60F, mem_crc:0x0000, reg_crc:0x6655 +Testing ext...done. pre_crc:0x102B, mem_crc:0x0000, reg_crc:0x5F42 +Testing jmp_absl...done. pre_crc:0x92E3, mem_crc:0x0000, reg_crc:0xE269 +Testing jmp_ind...done. pre_crc:0xBF0A, mem_crc:0x0000, reg_crc:0x0AA9 +Testing jmp_d16...done. pre_crc:0x28D8, mem_crc:0x0000, reg_crc:0x3F9A +Testing jsr_absl...done. pre_crc:0xCF4F, mem_crc:0xD523, reg_crc:0xFB51 +Testing jsr_ind...done. pre_crc:0xC94B, mem_crc:0x6F05, reg_crc:0x977F +Testing jsr_d16...done. pre_crc:0xCFEF, mem_crc:0x019E, reg_crc:0xE319 +Testing lea_ind...done. pre_crc:0x2841, mem_crc:0x0000, reg_crc:0x0245 +Testing lea_d16...done. pre_crc:0x07E4, mem_crc:0x0000, reg_crc:0x4545 +Testing lea_absw...done. pre_crc:0xC6DC, mem_crc:0x0000, reg_crc:0x5E9D +Testing lea_absl...done. pre_crc:0x47AC, mem_crc:0x0000, reg_crc:0xD05B +Testing linkw...done. pre_crc:0xDB61, mem_crc:0x7026, reg_crc:0xA0D8 +Testing linkl...done. pre_crc:0x1E27, mem_crc:0x6E54, reg_crc:0xF963 +Testing move16_postinc_postinc...done. pre_crc:0x3CFE, mem_crc:0x4B4D, reg_crc:0x81EB +Testing move16_absl_ind...done. pre_crc:0x094F, mem_crc:0x42C0, reg_crc:0x5AA0 +Testing move16_absl_postinc...done. pre_crc:0x6CC5, mem_crc:0xB926, reg_crc:0x8799 +Testing move16_ind_absl...done. pre_crc:0x2C55, mem_crc:0x422D, reg_crc:0x81B2 +Testing move16_postinc_absl...done. pre_crc:0xE699, mem_crc:0xDABF, reg_crc:0x42CA +Testing moveb_dreg_dreg...done. pre_crc:0x83BB, mem_crc:0x0000, reg_crc:0x6813 +Testing movewl_reg_dreg...done. pre_crc:0x6187, mem_crc:0x0000, reg_crc:0x47AA +Testing moveb_ind_dreg...done. pre_crc:0x08CC, mem_crc:0x0000, reg_crc:0x6B1F +Testing movewl_ind_dreg...done. pre_crc:0x9581, mem_crc:0x0000, reg_crc:0x0CFC +Testing moveb_d16_dreg...done. pre_crc:0xB814, mem_crc:0x0000, reg_crc:0x377A +Testing movewl_d16_dreg...done. pre_crc:0xC000, mem_crc:0x0000, reg_crc:0x0170 +Testing moveb_absl_dreg...done. pre_crc:0x9AA5, mem_crc:0x0000, reg_crc:0x60F0 +Testing movewl_absl_dreg...done. pre_crc:0x227F, mem_crc:0x0000, reg_crc:0x586D +Testing movebw_const_dreg...done. pre_crc:0x127D, mem_crc:0x0000, reg_crc:0xD4D7 +Testing movel_const_dreg...done. pre_crc:0xC928, mem_crc:0x0000, reg_crc:0x0E79 +Testing moveb_dreg_ind...done. pre_crc:0x7F6D, mem_crc:0x47F5, reg_crc:0xC9A9 +Testing movewl_reg_ind...done. pre_crc:0xA287, mem_crc:0xAAA9, reg_crc:0x169D +Testing moveb_dreg_d16...done. pre_crc:0x5CD7, mem_crc:0xC339, reg_crc:0x4546 +Testing movewl_reg_d16...done. pre_crc:0x988B, mem_crc:0xEF83, reg_crc:0xAC11 +Testing moveb_dreg_absl...done. pre_crc:0x8D94, mem_crc:0x43EC, reg_crc:0x536C +Testing movewl_reg_absl...done. pre_crc:0x6A34, mem_crc:0x13B9, reg_crc:0x2025 +Testing moveb_ind_ind...done. pre_crc:0x2969, mem_crc:0x6BAB, reg_crc:0x0823 +Testing moveb_ind_d16...done. pre_crc:0x1CD0, mem_crc:0xC52E, reg_crc:0x9C63 +Testing moveb_d16_ind...done. pre_crc:0xDEB5, mem_crc:0x8346, reg_crc:0xF32D +Testing movewl_ind_d16...done. pre_crc:0xB13B, mem_crc:0xF10D, reg_crc:0xD887 +Testing movewl_d16_ind...done. pre_crc:0xA9C5, mem_crc:0xDDB1, reg_crc:0x7E50 +Testing moveb_d16_d16...done. pre_crc:0x9809, mem_crc:0x9E70, reg_crc:0x6FC3 +Testing movewl_d16_d16...done. pre_crc:0xB08B, mem_crc:0xD6C8, reg_crc:0x3E9E +Testing moveb_ind_absl...done. pre_crc:0xC82B, mem_crc:0x7054, reg_crc:0x550A +Testing movewl_ind_absl...done. pre_crc:0xE149, mem_crc:0xAC33, reg_crc:0x3410 +Testing moveb_absl_ind...done. pre_crc:0x20FD, mem_crc:0xF066, reg_crc:0x7EA0 +Testing movewl_absl_ind...done. pre_crc:0x6493, mem_crc:0x3C7E, reg_crc:0x8BD7 +Testing moveb_absl_absl...done. pre_crc:0x7A68, mem_crc:0x8B35, reg_crc:0xFA33 +Testing movewl_absl_absl...done. pre_crc:0x56BE, mem_crc:0xDEEE, reg_crc:0xF56C +Testing moveb_d16_absl...done. pre_crc:0xFAFB, mem_crc:0xDD2E, reg_crc:0x8F3D +Testing movewl_d16_absl...done. pre_crc:0xDCBB, mem_crc:0x3858, reg_crc:0x1BA0 +Testing moveb_absl_d16...done. pre_crc:0x1991, mem_crc:0x30D8, reg_crc:0x7853 +Testing movewl_absl_d16...done. pre_crc:0x2D4A, mem_crc:0x6011, reg_crc:0xBA3B +Testing moveb_const_ind...done. pre_crc:0x0EE8, mem_crc:0xE6CE, reg_crc:0x213A +Testing moveb_const_d16...done. pre_crc:0x296E, mem_crc:0xC84F, reg_crc:0xDBE7 +Testing moveb_const_absl...done. pre_crc:0xA129, mem_crc:0xE712, reg_crc:0x1760 +Testing movew_const_ind...done. pre_crc:0xD05B, mem_crc:0xF6E8, reg_crc:0x50D4 +Testing movew_const_d16...done. pre_crc:0x95B9, mem_crc:0xACDE, reg_crc:0xDDCF +Testing movew_const_absl...done. pre_crc:0x43A5, mem_crc:0x69DE, reg_crc:0xF732 +Testing movel_const_ind...done. pre_crc:0xA384, mem_crc:0xA49E, reg_crc:0x1C61 +Testing movel_const_d16...done. pre_crc:0x28D3, mem_crc:0xDB30, reg_crc:0xCC06 +Testing movel_const_absl...done. pre_crc:0x978E, mem_crc:0x950C, reg_crc:0xC1B9 +Testing movea_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0xB811 +Testing movea_ind...done. pre_crc:0xAD96, mem_crc:0x0000, reg_crc:0x2FF2 +Testing movea_d16...done. pre_crc:0x0402, mem_crc:0x0000, reg_crc:0xD8AA +Testing movea_absl...done. pre_crc:0xAB5F, mem_crc:0x0000, reg_crc:0x120F +Testing moveaw_const...done. pre_crc:0x7271, mem_crc:0x0000, reg_crc:0x7214 +Testing moveal_const...done. pre_crc:0xA9A3, mem_crc:0x0000, reg_crc:0x92C2 +Testing move_from_ccr_dreg...done. pre_crc:0x16FD, mem_crc:0x0000, reg_crc:0x50BD +Testing move_from_ccr_ind...done. pre_crc:0x8F13, mem_crc:0x0000, reg_crc:0x213A +Testing move_from_ccr_d16...done. pre_crc:0x796D, mem_crc:0x0000, reg_crc:0xB405 +Testing move_to_ccr_reg...done. pre_crc:0x6D76, mem_crc:0x0000, reg_crc:0x569C +Testing move_to_ccr_ind...done. pre_crc:0x652F, mem_crc:0x0000, reg_crc:0x4882 +Testing movem_to_ind...done. pre_crc:0xF9D5, mem_crc:0xD057, reg_crc:0x3AE4 +Testing movem_to_predec...done. pre_crc:0xC525, mem_crc:0xC71F, reg_crc:0x98D9 +Testing movem_to_d16...done. pre_crc:0xB834, mem_crc:0xFE79, reg_crc:0xE722 +Testing movem_to_absl...done. pre_crc:0xCB9F, mem_crc:0x16D3, reg_crc:0x0E7A +Testing movem_from_d16...done. pre_crc:0xB73D, mem_crc:0x0000, reg_crc:0x2160 +Testing movem_from_ind...done. pre_crc:0x553B, mem_crc:0x0000, reg_crc:0x6D85 +Testing movem_from_absl...done. pre_crc:0x2362, mem_crc:0x0000, reg_crc:0x1C0E +Testing movep_to_mem...done. pre_crc:0xA1C4, mem_crc:0xAC88, reg_crc:0x7FFD +Testing movep_from_mem...done. pre_crc:0xAE3B, mem_crc:0x0000, reg_crc:0x8523 +Testing moveq...done. pre_crc:0xA9CC, mem_crc:0x0000, reg_crc:0x92EC +Testing mulsw_dreg...done. pre_crc:0x0BA6, mem_crc:0x0000, reg_crc:0x4812 +Testing mulsw_ind...done. pre_crc:0x8FD7, mem_crc:0x0000, reg_crc:0x1AA7 +Testing mulsw_d16...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0x1B39 +Testing mulsw_absl...done. pre_crc:0x5A20, mem_crc:0x0000, reg_crc:0xB1D4 +Testing muluw_dreg...done. pre_crc:0xC121, mem_crc:0x0000, reg_crc:0x4833 +Testing muluw_ind...done. pre_crc:0x1169, mem_crc:0x0000, reg_crc:0x90AF +Testing muluw_d16...done. pre_crc:0x493D, mem_crc:0x0000, reg_crc:0x410F +Testing muluw_absl...done. pre_crc:0xA37F, mem_crc:0x0000, reg_crc:0xAD7C +Testing mulsl_dreg...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0x3972 +Testing mulsl_ind...done. pre_crc:0xD61C, mem_crc:0x0000, reg_crc:0xF4F4 +Testing mulsl_d16...done. pre_crc:0xDB3F, mem_crc:0x0000, reg_crc:0x496D +Testing mulsl_absl...done. pre_crc:0xDA78, mem_crc:0x0000, reg_crc:0xB18E +Testing mulul_dreg...done. pre_crc:0xD1F9, mem_crc:0x0000, reg_crc:0xBC70 +Testing mulul_ind...done. pre_crc:0x8E69, mem_crc:0x0000, reg_crc:0x3E85 +Testing mulul_d16...done. pre_crc:0x9EA1, mem_crc:0x0000, reg_crc:0x1023 +Testing mulul_absl...done. pre_crc:0x99CC, mem_crc:0x0000, reg_crc:0xDED1 +Testing nbcd_reg...done. pre_crc:0xF72C, mem_crc:0x0000, reg_crc:0x9EBA +Testing nbcd_ind...done. pre_crc:0x245F, mem_crc:0x4313, reg_crc:0x164A +Testing nbcd_d16...done. pre_crc:0xBCD0, mem_crc:0xE568, reg_crc:0x6E58 +Testing nbcd_absl...done. pre_crc:0x6A0D, mem_crc:0x8C9D, reg_crc:0x6752 +Testing neg_reg...done. pre_crc:0x076C, mem_crc:0x0000, reg_crc:0xA939 +Testing negb_ind...done. pre_crc:0x3D20, mem_crc:0xCF36, reg_crc:0x406B +Testing negwl_ind...done. pre_crc:0x6AE5, mem_crc:0xE5AB, reg_crc:0x2B55 +Testing negb_d16...done. pre_crc:0xD947, mem_crc:0xBC1C, reg_crc:0xCB25 +Testing negwl_d16...done. pre_crc:0x95A4, mem_crc:0xF8C1, reg_crc:0x0C11 +Testing neg_absl...done. pre_crc:0x9709, mem_crc:0xB9F7, reg_crc:0x75BF +Testing negx_reg...done. pre_crc:0x2945, mem_crc:0x0000, reg_crc:0xBBC9 +Testing negxb_ind...done. pre_crc:0xB1C9, mem_crc:0x8288, reg_crc:0x770A +Testing negxwl_ind...done. pre_crc:0xCC4C, mem_crc:0x6B6B, reg_crc:0x3BC1 +Testing negxb_d16...done. pre_crc:0xE88E, mem_crc:0xA67B, reg_crc:0xF291 +Testing negxwl_d16...done. pre_crc:0x2B5D, mem_crc:0xDC89, reg_crc:0x1D6F +Testing negx_absl...done. pre_crc:0xB436, mem_crc:0x126C, reg_crc:0x6539 +Testing nop...done. pre_crc:0xE15D, mem_crc:0x0000, reg_crc:0xC099 +Testing not_reg...done. pre_crc:0x1E52, mem_crc:0x0000, reg_crc:0xD81D +Testing notb_ind...done. pre_crc:0x1051, mem_crc:0xE573, reg_crc:0x5F00 +Testing notwl_ind...done. pre_crc:0x9729, mem_crc:0xFECB, reg_crc:0x75B9 +Testing notb_d16...done. pre_crc:0xCD8A, mem_crc:0xBC0B, reg_crc:0x7646 +Testing notwl_d16...done. pre_crc:0xB795, mem_crc:0x9C63, reg_crc:0x336F +Testing not_absl...done. pre_crc:0xD5B9, mem_crc:0x8C3E, reg_crc:0x21FF +Testing or_dreg_dreg...done. pre_crc:0x6841, mem_crc:0x0000, reg_crc:0x600C +Testing or_ind_dreg...done. pre_crc:0x2A23, mem_crc:0x0000, reg_crc:0xA095 +Testing or_d16_dreg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0x2B95 +Testing or_absl_dreg...done. pre_crc:0x8E60, mem_crc:0x0000, reg_crc:0x5681 +Testing orbw_const_dreg...done. pre_crc:0x53ED, mem_crc:0x0000, reg_crc:0xF240 +Testing orl_const_dreg...done. pre_crc:0xEB5D, mem_crc:0x0000, reg_crc:0x7901 +Testing or_dreg_ind...done. pre_crc:0xDC04, mem_crc:0x4703, reg_crc:0x25F2 +Testing or_dreg_d16...done. pre_crc:0x78A5, mem_crc:0x9C3A, reg_crc:0x2247 +Testing or_dreg_absl...done. pre_crc:0x0957, mem_crc:0x0944, reg_crc:0x5590 +Testing oribw_dreg...done. pre_crc:0xF341, mem_crc:0x0000, reg_crc:0x8098 +Testing oril_dreg...done. pre_crc:0x3B7C, mem_crc:0x0000, reg_crc:0x339A +Testing oribw_ind...done. pre_crc:0xB681, mem_crc:0xA9E7, reg_crc:0x0CB7 +Testing oril_ind...done. pre_crc:0xE04E, mem_crc:0x3F8D, reg_crc:0xB2FF +Testing oribw_d16...done. pre_crc:0x14BC, mem_crc:0x0D5D, reg_crc:0x91FE +Testing oril_d16...done. pre_crc:0xE380, mem_crc:0xC4EA, reg_crc:0x5831 +Testing oribw_absl...done. pre_crc:0xDCA8, mem_crc:0xE20F, reg_crc:0xB242 +Testing oril_absl...done. pre_crc:0xB00B, mem_crc:0xC113, reg_crc:0x50BD +Testing ori_to_ccr...done. pre_crc:0x1C02, mem_crc:0x0000, reg_crc:0xBCB6 +Testing pack_reg...done. pre_crc:0x11BA, mem_crc:0x0000, reg_crc:0x6966 +Testing pack_mem...done. pre_crc:0xE0F6, mem_crc:0xC40B, reg_crc:0x175C +Testing pea_ind...done. pre_crc:0x7ECE, mem_crc:0x5D7C, reg_crc:0x19A7 +Testing pea_d16...done. pre_crc:0xECB5, mem_crc:0x89C8, reg_crc:0x3E01 +Testing pea_absw...done. pre_crc:0x5428, mem_crc:0x79E6, reg_crc:0x2A13 +Testing pea_absl...done. pre_crc:0x382C, mem_crc:0xA2CE, reg_crc:0xADBA +Testing rol_dx_dy...done. pre_crc:0x217C, mem_crc:0x0000, reg_crc:0x2329 +Testing rol_const_dy...done. pre_crc:0x7B69, mem_crc:0x0000, reg_crc:0x5547 +Testing rol_ind...done. pre_crc:0x0BF5, mem_crc:0x69D7, reg_crc:0x6B32 +Testing rol_d16...done. pre_crc:0x7C79, mem_crc:0xEDEB, reg_crc:0x9A87 +Testing rol_absl...done. pre_crc:0xD7EB, mem_crc:0xD177, reg_crc:0xAF90 +Testing ror_dx_dy...done. pre_crc:0x8FCD, mem_crc:0x0000, reg_crc:0x9999 +Testing ror_const_dy...done. pre_crc:0xABFD, mem_crc:0x0000, reg_crc:0xA425 +Testing ror_ind...done. pre_crc:0x6DEC, mem_crc:0x0055, reg_crc:0x6ED3 +Testing ror_d16...done. pre_crc:0x7A76, mem_crc:0x86D9, reg_crc:0x2651 +Testing ror_absl...done. pre_crc:0x9C80, mem_crc:0x3F27, reg_crc:0xA4F4 +Testing roxl_dx_dy...done. pre_crc:0xFEC8, mem_crc:0x0000, reg_crc:0x94CB +Testing roxl_const_dy...done. pre_crc:0x04B3, mem_crc:0x0000, reg_crc:0xBF37 +Testing roxl_ind...done. pre_crc:0xF4A0, mem_crc:0xDBBE, reg_crc:0xD08C +Testing roxl_d16...done. pre_crc:0xC4CD, mem_crc:0x6A47, reg_crc:0x97DC +Testing roxl_absl...done. pre_crc:0xA755, mem_crc:0x1203, reg_crc:0x8E1B +Testing roxr_dx_dy...done. pre_crc:0x2369, mem_crc:0x0000, reg_crc:0x7AA1 +Testing roxr_const_dy...done. pre_crc:0x93CE, mem_crc:0x0000, reg_crc:0x6017 +Testing roxr_ind...done. pre_crc:0xFE5A, mem_crc:0x9FA6, reg_crc:0xCEF7 +Testing roxr_d16...done. pre_crc:0xCC59, mem_crc:0x46D6, reg_crc:0xBB9C +Testing roxr_absl...done. pre_crc:0x4476, mem_crc:0xF725, reg_crc:0xBD93 +Testing rtd...done. pre_crc:0xBA73, mem_crc:0x0000, reg_crc:0x60C3 +Testing rtr...done. pre_crc:0x6643, mem_crc:0x0000, reg_crc:0x5225 +Testing rts...done. pre_crc:0x7211, mem_crc:0x0000, reg_crc:0x6CD1 +Testing sbcd_reg...done. pre_crc:0xCDA1, mem_crc:0x0000, reg_crc:0x91BF +Testing sbcd_mem...done. pre_crc:0xF6E5, mem_crc:0x0528, reg_crc:0x0F56 +Testing Scc_reg...done. pre_crc:0x37C2, mem_crc:0x0000, reg_crc:0x56C9 +Testing Scc_ind...done. pre_crc:0x618C, mem_crc:0x56AF, reg_crc:0x13DC +Testing Scc_d16...done. pre_crc:0x336D, mem_crc:0x5F5F, reg_crc:0xFC4B +Testing Scc_absl...done. pre_crc:0x32D5, mem_crc:0x5B92, reg_crc:0x72F3 +Testing subb_dreg_dreg...done. pre_crc:0x2350, mem_crc:0x0000, reg_crc:0xFF11 +Testing subw_reg_dreg...done. pre_crc:0x9281, mem_crc:0x0000, reg_crc:0x6382 +Testing subl_reg_dreg...done. pre_crc:0xAA4A, mem_crc:0x0000, reg_crc:0xC936 +Testing sub_ind_dreg...done. pre_crc:0x9848, mem_crc:0x0000, reg_crc:0x5886 +Testing sub_d16_dreg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0x5149 +Testing sub_absl_dreg...done. pre_crc:0xCC84, mem_crc:0x0000, reg_crc:0xE385 +Testing subb_const_dreg...done. pre_crc:0xB94A, mem_crc:0x0000, reg_crc:0xB33E +Testing subw_const_dreg...done. pre_crc:0x055E, mem_crc:0x0000, reg_crc:0x933A +Testing subl_const_dreg...done. pre_crc:0xA7B1, mem_crc:0x0000, reg_crc:0xC291 +Testing sub_dreg_ind...done. pre_crc:0x5622, mem_crc:0x6A59, reg_crc:0xB147 +Testing sub_dreg_d16...done. pre_crc:0x0DC8, mem_crc:0x7575, reg_crc:0x8F15 +Testing sub_dreg_absl...done. pre_crc:0xC205, mem_crc:0xEC97, reg_crc:0x4D17 +Testing subaw_reg_areg...done. pre_crc:0x03F2, mem_crc:0x0000, reg_crc:0x5BCD +Testing subal_reg_areg...done. pre_crc:0x3E77, mem_crc:0x0000, reg_crc:0x39CC +Testing suba_ind_areg...done. pre_crc:0x9FE3, mem_crc:0x0000, reg_crc:0xEACD +Testing suba_d16_areg...done. pre_crc:0x00C4, mem_crc:0x0000, reg_crc:0x4919 +Testing suba_absl_areg...done. pre_crc:0x9261, mem_crc:0x0000, reg_crc:0x42AF +Testing subaw_const_areg...done. pre_crc:0x5AAD, mem_crc:0x0000, reg_crc:0x94D3 +Testing subal_const_areg...done. pre_crc:0x2FC0, mem_crc:0x0000, reg_crc:0x3419 +Testing subibw_dreg...done. pre_crc:0x6A48, mem_crc:0x0000, reg_crc:0x052D +Testing subil_dreg...done. pre_crc:0x6349, mem_crc:0x0000, reg_crc:0xA0E4 +Testing subibw_ind...done. pre_crc:0x52FF, mem_crc:0xF4FE, reg_crc:0x8354 +Testing subil_ind...done. pre_crc:0xFC3E, mem_crc:0x7D44, reg_crc:0xB634 +Testing subibw_d16...done. pre_crc:0xC836, mem_crc:0xF571, reg_crc:0x1086 +Testing subil_d16...done. pre_crc:0x8978, mem_crc:0x6560, reg_crc:0x8B59 +Testing subibw_absl...done. pre_crc:0x75AB, mem_crc:0x72C5, reg_crc:0x86B6 +Testing subil_absl...done. pre_crc:0xD3DB, mem_crc:0x3B10, reg_crc:0xBF94 +Testing subq_dreg...done. pre_crc:0x9220, mem_crc:0x0000, reg_crc:0x0F12 +Testing subq_areg...done. pre_crc:0x45C7, mem_crc:0x0000, reg_crc:0xD6DA +Testing subq_ind...done. pre_crc:0x8F48, mem_crc:0xDAD3, reg_crc:0x655A +Testing subq_d16...done. pre_crc:0xCE60, mem_crc:0x5FC5, reg_crc:0x4F8A +Testing subq_absl...done. pre_crc:0x4D37, mem_crc:0x4345, reg_crc:0xD730 +Testing subx_reg...done. pre_crc:0xDA03, mem_crc:0x0000, reg_crc:0x3A93 +Testing subx_mem...done. pre_crc:0x75AD, mem_crc:0xF219, reg_crc:0xA366 +Testing swap...done. pre_crc:0x9AAC, mem_crc:0x0000, reg_crc:0x0762 +Testing tas_dreg...done. pre_crc:0xFE8A, mem_crc:0x0000, reg_crc:0x6F12 +Testing tas_ind...done. pre_crc:0xC50A, mem_crc:0x2A85, reg_crc:0xAA12 +Testing tas_d16...done. pre_crc:0x20AD, mem_crc:0x4A8A, reg_crc:0x5208 +Testing tas_absl...done. pre_crc:0x4AA3, mem_crc:0xC2A2, reg_crc:0x4848 +Testing tstb_dreg...done. pre_crc:0xD8B1, mem_crc:0x0000, reg_crc:0x8424 +Testing tstwl_reg...done. pre_crc:0xA295, mem_crc:0x0000, reg_crc:0x0A39 +Testing tstb_ind...done. pre_crc:0x76C6, mem_crc:0x0000, reg_crc:0xD5A1 +Testing tstwl_ind...done. pre_crc:0xD101, mem_crc:0x0000, reg_crc:0xA7DC +Testing tstb_d16...done. pre_crc:0x119B, mem_crc:0x0000, reg_crc:0xBAFB +Testing tstwl_d16...done. pre_crc:0xF63C, mem_crc:0x0000, reg_crc:0x832F +Testing tst_absl...done. pre_crc:0x2C65, mem_crc:0x0000, reg_crc:0x0BF4 diff --git a/test/new.noncc.1000 b/test/new.noncc.1000 new file mode 100644 index 0000000..d7934e0 --- /dev/null +++ b/test/new.noncc.1000 @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing unpk_reg...done. pre_crc:0x1F3D, mem_crc:0x0000, reg_crc:0xAC71 +Testing unpk_mem...done. pre_crc:0x0EE7, mem_crc:0x5353, reg_crc:0x6941 +Testing unlk...done. pre_crc:0xFBBC, mem_crc:0x0000, reg_crc:0x9A5A +Testing movewl_ind_ind...done. pre_crc:0xBE82, mem_crc:0xF157, reg_crc:0x0C77 +Testing divsl_ll_reg...done. pre_crc:0x656B, mem_crc:0x0000, reg_crc:0xC374 +Testing divsl_ll_ind...done. pre_crc:0xD9AF, mem_crc:0x0000, reg_crc:0x7E3F +Testing divsl_ll_absl...done. pre_crc:0xDE0B, mem_crc:0x0000, reg_crc:0xF4E5 +Testing lea_pc_ind_preix...done. pre_crc:0x27EC, mem_crc:0x0000, reg_crc:0xE122 +Testing lea_pc_ind_postix...done. pre_crc:0x15D7, mem_crc:0x0000, reg_crc:0xB12B +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0xCAA9, mem_crc:0x0000, reg_crc:0xE712 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0xEF03, mem_crc:0x0000, reg_crc:0xE1BE +Testing moveb_pcd16_dreg...done. pre_crc:0xBD7F, mem_crc:0x0000, reg_crc:0x5707 +Testing movewl_pcd16_dreg...done. pre_crc:0xB5C5, mem_crc:0x0000, reg_crc:0xBB0A +Testing moveb_pcd8_dreg...done. pre_crc:0x62B9, mem_crc:0x0000, reg_crc:0x71BE +Testing movewl_pcd8_dreg...done. pre_crc:0x06BA, mem_crc:0x0000, reg_crc:0xA7FD +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x1F05, mem_crc:0x0000, reg_crc:0x76F7 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xB87B +Testing lea_ind_preix...done. pre_crc:0x891C, mem_crc:0x0000, reg_crc:0xB037 +Testing lea_ind_postix...done. pre_crc:0x6A65, mem_crc:0x0000, reg_crc:0xDE44 +Testing add_absl_dreg...done. pre_crc:0xCF43, mem_crc:0x0000, reg_crc:0xC76E +Testing abcd_reg...done. pre_crc:0xB1DF, mem_crc:0x0000, reg_crc:0x4A83 +Testing abcd_mem...done. pre_crc:0x5F46, mem_crc:0x8D2B, reg_crc:0x8FA8 +Testing addb_dreg_dreg...done. pre_crc:0x20E0, mem_crc:0x0000, reg_crc:0x567E +Testing addw_reg_dreg...done. pre_crc:0x43CF, mem_crc:0x0000, reg_crc:0xB2CC +Testing addl_reg_dreg...done. pre_crc:0xE016, mem_crc:0x0000, reg_crc:0x9FE7 +Testing add_d16_dreg...done. pre_crc:0x9D2B, mem_crc:0x0000, reg_crc:0xEC75 +Testing addb_const_dreg...done. pre_crc:0x1FF2, mem_crc:0x0000, reg_crc:0x98D9 +Testing addw_const_dreg...done. pre_crc:0xC685, mem_crc:0x0000, reg_crc:0x521C +Testing add_dreg_ind...done. pre_crc:0xB5A9, mem_crc:0x5D6E, reg_crc:0xA45B +Testing add_ind_dreg...done. pre_crc:0x3762, mem_crc:0x0000, reg_crc:0xD99D +Testing addl_const_dreg...done. pre_crc:0xFAAF, mem_crc:0x0000, reg_crc:0xC8FE +Testing add_dreg_d16...done. pre_crc:0x331D, mem_crc:0xE412, reg_crc:0xE315 +Testing add_dreg_absl...done. pre_crc:0x4D7B, mem_crc:0x6815, reg_crc:0x0C1E +Testing addaw_reg_areg...done. pre_crc:0xF8FC, mem_crc:0x0000, reg_crc:0xC268 +Testing addal_reg_areg...done. pre_crc:0xA018, mem_crc:0x0000, reg_crc:0x979D +Testing adda_ind_areg...done. pre_crc:0xEDAE, mem_crc:0x0000, reg_crc:0x02A4 +Testing adda_d16_areg...done. pre_crc:0xE95E, mem_crc:0x0000, reg_crc:0x3126 +Testing adda_absl_areg...done. pre_crc:0xA76E, mem_crc:0x0000, reg_crc:0x1F29 +Testing addaw_const_areg...done. pre_crc:0x6A1C, mem_crc:0x0000, reg_crc:0x1EB2 +Testing addal_const_areg...done. pre_crc:0x3672, mem_crc:0x0000, reg_crc:0xF960 +Testing addibw_dreg...done. pre_crc:0x839C, mem_crc:0x0000, reg_crc:0x27E1 +Testing addil_dreg...done. pre_crc:0x9A10, mem_crc:0x0000, reg_crc:0x7A32 +Testing addibw_ind...done. pre_crc:0xEC9E, mem_crc:0xA219, reg_crc:0x25DF +Testing addil_ind...done. pre_crc:0xD231, mem_crc:0xF7B0, reg_crc:0x1A8F +Testing addibw_d16...done. pre_crc:0xD69C, mem_crc:0xC67E, reg_crc:0x841D +Testing addil_d16...done. pre_crc:0x0CBF, mem_crc:0x1F85, reg_crc:0x3E16 +Testing addibw_absl...done. pre_crc:0x2F0B, mem_crc:0xC88C, reg_crc:0x6F35 +Testing addil_absl...done. pre_crc:0x1101, mem_crc:0x7F58, reg_crc:0xDB72 +Testing addq_dreg...done. pre_crc:0xC50A, mem_crc:0x0000, reg_crc:0x78B1 +Testing addq_areg...done. pre_crc:0xC07C, mem_crc:0x0000, reg_crc:0x266E +Testing addq_ind...done. pre_crc:0x500D, mem_crc:0x3317, reg_crc:0x57FB +Testing addq_d16...done. pre_crc:0x8CE9, mem_crc:0x94A2, reg_crc:0x0486 +Testing addq_absl...done. pre_crc:0x7313, mem_crc:0x070B, reg_crc:0xA897 +Testing addx_reg...done. pre_crc:0xD26E, mem_crc:0x0000, reg_crc:0xBAAD +Testing addx_mem...done. pre_crc:0x44E7, mem_crc:0x03ED, reg_crc:0x2915 +Testing and_dreg_dreg...done. pre_crc:0xBB54, mem_crc:0x0000, reg_crc:0xCF35 +Testing and_ind_dreg...done. pre_crc:0x012D, mem_crc:0x0000, reg_crc:0xE8CC +Testing and_d16_dreg...done. pre_crc:0x15C5, mem_crc:0x0000, reg_crc:0x9C7E +Testing and_absl_dreg...done. pre_crc:0xC127, mem_crc:0x0000, reg_crc:0x581F +Testing andbw_const_dreg...done. pre_crc:0x27F4, mem_crc:0x0000, reg_crc:0x3ADE +Testing andl_const_dreg...done. pre_crc:0x8217, mem_crc:0x0000, reg_crc:0x06D8 +Testing and_dreg_ind...done. pre_crc:0x2BA1, mem_crc:0x7934, reg_crc:0x5E6E +Testing and_dreg_d16...done. pre_crc:0x0196, mem_crc:0xBCCE, reg_crc:0xA02B +Testing and_dreg_absl...done. pre_crc:0xEAF8, mem_crc:0x55E1, reg_crc:0x04D5 +Testing andibw_dreg...done. pre_crc:0xAD7B, mem_crc:0x0000, reg_crc:0xAE92 +Testing andil_dreg...done. pre_crc:0x8FDE, mem_crc:0x0000, reg_crc:0x074F +Testing andibw_ind...done. pre_crc:0xD381, mem_crc:0xA0E8, reg_crc:0xFD75 +Testing andil_ind...done. pre_crc:0x38EE, mem_crc:0x7D99, reg_crc:0x0096 +Testing andibw_d16...done. pre_crc:0x6934, mem_crc:0x6715, reg_crc:0xA2CE +Testing andil_d16...done. pre_crc:0xBFB8, mem_crc:0x0710, reg_crc:0x011F +Testing andibw_absl...done. pre_crc:0xDFD3, mem_crc:0xC107, reg_crc:0x3DCB +Testing andil_absl...done. pre_crc:0x8555, mem_crc:0x5D4A, reg_crc:0x83C4 +Testing andi_to_ccr...done. pre_crc:0x4F9D, mem_crc:0x0000, reg_crc:0x50CC +Testing asl_dx_dy...done. pre_crc:0x062B, mem_crc:0x0000, reg_crc:0xB4EE +Testing asl_const_dy...done. pre_crc:0x5B80, mem_crc:0x0000, reg_crc:0x35A5 +Testing asl_ind...done. pre_crc:0x4CE7, mem_crc:0x1ADF, reg_crc:0x6971 +Testing asl_d16...done. pre_crc:0xC1C7, mem_crc:0x34A8, reg_crc:0x40B3 +Testing asl_absl...done. pre_crc:0xA49B, mem_crc:0x244D, reg_crc:0x1FE5 +Testing asr_dx_dy...done. pre_crc:0x8AA7, mem_crc:0x0000, reg_crc:0x30E4 +Testing asr_const_dy...done. pre_crc:0x5EDC, mem_crc:0x0000, reg_crc:0x0DE0 +Testing asr_ind...done. pre_crc:0xA13A, mem_crc:0x11BD, reg_crc:0x2130 +Testing asr_d16...done. pre_crc:0x56AE, mem_crc:0xF0E1, reg_crc:0xF314 +Testing asr_absl...done. pre_crc:0xE3DB, mem_crc:0x44FC, reg_crc:0x764C +Testing lsl_dx_dy...done. pre_crc:0xE157, mem_crc:0x0000, reg_crc:0xCE7F +Testing lsl_const_dy...done. pre_crc:0x9A6B, mem_crc:0x0000, reg_crc:0x3108 +Testing lsl_ind...done. pre_crc:0xD0A8, mem_crc:0x4CD9, reg_crc:0x90ED +Testing lsl_d16...done. pre_crc:0xFB72, mem_crc:0xB023, reg_crc:0x589D +Testing lsl_absl...done. pre_crc:0xF80F, mem_crc:0x8B66, reg_crc:0x0582 +Testing lsr_dx_dy...done. pre_crc:0xDFC8, mem_crc:0x0000, reg_crc:0x0CCC +Testing lsr_const_dy...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x29D5 +Testing lsr_ind...done. pre_crc:0xE22B, mem_crc:0x24CC, reg_crc:0x0DC8 +Testing lsr_d16...done. pre_crc:0x866A, mem_crc:0x66FF, reg_crc:0x5BF4 +Testing lsr_absl...done. pre_crc:0x839F, mem_crc:0xACDE, reg_crc:0x0176 +Testing bra_b...done. pre_crc:0x0EC7, mem_crc:0x0000, reg_crc:0x51DA +Testing bhi_b...done. pre_crc:0xD9BB, mem_crc:0x0000, reg_crc:0x2163 +Testing bls_b...done. pre_crc:0xE6D0, mem_crc:0x0000, reg_crc:0x2668 +Testing bcc_b...done. pre_crc:0x8EF8, mem_crc:0x0000, reg_crc:0xE985 +Testing bcs_b...done. pre_crc:0xA946, mem_crc:0x0000, reg_crc:0x464A +Testing bne_b...done. pre_crc:0x7188, mem_crc:0x0000, reg_crc:0x4774 +Testing beq_b...done. pre_crc:0xBC35, mem_crc:0x0000, reg_crc:0xC093 +Testing bvc_b...done. pre_crc:0xFF8E, mem_crc:0x0000, reg_crc:0xB711 +Testing bvs_b...done. pre_crc:0x6C9F, mem_crc:0x0000, reg_crc:0xA18C +Testing bpl_b...done. pre_crc:0xD9A8, mem_crc:0x0000, reg_crc:0x073B +Testing bmi_b...done. pre_crc:0x83CE, mem_crc:0x0000, reg_crc:0x4FFE +Testing bge_b...done. pre_crc:0xCC8C, mem_crc:0x0000, reg_crc:0x18B7 +Testing blt_b...done. pre_crc:0x890F, mem_crc:0x0000, reg_crc:0x8B33 +Testing bgt_b...done. pre_crc:0xC3F7, mem_crc:0x0000, reg_crc:0xE8DD +Testing ble_b...done. pre_crc:0x877F, mem_crc:0x0000, reg_crc:0xD64F +Testing bra_w...done. pre_crc:0xC414, mem_crc:0x0000, reg_crc:0xCA35 +Testing bhi_w...done. pre_crc:0x71A6, mem_crc:0x0000, reg_crc:0x22CC +Testing bls_w...done. pre_crc:0x92AF, mem_crc:0x0000, reg_crc:0xDB12 +Testing bcc_w...done. pre_crc:0xE091, mem_crc:0x0000, reg_crc:0x7DE1 +Testing bcs_w...done. pre_crc:0xD3F8, mem_crc:0x0000, reg_crc:0x2CF7 +Testing bne_w...done. pre_crc:0xCFD1, mem_crc:0x0000, reg_crc:0xBF04 +Testing beq_w...done. pre_crc:0x0EB1, mem_crc:0x0000, reg_crc:0xFD97 +Testing bvc_w...done. pre_crc:0x05D4, mem_crc:0x0000, reg_crc:0xB499 +Testing bvs_w...done. pre_crc:0x964B, mem_crc:0x0000, reg_crc:0x6F42 +Testing bpl_w...done. pre_crc:0x9D4D, mem_crc:0x0000, reg_crc:0x8B72 +Testing bmi_w...done. pre_crc:0x97DF, mem_crc:0x0000, reg_crc:0xA4F2 +Testing bge_w...done. pre_crc:0xF568, mem_crc:0x0000, reg_crc:0x2031 +Testing blt_w...done. pre_crc:0xCF94, mem_crc:0x0000, reg_crc:0x3F09 +Testing bgt_w...done. pre_crc:0xEF35, mem_crc:0x0000, reg_crc:0xD026 +Testing ble_w...done. pre_crc:0xB98E, mem_crc:0x0000, reg_crc:0xA365 +Testing bra_l...done. pre_crc:0xBACA, mem_crc:0x0000, reg_crc:0xCCF0 +Testing bhi_l...done. pre_crc:0xB039, mem_crc:0x0000, reg_crc:0x74E2 +Testing bls_l...done. pre_crc:0xB0AA, mem_crc:0x0000, reg_crc:0x4F5B +Testing bcc_l...done. pre_crc:0xD15B, mem_crc:0x0000, reg_crc:0xA063 +Testing bcs_l...done. pre_crc:0xAC0F, mem_crc:0x0000, reg_crc:0x20B9 +Testing bne_l...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xDCA2 +Testing beq_l...done. pre_crc:0x4F57, mem_crc:0x0000, reg_crc:0x699F +Testing bvc_l...done. pre_crc:0x2D2E, mem_crc:0x0000, reg_crc:0xEA0E +Testing bvs_l...done. pre_crc:0x4721, mem_crc:0x0000, reg_crc:0x535F +Testing bpl_l...done. pre_crc:0xB174, mem_crc:0x0000, reg_crc:0x21A0 +Testing bmi_l...done. pre_crc:0x64D4, mem_crc:0x0000, reg_crc:0x77B4 +Testing bge_l...done. pre_crc:0x037A, mem_crc:0x0000, reg_crc:0x730E +Testing blt_l...done. pre_crc:0xF621, mem_crc:0x0000, reg_crc:0x0F74 +Testing bgt_l...done. pre_crc:0x31F0, mem_crc:0x0000, reg_crc:0x0BE3 +Testing ble_l...done. pre_crc:0x4D59, mem_crc:0x0000, reg_crc:0xCC8E +Testing bchg_reg_reg...done. pre_crc:0xFF1A, mem_crc:0x0000, reg_crc:0x6522 +Testing bchg_const_reg...done. pre_crc:0x795A, mem_crc:0x0000, reg_crc:0xCC22 +Testing bchg_reg_ind...done. pre_crc:0x5A32, mem_crc:0x65BB, reg_crc:0x89E0 +Testing bchg_const_ind...done. pre_crc:0xC683, mem_crc:0xF1E9, reg_crc:0xF003 +Testing bchg_reg_d16...done. pre_crc:0x83EC, mem_crc:0x6885, reg_crc:0x9725 +Testing bchg_const_d16...done. pre_crc:0xC2BF, mem_crc:0x5870, reg_crc:0xB7DB +Testing bchg_reg_absl...done. pre_crc:0xB0F9, mem_crc:0x1136, reg_crc:0x8E21 +Testing bchg_const_absl...done. pre_crc:0x04D7, mem_crc:0x1A94, reg_crc:0xD592 +Testing bclr_reg_reg...done. pre_crc:0x0C0E, mem_crc:0x0000, reg_crc:0xB516 +Testing bclr_const_reg...done. pre_crc:0x6D5E, mem_crc:0x0000, reg_crc:0x6A5C +Testing bclr_reg_ind...done. pre_crc:0xB7D0, mem_crc:0x938D, reg_crc:0x01FB +Testing bclr_const_ind...done. pre_crc:0x4FF1, mem_crc:0x94A8, reg_crc:0x37A7 +Testing bclr_reg_d16...done. pre_crc:0x6F3E, mem_crc:0x315B, reg_crc:0x44C9 +Testing bclr_const_d16...done. pre_crc:0xE75B, mem_crc:0x65C9, reg_crc:0x4CA2 +Testing bclr_reg_absl...done. pre_crc:0x1506, mem_crc:0x3C41, reg_crc:0xD453 +Testing bclr_const_absl...done. pre_crc:0xE8B3, mem_crc:0xB441, reg_crc:0x0123 +Testing bset_reg_reg...done. pre_crc:0xB356, mem_crc:0x0000, reg_crc:0xE187 +Testing bset_const_reg...done. pre_crc:0xEDBD, mem_crc:0x0000, reg_crc:0xC7A8 +Testing bset_reg_ind...done. pre_crc:0x7EE9, mem_crc:0x96F0, reg_crc:0xA732 +Testing bset_const_ind...done. pre_crc:0xA700, mem_crc:0xBE0C, reg_crc:0x9D4F +Testing bset_reg_d16...done. pre_crc:0x75B5, mem_crc:0xE495, reg_crc:0x61CD +Testing bset_const_d16...done. pre_crc:0xF258, mem_crc:0x0D3D, reg_crc:0x0D07 +Testing bset_reg_absl...done. pre_crc:0xB043, mem_crc:0x284E, reg_crc:0x11A0 +Testing bset_const_absl...done. pre_crc:0x5D9E, mem_crc:0x7E28, reg_crc:0xF0DD +Testing btst_reg_reg...done. pre_crc:0xA588, mem_crc:0x0000, reg_crc:0x6A95 +Testing btst_const_reg...done. pre_crc:0xB9CF, mem_crc:0x0000, reg_crc:0x8625 +Testing btst_reg_ind...done. pre_crc:0x2A5D, mem_crc:0x0000, reg_crc:0x0C3C +Testing btst_const_ind...done. pre_crc:0x4E1E, mem_crc:0x0000, reg_crc:0x8B1B +Testing btst_reg_d16...done. pre_crc:0x0CB7, mem_crc:0x0000, reg_crc:0x8FC1 +Testing btst_const_d16...done. pre_crc:0x8E14, mem_crc:0x0000, reg_crc:0x92B0 +Testing btst_reg_absl...done. pre_crc:0x6B35, mem_crc:0x0000, reg_crc:0x1916 +Testing btst_const_absl...done. pre_crc:0x425A, mem_crc:0x0000, reg_crc:0xB00E +Testing bfchg_reg...done. pre_crc:0xA4B5, mem_crc:0x0000, reg_crc:0xE156 +Testing bfchg_ind...done. pre_crc:0x5DA8, mem_crc:0x39B8, reg_crc:0xCDA2 +Testing bfchg_d16...done. pre_crc:0xE8DC, mem_crc:0xF917, reg_crc:0xE28B +Testing bfchg_absl...done. pre_crc:0x2004, mem_crc:0xB689, reg_crc:0x510D +Testing bfclr_reg...done. pre_crc:0x07B8, mem_crc:0x0000, reg_crc:0x1015 +Testing bfclr_ind...done. pre_crc:0xC7D1, mem_crc:0xBF2F, reg_crc:0x379E +Testing bfclr_d16...done. pre_crc:0xC5A9, mem_crc:0xD0B9, reg_crc:0x3387 +Testing bfclr_absl...done. pre_crc:0xCDCE, mem_crc:0x752F, reg_crc:0xCDCD +Testing bfset_reg...done. pre_crc:0x9214, mem_crc:0x0000, reg_crc:0xA483 +Testing bfset_ind...done. pre_crc:0xD7A1, mem_crc:0xC2F4, reg_crc:0xB007 +Testing bfset_d16...done. pre_crc:0x100F, mem_crc:0xC6F3, reg_crc:0x5996 +Testing bfset_absl...done. pre_crc:0x0A9A, mem_crc:0xAE7A, reg_crc:0x9C7D +Testing bftst_reg...done. pre_crc:0xF16B, mem_crc:0x0000, reg_crc:0x8782 +Testing bftst_ind...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xD0B5 +Testing bftst_d16...done. pre_crc:0xCFD3, mem_crc:0x0000, reg_crc:0x8332 +Testing bftst_absl...done. pre_crc:0xE060, mem_crc:0x0000, reg_crc:0xE63E +Testing bfexts_reg...done. pre_crc:0x737B, mem_crc:0x0000, reg_crc:0xC61B +Testing bfexts_ind...done. pre_crc:0xC430, mem_crc:0x0000, reg_crc:0x1BFC +Testing bfexts_d16...done. pre_crc:0x80C0, mem_crc:0x0000, reg_crc:0x0DA4 +Testing bfexts_absl...done. pre_crc:0x1568, mem_crc:0x0000, reg_crc:0x9861 +Testing bfextu_reg...done. pre_crc:0x85B8, mem_crc:0x0000, reg_crc:0x99E1 +Testing bfextu_ind...done. pre_crc:0x144C, mem_crc:0x0000, reg_crc:0x1C26 +Testing bfextu_d16...done. pre_crc:0x1467, mem_crc:0x0000, reg_crc:0x8E35 +Testing bfextu_absl...done. pre_crc:0xA51B, mem_crc:0x0000, reg_crc:0x9F95 +Testing bfffo_reg...done. pre_crc:0x6856, mem_crc:0x0000, reg_crc:0x30C6 +Testing bfffo_ind...done. pre_crc:0xE7FE, mem_crc:0x0000, reg_crc:0xC3DD +Testing bfffo_d16...done. pre_crc:0x4966, mem_crc:0x0000, reg_crc:0x5297 +Testing bfffo_absl...done. pre_crc:0x0E71, mem_crc:0x0000, reg_crc:0xE8D1 +Testing bfins_reg...done. pre_crc:0x6B79, mem_crc:0x0000, reg_crc:0x7025 +Testing bfins_ind...done. pre_crc:0xAFF6, mem_crc:0x40AE, reg_crc:0xEE06 +Testing bfins_d16...done. pre_crc:0xE106, mem_crc:0xF8A4, reg_crc:0xDF10 +Testing bfins_absl...done. pre_crc:0xF741, mem_crc:0xDD71, reg_crc:0x9A3F +Testing bsr_b...done. pre_crc:0x58D5, mem_crc:0xF1FE, reg_crc:0x9BF4 +Testing bsr_w...done. pre_crc:0x6EBB, mem_crc:0x19DC, reg_crc:0x9584 +Testing bsr_l...done. pre_crc:0xF012, mem_crc:0x92EC, reg_crc:0x3D37 +Testing cas_ind...done. pre_crc:0x8643, mem_crc:0x3FCC, reg_crc:0x8BA5 +Testing cas2_areg...done. pre_crc:0x6AE9, mem_crc:0x02EC, reg_crc:0xC58B +Testing cas2_anyreg...done. pre_crc:0x13E8, mem_crc:0x8FA2, reg_crc:0xFF35 +Testing clr_reg...done. pre_crc:0xED40, mem_crc:0x0000, reg_crc:0xD389 +Testing clrb_ind...done. pre_crc:0xE79F, mem_crc:0xE27D, reg_crc:0xFC2B +Testing clrwl_ind...done. pre_crc:0x3F4F, mem_crc:0xF2D6, reg_crc:0x2B7D +Testing clrb_absl...done. pre_crc:0xD05D, mem_crc:0x1172, reg_crc:0x641C +Testing clrwl_absl...done. pre_crc:0x7EEE, mem_crc:0xAA7D, reg_crc:0x3B61 +Testing cmp_dreg...done. pre_crc:0x97C3, mem_crc:0x0000, reg_crc:0x0F4B +Testing cmp_areg...done. pre_crc:0x9294, mem_crc:0x0000, reg_crc:0x6522 +Testing cmpb_ind...done. pre_crc:0x3AE2, mem_crc:0x0000, reg_crc:0x7551 +Testing cmpwl_ind...done. pre_crc:0x5D3D, mem_crc:0x0000, reg_crc:0x9F4B +Testing cmpb_d16...done. pre_crc:0x0C2F, mem_crc:0x0000, reg_crc:0x08C8 +Testing cmpwl_d16...done. pre_crc:0x281B, mem_crc:0x0000, reg_crc:0xE661 +Testing cmpa_reg...done. pre_crc:0x6B07, mem_crc:0x0000, reg_crc:0x8D1D +Testing cmpa_ind...done. pre_crc:0xE866, mem_crc:0x0000, reg_crc:0xB2DB +Testing cmpa_ind2...done. pre_crc:0xCD33, mem_crc:0x0000, reg_crc:0x9D19 +Testing cmpa_d16...done. pre_crc:0x487B, mem_crc:0x0000, reg_crc:0x0996 +Testing cmpa_d16_2...done. pre_crc:0x5EE0, mem_crc:0x0000, reg_crc:0xEAB0 +Testing cmpa_absl...done. pre_crc:0x4647, mem_crc:0x0000, reg_crc:0x9EBC +Testing cmpibw_reg...done. pre_crc:0x1DDA, mem_crc:0x0000, reg_crc:0xFC12 +Testing cmpil_reg...done. pre_crc:0x8A61, mem_crc:0x0000, reg_crc:0x020B +Testing cmpib_ind...done. pre_crc:0x1F70, mem_crc:0x0000, reg_crc:0xB741 +Testing cmpiw_ind...done. pre_crc:0x27E1, mem_crc:0x0000, reg_crc:0x2679 +Testing cmpil_ind...done. pre_crc:0x2019, mem_crc:0x0000, reg_crc:0x8878 +Testing cmpmb...done. pre_crc:0xCEAD, mem_crc:0x0000, reg_crc:0xE482 +Testing cmpmwl...done. pre_crc:0xBCAE, mem_crc:0x0000, reg_crc:0x775A +Testing cmp2b_ind...done. pre_crc:0x5A47, mem_crc:0x0000, reg_crc:0xDEA5 +Testing cmp2wl_ind...done. pre_crc:0x0409, mem_crc:0x0000, reg_crc:0x6F00 +Testing dbcc...done. pre_crc:0x0AFA, mem_crc:0x0000, reg_crc:0x7F6D +Testing divs_reg...done. pre_crc:0xBCE5, mem_crc:0x0000, reg_crc:0x8718 +Testing divs_same_reg...done. pre_crc:0x5D69, mem_crc:0x0000, reg_crc:0x5C50 +Testing divs_ind...done. pre_crc:0x9551, mem_crc:0x0000, reg_crc:0xBA31 +Testing divs_absl...done. pre_crc:0x7190, mem_crc:0x0000, reg_crc:0x61A8 +Testing divu_reg...done. pre_crc:0x71C5, mem_crc:0x0000, reg_crc:0x7F43 +Testing divu_same_reg...done. pre_crc:0x8BA4, mem_crc:0x0000, reg_crc:0x091B +Testing divu_ind...done. pre_crc:0x80FC, mem_crc:0x0000, reg_crc:0x1326 +Testing divu_absl...done. pre_crc:0x1CAD, mem_crc:0x0000, reg_crc:0x1106 +Testing divul_ll_reg...done. pre_crc:0x1209, mem_crc:0x0000, reg_crc:0x0A93 +Testing divul_ll_ind...done. pre_crc:0x8479, mem_crc:0x0000, reg_crc:0x6639 +Testing divul_ll_absl...done. pre_crc:0xEEAF, mem_crc:0x0000, reg_crc:0x3E64 +Testing eor_reg...done. pre_crc:0x9F54, mem_crc:0x0000, reg_crc:0x7C0B +Testing eor_ind...done. pre_crc:0x0E9D, mem_crc:0x0B0D, reg_crc:0x1100 +Testing eor_d16...done. pre_crc:0xE72C, mem_crc:0x320E, reg_crc:0x64F7 +Testing eor_absl...done. pre_crc:0x77F9, mem_crc:0x8BB7, reg_crc:0x97E6 +Testing eoribw_dreg...done. pre_crc:0x20AE, mem_crc:0x0000, reg_crc:0x72FA +Testing eoril_dreg...done. pre_crc:0xF30C, mem_crc:0x0000, reg_crc:0x764A +Testing eoribw_ind...done. pre_crc:0xA95E, mem_crc:0x144D, reg_crc:0x8F6B +Testing eoril_ind...done. pre_crc:0x29A8, mem_crc:0x72E2, reg_crc:0x3384 +Testing eoribw_d16...done. pre_crc:0xFDE4, mem_crc:0xA5C9, reg_crc:0xD293 +Testing eoril_d16...done. pre_crc:0xF4CB, mem_crc:0xF18F, reg_crc:0xDD84 +Testing eoribw_absl...done. pre_crc:0xE0AE, mem_crc:0x747E, reg_crc:0xC071 +Testing eoril_absl...done. pre_crc:0xB653, mem_crc:0x4354, reg_crc:0x1668 +Testing eori_to_ccr...done. pre_crc:0x4DBC, mem_crc:0x0000, reg_crc:0xF3CC +Testing exg...done. pre_crc:0xD60F, mem_crc:0x0000, reg_crc:0x6655 +Testing ext...done. pre_crc:0x102B, mem_crc:0x0000, reg_crc:0x57AE +Testing jmp_absl...done. pre_crc:0x92E3, mem_crc:0x0000, reg_crc:0x8DD2 +Testing jmp_ind...done. pre_crc:0xBF0A, mem_crc:0x0000, reg_crc:0x0D7F +Testing jmp_d16...done. pre_crc:0x28D8, mem_crc:0x0000, reg_crc:0xDF43 +Testing jsr_absl...done. pre_crc:0xCF4F, mem_crc:0xD523, reg_crc:0xAB89 +Testing jsr_ind...done. pre_crc:0xC94B, mem_crc:0x6F05, reg_crc:0xF754 +Testing jsr_d16...done. pre_crc:0xCFEF, mem_crc:0x019E, reg_crc:0xEB65 +Testing lea_ind...done. pre_crc:0x2841, mem_crc:0x0000, reg_crc:0x0245 +Testing lea_d16...done. pre_crc:0x07E4, mem_crc:0x0000, reg_crc:0x4545 +Testing lea_absw...done. pre_crc:0xC6DC, mem_crc:0x0000, reg_crc:0x5E9D +Testing lea_absl...done. pre_crc:0x47AC, mem_crc:0x0000, reg_crc:0xD05B +Testing linkw...done. pre_crc:0xDB61, mem_crc:0x7026, reg_crc:0xA0D8 +Testing linkl...done. pre_crc:0x1E27, mem_crc:0x6E54, reg_crc:0xF963 +Testing move16_postinc_postinc...done. pre_crc:0x3CFE, mem_crc:0x4B4D, reg_crc:0x81EB +Testing move16_absl_ind...done. pre_crc:0x094F, mem_crc:0x42C0, reg_crc:0x5AA0 +Testing move16_absl_postinc...done. pre_crc:0x6CC5, mem_crc:0xB926, reg_crc:0x8799 +Testing move16_ind_absl...done. pre_crc:0x2C55, mem_crc:0x422D, reg_crc:0x81B2 +Testing move16_postinc_absl...done. pre_crc:0xE699, mem_crc:0xDABF, reg_crc:0x42CA +Testing moveb_dreg_dreg...done. pre_crc:0x83BB, mem_crc:0x0000, reg_crc:0x6CB1 +Testing movewl_reg_dreg...done. pre_crc:0x6187, mem_crc:0x0000, reg_crc:0x40C7 +Testing moveb_ind_dreg...done. pre_crc:0x08CC, mem_crc:0x0000, reg_crc:0x5852 +Testing movewl_ind_dreg...done. pre_crc:0x9581, mem_crc:0x0000, reg_crc:0x3DD6 +Testing moveb_d16_dreg...done. pre_crc:0xB814, mem_crc:0x0000, reg_crc:0x17AA +Testing movewl_d16_dreg...done. pre_crc:0xC000, mem_crc:0x0000, reg_crc:0x9DF7 +Testing moveb_absl_dreg...done. pre_crc:0x9AA5, mem_crc:0x0000, reg_crc:0x76AE +Testing movewl_absl_dreg...done. pre_crc:0x227F, mem_crc:0x0000, reg_crc:0xE94A +Testing movebw_const_dreg...done. pre_crc:0x127D, mem_crc:0x0000, reg_crc:0xC87A +Testing movel_const_dreg...done. pre_crc:0xC928, mem_crc:0x0000, reg_crc:0x3FA6 +Testing moveb_dreg_ind...done. pre_crc:0x7F6D, mem_crc:0x47F5, reg_crc:0x0240 +Testing movewl_reg_ind...done. pre_crc:0xA287, mem_crc:0xAAA9, reg_crc:0xE7E2 +Testing moveb_dreg_d16...done. pre_crc:0x5CD7, mem_crc:0xC339, reg_crc:0x6262 +Testing movewl_reg_d16...done. pre_crc:0x988B, mem_crc:0xEF83, reg_crc:0x6F53 +Testing moveb_dreg_absl...done. pre_crc:0x8D94, mem_crc:0x43EC, reg_crc:0x4FBC +Testing movewl_reg_absl...done. pre_crc:0x6A34, mem_crc:0x13B9, reg_crc:0xF0CA +Testing moveb_ind_ind...done. pre_crc:0x2969, mem_crc:0x6BAB, reg_crc:0x8E06 +Testing moveb_ind_d16...done. pre_crc:0x1CD0, mem_crc:0xC52E, reg_crc:0x1727 +Testing moveb_d16_ind...done. pre_crc:0xDEB5, mem_crc:0x8346, reg_crc:0xEE77 +Testing movewl_ind_d16...done. pre_crc:0xB13B, mem_crc:0xF10D, reg_crc:0x6512 +Testing movewl_d16_ind...done. pre_crc:0xA9C5, mem_crc:0xDDB1, reg_crc:0x5FED +Testing moveb_d16_d16...done. pre_crc:0x9809, mem_crc:0x9E70, reg_crc:0x49EC +Testing movewl_d16_d16...done. pre_crc:0xB08B, mem_crc:0xD6C8, reg_crc:0xEBE1 +Testing moveb_ind_absl...done. pre_crc:0xC82B, mem_crc:0x7054, reg_crc:0x06E7 +Testing movewl_ind_absl...done. pre_crc:0xE149, mem_crc:0xAC33, reg_crc:0xC981 +Testing moveb_absl_ind...done. pre_crc:0x20FD, mem_crc:0xF066, reg_crc:0x930C +Testing movewl_absl_ind...done. pre_crc:0x6493, mem_crc:0x3C7E, reg_crc:0xF012 +Testing moveb_absl_absl...done. pre_crc:0x7A68, mem_crc:0x8B35, reg_crc:0x3C47 +Testing movewl_absl_absl...done. pre_crc:0x56BE, mem_crc:0xDEEE, reg_crc:0xC4F2 +Testing moveb_d16_absl...done. pre_crc:0xFAFB, mem_crc:0xDD2E, reg_crc:0x3116 +Testing movewl_d16_absl...done. pre_crc:0xDCBB, mem_crc:0x3858, reg_crc:0x5CB2 +Testing moveb_absl_d16...done. pre_crc:0x1991, mem_crc:0x30D8, reg_crc:0x0119 +Testing movewl_absl_d16...done. pre_crc:0x2D4A, mem_crc:0x6011, reg_crc:0x139E +Testing moveb_const_ind...done. pre_crc:0x0EE8, mem_crc:0xE6CE, reg_crc:0x497A +Testing moveb_const_d16...done. pre_crc:0x296E, mem_crc:0xC84F, reg_crc:0x16DA +Testing moveb_const_absl...done. pre_crc:0xA129, mem_crc:0xE712, reg_crc:0x8BB7 +Testing movew_const_ind...done. pre_crc:0xD05B, mem_crc:0xF6E8, reg_crc:0x7BAC +Testing movew_const_d16...done. pre_crc:0x95B9, mem_crc:0xACDE, reg_crc:0x4B66 +Testing movew_const_absl...done. pre_crc:0x43A5, mem_crc:0x69DE, reg_crc:0x7EEB +Testing movel_const_ind...done. pre_crc:0xA384, mem_crc:0xA49E, reg_crc:0x5E7F +Testing movel_const_d16...done. pre_crc:0x28D3, mem_crc:0xDB30, reg_crc:0x642F +Testing movel_const_absl...done. pre_crc:0x978E, mem_crc:0x950C, reg_crc:0xF030 +Testing movea_reg...done. pre_crc:0xA21D, mem_crc:0x0000, reg_crc:0xB811 +Testing movea_ind...done. pre_crc:0xAD96, mem_crc:0x0000, reg_crc:0x2FF2 +Testing movea_d16...done. pre_crc:0x0402, mem_crc:0x0000, reg_crc:0xD8AA +Testing movea_absl...done. pre_crc:0xAB5F, mem_crc:0x0000, reg_crc:0x120F +Testing moveaw_const...done. pre_crc:0x7271, mem_crc:0x0000, reg_crc:0x7214 +Testing moveal_const...done. pre_crc:0xA9A3, mem_crc:0x0000, reg_crc:0x92C2 +Testing move_from_ccr_dreg...done. pre_crc:0x16FD, mem_crc:0x0000, reg_crc:0x50BD +Testing move_from_ccr_ind...done. pre_crc:0x8F13, mem_crc:0x0000, reg_crc:0x213A +Testing move_from_ccr_d16...done. pre_crc:0x796D, mem_crc:0x0000, reg_crc:0xB405 +Testing move_to_ccr_reg...done. pre_crc:0x6D76, mem_crc:0x0000, reg_crc:0xAF74 +Testing move_to_ccr_ind...done. pre_crc:0x652F, mem_crc:0x0000, reg_crc:0x5F00 +Testing movem_to_ind...done. pre_crc:0xF9D5, mem_crc:0xD057, reg_crc:0x3AE4 +Testing movem_to_predec...done. pre_crc:0xC525, mem_crc:0xC71F, reg_crc:0x98D9 +Testing movem_to_d16...done. pre_crc:0xB834, mem_crc:0xFE79, reg_crc:0xE722 +Testing movem_to_absl...done. pre_crc:0xCB9F, mem_crc:0x16D3, reg_crc:0x0E7A +Testing movem_from_d16...done. pre_crc:0xB73D, mem_crc:0x0000, reg_crc:0x2160 +Testing movem_from_ind...done. pre_crc:0x553B, mem_crc:0x0000, reg_crc:0x6D85 +Testing movem_from_absl...done. pre_crc:0x2362, mem_crc:0x0000, reg_crc:0x1C0E +Testing movep_to_mem...done. pre_crc:0xA1C4, mem_crc:0xAC88, reg_crc:0x7FFD +Testing movep_from_mem...done. pre_crc:0xAE3B, mem_crc:0x0000, reg_crc:0x8523 +Testing moveq...done. pre_crc:0xA9CC, mem_crc:0x0000, reg_crc:0xD7F6 +Testing mulsw_dreg...done. pre_crc:0x0BA6, mem_crc:0x0000, reg_crc:0x1FF1 +Testing mulsw_ind...done. pre_crc:0x8FD7, mem_crc:0x0000, reg_crc:0xF810 +Testing mulsw_d16...done. pre_crc:0xF07C, mem_crc:0x0000, reg_crc:0xEFA2 +Testing mulsw_absl...done. pre_crc:0x5A20, mem_crc:0x0000, reg_crc:0x0E5D +Testing muluw_dreg...done. pre_crc:0xC121, mem_crc:0x0000, reg_crc:0x4354 +Testing muluw_ind...done. pre_crc:0x1169, mem_crc:0x0000, reg_crc:0xBC6D +Testing muluw_d16...done. pre_crc:0x493D, mem_crc:0x0000, reg_crc:0x923E +Testing muluw_absl...done. pre_crc:0xA37F, mem_crc:0x0000, reg_crc:0x1F67 +Testing mulsl_dreg...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0x7AF4 +Testing mulsl_ind...done. pre_crc:0xD61C, mem_crc:0x0000, reg_crc:0x61D3 +Testing mulsl_d16...done. pre_crc:0xDB3F, mem_crc:0x0000, reg_crc:0x8122 +Testing mulsl_absl...done. pre_crc:0xDA78, mem_crc:0x0000, reg_crc:0xDE36 +Testing mulul_dreg...done. pre_crc:0xD1F9, mem_crc:0x0000, reg_crc:0x8835 +Testing mulul_ind...done. pre_crc:0x8E69, mem_crc:0x0000, reg_crc:0x20AE +Testing mulul_d16...done. pre_crc:0x9EA1, mem_crc:0x0000, reg_crc:0x0767 +Testing mulul_absl...done. pre_crc:0x99CC, mem_crc:0x0000, reg_crc:0xEC19 +Testing nbcd_reg...done. pre_crc:0xF72C, mem_crc:0x0000, reg_crc:0x87B4 +Testing nbcd_ind...done. pre_crc:0x245F, mem_crc:0x4313, reg_crc:0xEDE8 +Testing nbcd_d16...done. pre_crc:0xBCD0, mem_crc:0xE568, reg_crc:0x0560 +Testing nbcd_absl...done. pre_crc:0x6A0D, mem_crc:0x8C9D, reg_crc:0xFC90 +Testing neg_reg...done. pre_crc:0x076C, mem_crc:0x0000, reg_crc:0x9099 +Testing negb_ind...done. pre_crc:0x3D20, mem_crc:0xCF36, reg_crc:0xBD71 +Testing negwl_ind...done. pre_crc:0x6AE5, mem_crc:0xE5AB, reg_crc:0x544F +Testing negb_d16...done. pre_crc:0xD947, mem_crc:0xBC1C, reg_crc:0x15D3 +Testing negwl_d16...done. pre_crc:0x95A4, mem_crc:0xF8C1, reg_crc:0x457C +Testing neg_absl...done. pre_crc:0x9709, mem_crc:0xB9F7, reg_crc:0x6EAD +Testing negx_reg...done. pre_crc:0x2945, mem_crc:0x0000, reg_crc:0xDCB3 +Testing negxb_ind...done. pre_crc:0xB1C9, mem_crc:0x8288, reg_crc:0x2260 +Testing negxwl_ind...done. pre_crc:0xCC4C, mem_crc:0x6B6B, reg_crc:0x2520 +Testing negxb_d16...done. pre_crc:0xE88E, mem_crc:0xA67B, reg_crc:0xE9A4 +Testing negxwl_d16...done. pre_crc:0x2B5D, mem_crc:0xDC89, reg_crc:0x6202 +Testing negx_absl...done. pre_crc:0xB436, mem_crc:0x126C, reg_crc:0x9D37 +Testing nop...done. pre_crc:0xE15D, mem_crc:0x0000, reg_crc:0xC099 +Testing not_reg...done. pre_crc:0x1E52, mem_crc:0x0000, reg_crc:0x7392 +Testing notb_ind...done. pre_crc:0x1051, mem_crc:0xE573, reg_crc:0x81C6 +Testing notwl_ind...done. pre_crc:0x9729, mem_crc:0xFECB, reg_crc:0x7CCD +Testing notb_d16...done. pre_crc:0xCD8A, mem_crc:0xBC0B, reg_crc:0x562B +Testing notwl_d16...done. pre_crc:0xB795, mem_crc:0x9C63, reg_crc:0x8124 +Testing not_absl...done. pre_crc:0xD5B9, mem_crc:0x8C3E, reg_crc:0x4B8E +Testing or_dreg_dreg...done. pre_crc:0x6841, mem_crc:0x0000, reg_crc:0xD72E +Testing or_ind_dreg...done. pre_crc:0x2A23, mem_crc:0x0000, reg_crc:0x5DE0 +Testing or_d16_dreg...done. pre_crc:0x1DB6, mem_crc:0x0000, reg_crc:0xA46D +Testing or_absl_dreg...done. pre_crc:0x8E60, mem_crc:0x0000, reg_crc:0x8E2B +Testing orbw_const_dreg...done. pre_crc:0x53ED, mem_crc:0x0000, reg_crc:0xB0F7 +Testing orl_const_dreg...done. pre_crc:0xEB5D, mem_crc:0x0000, reg_crc:0x2AB9 +Testing or_dreg_ind...done. pre_crc:0xDC04, mem_crc:0x4703, reg_crc:0x5D08 +Testing or_dreg_d16...done. pre_crc:0x78A5, mem_crc:0x9C3A, reg_crc:0x6E5B +Testing or_dreg_absl...done. pre_crc:0x0957, mem_crc:0x0944, reg_crc:0x54FE +Testing oribw_dreg...done. pre_crc:0xF341, mem_crc:0x0000, reg_crc:0x06A3 +Testing oril_dreg...done. pre_crc:0x3B7C, mem_crc:0x0000, reg_crc:0x5FCC +Testing oribw_ind...done. pre_crc:0xB681, mem_crc:0xA9E7, reg_crc:0x5DD9 +Testing oril_ind...done. pre_crc:0xE04E, mem_crc:0x3F8D, reg_crc:0x5713 +Testing oribw_d16...done. pre_crc:0x14BC, mem_crc:0x0D5D, reg_crc:0x1340 +Testing oril_d16...done. pre_crc:0xE380, mem_crc:0xC4EA, reg_crc:0x9C11 +Testing oribw_absl...done. pre_crc:0xDCA8, mem_crc:0xE20F, reg_crc:0xB515 +Testing oril_absl...done. pre_crc:0xB00B, mem_crc:0xC113, reg_crc:0xB910 +Testing ori_to_ccr...done. pre_crc:0x1C02, mem_crc:0x0000, reg_crc:0x7763 +Testing pack_reg...done. pre_crc:0x11BA, mem_crc:0x0000, reg_crc:0x6966 +Testing pack_mem...done. pre_crc:0xE0F6, mem_crc:0xC40B, reg_crc:0x175C +Testing pea_ind...done. pre_crc:0x7ECE, mem_crc:0x5D7C, reg_crc:0x19A7 +Testing pea_d16...done. pre_crc:0xECB5, mem_crc:0x89C8, reg_crc:0x3E01 +Testing pea_absw...done. pre_crc:0x5428, mem_crc:0x79E6, reg_crc:0x2A13 +Testing pea_absl...done. pre_crc:0x382C, mem_crc:0xA2CE, reg_crc:0xADBA +Testing rol_dx_dy...done. pre_crc:0x217C, mem_crc:0x0000, reg_crc:0xFC1E +Testing rol_const_dy...done. pre_crc:0x7B69, mem_crc:0x0000, reg_crc:0xB17B +Testing rol_ind...done. pre_crc:0x0BF5, mem_crc:0x69D7, reg_crc:0x8156 +Testing rol_d16...done. pre_crc:0x7C79, mem_crc:0xEDEB, reg_crc:0xFA66 +Testing rol_absl...done. pre_crc:0xD7EB, mem_crc:0xD177, reg_crc:0x4F9D +Testing ror_dx_dy...done. pre_crc:0x8FCD, mem_crc:0x0000, reg_crc:0xFD70 +Testing ror_const_dy...done. pre_crc:0xABFD, mem_crc:0x0000, reg_crc:0xA64D +Testing ror_ind...done. pre_crc:0x6DEC, mem_crc:0x0055, reg_crc:0x39B1 +Testing ror_d16...done. pre_crc:0x7A76, mem_crc:0x86D9, reg_crc:0x72CF +Testing ror_absl...done. pre_crc:0x9C80, mem_crc:0x3F27, reg_crc:0x1471 +Testing roxl_dx_dy...done. pre_crc:0xFEC8, mem_crc:0x0000, reg_crc:0xFE13 +Testing roxl_const_dy...done. pre_crc:0x04B3, mem_crc:0x0000, reg_crc:0x80F8 +Testing roxl_ind...done. pre_crc:0xF4A0, mem_crc:0xDBBE, reg_crc:0x650C +Testing roxl_d16...done. pre_crc:0xC4CD, mem_crc:0x6A47, reg_crc:0x4B0F +Testing roxl_absl...done. pre_crc:0xA755, mem_crc:0x1203, reg_crc:0xFF1B +Testing roxr_dx_dy...done. pre_crc:0x2369, mem_crc:0x0000, reg_crc:0xBC2F +Testing roxr_const_dy...done. pre_crc:0x93CE, mem_crc:0x0000, reg_crc:0x2F04 +Testing roxr_ind...done. pre_crc:0xFE5A, mem_crc:0x9FA6, reg_crc:0xC837 +Testing roxr_d16...done. pre_crc:0xCC59, mem_crc:0x46D6, reg_crc:0x3B1C +Testing roxr_absl...done. pre_crc:0x4476, mem_crc:0xF725, reg_crc:0x5627 +Testing rtd...done. pre_crc:0xBA73, mem_crc:0x0000, reg_crc:0x60C3 +Testing rtr...done. pre_crc:0x6643, mem_crc:0x0000, reg_crc:0x7CBC +Testing rts...done. pre_crc:0x7211, mem_crc:0x0000, reg_crc:0x6CD1 +Testing sbcd_reg...done. pre_crc:0xCDA1, mem_crc:0x0000, reg_crc:0x99BD +Testing sbcd_mem...done. pre_crc:0xF6E5, mem_crc:0x0528, reg_crc:0xD96D +Testing Scc_reg...done. pre_crc:0x37C2, mem_crc:0x0000, reg_crc:0x56C9 +Testing Scc_ind...done. pre_crc:0x618C, mem_crc:0x56AF, reg_crc:0x13DC +Testing Scc_d16...done. pre_crc:0x336D, mem_crc:0x5F5F, reg_crc:0xFC4B +Testing Scc_absl...done. pre_crc:0x32D5, mem_crc:0x5B92, reg_crc:0x72F3 +Testing subb_dreg_dreg...done. pre_crc:0x2350, mem_crc:0x0000, reg_crc:0xECCE +Testing subw_reg_dreg...done. pre_crc:0x9281, mem_crc:0x0000, reg_crc:0x6768 +Testing subl_reg_dreg...done. pre_crc:0xAA4A, mem_crc:0x0000, reg_crc:0x703D +Testing sub_ind_dreg...done. pre_crc:0x9848, mem_crc:0x0000, reg_crc:0xC981 +Testing sub_d16_dreg...done. pre_crc:0x1BF2, mem_crc:0x0000, reg_crc:0x2057 +Testing sub_absl_dreg...done. pre_crc:0xCC84, mem_crc:0x0000, reg_crc:0x6E83 +Testing subb_const_dreg...done. pre_crc:0xB94A, mem_crc:0x0000, reg_crc:0x810F +Testing subw_const_dreg...done. pre_crc:0x055E, mem_crc:0x0000, reg_crc:0x75EA +Testing subl_const_dreg...done. pre_crc:0xA7B1, mem_crc:0x0000, reg_crc:0xAD15 +Testing sub_dreg_ind...done. pre_crc:0x5622, mem_crc:0x6A59, reg_crc:0xDA4F +Testing sub_dreg_d16...done. pre_crc:0x0DC8, mem_crc:0x7575, reg_crc:0x70A7 +Testing sub_dreg_absl...done. pre_crc:0xC205, mem_crc:0xEC97, reg_crc:0xFC4D +Testing subaw_reg_areg...done. pre_crc:0x03F2, mem_crc:0x0000, reg_crc:0x5BCD +Testing subal_reg_areg...done. pre_crc:0x3E77, mem_crc:0x0000, reg_crc:0x39CC +Testing suba_ind_areg...done. pre_crc:0x9FE3, mem_crc:0x0000, reg_crc:0xEACD +Testing suba_d16_areg...done. pre_crc:0x00C4, mem_crc:0x0000, reg_crc:0x4919 +Testing suba_absl_areg...done. pre_crc:0x9261, mem_crc:0x0000, reg_crc:0x42AF +Testing subaw_const_areg...done. pre_crc:0x5AAD, mem_crc:0x0000, reg_crc:0x94D3 +Testing subal_const_areg...done. pre_crc:0x2FC0, mem_crc:0x0000, reg_crc:0x3419 +Testing subibw_dreg...done. pre_crc:0x6A48, mem_crc:0x0000, reg_crc:0xE224 +Testing subil_dreg...done. pre_crc:0x6349, mem_crc:0x0000, reg_crc:0x521A +Testing subibw_ind...done. pre_crc:0x52FF, mem_crc:0xF4FE, reg_crc:0x2661 +Testing subil_ind...done. pre_crc:0xFC3E, mem_crc:0x7D44, reg_crc:0xFA48 +Testing subibw_d16...done. pre_crc:0xC836, mem_crc:0xF571, reg_crc:0x9EDF +Testing subil_d16...done. pre_crc:0x8978, mem_crc:0x6560, reg_crc:0x2435 +Testing subibw_absl...done. pre_crc:0x75AB, mem_crc:0x72C5, reg_crc:0x0DD5 +Testing subil_absl...done. pre_crc:0xD3DB, mem_crc:0x3B10, reg_crc:0xD9C7 +Testing subq_dreg...done. pre_crc:0x9220, mem_crc:0x0000, reg_crc:0x7368 +Testing subq_areg...done. pre_crc:0x45C7, mem_crc:0x0000, reg_crc:0xD6DA +Testing subq_ind...done. pre_crc:0x8F48, mem_crc:0xDAD3, reg_crc:0xBA54 +Testing subq_d16...done. pre_crc:0xCE60, mem_crc:0x5FC5, reg_crc:0x5E37 +Testing subq_absl...done. pre_crc:0x4D37, mem_crc:0x4345, reg_crc:0x19B9 +Testing subx_reg...done. pre_crc:0xDA03, mem_crc:0x0000, reg_crc:0xBC5B +Testing subx_mem...done. pre_crc:0x75AD, mem_crc:0xF219, reg_crc:0x42C3 +Testing swap...done. pre_crc:0x9AAC, mem_crc:0x0000, reg_crc:0x9802 +Testing tas_dreg...done. pre_crc:0xFE8A, mem_crc:0x0000, reg_crc:0x459D +Testing tas_ind...done. pre_crc:0xC50A, mem_crc:0x2A85, reg_crc:0x76A1 +Testing tas_d16...done. pre_crc:0x20AD, mem_crc:0x4A8A, reg_crc:0xFE75 +Testing tas_absl...done. pre_crc:0x4AA3, mem_crc:0xC2A2, reg_crc:0xEB21 +Testing tstb_dreg...done. pre_crc:0xD8B1, mem_crc:0x0000, reg_crc:0x89CD +Testing tstwl_reg...done. pre_crc:0xA295, mem_crc:0x0000, reg_crc:0xEFBF +Testing tstb_ind...done. pre_crc:0x76C6, mem_crc:0x0000, reg_crc:0xB117 +Testing tstwl_ind...done. pre_crc:0xD101, mem_crc:0x0000, reg_crc:0xDC20 +Testing tstb_d16...done. pre_crc:0x119B, mem_crc:0x0000, reg_crc:0xBE77 +Testing tstwl_d16...done. pre_crc:0xF63C, mem_crc:0x0000, reg_crc:0x49F2 +Testing tst_absl...done. pre_crc:0x2C65, mem_crc:0x0000, reg_crc:0x53F3 diff --git a/test/newest.10000 b/test/newest.10000 new file mode 100644 index 0000000..c7e1ecd --- /dev/null +++ b/test/newest.10000 @@ -0,0 +1,6 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2353, mem_crc:0x0000, reg_crc:0x0E64 +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8773, mem_crc:0x0000, reg_crc:0x5911 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D83, mem_crc:0x0000, reg_crc:0xC56A +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3458, mem_crc:0xAAF5, reg_crc:0xA52B +Testing unlk... \ No newline at end of file diff --git a/test/newest.noncc.10000 b/test/newest.noncc.10000 new file mode 100644 index 0000000..feeeb72 --- /dev/null +++ b/test/newest.noncc.10000 @@ -0,0 +1,6 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2353, mem_crc:0x0000, reg_crc:0x1A94 +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8773, mem_crc:0x0000, reg_crc:0x0BCE +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D83, mem_crc:0x0000, reg_crc:0xC56A +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3458, mem_crc:0xAAF5, reg_crc:0xA52B +Testing unlk... \ No newline at end of file diff --git a/test/old b/test/old new file mode 100644 index 0000000..1d2f995 --- /dev/null +++ b/test/old @@ -0,0 +1,41 @@ +divsl_ll_reg...done. +divsl_ll_ind...done. +divsl_ll_absl...done. +add_absl_dreg...done. +addb_dreg_dreg...done. +addw_reg_dreg...done. +add_d16_dreg...done. +addb_const_dreg...done. +addw_const_dreg...done. +add_dreg_ind...done. +add_ind_dreg...done. +add_dreg_d16...done. +add_dreg_absl...done. +addibw_dreg...done. +addibw_ind...done. +addil_ind...done. +addibw_d16...done. +addibw_absl...done. +addq_ind...done. +cmp_dreg...done. +cmp_areg...done. +cmpb_ind...done. +cmpwl_ind...done. +cmpwl_d16...done. +cmpa_reg...done. +cmpa_ind...done. +cmpa_ind2...done. +cmpa_d16...done. +cmpa_d16_2...done. +cmpa_absl...done. +cmpibw_reg...done. +cmpil_reg...done. +cmpib_ind...done. +cmpiw_ind...done. +cmpil_ind...done. +cmpmwl...done. +sub_ind_dreg...done. +sub_dreg_ind...done. +subibw_ind...done. +subil_ind...done. +subq_ind...done. diff --git a/test/powerpc.64.new b/test/powerpc.64.new new file mode 100644 index 0000000..30abc42 --- /dev/null +++ b/test/powerpc.64.new @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...done. pre_crc:0x8B6D, mem_crc:0x0000, reg_crc:0x66CF, cc_crc:0x4DC6 +Testing unpk_mem...done. pre_crc:0xE383, mem_crc:0xC429, reg_crc:0x1EED, cc_crc:0x9A18 +Testing unlk...done. pre_crc:0xF1A4, mem_crc:0x0000, reg_crc:0xC92E, cc_crc:0xFA3A +Testing movewl_ind_ind...done. pre_crc:0xC7C9, mem_crc:0xACFF, reg_crc:0x6E20, cc_crc:0x1B42 +Testing divsl_ll_reg...done. pre_crc:0x76D2, mem_crc:0x0000, reg_crc:0xE79A, cc_crc:0xD89C +Testing divsl_ll_ind...done. pre_crc:0xBA61, mem_crc:0x0000, reg_crc:0x62D0, cc_crc:0x7CF2 +Testing divsl_ll_absl...done. pre_crc:0x01A1, mem_crc:0x0000, reg_crc:0xFCAC, cc_crc:0x5457 +Testing lea_pc_ind_preix...done. pre_crc:0x7CE1, mem_crc:0x0000, reg_crc:0x309C, cc_crc:0x04D9 +Testing lea_pc_ind_postix...done. pre_crc:0xC47E, mem_crc:0x0000, reg_crc:0xD417, cc_crc:0x1962 +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x749D, mem_crc:0x0000, reg_crc:0x67FE, cc_crc:0xDC38 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x3050, mem_crc:0x0000, reg_crc:0xC0B2, cc_crc:0x21AA +Testing moveb_pcd16_dreg...done. pre_crc:0xD977, mem_crc:0x0000, reg_crc:0x59ED, cc_crc:0xA6E4 +Testing movewl_pcd16_dreg...done. pre_crc:0xB530, mem_crc:0x0000, reg_crc:0xF8B0, cc_crc:0x77B8 +Testing moveb_pcd8_dreg...done. pre_crc:0x251B, mem_crc:0x0000, reg_crc:0x59F6, cc_crc:0x3E01 +Testing movewl_pcd8_dreg...done. pre_crc:0xD0AA, mem_crc:0x0000, reg_crc:0x7796, cc_crc:0x0A4B +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0xD30A, mem_crc:0x0000, reg_crc:0x6922, cc_crc:0x2925 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0xBEC3, mem_crc:0x0000, reg_crc:0xB7C3, cc_crc:0x229A +Testing lea_ind_preix...done. pre_crc:0x3009, mem_crc:0x0000, reg_crc:0x4FBC, cc_crc:0x0A41 +Testing lea_ind_postix...done. pre_crc:0xA4B8, mem_crc:0x0000, reg_crc:0xB362, cc_crc:0x5D34 +Testing add_absl_dreg...done. pre_crc:0x7E00, mem_crc:0x0000, reg_crc:0xC9DD, cc_crc:0x6EE3 +Testing abcd_reg...done. pre_crc:0x3414, mem_crc:0x0000, reg_crc:0xD998, cc_crc:0xDC29 +Testing abcd_mem...done. pre_crc:0x74A3, mem_crc:0xC96C, reg_crc:0x3761, cc_crc:0x8E6A +Testing addb_dreg_dreg...done. pre_crc:0x00B8, mem_crc:0x0000, reg_crc:0x488E, cc_crc:0x390C +Testing addw_reg_dreg...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xB04A, cc_crc:0x76D0 +Testing addl_reg_dreg...done. pre_crc:0x1F27, mem_crc:0x0000, reg_crc:0x9DA8, cc_crc:0x19DC +Testing add_d16_dreg...done. pre_crc:0xD316, mem_crc:0x0000, reg_crc:0xDA9E, cc_crc:0xCA8E +Testing addb_const_dreg...done. pre_crc:0xC1F4, mem_crc:0x0000, reg_crc:0xF462, cc_crc:0x74C5 +Testing addw_const_dreg...done. pre_crc:0x1ED4, mem_crc:0x0000, reg_crc:0x8C8A, cc_crc:0x3EF7 +Testing add_dreg_ind...done. pre_crc:0x390B, mem_crc:0x863B, reg_crc:0x78A3, cc_crc:0x77F0 +Testing add_ind_dreg...done. pre_crc:0x09EB, mem_crc:0x0000, reg_crc:0xC89E, cc_crc:0x8661 +Testing addl_const_dreg...done. pre_crc:0xFDB4, mem_crc:0x0000, reg_crc:0x0275, cc_crc:0xB14B +Testing add_dreg_d16...done. pre_crc:0x1AC5, mem_crc:0xA4AD, reg_crc:0x4594, cc_crc:0x918C +Testing add_dreg_absl...done. pre_crc:0x700C, mem_crc:0xAA5C, reg_crc:0x3AC6, cc_crc:0xB8E1 +Testing addaw_reg_areg...done. pre_crc:0x76C2, mem_crc:0x0000, reg_crc:0xA18A, cc_crc:0x8742 +Testing addal_reg_areg...done. pre_crc:0xC1AD, mem_crc:0x0000, reg_crc:0xD3E6, cc_crc:0xECB9 +Testing adda_ind_areg...done. pre_crc:0x2E3C, mem_crc:0x0000, reg_crc:0xE345, cc_crc:0x50AC +Testing adda_d16_areg...done. pre_crc:0x136A, mem_crc:0x0000, reg_crc:0x8502, cc_crc:0x9B07 +Testing adda_absl_areg...done. pre_crc:0x47AD, mem_crc:0x0000, reg_crc:0x6DB3, cc_crc:0x54F7 +Testing addaw_const_areg...done. pre_crc:0x097F, mem_crc:0x0000, reg_crc:0xB346, cc_crc:0xD2F5 +Testing addal_const_areg...done. pre_crc:0x143E, mem_crc:0x0000, reg_crc:0x0063, cc_crc:0x5491 +Testing addibw_dreg...done. pre_crc:0x5978, mem_crc:0x0000, reg_crc:0x51CE, cc_crc:0x8FCD +Testing addil_dreg...done. pre_crc:0xA3FE, mem_crc:0x0000, reg_crc:0xD1B7, cc_crc:0x52CD +Testing addibw_ind...done. pre_crc:0x287A, mem_crc:0x5AE4, reg_crc:0x9A88, cc_crc:0xF9A0 +Testing addil_ind...done. pre_crc:0x3BB1, mem_crc:0xA183, reg_crc:0xE848, cc_crc:0xF28C +Testing addibw_d16...done. pre_crc:0xDCFF, mem_crc:0x6223, reg_crc:0x4453, cc_crc:0x9EF4 +Testing addil_d16...done. pre_crc:0xF399, mem_crc:0xCE3E, reg_crc:0xCB67, cc_crc:0xECD6 +Testing addibw_absl...done. pre_crc:0x899C, mem_crc:0x987A, reg_crc:0x671A, cc_crc:0x64D5 +Testing addil_absl...done. pre_crc:0xB980, mem_crc:0x37F1, reg_crc:0x1812, cc_crc:0xE96D +Testing addq_dreg...done. pre_crc:0x3A82, mem_crc:0x0000, reg_crc:0x38B9, cc_crc:0xD05E +Testing addq_areg...done. pre_crc:0x7713, mem_crc:0x0000, reg_crc:0x0E25, cc_crc:0x5B43 +Testing addq_ind...done. pre_crc:0xF831, mem_crc:0xC9FA, reg_crc:0x1424, cc_crc:0x455D +Testing addq_d16...done. pre_crc:0x9DEF, mem_crc:0xD7AF, reg_crc:0x6F6C, cc_crc:0x4836 +Testing addq_absl...done. pre_crc:0x8555, mem_crc:0xF8E6, reg_crc:0x4111, cc_crc:0xA1D9 +Testing addx_reg...done. pre_crc:0x248D, mem_crc:0x0000, reg_crc:0x49EF, cc_crc:0x8C79 +Testing addx_mem...done. pre_crc:0x9B3A, mem_crc:0x0E51, reg_crc:0x5791, cc_crc:0xC3CA +Testing and_dreg_dreg...done. pre_crc:0x43E9, mem_crc:0x0000, reg_crc:0x3D15, cc_crc:0xA18C +Testing and_ind_dreg...done. pre_crc:0x889D, mem_crc:0x0000, reg_crc:0x8778, cc_crc:0xA0F9 +Testing and_d16_dreg...done. pre_crc:0xAA73, mem_crc:0x0000, reg_crc:0x7B9A, cc_crc:0x9BEF +Testing and_absl_dreg...done. pre_crc:0x8BD3, mem_crc:0x0000, reg_crc:0xA797, cc_crc:0x29B0 +Testing andbw_const_dreg...done. pre_crc:0x2B9D, mem_crc:0x0000, reg_crc:0x46BC, cc_crc:0xF461 +Testing andl_const_dreg...done. pre_crc:0xAFF1, mem_crc:0x0000, reg_crc:0x0544, cc_crc:0x0D4C +Testing and_dreg_ind...done. pre_crc:0xAC0D, mem_crc:0x1F37, reg_crc:0x52F2, cc_crc:0x8E05 +Testing and_dreg_d16...done. pre_crc:0x1822, mem_crc:0x6DEC, reg_crc:0xD190, cc_crc:0x5734 +Testing and_dreg_absl...done. pre_crc:0x6F95, mem_crc:0x53F6, reg_crc:0xFB3D, cc_crc:0x7878 +Testing andibw_dreg...done. pre_crc:0x93DE, mem_crc:0x0000, reg_crc:0x0AB4, cc_crc:0x087A +Testing andil_dreg...done. pre_crc:0xD1B7, mem_crc:0x0000, reg_crc:0xB7B7, cc_crc:0x9DBA +Testing andibw_ind...done. pre_crc:0xD111, mem_crc:0x0BF2, reg_crc:0xA758, cc_crc:0xB69E +Testing andil_ind...done. pre_crc:0x2FAF, mem_crc:0xEED1, reg_crc:0xDDF0, cc_crc:0x53DE +Testing andibw_d16...done. pre_crc:0x0269, mem_crc:0x18DE, reg_crc:0xDB60, cc_crc:0xB2BE +Testing andil_d16...done. pre_crc:0x8CCA, mem_crc:0xF035, reg_crc:0x1F86, cc_crc:0xE923 +Testing andibw_absl...done. pre_crc:0x3A12, mem_crc:0xDB9F, reg_crc:0x1C4C, cc_crc:0x0BA7 +Testing andil_absl...done. pre_crc:0xDEA7, mem_crc:0xC18F, reg_crc:0xC176, cc_crc:0x73B9 +Testing andi_to_ccr...done. pre_crc:0x7E03, mem_crc:0x0000, reg_crc:0xA7D5, cc_crc:0x0231 +Testing asl_dx_dy...done. pre_crc:0x9605, mem_crc:0x0000, reg_crc:0x697E, cc_crc:0xD908 +Testing asl_const_dy...done. pre_crc:0x8FFA, mem_crc:0x0000, reg_crc:0x672F, cc_crc:0x6CC5 +Testing asl_ind...done. pre_crc:0xC1E5, mem_crc:0xE504, reg_crc:0x3DFD, cc_crc:0xAE8A +Testing asl_d16...done. pre_crc:0xC6AF, mem_crc:0x2654, reg_crc:0x9445, cc_crc:0x73C1 +Testing asl_absl...done. pre_crc:0xEA0F, mem_crc:0xEF9D, reg_crc:0x0FDD, cc_crc:0x1E11 +Testing asr_dx_dy...done. pre_crc:0xD7DD, mem_crc:0x0000, reg_crc:0xBFCE, cc_crc:0xFBBC +Testing asr_const_dy...done. pre_crc:0xEF8F, mem_crc:0x0000, reg_crc:0x1368, cc_crc:0x9894 +Testing asr_ind...done. pre_crc:0xEAFD, mem_crc:0x79BF, reg_crc:0x009C, cc_crc:0xAFCA +Testing asr_d16...done. pre_crc:0xE968, mem_crc:0x5E43, reg_crc:0xD27E, cc_crc:0xD538 +Testing asr_absl...done. pre_crc:0xD333, mem_crc:0x2E1D, reg_crc:0x3D3E, cc_crc:0xD649 +Testing lsl_dx_dy...done. pre_crc:0xDE73, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0xE9C8 +Testing lsl_const_dy...done. pre_crc:0x0F12, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xA030 +Testing lsl_ind...done. pre_crc:0xB7E4, mem_crc:0xF186, reg_crc:0x00A6, cc_crc:0x0BA1 +Testing lsl_d16...done. pre_crc:0x4436, mem_crc:0x0D9B, reg_crc:0x7499, cc_crc:0xB5C8 +Testing lsl_absl...done. pre_crc:0x97D0, mem_crc:0x2367, reg_crc:0x0084, cc_crc:0x0449 +Testing lsr_dx_dy...done. pre_crc:0xE4D3, mem_crc:0x0000, reg_crc:0x986B, cc_crc:0xD586 +Testing lsr_const_dy...done. pre_crc:0x6D82, mem_crc:0x0000, reg_crc:0x07EF, cc_crc:0xBA1F +Testing lsr_ind...done. pre_crc:0xBF5F, mem_crc:0x680E, reg_crc:0x5180, cc_crc:0xC875 +Testing lsr_d16...done. pre_crc:0x24DD, mem_crc:0xCCBD, reg_crc:0xEFEC, cc_crc:0xD450 +Testing lsr_absl...done. pre_crc:0xA961, mem_crc:0x90BE, reg_crc:0xB62C, cc_crc:0x8629 +Testing bra_b...done. pre_crc:0x53BE, mem_crc:0x0000, reg_crc:0xF720, cc_crc:0xCE07 +Testing bhi_b...done. pre_crc:0xBAE0, mem_crc:0x0000, reg_crc:0xD29A, cc_crc:0xF7E0 +Testing bls_b...done. pre_crc:0xEEAC, mem_crc:0x0000, reg_crc:0xF527, cc_crc:0x7973 +Testing bcc_b...done. pre_crc:0xB477, mem_crc:0x0000, reg_crc:0x6DD0, cc_crc:0x3ED5 +Testing bcs_b...done. pre_crc:0xB771, mem_crc:0x0000, reg_crc:0xE5D9, cc_crc:0xF264 +Testing bne_b...done. pre_crc:0x2F1B, mem_crc:0x0000, reg_crc:0x2068, cc_crc:0xC4C2 +Testing beq_b...done. pre_crc:0xC436, mem_crc:0x0000, reg_crc:0xDDB2, cc_crc:0x796B +Testing bvc_b...done. pre_crc:0xF98D, mem_crc:0x0000, reg_crc:0xCDFE, cc_crc:0x14DE +Testing bvs_b...done. pre_crc:0x464E, mem_crc:0x0000, reg_crc:0x8D90, cc_crc:0xCE64 +Testing bpl_b...done. pre_crc:0xA8F1, mem_crc:0x0000, reg_crc:0xACAC, cc_crc:0xE277 +Testing bmi_b...done. pre_crc:0x20ED, mem_crc:0x0000, reg_crc:0xB8A0, cc_crc:0x1385 +Testing bge_b...done. pre_crc:0x3858, mem_crc:0x0000, reg_crc:0x5084, cc_crc:0x067D +Testing blt_b...done. pre_crc:0x9B81, mem_crc:0x0000, reg_crc:0xBEA3, cc_crc:0xA62E +Testing bgt_b...done. pre_crc:0x4D45, mem_crc:0x0000, reg_crc:0x880A, cc_crc:0x173A +Testing ble_b...done. pre_crc:0x03AB, mem_crc:0x0000, reg_crc:0x5DA8, cc_crc:0x4F49 +Testing bra_w...done. pre_crc:0xCCCE, mem_crc:0x0000, reg_crc:0x45C2, cc_crc:0xAE73 +Testing bhi_w...done. pre_crc:0x14C8, mem_crc:0x0000, reg_crc:0x4EC0, cc_crc:0xD63B +Testing bls_w...done. pre_crc:0x2210, mem_crc:0x0000, reg_crc:0x219C, cc_crc:0x3C12 +Testing bcc_w...done. pre_crc:0x2F4A, mem_crc:0x0000, reg_crc:0x02E6, cc_crc:0xAEA8 +Testing bcs_w...done. pre_crc:0xE54F, mem_crc:0x0000, reg_crc:0xF2C8, cc_crc:0x6486 +Testing bne_w...done. pre_crc:0x21A7, mem_crc:0x0000, reg_crc:0x6C03, cc_crc:0x03A3 +Testing beq_w...done. pre_crc:0xF4ED, mem_crc:0x0000, reg_crc:0xF0E8, cc_crc:0x3175 +Testing bvc_w...done. pre_crc:0x238E, mem_crc:0x0000, reg_crc:0xF1DC, cc_crc:0xC29E +Testing bvs_w...done. pre_crc:0x95F7, mem_crc:0x0000, reg_crc:0x5999, cc_crc:0xA34D +Testing bpl_w...done. pre_crc:0xF6ED, mem_crc:0x0000, reg_crc:0x5DA4, cc_crc:0xA084 +Testing bmi_w...done. pre_crc:0x8B15, mem_crc:0x0000, reg_crc:0xA9E4, cc_crc:0x76E6 +Testing bge_w...done. pre_crc:0x53B7, mem_crc:0x0000, reg_crc:0x37B6, cc_crc:0xE0D6 +Testing blt_w...done. pre_crc:0x4832, mem_crc:0x0000, reg_crc:0xE545, cc_crc:0xC01D +Testing bgt_w...done. pre_crc:0x965E, mem_crc:0x0000, reg_crc:0x93DE, cc_crc:0x92A2 +Testing ble_w...done. pre_crc:0x6F8D, mem_crc:0x0000, reg_crc:0x0655, cc_crc:0xEBE7 +Testing bra_l...done. pre_crc:0x0EBC, mem_crc:0x0000, reg_crc:0xDBAA, cc_crc:0x4045 +Testing bhi_l...done. pre_crc:0x42BB, mem_crc:0x0000, reg_crc:0x33CC, cc_crc:0x1537 +Testing bls_l...done. pre_crc:0x7BFA, mem_crc:0x0000, reg_crc:0x82B4, cc_crc:0x7E96 +Testing bcc_l...done. pre_crc:0xEA66, mem_crc:0x0000, reg_crc:0x78F6, cc_crc:0xD86F +Testing bcs_l...done. pre_crc:0x325B, mem_crc:0x0000, reg_crc:0xF92E, cc_crc:0xA10E +Testing bne_l...done. pre_crc:0x49E5, mem_crc:0x0000, reg_crc:0x3BEC, cc_crc:0xEF40 +Testing beq_l...done. pre_crc:0x90B4, mem_crc:0x0000, reg_crc:0x06FF, cc_crc:0x6BE0 +Testing bvc_l...done. pre_crc:0x1F87, mem_crc:0x0000, reg_crc:0x5798, cc_crc:0xCAB8 +Testing bvs_l...done. pre_crc:0xA2E2, mem_crc:0x0000, reg_crc:0x53E1, cc_crc:0x88DE +Testing bpl_l...done. pre_crc:0x0DB1, mem_crc:0x0000, reg_crc:0x6C59, cc_crc:0x77A0 +Testing bmi_l...done. pre_crc:0x5D67, mem_crc:0x0000, reg_crc:0xE046, cc_crc:0xEE8E +Testing bge_l...done. pre_crc:0xD098, mem_crc:0x0000, reg_crc:0x87FA, cc_crc:0x4040 +Testing blt_l...done. pre_crc:0xB5FD, mem_crc:0x0000, reg_crc:0x6C48, cc_crc:0x21E1 +Testing bgt_l...done. pre_crc:0x9544, mem_crc:0x0000, reg_crc:0x73D3, cc_crc:0xB887 +Testing ble_l...done. pre_crc:0x4903, mem_crc:0x0000, reg_crc:0x0B19, cc_crc:0x0C0F +Testing bchg_reg_reg...done. pre_crc:0x2549, mem_crc:0x0000, reg_crc:0x6416, cc_crc:0x2C2F +Testing bchg_const_reg...done. pre_crc:0x6E8C, mem_crc:0x0000, reg_crc:0xC249, cc_crc:0x3EDA +Testing bchg_reg_ind...done. pre_crc:0x8E62, mem_crc:0x938E, reg_crc:0xC6AF, cc_crc:0x7EBE +Testing bchg_const_ind...done. pre_crc:0xB13A, mem_crc:0xEBF9, reg_crc:0xF98B, cc_crc:0xEFD6 +Testing bchg_reg_d16...done. pre_crc:0x4EE9, mem_crc:0xEBA0, reg_crc:0x8BD8, cc_crc:0x7A83 +Testing bchg_const_d16...done. pre_crc:0x44E9, mem_crc:0xC04B, reg_crc:0x611F, cc_crc:0x9E98 +Testing bchg_reg_absl...done. pre_crc:0xC2FA, mem_crc:0x8817, reg_crc:0x4F58, cc_crc:0x66F9 +Testing bchg_const_absl...done. pre_crc:0x4880, mem_crc:0xA333, reg_crc:0xC641, cc_crc:0x4E69 +Testing bclr_reg_reg...done. pre_crc:0xDC86, mem_crc:0x0000, reg_crc:0x722B, cc_crc:0x3ED5 +Testing bclr_const_reg...done. pre_crc:0xA0B1, mem_crc:0x0000, reg_crc:0x67E6, cc_crc:0xBF73 +Testing bclr_reg_ind...done. pre_crc:0xD7B6, mem_crc:0xD389, reg_crc:0x5701, cc_crc:0x6F22 +Testing bclr_const_ind...done. pre_crc:0xAC49, mem_crc:0x0E0B, reg_crc:0x7A16, cc_crc:0x89C4 +Testing bclr_reg_d16...done. pre_crc:0xFB11, mem_crc:0xA52D, reg_crc:0xFA12, cc_crc:0x0A6C +Testing bclr_const_d16...done. pre_crc:0x623E, mem_crc:0xC581, reg_crc:0xC5EE, cc_crc:0x2DF6 +Testing bclr_reg_absl...done. pre_crc:0x59E2, mem_crc:0xBE2B, reg_crc:0x4038, cc_crc:0x335C +Testing bclr_const_absl...done. pre_crc:0x284C, mem_crc:0x0154, reg_crc:0xF0A3, cc_crc:0x3EB3 +Testing bset_reg_reg...done. pre_crc:0x9B23, mem_crc:0x0000, reg_crc:0xA98B, cc_crc:0x88F3 +Testing bset_const_reg...done. pre_crc:0xF6FC, mem_crc:0x0000, reg_crc:0x5C30, cc_crc:0xEB05 +Testing bset_reg_ind...done. pre_crc:0x1E20, mem_crc:0x8E5A, reg_crc:0xE534, cc_crc:0x349E +Testing bset_const_ind...done. pre_crc:0x97B6, mem_crc:0x7E6A, reg_crc:0x5CEE, cc_crc:0xFE6B +Testing bset_reg_d16...done. pre_crc:0xD705, mem_crc:0xA852, reg_crc:0xFCA5, cc_crc:0x7C01 +Testing bset_const_d16...done. pre_crc:0xE5B8, mem_crc:0x724B, reg_crc:0x587A, cc_crc:0x295D +Testing bset_reg_absl...done. pre_crc:0x1A5E, mem_crc:0x4C97, reg_crc:0x8E53, cc_crc:0xC175 +Testing bset_const_absl...done. pre_crc:0xBBC3, mem_crc:0x3BFE, reg_crc:0xC935, cc_crc:0x227E +Testing btst_reg_reg...done. pre_crc:0xF7A6, mem_crc:0x0000, reg_crc:0x8DD4, cc_crc:0xAD46 +Testing btst_const_reg...done. pre_crc:0x5F6A, mem_crc:0x0000, reg_crc:0xE0D9, cc_crc:0x1850 +Testing btst_reg_ind...done. pre_crc:0xCA92, mem_crc:0x0000, reg_crc:0x8EC0, cc_crc:0xA8AD +Testing btst_const_ind...done. pre_crc:0xCE19, mem_crc:0x0000, reg_crc:0xA851, cc_crc:0x42F0 +Testing btst_reg_d16...done. pre_crc:0x2257, mem_crc:0x0000, reg_crc:0x8AFD, cc_crc:0x6681 +Testing btst_const_d16...done. pre_crc:0x1020, mem_crc:0x0000, reg_crc:0x27D2, cc_crc:0xD3F8 +Testing btst_reg_absl...done. pre_crc:0xB8CE, mem_crc:0x0000, reg_crc:0x6261, cc_crc:0xF0FC +Testing btst_const_absl...done. pre_crc:0x3C7F, mem_crc:0x0000, reg_crc:0x18A5, cc_crc:0x7163 +Testing bfchg_reg...done. pre_crc:0x195C, mem_crc:0x0000, reg_crc:0x8ADF, cc_crc:0x4117 +Testing bfchg_ind...done. pre_crc:0x006C, mem_crc:0x1EED, reg_crc:0xD78E, cc_crc:0x3480 +Testing bfchg_d16...done. pre_crc:0x6BA3, mem_crc:0xAFF9, reg_crc:0x92C2, cc_crc:0xF2A1 +Testing bfchg_absl...done. pre_crc:0x51F4, mem_crc:0xD516, reg_crc:0x138A, cc_crc:0xFD08 +Testing bfclr_reg...done. pre_crc:0xBA6D, mem_crc:0x0000, reg_crc:0x729A, cc_crc:0xDF94 +Testing bfclr_ind...done. pre_crc:0xAAF1, mem_crc:0x777B, reg_crc:0xB7CC, cc_crc:0x8AC2 +Testing bfclr_d16...done. pre_crc:0x836F, mem_crc:0x3BB3, reg_crc:0x780F, cc_crc:0xC7C4 +Testing bfclr_absl...done. pre_crc:0xC4C6, mem_crc:0x0FFF, reg_crc:0x8839, cc_crc:0xB150 +Testing bfset_reg...done. pre_crc:0x7586, mem_crc:0x0000, reg_crc:0xA7BC, cc_crc:0xB1A5 +Testing bfset_ind...done. pre_crc:0xE161, mem_crc:0xEEAA, reg_crc:0xCD3E, cc_crc:0x049D +Testing bfset_d16...done. pre_crc:0x8DB3, mem_crc:0xEE55, reg_crc:0x4F32, cc_crc:0xC569 +Testing bfset_absl...done. pre_crc:0x8E08, mem_crc:0x6F2E, reg_crc:0x99CA, cc_crc:0xFC22 +Testing bftst_reg...done. pre_crc:0x5F09, mem_crc:0x0000, reg_crc:0xE554, cc_crc:0x9A27 +Testing bftst_ind...done. pre_crc:0xAF21, mem_crc:0x0000, reg_crc:0xCEB3, cc_crc:0x088F +Testing bftst_d16...done. pre_crc:0xE1F5, mem_crc:0x0000, reg_crc:0x7114, cc_crc:0x9438 +Testing bftst_absl...done. pre_crc:0xF926, mem_crc:0x0000, reg_crc:0xACF6, cc_crc:0x2A4F +Testing bfexts_reg...done. pre_crc:0x2315, mem_crc:0x0000, reg_crc:0x6550, cc_crc:0xE6D6 +Testing bfexts_ind...done. pre_crc:0x4ABE, mem_crc:0x0000, reg_crc:0xF8BF, cc_crc:0xD53B +Testing bfexts_d16...done. pre_crc:0x3A36, mem_crc:0x0000, reg_crc:0xA09C, cc_crc:0x9B57 +Testing bfexts_absl...done. pre_crc:0xB3DC, mem_crc:0x0000, reg_crc:0x098D, cc_crc:0x90BE +Testing bfextu_reg...done. pre_crc:0x0E80, mem_crc:0x0000, reg_crc:0x3688, cc_crc:0xFB34 +Testing bfextu_ind...done. pre_crc:0x403F, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0xA8BF +Testing bfextu_d16...done. pre_crc:0x8185, mem_crc:0x0000, reg_crc:0x88BB, cc_crc:0xFE46 +Testing bfextu_absl...done. pre_crc:0xC14C, mem_crc:0x0000, reg_crc:0x31DC, cc_crc:0xC81C +Testing bfffo_reg...done. pre_crc:0xCB7E, mem_crc:0x0000, reg_crc:0x5BC1, cc_crc:0xA6FA +Testing bfffo_ind...done. pre_crc:0x0391, mem_crc:0x0000, reg_crc:0xB51A, cc_crc:0xC297 +Testing bfffo_d16...done. pre_crc:0x9877, mem_crc:0x0000, reg_crc:0xCC60, cc_crc:0x5B08 +Testing bfffo_absl...done. pre_crc:0xD55B, mem_crc:0x0000, reg_crc:0xD842, cc_crc:0x61B3 +Testing bfins_reg...done. pre_crc:0x5502, mem_crc:0x0000, reg_crc:0xAC09, cc_crc:0x93C6 +Testing bfins_ind...done. pre_crc:0x62A8, mem_crc:0xD414, reg_crc:0x874B, cc_crc:0x26CD +Testing bfins_d16...done. pre_crc:0x6FF6, mem_crc:0x0B51, reg_crc:0xB913, cc_crc:0x1474 +Testing bfins_absl...done. pre_crc:0x97F0, mem_crc:0x408F, reg_crc:0xA3BE, cc_crc:0xB73A +Testing bsr_b...done. pre_crc:0x990F, mem_crc:0xDEF0, reg_crc:0xBE8E, cc_crc:0xEAE0 +Testing bsr_w...done. pre_crc:0x4ACF, mem_crc:0xF45E, reg_crc:0xF3A0, cc_crc:0xA97B +Testing bsr_l...done. pre_crc:0x7312, mem_crc:0xBFBC, reg_crc:0x6ECD, cc_crc:0x7427 +Testing cas_ind...done. pre_crc:0x1F9F, mem_crc:0x3CA3, reg_crc:0x811D, cc_crc:0x7E50 +Testing cas2_areg...done. pre_crc:0x8C6A, mem_crc:0x395C, reg_crc:0x103D, cc_crc:0x4EB2 +Testing cas2_anyreg...done. pre_crc:0x59FF, mem_crc:0xEC38, reg_crc:0xE103, cc_crc:0x63F3 +Testing clr_reg...done. pre_crc:0x31FE, mem_crc:0x0000, reg_crc:0x6A7E, cc_crc:0xB12B +Testing clrb_ind...done. pre_crc:0x341A, mem_crc:0x0AC5, reg_crc:0x18C0, cc_crc:0x3665 +Testing clrwl_ind...done. pre_crc:0x777D, mem_crc:0x9BE6, reg_crc:0x0731, cc_crc:0x63BD +Testing clrb_absl...done. pre_crc:0x6866, mem_crc:0xE4D7, reg_crc:0x5318, cc_crc:0xFF0F +Testing clrwl_absl...done. pre_crc:0x5CB8, mem_crc:0x126C, reg_crc:0x66A5, cc_crc:0xBCA1 +Testing cmp_dreg...done. pre_crc:0x73FB, mem_crc:0x0000, reg_crc:0x17F6, cc_crc:0xF92E +Testing cmp_areg...done. pre_crc:0x4C5A, mem_crc:0x0000, reg_crc:0x5DFB, cc_crc:0xE6D6 +Testing cmpb_ind...done. pre_crc:0xE3DB, mem_crc:0x0000, reg_crc:0xCCFA, cc_crc:0xBC7C +Testing cmpwl_ind...done. pre_crc:0x8631, mem_crc:0x0000, reg_crc:0xDD90, cc_crc:0xA892 +Testing cmpb_d16...done. pre_crc:0x399C, mem_crc:0x0000, reg_crc:0x19D9, cc_crc:0x3B67 +Testing cmpwl_d16...done. pre_crc:0x076D, mem_crc:0x0000, reg_crc:0x0918, cc_crc:0x7488 +Testing cmpa_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0xA1A4, cc_crc:0x6E67 +Testing cmpa_ind...done. pre_crc:0xEAD0, mem_crc:0x0000, reg_crc:0xB576, cc_crc:0x28D2 +Testing cmpa_ind2...done. pre_crc:0x47F8, mem_crc:0x0000, reg_crc:0x6C2D, cc_crc:0x4076 +Testing cmpa_d16...done. pre_crc:0x744E, mem_crc:0x0000, reg_crc:0x6773, cc_crc:0xAE8F +Testing cmpa_d16_2...done. pre_crc:0x7793, mem_crc:0x0000, reg_crc:0x2C79, cc_crc:0x962B +Testing cmpa_absl...done. pre_crc:0x13BA, mem_crc:0x0000, reg_crc:0xEC19, cc_crc:0x5426 +Testing cmpibw_reg...done. pre_crc:0x4372, mem_crc:0x0000, reg_crc:0xFECD, cc_crc:0x2C2F +Testing cmpil_reg...done. pre_crc:0x5105, mem_crc:0x0000, reg_crc:0xA377, cc_crc:0x618F +Testing cmpib_ind...done. pre_crc:0x1F41, mem_crc:0x0000, reg_crc:0xED95, cc_crc:0x1098 +Testing cmpiw_ind...done. pre_crc:0x6D59, mem_crc:0x0000, reg_crc:0xB8D2, cc_crc:0x3663 +Testing cmpil_ind...done. pre_crc:0xEB09, mem_crc:0x0000, reg_crc:0x1450, cc_crc:0x3E34 +Testing cmpmb...done. pre_crc:0x9891, mem_crc:0x0000, reg_crc:0x0F95, cc_crc:0x5C35 +Testing cmpmwl...done. pre_crc:0x3495, mem_crc:0x0000, reg_crc:0x0A36, cc_crc:0x3D9D +Testing cmp2b_ind...done. pre_crc:0x78F9, mem_crc:0x0000, reg_crc:0xBA89, cc_crc:0x84D8 +Testing cmp2wl_ind...done. pre_crc:0x66A3, mem_crc:0x0000, reg_crc:0x0D5E, cc_crc:0xD7EB +Testing dbcc...done. pre_crc:0x7BEA, mem_crc:0x0000, reg_crc:0x6E5B, cc_crc:0x7A61 +Testing divs_reg...done. pre_crc:0xF7D9, mem_crc:0x0000, reg_crc:0x8CF7, cc_crc:0x569C +Testing divs_same_reg...done. pre_crc:0xE86D, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0xF9AA +Testing divs_ind...done. pre_crc:0x460B, mem_crc:0x0000, reg_crc:0xE3A2, cc_crc:0x1DAC +Testing divs_absl...done. pre_crc:0x0717, mem_crc:0x0000, reg_crc:0xCAF0, cc_crc:0x337E +Testing divu_reg...done. pre_crc:0x66C7, mem_crc:0x0000, reg_crc:0x3060, cc_crc:0xA674 +Testing divu_same_reg...done. pre_crc:0xCA00, mem_crc:0x0000, reg_crc:0xB3DF, cc_crc:0x9DD3 +Testing divu_ind...done. pre_crc:0xAC3F, mem_crc:0x0000, reg_crc:0x9BDA, cc_crc:0x5D1A +Testing divu_absl...done. pre_crc:0x5E6E, mem_crc:0x0000, reg_crc:0xA704, cc_crc:0x9B07 +Testing divul_ll_reg...done. pre_crc:0x80C1, mem_crc:0x0000, reg_crc:0x01EF, cc_crc:0xAF7D +Testing divul_ll_ind...done. pre_crc:0x5CEF, mem_crc:0x0000, reg_crc:0xD02F, cc_crc:0x0AA3 +Testing divul_ll_absl...done. pre_crc:0x2C75, mem_crc:0x0000, reg_crc:0x583B, cc_crc:0x5C00 +Testing eor_reg...done. pre_crc:0xE073, mem_crc:0x0000, reg_crc:0x266D, cc_crc:0xE66B +Testing eor_ind...done. pre_crc:0x0DB7, mem_crc:0x3107, reg_crc:0x070B, cc_crc:0xB973 +Testing eor_d16...done. pre_crc:0xFD5C, mem_crc:0x568D, reg_crc:0x7C16, cc_crc:0x3EC7 +Testing eor_absl...done. pre_crc:0x7DFE, mem_crc:0xC5F3, reg_crc:0x4DAF, cc_crc:0x7675 +Testing eoribw_dreg...done. pre_crc:0xB696, mem_crc:0x0000, reg_crc:0x28C9, cc_crc:0x9B3B +Testing eoril_dreg...done. pre_crc:0x310B, mem_crc:0x0000, reg_crc:0x3B5E, cc_crc:0x942C +Testing eoribw_ind...done. pre_crc:0x3FBE, mem_crc:0x4D66, reg_crc:0x0D07, cc_crc:0xE2CA +Testing eoril_ind...done. pre_crc:0x3719, mem_crc:0xA7B6, reg_crc:0xC101, cc_crc:0xE172 +Testing eoribw_d16...done. pre_crc:0xB027, mem_crc:0x4B47, reg_crc:0x370D, cc_crc:0x2881 +Testing eoril_d16...done. pre_crc:0x346E, mem_crc:0xC880, reg_crc:0xF8E6, cc_crc:0x9808 +Testing eoribw_absl...done. pre_crc:0xD4BE, mem_crc:0x0F11, reg_crc:0x72C0, cc_crc:0x12D8 +Testing eoril_absl...done. pre_crc:0x319D, mem_crc:0xCAD2, reg_crc:0xCBE9, cc_crc:0x642A +Testing eori_to_ccr...done. pre_crc:0xE908, mem_crc:0x0000, reg_crc:0xD859, cc_crc:0x4920 +Testing exg...done. pre_crc:0x6B39, mem_crc:0x0000, reg_crc:0xFEFB, cc_crc:0xEF26 +Testing ext...done. pre_crc:0x7ABC, mem_crc:0x0000, reg_crc:0xAD9D, cc_crc:0x7E8D +Testing jmp_absl...done. pre_crc:0xEAAF, mem_crc:0x0000, reg_crc:0x3F5F, cc_crc:0x3536 +Testing jmp_ind...done. pre_crc:0x1348, mem_crc:0x0000, reg_crc:0x08C7, cc_crc:0x550F +Testing jmp_d16...done. pre_crc:0x4DE1, mem_crc:0x0000, reg_crc:0xCD92, cc_crc:0x10CE +Testing jsr_absl...done. pre_crc:0xD3E6, mem_crc:0xB6FD, reg_crc:0xD3A7, cc_crc:0x1D9C +Testing jsr_ind...done. pre_crc:0x9386, mem_crc:0x31C1, reg_crc:0xD756, cc_crc:0x4BCC +Testing jsr_d16...done. pre_crc:0xB8D7, mem_crc:0x5CB7, reg_crc:0x9393, cc_crc:0xCCF9 +Testing lea_ind...done. pre_crc:0xDFFB, mem_crc:0x0000, reg_crc:0x1AF1, cc_crc:0x4591 +Testing lea_d16...done. pre_crc:0x6EC8, mem_crc:0x0000, reg_crc:0xBFCD, cc_crc:0x58F8 +Testing lea_absw...done. pre_crc:0x79C6, mem_crc:0x0000, reg_crc:0xD064, cc_crc:0x1247 +Testing lea_absl...done. pre_crc:0xA9F9, mem_crc:0x0000, reg_crc:0x123F, cc_crc:0x4AA7 +Testing linkw...done. pre_crc:0x88FC, mem_crc:0x87E8, reg_crc:0x30FF, cc_crc:0x0A84 +Testing linkl...done. pre_crc:0xE356, mem_crc:0x6AE4, reg_crc:0x2CB9, cc_crc:0x2E55 +Testing move16_postinc_postinc...done. pre_crc:0x86A0, mem_crc:0xE00B, reg_crc:0xD076, cc_crc:0x3CFF +Testing move16_absl_ind...done. pre_crc:0x3C75, mem_crc:0xDB36, reg_crc:0x2504, cc_crc:0x140C +Testing move16_absl_postinc...done. pre_crc:0xCD4D, mem_crc:0x35DE, reg_crc:0xDEDD, cc_crc:0xCF9C +Testing move16_ind_absl...done. pre_crc:0xDAD0, mem_crc:0xC642, reg_crc:0xEFBF, cc_crc:0xB913 +Testing move16_postinc_absl...done. pre_crc:0xA6F4, mem_crc:0x57AB, reg_crc:0xD91F, cc_crc:0xA5E7 +Testing moveb_dreg_dreg...done. pre_crc:0x1CA1, mem_crc:0x0000, reg_crc:0xF8F7, cc_crc:0x524A +Testing movewl_reg_dreg...done. pre_crc:0x3D33, mem_crc:0x0000, reg_crc:0xA360, cc_crc:0x766B +Testing moveb_ind_dreg...done. pre_crc:0x9047, mem_crc:0x0000, reg_crc:0xABD3, cc_crc:0x76D5 +Testing movewl_ind_dreg...done. pre_crc:0x1E12, mem_crc:0x0000, reg_crc:0x5FE8, cc_crc:0x498F +Testing moveb_d16_dreg...done. pre_crc:0x01AE, mem_crc:0x0000, reg_crc:0xB4F3, cc_crc:0x5914 +Testing movewl_d16_dreg...done. pre_crc:0x89D1, mem_crc:0x0000, reg_crc:0x0F78, cc_crc:0xCEBA +Testing moveb_absl_dreg...done. pre_crc:0x7250, mem_crc:0x0000, reg_crc:0x221E, cc_crc:0x2C62 +Testing movewl_absl_dreg...done. pre_crc:0x5BEF, mem_crc:0x0000, reg_crc:0x53A3, cc_crc:0xA846 +Testing movebw_const_dreg...done. pre_crc:0xD4DC, mem_crc:0x0000, reg_crc:0xBA62, cc_crc:0xE417 +Testing movel_const_dreg...done. pre_crc:0x315E, mem_crc:0x0000, reg_crc:0x53AA, cc_crc:0xB049 +Testing moveb_dreg_ind...done. pre_crc:0x34DB, mem_crc:0xEEEB, reg_crc:0xDED8, cc_crc:0x34CB +Testing movewl_reg_ind...done. pre_crc:0x1D7D, mem_crc:0x2075, reg_crc:0x0E4F, cc_crc:0xEA75 +Testing moveb_dreg_d16...done. pre_crc:0xC31E, mem_crc:0xE326, reg_crc:0xFE07, cc_crc:0x8940 +Testing movewl_reg_d16...done. pre_crc:0x8CFC, mem_crc:0x4EDB, reg_crc:0x27FF, cc_crc:0xD160 +Testing moveb_dreg_absl...done. pre_crc:0xCD97, mem_crc:0x57C8, reg_crc:0x75AB, cc_crc:0x6978 +Testing movewl_reg_absl...done. pre_crc:0x030F, mem_crc:0x6798, reg_crc:0x31BC, cc_crc:0xEBDE +Testing moveb_ind_ind...done. pre_crc:0xDB50, mem_crc:0xCC9C, reg_crc:0xC7C7, cc_crc:0xDC57 +Testing moveb_ind_d16...done. pre_crc:0xF27E, mem_crc:0x65B1, reg_crc:0x4097, cc_crc:0x8E55 +Testing moveb_d16_ind...done. pre_crc:0x766B, mem_crc:0xFF7D, reg_crc:0x667D, cc_crc:0x2525 +Testing movewl_ind_d16...done. pre_crc:0xC91B, mem_crc:0x2DE8, reg_crc:0x96ED, cc_crc:0xECB0 +Testing movewl_d16_ind...done. pre_crc:0xECFC, mem_crc:0x1686, reg_crc:0x1E8B, cc_crc:0xDED4 +Testing moveb_d16_d16...done. pre_crc:0x4D7C, mem_crc:0xDEF5, reg_crc:0xF639, cc_crc:0xA4A7 +Testing movewl_d16_d16...done. pre_crc:0xB5B8, mem_crc:0xCC0A, reg_crc:0x61F4, cc_crc:0xE51A +Testing moveb_ind_absl...done. pre_crc:0xAEC9, mem_crc:0x2EAA, reg_crc:0xEB0F, cc_crc:0x35C9 +Testing movewl_ind_absl...done. pre_crc:0x7F8D, mem_crc:0x769B, reg_crc:0x3A66, cc_crc:0xD3BF +Testing moveb_absl_ind...done. pre_crc:0xD19A, mem_crc:0x01E9, reg_crc:0xE4C9, cc_crc:0x3AFC +Testing movewl_absl_ind...done. pre_crc:0x25F0, mem_crc:0x3FD2, reg_crc:0xB422, cc_crc:0xEFC8 +Testing moveb_absl_absl...done. pre_crc:0xFA99, mem_crc:0x7C89, reg_crc:0x24C6, cc_crc:0xF22C +Testing movewl_absl_absl...done. pre_crc:0xAB20, mem_crc:0x8A7A, reg_crc:0xC9B7, cc_crc:0xFCC6 +Testing moveb_d16_absl...done. pre_crc:0x141A, mem_crc:0x393C, reg_crc:0x1822, cc_crc:0x9107 +Testing movewl_d16_absl...done. pre_crc:0x940D, mem_crc:0x4E5A, reg_crc:0x686E, cc_crc:0x862A +Testing moveb_absl_d16...done. pre_crc:0x173B, mem_crc:0x2FE6, reg_crc:0x713F, cc_crc:0x6B94 +Testing movewl_absl_d16...done. pre_crc:0xF997, mem_crc:0x02B5, reg_crc:0xD376, cc_crc:0xA9D8 +Testing moveb_const_ind...done. pre_crc:0x591C, mem_crc:0x5D34, reg_crc:0x7CB0, cc_crc:0x42F3 +Testing moveb_const_d16...done. pre_crc:0xC634, mem_crc:0x5AF3, reg_crc:0xA101, cc_crc:0x10C7 +Testing moveb_const_absl...done. pre_crc:0x2DDF, mem_crc:0x5268, reg_crc:0xFB51, cc_crc:0xBE35 +Testing movew_const_ind...done. pre_crc:0x1C07, mem_crc:0xDC2A, reg_crc:0x1694, cc_crc:0x7D5C +Testing movew_const_d16...done. pre_crc:0xF272, mem_crc:0x7206, reg_crc:0x64DC, cc_crc:0xA12F +Testing movew_const_absl...done. pre_crc:0x6903, mem_crc:0x1214, reg_crc:0x3DA2, cc_crc:0xB33B +Testing movel_const_ind...done. pre_crc:0x525A, mem_crc:0x0E7A, reg_crc:0x4932, cc_crc:0xB3B5 +Testing movel_const_d16...done. pre_crc:0xA486, mem_crc:0x05C6, reg_crc:0xDEB2, cc_crc:0xFA00 +Testing movel_const_absl...done. pre_crc:0x07E3, mem_crc:0x989B, reg_crc:0x2277, cc_crc:0x669C +Testing movea_reg...done. pre_crc:0x57E1, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xB046 +Testing movea_ind...done. pre_crc:0x5C3C, mem_crc:0x0000, reg_crc:0x4EBD, cc_crc:0xE156 +Testing movea_d16...done. pre_crc:0x490E, mem_crc:0x0000, reg_crc:0xAA69, cc_crc:0x2532 +Testing movea_absl...done. pre_crc:0xA477, mem_crc:0x0000, reg_crc:0xCE85, cc_crc:0xFB7C +Testing moveaw_const...done. pre_crc:0xCC8D, mem_crc:0x0000, reg_crc:0x056A, cc_crc:0xFACA +Testing moveal_const...done. pre_crc:0x0AB6, mem_crc:0x0000, reg_crc:0xA671, cc_crc:0xC0BB +Testing move_from_ccr_dreg...done. pre_crc:0x98C9, mem_crc:0x0000, reg_crc:0x97A2, cc_crc:0x85BC +Testing move_from_ccr_ind...done. pre_crc:0x9217, mem_crc:0x0000, reg_crc:0xFF59, cc_crc:0x8499 +Testing move_from_ccr_d16...done. pre_crc:0x027C, mem_crc:0x0000, reg_crc:0x6696, cc_crc:0x7D82 +Testing move_to_ccr_reg...done. pre_crc:0x5492, mem_crc:0x0000, reg_crc:0x4557, cc_crc:0x9157 +Testing move_to_ccr_ind...done. pre_crc:0x2FE8, mem_crc:0x0000, reg_crc:0x8178, cc_crc:0x71A5 +Testing movem_to_ind...done. pre_crc:0x9A4B, mem_crc:0x71BD, reg_crc:0xDA43, cc_crc:0xC4D3 +Testing movem_to_predec...done. pre_crc:0xB695, mem_crc:0xC708, reg_crc:0xC52B, cc_crc:0xEAE0 +Testing movem_to_d16...done. pre_crc:0x3D58, mem_crc:0x4787, reg_crc:0x369C, cc_crc:0x1A79 +Testing movem_to_absl...done. pre_crc:0xC803, mem_crc:0xCFDD, reg_crc:0xE7AA, cc_crc:0x4E36 +Testing movem_from_d16...done. pre_crc:0xBFC8, mem_crc:0x0000, reg_crc:0x72BE, cc_crc:0xCA0A +Testing movem_from_ind...done. pre_crc:0x2436, mem_crc:0x0000, reg_crc:0x88A5, cc_crc:0xA04D +Testing movem_from_absl...done. pre_crc:0x7CFA, mem_crc:0x0000, reg_crc:0xE4CA, cc_crc:0x122B +Testing movep_to_mem...done. pre_crc:0xB404, mem_crc:0xFCCF, reg_crc:0x08A2, cc_crc:0x9E3D +Testing movep_from_mem...done. pre_crc:0x500C, mem_crc:0x0000, reg_crc:0x7C75, cc_crc:0x9EA8 +Testing moveq...done. pre_crc:0xE56F, mem_crc:0x0000, reg_crc:0x4D71, cc_crc:0x045D +Testing mulsw_dreg...done. pre_crc:0xFC86, mem_crc:0x0000, reg_crc:0x4C02, cc_crc:0xB26F +Testing mulsw_ind...done. pre_crc:0x0487, mem_crc:0x0000, reg_crc:0xBFF2, cc_crc:0x15CD +Testing mulsw_d16...done. pre_crc:0x3F0F, mem_crc:0x0000, reg_crc:0x9152, cc_crc:0x2EFF +Testing mulsw_absl...done. pre_crc:0x563B, mem_crc:0x0000, reg_crc:0x2E8D, cc_crc:0x1945 +Testing muluw_dreg...done. pre_crc:0x182A, mem_crc:0x0000, reg_crc:0xCE4C, cc_crc:0x5ADD +Testing muluw_ind...done. pre_crc:0xDAC6, mem_crc:0x0000, reg_crc:0xF9BE, cc_crc:0x454A +Testing muluw_d16...done. pre_crc:0x1A41, mem_crc:0x0000, reg_crc:0xD19A, cc_crc:0x77EE +Testing muluw_absl...done. pre_crc:0x6754, mem_crc:0x0000, reg_crc:0x8B0A, cc_crc:0x3F81 +Testing mulsl_dreg...done. pre_crc:0xBE6D, mem_crc:0x0000, reg_crc:0x7C9E, cc_crc:0x3303 +Testing mulsl_ind...done. pre_crc:0xF7CA, mem_crc:0x0000, reg_crc:0x1B42, cc_crc:0x9E9B +Testing mulsl_d16...done. pre_crc:0xAA3A, mem_crc:0x0000, reg_crc:0xB994, cc_crc:0xBCDC +Testing mulsl_absl...done. pre_crc:0xC0C0, mem_crc:0x0000, reg_crc:0xC5C3, cc_crc:0x0E46 +Testing mulul_dreg...done. pre_crc:0x11FE, mem_crc:0x0000, reg_crc:0x77D7, cc_crc:0x72C6 +Testing mulul_ind...done. pre_crc:0x739E, mem_crc:0x0000, reg_crc:0x81D4, cc_crc:0x8064 +Testing mulul_d16...done. pre_crc:0x5C80, mem_crc:0x0000, reg_crc:0x5FAA, cc_crc:0x6D1C +Testing mulul_absl...done. pre_crc:0x1C28, mem_crc:0x0000, reg_crc:0x2A40, cc_crc:0xA677 +Testing nbcd_reg...done. pre_crc:0x72F5, mem_crc:0x0000, reg_crc:0x8BDE, cc_crc:0xF63F +Testing nbcd_ind...done. pre_crc:0xC7D3, mem_crc:0x6C35, reg_crc:0x2D66, cc_crc:0xEDD8 +Testing nbcd_d16...done. pre_crc:0xA2E6, mem_crc:0x6716, reg_crc:0xA9CF, cc_crc:0xD1EE +Testing nbcd_absl...done. pre_crc:0xD34D, mem_crc:0x3B31, reg_crc:0xBF92, cc_crc:0xF612 +Testing neg_reg...done. pre_crc:0x7D0C, mem_crc:0x0000, reg_crc:0x6F59, cc_crc:0x0B4A +Testing negb_ind...done. pre_crc:0x3073, mem_crc:0x030C, reg_crc:0xC746, cc_crc:0xCA41 +Testing negwl_ind...done. pre_crc:0x227F, mem_crc:0x404F, reg_crc:0x9175, cc_crc:0x479F +Testing negb_d16...done. pre_crc:0x3DD4, mem_crc:0x2D55, reg_crc:0xD193, cc_crc:0x47DB +Testing negwl_d16...done. pre_crc:0x5460, mem_crc:0x9F18, reg_crc:0x39C3, cc_crc:0x7724 +Testing neg_absl...done. pre_crc:0x0D75, mem_crc:0x8214, reg_crc:0x0183, cc_crc:0xF9BB +Testing negx_reg...done. pre_crc:0xB5F2, mem_crc:0x0000, reg_crc:0xC9C9, cc_crc:0xC86E +Testing negxb_ind...done. pre_crc:0xB275, mem_crc:0x4534, reg_crc:0x7D18, cc_crc:0x0306 +Testing negxwl_ind...done. pre_crc:0xE701, mem_crc:0x5873, reg_crc:0x498C, cc_crc:0x8EA3 +Testing negxb_d16...done. pre_crc:0xF999, mem_crc:0x8A46, reg_crc:0xF70B, cc_crc:0x926B +Testing negxwl_d16...done. pre_crc:0x08F1, mem_crc:0xDAA2, reg_crc:0x63EE, cc_crc:0xA4BA +Testing negx_absl...done. pre_crc:0xD9C4, mem_crc:0xE1A9, reg_crc:0x557B, cc_crc:0x2C20 +Testing nop...done. pre_crc:0xFFC0, mem_crc:0x0000, reg_crc:0x8D18, cc_crc:0x57B9 +Testing not_reg...done. pre_crc:0xAE61, mem_crc:0x0000, reg_crc:0xC1E6, cc_crc:0xE62A +Testing notb_ind...done. pre_crc:0xCB50, mem_crc:0xBC86, reg_crc:0x27E1, cc_crc:0xEE6A +Testing notwl_ind...done. pre_crc:0xB2B6, mem_crc:0xA0F3, reg_crc:0xD0AB, cc_crc:0x6ED3 +Testing notb_d16...done. pre_crc:0x281E, mem_crc:0xC183, reg_crc:0xD607, cc_crc:0x47EE +Testing notwl_d16...done. pre_crc:0xB178, mem_crc:0xCC9A, reg_crc:0x1DBE, cc_crc:0x6810 +Testing not_absl...done. pre_crc:0x22C7, mem_crc:0x4A31, reg_crc:0x7218, cc_crc:0x3840 +Testing or_dreg_dreg...done. pre_crc:0xAD4F, mem_crc:0x0000, reg_crc:0xBE36, cc_crc:0x2DE1 +Testing or_ind_dreg...done. pre_crc:0xE8B8, mem_crc:0x0000, reg_crc:0xDCB5, cc_crc:0xFBBF +Testing or_d16_dreg...done. pre_crc:0xBFF2, mem_crc:0x0000, reg_crc:0xA99F, cc_crc:0x5EB5 +Testing or_absl_dreg...done. pre_crc:0xCF0F, mem_crc:0x0000, reg_crc:0x6EF4, cc_crc:0xA3FC +Testing orbw_const_dreg...done. pre_crc:0x64A6, mem_crc:0x0000, reg_crc:0x1B1D, cc_crc:0xDA29 +Testing orl_const_dreg...done. pre_crc:0xCC7E, mem_crc:0x0000, reg_crc:0x33E2, cc_crc:0x8C80 +Testing or_dreg_ind...done. pre_crc:0x7B34, mem_crc:0x0DCE, reg_crc:0xF234, cc_crc:0x5783 +Testing or_dreg_d16...done. pre_crc:0x8CB2, mem_crc:0x4D84, reg_crc:0xEE18, cc_crc:0xC86D +Testing or_dreg_absl...done. pre_crc:0xF667, mem_crc:0x145F, reg_crc:0x0A9F, cc_crc:0x2B82 +Testing oribw_dreg...done. pre_crc:0x7FAE, mem_crc:0x0000, reg_crc:0xAE76, cc_crc:0x824B +Testing oril_dreg...done. pre_crc:0xC148, mem_crc:0x0000, reg_crc:0x46FB, cc_crc:0x96A5 +Testing oribw_ind...done. pre_crc:0x8C5E, mem_crc:0xB739, reg_crc:0xD5CB, cc_crc:0x6648 +Testing oril_ind...done. pre_crc:0x9EAB, mem_crc:0x0E79, reg_crc:0x3BB0, cc_crc:0x0542 +Testing oribw_d16...done. pre_crc:0x9419, mem_crc:0x1613, reg_crc:0xE453, cc_crc:0x3027 +Testing oril_d16...done. pre_crc:0xE577, mem_crc:0x6E2F, reg_crc:0xA798, cc_crc:0x24C3 +Testing oribw_absl...done. pre_crc:0x6432, mem_crc:0x81AF, reg_crc:0x69BE, cc_crc:0xD7A5 +Testing oril_absl...done. pre_crc:0xC8AE, mem_crc:0xB575, reg_crc:0x3693, cc_crc:0x360F +Testing ori_to_ccr...done. pre_crc:0xC3B7, mem_crc:0x0000, reg_crc:0x2B3C, cc_crc:0x6530 +Testing pack_reg...done. pre_crc:0x6684, mem_crc:0x0000, reg_crc:0xEF92, cc_crc:0xB662 +Testing pack_mem...done. pre_crc:0xE5BE, mem_crc:0xAE19, reg_crc:0xBE60, cc_crc:0x148B +Testing pea_ind...done. pre_crc:0xA5C7, mem_crc:0x0995, reg_crc:0x2F1A, cc_crc:0xB8D8 +Testing pea_d16...done. pre_crc:0xD9E4, mem_crc:0x0E4C, reg_crc:0xFD68, cc_crc:0xBABC +Testing pea_absw...done. pre_crc:0xAADA, mem_crc:0xE070, reg_crc:0x8516, cc_crc:0x45B3 +Testing pea_absl...done. pre_crc:0x72C6, mem_crc:0x41C5, reg_crc:0x827D, cc_crc:0xD4CA +Testing rol_dx_dy...done. pre_crc:0x2C3C, mem_crc:0x0000, reg_crc:0x4357, cc_crc:0x7E77 +Testing rol_const_dy...done. pre_crc:0x25BD, mem_crc:0x0000, reg_crc:0x5102, cc_crc:0x76E5 +Testing rol_ind...done. pre_crc:0x7EA2, mem_crc:0x16E3, reg_crc:0x4855, cc_crc:0x3060 +Testing rol_d16...done. pre_crc:0xA5DF, mem_crc:0x6285, reg_crc:0x1BBB, cc_crc:0xF8C2 +Testing rol_absl...done. pre_crc:0x00FC, mem_crc:0xCCE8, reg_crc:0x51DF, cc_crc:0x888D +Testing ror_dx_dy...done. pre_crc:0x54DD, mem_crc:0x0000, reg_crc:0x7FCE, cc_crc:0x9A0F +Testing ror_const_dy...done. pre_crc:0x7546, mem_crc:0x0000, reg_crc:0x27B1, cc_crc:0xA249 +Testing ror_ind...done. pre_crc:0x5C1B, mem_crc:0x09B7, reg_crc:0x7421, cc_crc:0xB9CE +Testing ror_d16...done. pre_crc:0xB4CE, mem_crc:0xE945, reg_crc:0xA03C, cc_crc:0x85F8 +Testing ror_absl...done. pre_crc:0xA961, mem_crc:0x3E6E, reg_crc:0xB62C, cc_crc:0xE82D +Testing roxl_dx_dy...done. pre_crc:0xC9C5, mem_crc:0x0000, reg_crc:0xE18D, cc_crc:0x26DF +Testing roxl_const_dy...done. pre_crc:0x9E84, mem_crc:0x0000, reg_crc:0xF4E3, cc_crc:0x1640 +Testing roxl_ind...done. pre_crc:0xD17F, mem_crc:0xC935, reg_crc:0xB106, cc_crc:0x2037 +Testing roxl_d16...done. pre_crc:0x94FB, mem_crc:0xB2BD, reg_crc:0xE193, cc_crc:0x1513 +Testing roxl_absl...done. pre_crc:0x9A92, mem_crc:0x92E0, reg_crc:0x0C5A, cc_crc:0xACF9 +Testing roxr_dx_dy...done. pre_crc:0x76CF, mem_crc:0x0000, reg_crc:0xAA99, cc_crc:0x5254 +Testing roxr_const_dy...done. pre_crc:0xF95A, mem_crc:0x0000, reg_crc:0x40EF, cc_crc:0x491A +Testing roxr_ind...done. pre_crc:0x5D8B, mem_crc:0xD169, reg_crc:0x9A95, cc_crc:0xB7D4 +Testing roxr_d16...done. pre_crc:0xAA7C, mem_crc:0x97A8, reg_crc:0x397B, cc_crc:0x54E5 +Testing roxr_absl...done. pre_crc:0x3EEE, mem_crc:0xD551, reg_crc:0x872E, cc_crc:0xD0B3 +Testing rtd...done. pre_crc:0x772F, mem_crc:0x0000, reg_crc:0x434F, cc_crc:0x16CD +Testing rtr...done. pre_crc:0x7E49, mem_crc:0x0000, reg_crc:0x3924, cc_crc:0xD52F +Testing rts...done. pre_crc:0xF5A8, mem_crc:0x0000, reg_crc:0x2692, cc_crc:0x6C0A +Testing sbcd_reg...done. pre_crc:0x070C, mem_crc:0x0000, reg_crc:0xAD38, cc_crc:0x2FCE +Testing sbcd_mem...done. pre_crc:0x6FF7, mem_crc:0xDAD5, reg_crc:0xE90E, cc_crc:0x4FD5 +Testing Scc_reg...done. pre_crc:0xD3BB, mem_crc:0x0000, reg_crc:0xCC21, cc_crc:0x7E7E +Testing Scc_ind...done. pre_crc:0xDD49, mem_crc:0x0FB1, reg_crc:0x222B, cc_crc:0x42D2 +Testing Scc_d16...done. pre_crc:0x4A2A, mem_crc:0x2BAA, reg_crc:0x5BC1, cc_crc:0x0DF1 +Testing Scc_absl...done. pre_crc:0xD89B, mem_crc:0x93FC, reg_crc:0xA8F1, cc_crc:0x0CA5 +Testing subb_dreg_dreg...done. pre_crc:0x9BD3, mem_crc:0x0000, reg_crc:0x3C3C, cc_crc:0x604D +Testing subw_reg_dreg...done. pre_crc:0x212B, mem_crc:0x0000, reg_crc:0xF9D2, cc_crc:0x7D47 +Testing subl_reg_dreg...done. pre_crc:0x57E2, mem_crc:0x0000, reg_crc:0xE02F, cc_crc:0xB722 +Testing sub_ind_dreg...done. pre_crc:0x4671, mem_crc:0x0000, reg_crc:0x2B39, cc_crc:0x9A30 +Testing sub_d16_dreg...done. pre_crc:0xA423, mem_crc:0x0000, reg_crc:0x0410, cc_crc:0xE597 +Testing sub_absl_dreg...done. pre_crc:0x5821, mem_crc:0x0000, reg_crc:0x1FE6, cc_crc:0xA7B3 +Testing subb_const_dreg...done. pre_crc:0xF164, mem_crc:0x0000, reg_crc:0xD1F3, cc_crc:0x920E +Testing subw_const_dreg...done. pre_crc:0xC44F, mem_crc:0x0000, reg_crc:0x55D7, cc_crc:0x5C8B +Testing subl_const_dreg...done. pre_crc:0x55D3, mem_crc:0x0000, reg_crc:0x732F, cc_crc:0x0030 +Testing sub_dreg_ind...done. pre_crc:0xBD5E, mem_crc:0x92B6, reg_crc:0x8E72, cc_crc:0x1015 +Testing sub_dreg_d16...done. pre_crc:0x502C, mem_crc:0x3D8F, reg_crc:0xD100, cc_crc:0xE6AD +Testing sub_dreg_absl...done. pre_crc:0xA369, mem_crc:0x0506, reg_crc:0x7089, cc_crc:0x7F98 +Testing subaw_reg_areg...done. pre_crc:0x1FB5, mem_crc:0x0000, reg_crc:0x230E, cc_crc:0x3CE2 +Testing subal_reg_areg...done. pre_crc:0xEE57, mem_crc:0x0000, reg_crc:0xF5AF, cc_crc:0xF9D8 +Testing suba_ind_areg...done. pre_crc:0x4DFB, mem_crc:0x0000, reg_crc:0x7B82, cc_crc:0x9807 +Testing suba_d16_areg...done. pre_crc:0x56C5, mem_crc:0x0000, reg_crc:0x648A, cc_crc:0x021C +Testing suba_absl_areg...done. pre_crc:0xB4FD, mem_crc:0x0000, reg_crc:0x8847, cc_crc:0xE800 +Testing subaw_const_areg...done. pre_crc:0x61C0, mem_crc:0x0000, reg_crc:0x4E6F, cc_crc:0x81E2 +Testing subal_const_areg...done. pre_crc:0xAA5A, mem_crc:0x0000, reg_crc:0x7724, cc_crc:0x74EE +Testing subibw_dreg...done. pre_crc:0x94B1, mem_crc:0x0000, reg_crc:0xC3F6, cc_crc:0x2ADA +Testing subil_dreg...done. pre_crc:0xC0AB, mem_crc:0x0000, reg_crc:0x6A56, cc_crc:0xE9E0 +Testing subibw_ind...done. pre_crc:0x1400, mem_crc:0x055C, reg_crc:0xF542, cc_crc:0x79C7 +Testing subil_ind...done. pre_crc:0x590C, mem_crc:0x329B, reg_crc:0xBE11, cc_crc:0x4222 +Testing subibw_d16...done. pre_crc:0xA471, mem_crc:0x3720, reg_crc:0x81FF, cc_crc:0xC335 +Testing subil_d16...done. pre_crc:0x39EB, mem_crc:0xFE43, reg_crc:0xB803, cc_crc:0x525D +Testing subibw_absl...done. pre_crc:0x35CC, mem_crc:0x6B5D, reg_crc:0xDE95, cc_crc:0x170C +Testing subil_absl...done. pre_crc:0xF9F3, mem_crc:0xB5FD, reg_crc:0x0A6A, cc_crc:0x3693 +Testing subq_dreg...done. pre_crc:0x2AA2, mem_crc:0x0000, reg_crc:0x9F8D, cc_crc:0x18DB +Testing subq_areg...done. pre_crc:0xCCFB, mem_crc:0x0000, reg_crc:0x358D, cc_crc:0xCD68 +Testing subq_ind...done. pre_crc:0x854C, mem_crc:0xEB71, reg_crc:0xD28B, cc_crc:0xDE11 +Testing subq_d16...done. pre_crc:0x312F, mem_crc:0x48FA, reg_crc:0xFA7E, cc_crc:0x375B +Testing subq_absl...done. pre_crc:0xC9DE, mem_crc:0x80A1, reg_crc:0xBFD5, cc_crc:0x0B23 +Testing subx_reg...done. pre_crc:0x3847, mem_crc:0x0000, reg_crc:0x1698, cc_crc:0x0F22 +Testing subx_mem...done. pre_crc:0xF18A, mem_crc:0xF6DB, reg_crc:0xF0A9, cc_crc:0x5317 +Testing swap...done. pre_crc:0xDDD8, mem_crc:0x0000, reg_crc:0x8A76, cc_crc:0x942A +Testing tas_dreg...done. pre_crc:0x9E38, mem_crc:0x0000, reg_crc:0x6BCE, cc_crc:0xD4C6 +Testing tas_ind...done. pre_crc:0x4DEF, mem_crc:0xE714, reg_crc:0xC350, cc_crc:0x27D1 +Testing tas_d16...done. pre_crc:0xA021, mem_crc:0xF34E, reg_crc:0x8F62, cc_crc:0xA93A +Testing tas_absl...done. pre_crc:0xB23D, mem_crc:0x1FFD, reg_crc:0x9C4B, cc_crc:0xF291 +Testing tstb_dreg...done. pre_crc:0x0CA2, mem_crc:0x0000, reg_crc:0xB182, cc_crc:0x7313 +Testing tstwl_reg...done. pre_crc:0x97E7, mem_crc:0x0000, reg_crc:0xC151, cc_crc:0x168A +Testing tstb_ind...done. pre_crc:0x39A4, mem_crc:0x0000, reg_crc:0x258F, cc_crc:0x9F7E +Testing tstwl_ind...done. pre_crc:0x01B8, mem_crc:0x0000, reg_crc:0xA565, cc_crc:0xEAAD +Testing tstb_d16...done. pre_crc:0xB22D, mem_crc:0x0000, reg_crc:0x5512, cc_crc:0x4C40 +Testing tstwl_d16...done. pre_crc:0x2A4F, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xD580 +Testing tst_absl...done. pre_crc:0x46BD, mem_crc:0x0000, reg_crc:0x40AB, cc_crc:0xD8F9 diff --git a/test/powerpc.cc.noncc b/test/powerpc.cc.noncc new file mode 100644 index 0000000..467d575 --- /dev/null +++ b/test/powerpc.cc.noncc @@ -0,0 +1,480 @@ +mem == 0x7F002000 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x61C3, mem_crc:0x0000, reg_crc:0x4A40, cc_crc:0xD5BA +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3363, mem_crc:0x7469, reg_crc:0x9CE7, cc_crc:0x0D4C +Testing unlk...2000...4000...6000...8000...10000...done. pre_crc:0x2F13, mem_crc:0x0000, reg_crc:0x293B, cc_crc:0x7DE8 +Testing movewl_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1DC8, mem_crc:0xACC5, reg_crc:0x716A, cc_crc:0x5889 +Testing divsl_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2290, mem_crc:0x0000, reg_crc:0x51EC, cc_crc:0x65B4 +Testing divsl_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0xECF1, mem_crc:0x0000, reg_crc:0x6445, cc_crc:0xE6E6 +Testing divsl_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x103F, mem_crc:0x0000, reg_crc:0xB860, cc_crc:0x5834 +Testing lea_pc_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x911D, mem_crc:0x0000, reg_crc:0x20AD, cc_crc:0x2FD3 +Testing lea_pc_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x7F95, mem_crc:0x0000, reg_crc:0x4C29, cc_crc:0xBA70 +Testing moveb_pc_ind_preix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD498, mem_crc:0x0000, reg_crc:0x7AC4, cc_crc:0x4744 +Testing moveb_pc_ind_postix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB983, mem_crc:0x0000, reg_crc:0xD040, cc_crc:0xF900 +Testing moveb_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3257, mem_crc:0x0000, reg_crc:0xD34C, cc_crc:0xA9A5 +Testing movewl_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x421A, mem_crc:0x0000, reg_crc:0x17EE, cc_crc:0x2205 +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x393A, mem_crc:0x0000, reg_crc:0x8FDC, cc_crc:0xB84D +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x7DD8, cc_crc:0xA415 +Testing moveb_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC45E, mem_crc:0x0000, reg_crc:0xE7B1, cc_crc:0xA4B6 +Testing movewl_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x52FC, mem_crc:0x0000, reg_crc:0x7D82, cc_crc:0x0E6E +Testing lea_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x6E8D, mem_crc:0x0000, reg_crc:0x3446, cc_crc:0x25AE +Testing lea_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0xD0AC, mem_crc:0x0000, reg_crc:0xF22F, cc_crc:0x24A3 +Testing add_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBEDB, mem_crc:0x0000, reg_crc:0xC98B, cc_crc:0xF70B +Testing abcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAE76, mem_crc:0x0000, reg_crc:0x7B96, cc_crc:0x001E +Testing abcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3CF2, mem_crc:0xFA6F, reg_crc:0x079B, cc_crc:0x6603 +Testing addb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8B43, mem_crc:0x0000, reg_crc:0xA854, cc_crc:0xAC2B +Testing addw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x48CA, mem_crc:0x0000, reg_crc:0x974A, cc_crc:0x6B32 +Testing addl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD379, mem_crc:0x0000, reg_crc:0x946E, cc_crc:0xF78C +Testing add_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE463, mem_crc:0x0000, reg_crc:0xD38F, cc_crc:0x8187 +Testing addb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDC74, mem_crc:0x0000, reg_crc:0x0030, cc_crc:0xCCD7 +Testing addw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0D95, mem_crc:0x0000, reg_crc:0x4C0E, cc_crc:0xA4F1 +Testing add_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9341, mem_crc:0x3C84, reg_crc:0xDC4F, cc_crc:0xC90A +Testing add_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12BE, mem_crc:0x0000, reg_crc:0x9D23, cc_crc:0x8BDB +Testing addl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1BFA, mem_crc:0x0000, reg_crc:0xA3C6, cc_crc:0x95E7 +Testing add_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3686, mem_crc:0x505F, reg_crc:0x28A9, cc_crc:0xEE0A +Testing add_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBB52, mem_crc:0xC02D, reg_crc:0x218E, cc_crc:0x2389 +Testing addaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0x2B03, mem_crc:0x0000, reg_crc:0x3322, cc_crc:0x3312 +Testing addal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xBC77, mem_crc:0x0000, reg_crc:0xB8FC, cc_crc:0x3996 +Testing adda_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x16E6, mem_crc:0x0000, reg_crc:0xBB7D, cc_crc:0xFB49 +Testing adda_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x0540, mem_crc:0x0000, reg_crc:0xF0A3, cc_crc:0xACC5 +Testing adda_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x426D, mem_crc:0x0000, reg_crc:0xA90F, cc_crc:0xF55C +Testing addaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7B7F, mem_crc:0x0000, reg_crc:0x02A8, cc_crc:0x4EF5 +Testing addal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7738, mem_crc:0x0000, reg_crc:0xFE38, cc_crc:0xCE1C +Testing addibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEF65, mem_crc:0x0000, reg_crc:0x4D6F, cc_crc:0x56C3 +Testing addil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD31F, mem_crc:0x0000, reg_crc:0x76CB, cc_crc:0x9069 +Testing addibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7B5D, mem_crc:0x3F2B, reg_crc:0xEBC9, cc_crc:0xFC3A +Testing addil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF4D1, mem_crc:0xF944, reg_crc:0x3408, cc_crc:0x49DF +Testing addibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x92D7, mem_crc:0xB495, reg_crc:0x58DF, cc_crc:0x4233 +Testing addil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7EAD, mem_crc:0x4F45, reg_crc:0x6ED0, cc_crc:0xA89D +Testing addibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB98B, mem_crc:0x19B9, reg_crc:0x44C3, cc_crc:0xD1BE +Testing addil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9A57, mem_crc:0x243C, reg_crc:0xA892, cc_crc:0x1B74 +Testing addq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7B4F, mem_crc:0x0000, reg_crc:0x2D9C, cc_crc:0x6636 +Testing addq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF932, mem_crc:0x0000, reg_crc:0x9F93, cc_crc:0xDCC7 +Testing addq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2ECA, mem_crc:0xEA7A, reg_crc:0x717B, cc_crc:0x27AC +Testing addq_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF89F, mem_crc:0x2C16, reg_crc:0x44D2, cc_crc:0xB282 +Testing addq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFE06, mem_crc:0x2F2C, reg_crc:0xE015, cc_crc:0x8364 +Testing addx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x1E5E, mem_crc:0x0000, reg_crc:0x5164, cc_crc:0x4EEE +Testing addx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x3DC6, mem_crc:0x60C9, reg_crc:0x40E9, cc_crc:0x7FE3 +Testing and_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB92D, mem_crc:0x0000, reg_crc:0x20E6, cc_crc:0x5993 +Testing and_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6B03, mem_crc:0x0000, reg_crc:0x48A3, cc_crc:0xF069 +Testing and_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFC96, mem_crc:0x0000, reg_crc:0x16DA, cc_crc:0xED4E +Testing and_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF0D7, mem_crc:0x0000, reg_crc:0xDF1C, cc_crc:0x157A +Testing andbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x74B9, mem_crc:0x0000, reg_crc:0x5C9F, cc_crc:0xD782 +Testing andl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8BDA, mem_crc:0x0000, reg_crc:0x1620, cc_crc:0x46A1 +Testing and_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9A23, mem_crc:0x8E74, reg_crc:0x0C8E, cc_crc:0x47FF +Testing and_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB1F8, mem_crc:0xB166, reg_crc:0x0636, cc_crc:0xC656 +Testing and_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2875, mem_crc:0xB787, reg_crc:0x3794, cc_crc:0x6CB8 +Testing andibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7F29, mem_crc:0x0000, reg_crc:0x47B8, cc_crc:0xBD22 +Testing andil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE8AF, mem_crc:0x0000, reg_crc:0x503C, cc_crc:0xB90B +Testing andibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x203B, mem_crc:0x8E5C, reg_crc:0x06D7, cc_crc:0x80C8 +Testing andil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x20C4, mem_crc:0x8178, reg_crc:0x6A4D, cc_crc:0x48D2 +Testing andibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7380, mem_crc:0xB744, reg_crc:0xBEAC, cc_crc:0x3754 +Testing andil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBA4C, mem_crc:0x8459, reg_crc:0x65F9, cc_crc:0xE3C4 +Testing andibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5EE5, mem_crc:0xD4B7, reg_crc:0x260D, cc_crc:0xC369 +Testing andil_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE2BB, mem_crc:0x3279, reg_crc:0x8D2E, cc_crc:0x3A0F +Testing andi_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x4422, mem_crc:0x0000, reg_crc:0x6BA1, cc_crc:0x07D3 +Testing asl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFBA3, mem_crc:0x0000, reg_crc:0x1067, cc_crc:0x861A +Testing asl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF2CE, mem_crc:0x0000, reg_crc:0x583D, cc_crc:0x5152 +Testing asl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB18, mem_crc:0xA52E, reg_crc:0xE2CC, cc_crc:0x8E22 +Testing asl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1598, mem_crc:0x305A, reg_crc:0x2D77, cc_crc:0x7C9B +Testing asl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x88CB, mem_crc:0x4DB4, reg_crc:0xB975, cc_crc:0xD70C +Testing asr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5094, mem_crc:0x0000, reg_crc:0xC5CF, cc_crc:0x018F +Testing asr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF283, mem_crc:0x0000, reg_crc:0x7652, cc_crc:0x021C +Testing asr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1A7A, mem_crc:0xAB01, reg_crc:0x783A, cc_crc:0x8967 +Testing asr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xDBC5, mem_crc:0xE218, reg_crc:0x78AA, cc_crc:0x7DF5 +Testing asr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFDC3, mem_crc:0x17D4, reg_crc:0xEDBB, cc_crc:0xD2EB +Testing lsl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x6A33, mem_crc:0x0000, reg_crc:0x91BF, cc_crc:0x150E +Testing lsl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xA5F0, mem_crc:0x0000, reg_crc:0x590A, cc_crc:0x8973 +Testing lsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB1B, mem_crc:0xBBFA, reg_crc:0xA31D, cc_crc:0x6D80 +Testing lsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x51A6, mem_crc:0x07D6, reg_crc:0x37AB, cc_crc:0x71A0 +Testing lsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5593, mem_crc:0xE907, reg_crc:0x7008, cc_crc:0x8397 +Testing lsr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5610, mem_crc:0x0000, reg_crc:0xBEAF, cc_crc:0x8477 +Testing lsr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8E56, mem_crc:0x0000, reg_crc:0x7CC2, cc_crc:0x1546 +Testing lsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x31D1, mem_crc:0x449F, reg_crc:0x584C, cc_crc:0xF158 +Testing lsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5D5A, mem_crc:0xB3A2, reg_crc:0x2FC8, cc_crc:0x442E +Testing lsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x502D, mem_crc:0x8383, reg_crc:0xFE73, cc_crc:0xF641 +Testing bra_b...2000...4000...6000...8000...10000...done. pre_crc:0x14AC, mem_crc:0x0000, reg_crc:0xFA65, cc_crc:0xFE02 +Testing bhi_b...2000...4000...6000...8000...10000...done. pre_crc:0x02E8, mem_crc:0x0000, reg_crc:0xDF0D, cc_crc:0xE6E5 +Testing bls_b...2000...4000...6000...8000...10000...done. pre_crc:0xA40B, mem_crc:0x0000, reg_crc:0xBB93, cc_crc:0x012F +Testing bcc_b...2000...4000...6000...8000...10000...done. pre_crc:0x17F7, mem_crc:0x0000, reg_crc:0xFA35, cc_crc:0x7447 +Testing bcs_b...2000...4000...6000...8000...10000...done. pre_crc:0xE14B, mem_crc:0x0000, reg_crc:0x2016, cc_crc:0x00CC +Testing bne_b...2000...4000...6000...8000...10000...done. pre_crc:0x6EFE, mem_crc:0x0000, reg_crc:0x602D, cc_crc:0x749F +Testing beq_b...2000...4000...6000...8000...10000...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x37D6, cc_crc:0x5035 +Testing bvc_b...2000...4000...6000...8000...10000...done. pre_crc:0x8A64, mem_crc:0x0000, reg_crc:0xB86A, cc_crc:0xD1C0 +Testing bvs_b...2000...4000...6000...8000...10000...done. pre_crc:0xDB88, mem_crc:0x0000, reg_crc:0x9B67, cc_crc:0x370B +Testing bpl_b...2000...4000...6000...8000...10000...done. pre_crc:0x1227, mem_crc:0x0000, reg_crc:0x9892, cc_crc:0x10CB +Testing bmi_b...2000...4000...6000...8000...10000...done. pre_crc:0x8F4F, mem_crc:0x0000, reg_crc:0x31A1, cc_crc:0x7CB5 +Testing bge_b...2000...4000...6000...8000...10000...done. pre_crc:0xCA78, mem_crc:0x0000, reg_crc:0x9630, cc_crc:0xC033 +Testing blt_b...2000...4000...6000...8000...10000...done. pre_crc:0xFE2D, mem_crc:0x0000, reg_crc:0x4EF9, cc_crc:0x4F19 +Testing bgt_b...2000...4000...6000...8000...10000...done. pre_crc:0x38BD, mem_crc:0x0000, reg_crc:0x8938, cc_crc:0x0B49 +Testing ble_b...2000...4000...6000...8000...10000...done. pre_crc:0x8833, mem_crc:0x0000, reg_crc:0x1307, cc_crc:0x41F9 +Testing bra_w...2000...4000...6000...8000...10000...done. pre_crc:0x67E5, mem_crc:0x0000, reg_crc:0x1A7C, cc_crc:0x5D75 +Testing bhi_w...2000...4000...6000...8000...10000...done. pre_crc:0x8AAD, mem_crc:0x0000, reg_crc:0x3868, cc_crc:0x7F8C +Testing bls_w...2000...4000...6000...8000...10000...done. pre_crc:0x8F5F, mem_crc:0x0000, reg_crc:0xC0CA, cc_crc:0x8277 +Testing bcc_w...2000...4000...6000...8000...10000...done. pre_crc:0xBD81, mem_crc:0x0000, reg_crc:0x1BE2, cc_crc:0xD26F +Testing bcs_w...2000...4000...6000...8000...10000...done. pre_crc:0xAE6B, mem_crc:0x0000, reg_crc:0x9624, cc_crc:0x85E9 +Testing bne_w...2000...4000...6000...8000...10000...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0x075B, cc_crc:0x4C4A +Testing beq_w...2000...4000...6000...8000...10000...done. pre_crc:0x9EC5, mem_crc:0x0000, reg_crc:0xB6D5, cc_crc:0xCF3A +Testing bvc_w...2000...4000...6000...8000...10000...done. pre_crc:0xA01E, mem_crc:0x0000, reg_crc:0x0F06, cc_crc:0x6AE7 +Testing bvs_w...2000...4000...6000...8000...10000...done. pre_crc:0x4FF2, mem_crc:0x0000, reg_crc:0xCEDA, cc_crc:0x8B03 +Testing bpl_w...2000...4000...6000...8000...10000...done. pre_crc:0x8CA2, mem_crc:0x0000, reg_crc:0x9164, cc_crc:0xF16E +Testing bmi_w...2000...4000...6000...8000...10000...done. pre_crc:0x954B, mem_crc:0x0000, reg_crc:0xD6D9, cc_crc:0x406E +Testing bge_w...2000...4000...6000...8000...10000...done. pre_crc:0x4AB1, mem_crc:0x0000, reg_crc:0x47F6, cc_crc:0x828D +Testing blt_w...2000...4000...6000...8000...10000...done. pre_crc:0x2CE3, mem_crc:0x0000, reg_crc:0xF3D7, cc_crc:0xFFF6 +Testing bgt_w...2000...4000...6000...8000...10000...done. pre_crc:0x6ECF, mem_crc:0x0000, reg_crc:0x1F34, cc_crc:0x36E2 +Testing ble_w...2000...4000...6000...8000...10000...done. pre_crc:0x1BB2, mem_crc:0x0000, reg_crc:0xE08A, cc_crc:0x320E +Testing bra_l...2000...4000...6000...8000...10000...done. pre_crc:0x10D5, mem_crc:0x0000, reg_crc:0x24A0, cc_crc:0x99C5 +Testing bhi_l...2000...4000...6000...8000...10000...done. pre_crc:0xDECC, mem_crc:0x0000, reg_crc:0xE9E3, cc_crc:0x978A +Testing bls_l...2000...4000...6000...8000...10000...done. pre_crc:0x84FD, mem_crc:0x0000, reg_crc:0x7CA4, cc_crc:0x4CC8 +Testing bcc_l...2000...4000...6000...8000...10000...done. pre_crc:0x0B65, mem_crc:0x0000, reg_crc:0x86F7, cc_crc:0x7E90 +Testing bcs_l...2000...4000...6000...8000...10000...done. pre_crc:0xCD11, mem_crc:0x0000, reg_crc:0xA1D6, cc_crc:0x71CC +Testing bne_l...2000...4000...6000...8000...10000...done. pre_crc:0x3618, mem_crc:0x0000, reg_crc:0x9BC2, cc_crc:0x9096 +Testing beq_l...2000...4000...6000...8000...10000...done. pre_crc:0x27F0, mem_crc:0x0000, reg_crc:0xB63E, cc_crc:0xBF6D +Testing bvc_l...2000...4000...6000...8000...10000...done. pre_crc:0x6F17, mem_crc:0x0000, reg_crc:0x8887, cc_crc:0xB7B2 +Testing bvs_l...2000...4000...6000...8000...10000...done. pre_crc:0x1100, mem_crc:0x0000, reg_crc:0xFDA4, cc_crc:0xF1AD +Testing bpl_l...2000...4000...6000...8000...10000...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0xCE31, cc_crc:0xA918 +Testing bmi_l...2000...4000...6000...8000...10000...done. pre_crc:0xAEEA, mem_crc:0x0000, reg_crc:0x2BE1, cc_crc:0xB562 +Testing bge_l...2000...4000...6000...8000...10000...done. pre_crc:0x34FB, mem_crc:0x0000, reg_crc:0x9EDF, cc_crc:0x296D +Testing blt_l...2000...4000...6000...8000...10000...done. pre_crc:0x7495, mem_crc:0x0000, reg_crc:0x345E, cc_crc:0xCD15 +Testing bgt_l...2000...4000...6000...8000...10000...done. pre_crc:0xA52F, mem_crc:0x0000, reg_crc:0xCE20, cc_crc:0x070D +Testing ble_l...2000...4000...6000...8000...10000...done. pre_crc:0x9B33, mem_crc:0x0000, reg_crc:0x3E20, cc_crc:0x01C1 +Testing bchg_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x817C, mem_crc:0x0000, reg_crc:0x2992, cc_crc:0xBF13 +Testing bchg_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC24E, mem_crc:0x0000, reg_crc:0x69D8, cc_crc:0x24E2 +Testing bchg_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4051, mem_crc:0xE1AA, reg_crc:0xC07E, cc_crc:0xC297 +Testing bchg_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEB68, mem_crc:0xFFC5, reg_crc:0x7FD0, cc_crc:0x16A8 +Testing bchg_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5977, mem_crc:0x6FD1, reg_crc:0x69A9, cc_crc:0xD3A7 +Testing bchg_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x71D2, mem_crc:0x6C71, reg_crc:0x5226, cc_crc:0xF801 +Testing bchg_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xADD7, mem_crc:0x543E, reg_crc:0x28EE, cc_crc:0x54E3 +Testing bchg_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9797, mem_crc:0xE6E3, reg_crc:0x36DB, cc_crc:0xECF8 +Testing bclr_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF8DC, mem_crc:0x0000, reg_crc:0xED3A, cc_crc:0x48F0 +Testing bclr_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9388, mem_crc:0x0000, reg_crc:0xD952, cc_crc:0x6C0A +Testing bclr_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB2A, mem_crc:0xC2A4, reg_crc:0x8D1D, cc_crc:0x5B68 +Testing bclr_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x755A, mem_crc:0x38BA, reg_crc:0x1920, cc_crc:0xE403 +Testing bclr_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x793C, mem_crc:0xBE81, reg_crc:0x568D, cc_crc:0x3548 +Testing bclr_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x74BE, mem_crc:0x4D28, reg_crc:0x2FF1, cc_crc:0x9584 +Testing bclr_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2B42, mem_crc:0x23D6, reg_crc:0x6981, cc_crc:0xF3DB +Testing bclr_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x983A, mem_crc:0x432F, reg_crc:0xE733, cc_crc:0xE2FC +Testing bset_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xB74E, mem_crc:0x0000, reg_crc:0x85A1, cc_crc:0x6A71 +Testing bset_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x760C, mem_crc:0x0000, reg_crc:0xF746, cc_crc:0x14D8 +Testing bset_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2003, mem_crc:0x4537, reg_crc:0xAE2A, cc_crc:0xBA91 +Testing bset_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4928, mem_crc:0xAAF0, reg_crc:0x7C92, cc_crc:0x47AF +Testing bset_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C6B, mem_crc:0xB3C1, reg_crc:0x3408, cc_crc:0x9707 +Testing bset_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7B0F, mem_crc:0x7046, reg_crc:0x73F8, cc_crc:0xE8AA +Testing bset_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2A2D, mem_crc:0x6D5E, reg_crc:0xAF2B, cc_crc:0x6D31 +Testing bset_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7B08, mem_crc:0xC603, reg_crc:0xDA10, cc_crc:0x8BE1 +Testing btst_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x63BF, mem_crc:0x0000, reg_crc:0xDD1D, cc_crc:0xF234 +Testing btst_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x0B62, mem_crc:0x0000, reg_crc:0x1964, cc_crc:0x7278 +Testing btst_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE168, mem_crc:0x0000, reg_crc:0xA66F, cc_crc:0x6303 +Testing btst_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEA32, mem_crc:0x0000, reg_crc:0xA179, cc_crc:0x509A +Testing btst_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4691, mem_crc:0x0000, reg_crc:0xF808, cc_crc:0xE14D +Testing btst_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4654, mem_crc:0x0000, reg_crc:0x6912, cc_crc:0xEDBE +Testing btst_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2C06, mem_crc:0x0000, reg_crc:0xB89C, cc_crc:0x0CD8 +Testing btst_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3EEE, mem_crc:0x0000, reg_crc:0xF67E, cc_crc:0x5458 +Testing bfchg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x7DBD, mem_crc:0x0000, reg_crc:0xD51F, cc_crc:0x270F +Testing bfchg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB27, mem_crc:0xD748, reg_crc:0x7D82, cc_crc:0xC8A7 +Testing bfchg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x17D3, mem_crc:0x62EA, reg_crc:0x688C, cc_crc:0x4B87 +Testing bfchg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x321A, mem_crc:0x909A, reg_crc:0x8A26, cc_crc:0x6E7F +Testing bfclr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x56A8, mem_crc:0x0000, reg_crc:0xC02D, cc_crc:0xE5B0 +Testing bfclr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBB1C, mem_crc:0xFBE6, reg_crc:0x78A5, cc_crc:0xDF15 +Testing bfclr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2604, mem_crc:0x7A15, reg_crc:0xDD4D, cc_crc:0xA861 +Testing bfclr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA49F, mem_crc:0x2943, reg_crc:0xE967, cc_crc:0xAB15 +Testing bfset_reg...2000...4000...6000...8000...10000...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x4F38, cc_crc:0x9E76 +Testing bfset_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4A8F, mem_crc:0x5ECB, reg_crc:0x86A2, cc_crc:0x79E5 +Testing bfset_d16...2000...4000...6000...8000...10000...done. pre_crc:0x06CD, mem_crc:0xBB59, reg_crc:0xFEDF, cc_crc:0x40EC +Testing bfset_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x46CE, reg_crc:0x5653, cc_crc:0x3514 +Testing bftst_reg...2000...4000...6000...8000...10000...done. pre_crc:0x48E0, mem_crc:0x0000, reg_crc:0x492C, cc_crc:0x1B12 +Testing bftst_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8203, mem_crc:0x0000, reg_crc:0xC138, cc_crc:0xC599 +Testing bftst_d16...2000...4000...6000...8000...10000...done. pre_crc:0x998C, mem_crc:0x0000, reg_crc:0x198A, cc_crc:0x4A0E +Testing bftst_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD6CD, mem_crc:0x0000, reg_crc:0x1FFB, cc_crc:0x9944 +Testing bfexts_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2979, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xBAB6 +Testing bfexts_ind...2000...4000...6000...8000...10000...done. pre_crc:0x19AB, mem_crc:0x0000, reg_crc:0x06D8, cc_crc:0x6132 +Testing bfexts_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE734, mem_crc:0x0000, reg_crc:0xD169, cc_crc:0x6A55 +Testing bfexts_absl...2000...4000...6000...8000...10000...done. pre_crc:0xACBE, mem_crc:0x0000, reg_crc:0x7F67, cc_crc:0x1E41 +Testing bfextu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x28E9, mem_crc:0x0000, reg_crc:0x9399, cc_crc:0xBA32 +Testing bfextu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBCD6, mem_crc:0x0000, reg_crc:0xF8AE, cc_crc:0xA126 +Testing bfextu_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7744, mem_crc:0x0000, reg_crc:0x01F1, cc_crc:0x33C5 +Testing bfextu_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2531, mem_crc:0x0000, reg_crc:0x43D6, cc_crc:0x7750 +Testing bfffo_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6524, mem_crc:0x0000, reg_crc:0x1C86, cc_crc:0xF413 +Testing bfffo_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A2B, mem_crc:0x0000, reg_crc:0x6832, cc_crc:0x65E8 +Testing bfffo_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA166, mem_crc:0x0000, reg_crc:0x84E2, cc_crc:0xCF27 +Testing bfffo_absl...2000...4000...6000...8000...10000...done. pre_crc:0xDCD2, mem_crc:0x0000, reg_crc:0x3CBD, cc_crc:0x2D82 +Testing bfins_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8117, mem_crc:0x0000, reg_crc:0xDC61, cc_crc:0xBEA5 +Testing bfins_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8362, mem_crc:0x7877, reg_crc:0x699A, cc_crc:0x667D +Testing bfins_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C7B, mem_crc:0x5D89, reg_crc:0x6335, cc_crc:0xA03F +Testing bfins_absl...2000...4000...6000...8000...10000...done. pre_crc:0x167B, mem_crc:0x557B, reg_crc:0x6356, cc_crc:0xE217 +Testing bsr_b...2000...4000...6000...8000...10000...done. pre_crc:0x0F9E, mem_crc:0x9350, reg_crc:0x2562, cc_crc:0xC8D9 +Testing bsr_w...2000...4000...6000...8000...10000...done. pre_crc:0xFC47, mem_crc:0xC2BF, reg_crc:0xB43A, cc_crc:0x40C1 +Testing bsr_l...2000...4000...6000...8000...10000...done. pre_crc:0x158C, mem_crc:0xB0EF, reg_crc:0xB908, cc_crc:0x9078 +Testing cas_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA4EC, mem_crc:0xEA85, reg_crc:0xE33D, cc_crc:0x6731 +Testing cas2_areg...2000...4000...6000...8000...10000...done. pre_crc:0x25D3, mem_crc:0x982A, reg_crc:0x6C6A, cc_crc:0xA05C +Testing cas2_anyreg...2000...4000...6000...8000...10000...done. pre_crc:0xEB9C, mem_crc:0xAB85, reg_crc:0xEEDD, cc_crc:0x8D48 +Testing clr_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAFA3, mem_crc:0x0000, reg_crc:0x4C94, cc_crc:0x51CD +Testing clrb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE55C, mem_crc:0x7D2D, reg_crc:0x2CE0, cc_crc:0xE5F2 +Testing clrwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE518, mem_crc:0x8B3F, reg_crc:0x6BBC, cc_crc:0xC120 +Testing clrb_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B5D, mem_crc:0xBC40, reg_crc:0xB46C, cc_crc:0x0E5E +Testing clrwl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x123D, mem_crc:0x06CF, reg_crc:0x5786, cc_crc:0x69D1 +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4761, mem_crc:0x0000, reg_crc:0x4233, cc_crc:0x5D0E +Testing cmp_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF2A1, mem_crc:0x0000, reg_crc:0x2008, cc_crc:0x7AB6 +Testing cmpb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9FED, mem_crc:0x0000, reg_crc:0xE230, cc_crc:0x405E +Testing cmpwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x11E5, mem_crc:0x0000, reg_crc:0x4F2A, cc_crc:0x9382 +Testing cmpb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE06D, mem_crc:0x0000, reg_crc:0xA611, cc_crc:0xD4A3 +Testing cmpwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD541, mem_crc:0x0000, reg_crc:0x0944, cc_crc:0x3521 +Testing cmpa_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE4A5, mem_crc:0x0000, reg_crc:0x68FD, cc_crc:0xA517 +Testing cmpa_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6AA4, mem_crc:0x0000, reg_crc:0x3D45, cc_crc:0x1E7D +Testing cmpa_ind2...2000...4000...6000...8000...10000...done. pre_crc:0xD1BF, mem_crc:0x0000, reg_crc:0x2F10, cc_crc:0xD629 +Testing cmpa_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD05, mem_crc:0x0000, reg_crc:0x2083, cc_crc:0xC14A +Testing cmpa_d16_2...2000...4000...6000...8000...10000...done. pre_crc:0xA221, mem_crc:0x0000, reg_crc:0xE412, cc_crc:0x2D8D +Testing cmpa_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0x7F2F, cc_crc:0xBECA +Testing cmpibw_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF401, mem_crc:0x0000, reg_crc:0x1755, cc_crc:0x8DAA +Testing cmpil_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBC0C, mem_crc:0x0000, reg_crc:0xC3E7, cc_crc:0x853B +Testing cmpib_ind...2000...4000...6000...8000...10000...done. pre_crc:0x796C, mem_crc:0x0000, reg_crc:0x320D, cc_crc:0xB118 +Testing cmpiw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCD6F, mem_crc:0x0000, reg_crc:0xBC92, cc_crc:0x449A +Testing cmpil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6F88, mem_crc:0x0000, reg_crc:0x095C, cc_crc:0xD9C4 +Testing cmpmb...2000...4000...6000...8000...10000...done. pre_crc:0xB182, mem_crc:0x0000, reg_crc:0xDDC0, cc_crc:0x418D +Testing cmpmwl...2000...4000...6000...8000...10000...done. pre_crc:0xD437, mem_crc:0x0000, reg_crc:0xA8DF, cc_crc:0x201F +Testing cmp2b_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA01B, mem_crc:0x0000, reg_crc:0x36E7, cc_crc:0xFB29 +Testing cmp2wl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0E96, mem_crc:0x0000, reg_crc:0x7D1B, cc_crc:0x0536 +Testing dbcc...2000...4000...6000...8000...10000...done. pre_crc:0xE667, mem_crc:0x0000, reg_crc:0x8133, cc_crc:0x616B +Testing divs_reg...2000...4000...6000...8000...10000...done. pre_crc:0x90C6, mem_crc:0x0000, reg_crc:0x1D78, cc_crc:0xBB9F +Testing divs_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA2A8, mem_crc:0x0000, reg_crc:0x02B9, cc_crc:0x3220 +Testing divs_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4392, mem_crc:0x0000, reg_crc:0xB1F9, cc_crc:0xF802 +Testing divs_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFCC1, mem_crc:0x0000, reg_crc:0xECBC, cc_crc:0x8A8F +Testing divu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2D15, mem_crc:0x0000, reg_crc:0xA83B, cc_crc:0xD1F5 +Testing divu_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC71D, mem_crc:0x0000, reg_crc:0x30E7, cc_crc:0xAB7F +Testing divu_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF92B, mem_crc:0x0000, reg_crc:0x106D, cc_crc:0xED21 +Testing divu_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA203, mem_crc:0x0000, reg_crc:0x1B81, cc_crc:0x6A71 +Testing divul_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE0F6, mem_crc:0x0000, reg_crc:0xFA14, cc_crc:0x8D5A +Testing divul_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0x28AB, mem_crc:0x0000, reg_crc:0xE487, cc_crc:0x1C0E +Testing divul_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE21A, mem_crc:0x0000, reg_crc:0x22C3, cc_crc:0xDA08 +Testing eor_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5EA4, mem_crc:0x0000, reg_crc:0xE130, cc_crc:0xBBE4 +Testing eor_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE2C1, mem_crc:0x9990, reg_crc:0x55DE, cc_crc:0x73CB +Testing eor_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFC62, mem_crc:0x4351, reg_crc:0x4109, cc_crc:0x8290 +Testing eor_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE1FA, mem_crc:0x68F4, reg_crc:0x8A80, cc_crc:0xF627 +Testing eoribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6129, mem_crc:0x0000, reg_crc:0x1817, cc_crc:0xD1C3 +Testing eoril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7000, mem_crc:0x0000, reg_crc:0x7877, cc_crc:0x5DCB +Testing eoribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2284, mem_crc:0x60B7, reg_crc:0xFFC5, cc_crc:0x77EB +Testing eoril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xD20B, mem_crc:0xBAAB, reg_crc:0x5C9C, cc_crc:0xB7A0 +Testing eoribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4BFF, mem_crc:0x4CA1, reg_crc:0xEEC3, cc_crc:0xB4B2 +Testing eoril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB199, mem_crc:0x455D, reg_crc:0x4698, cc_crc:0xB6D3 +Testing eoribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC3EB, mem_crc:0xC318, reg_crc:0xAE86, cc_crc:0xFD5E +Testing eoril_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB1C2, mem_crc:0x5A24, reg_crc:0x17CC, cc_crc:0xCC95 +Testing eori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0xC7C1, cc_crc:0x6348 +Testing exg...2000...4000...6000...8000...10000...done. pre_crc:0x3636, mem_crc:0x0000, reg_crc:0x1C92, cc_crc:0xD45C +Testing ext...2000...4000...6000...8000...10000...done. pre_crc:0x7020, mem_crc:0x0000, reg_crc:0xCC6F, cc_crc:0x3C22 +Testing jmp_absl...2000...4000...6000...8000...10000...done. pre_crc:0x264A, mem_crc:0x0000, reg_crc:0xD052, cc_crc:0x5415 +Testing jmp_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5D81, mem_crc:0x0000, reg_crc:0x5801, cc_crc:0x1652 +Testing jmp_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3B8F, mem_crc:0x0000, reg_crc:0x2FBC, cc_crc:0x23A2 +Testing jsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB252, mem_crc:0x9021, reg_crc:0xCC42, cc_crc:0x4985 +Testing jsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x122E, mem_crc:0x97C4, reg_crc:0xC79B, cc_crc:0xD3A8 +Testing jsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C2A, mem_crc:0x9164, reg_crc:0x7BFC, cc_crc:0x16C4 +Testing lea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9516, mem_crc:0x0000, reg_crc:0x2EE8, cc_crc:0xC452 +Testing lea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4E75, mem_crc:0x0000, reg_crc:0x473A, cc_crc:0xFEC4 +Testing lea_absw...2000...4000...6000...8000...10000...done. pre_crc:0xA64A, mem_crc:0x0000, reg_crc:0xAE0D, cc_crc:0x25A8 +Testing lea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6527, mem_crc:0x0000, reg_crc:0x097D, cc_crc:0x9410 +Testing linkw...2000...4000...6000...8000...10000...done. pre_crc:0x9D80, mem_crc:0x342A, reg_crc:0x72BB, cc_crc:0x43FE +Testing linkl...2000...4000...6000...8000...10000...done. pre_crc:0xAA30, mem_crc:0x56C5, reg_crc:0xAD94, cc_crc:0x1392 +Testing move16_postinc_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x17CC, mem_crc:0x6858, reg_crc:0xE156, cc_crc:0x39A6 +Testing move16_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDE6C, mem_crc:0x52C8, reg_crc:0xD490, cc_crc:0x5387 +Testing move16_absl_postinc...2000...4000...6000...8000...10000...done. pre_crc:0xB7F5, mem_crc:0x2C89, reg_crc:0x5489, cc_crc:0x8221 +Testing move16_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8FD0, mem_crc:0x45BC, reg_crc:0x7E12, cc_crc:0xA095 +Testing move16_postinc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xEAED, mem_crc:0xB2B2, reg_crc:0xC7D6, cc_crc:0x3826 +Testing moveb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xCCB7, mem_crc:0x0000, reg_crc:0x9AE1, cc_crc:0xFDB5 +Testing movewl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90B6, mem_crc:0x0000, reg_crc:0x03B7, cc_crc:0x4FCB +Testing moveb_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7490, mem_crc:0x0000, reg_crc:0x786A, cc_crc:0x213F +Testing movewl_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7906, mem_crc:0x0000, reg_crc:0x8916, cc_crc:0x78F6 +Testing moveb_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0850, mem_crc:0x0000, reg_crc:0xDA64, cc_crc:0xB39D +Testing movewl_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE0BE, mem_crc:0x0000, reg_crc:0xECC8, cc_crc:0xF98D +Testing moveb_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7C87, mem_crc:0x0000, reg_crc:0xE00D, cc_crc:0xFF5A +Testing movewl_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD859, mem_crc:0x0000, reg_crc:0x00B8, cc_crc:0x5138 +Testing movebw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF4C1, mem_crc:0x0000, reg_crc:0xE217, cc_crc:0x4424 +Testing movel_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0x1D77, cc_crc:0x5C06 +Testing moveb_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2A9E, mem_crc:0x375D, reg_crc:0x4CD0, cc_crc:0x3506 +Testing movewl_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBC94, mem_crc:0x3B3E, reg_crc:0xB1F6, cc_crc:0x5129 +Testing moveb_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFAD7, mem_crc:0xB35D, reg_crc:0x8733, cc_crc:0xFDE5 +Testing movewl_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA0E0, mem_crc:0x0F2B, reg_crc:0xDD6A, cc_crc:0x6A0C +Testing moveb_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1650, mem_crc:0x866E, reg_crc:0xFE73, cc_crc:0x4AB6 +Testing movewl_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x619A, mem_crc:0xC43E, reg_crc:0xF395, cc_crc:0xD1D8 +Testing moveb_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF5E6, mem_crc:0x4AC7, reg_crc:0x0684, cc_crc:0x2919 +Testing moveb_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0DCD, mem_crc:0x6123, reg_crc:0xB9CE, cc_crc:0x2728 +Testing moveb_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA739, mem_crc:0x9BB5, reg_crc:0xCE2F, cc_crc:0x534E +Testing movewl_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x62A3, mem_crc:0x2842, reg_crc:0xC3E1, cc_crc:0x2818 +Testing movewl_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDBFC, mem_crc:0x7E93, reg_crc:0xDA89, cc_crc:0x0955 +Testing moveb_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD252, mem_crc:0x8236, reg_crc:0xCA8E, cc_crc:0x9FA0 +Testing movewl_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6DEF, mem_crc:0xF08D, reg_crc:0x3599, cc_crc:0x10D9 +Testing moveb_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8B0C, mem_crc:0x741B, reg_crc:0x2DDE, cc_crc:0x4CC1 +Testing movewl_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF679, mem_crc:0xA314, reg_crc:0x5B89, cc_crc:0xF8FE +Testing moveb_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x47C5, mem_crc:0x27DD, reg_crc:0x73DC, cc_crc:0x2255 +Testing movewl_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2B48, mem_crc:0x9918, reg_crc:0xE8A9, cc_crc:0xAE08 +Testing moveb_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5B5C, mem_crc:0x384A, reg_crc:0xFD61, cc_crc:0xA63C +Testing movewl_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB400, mem_crc:0x913D, reg_crc:0x5AF3, cc_crc:0x517F +Testing moveb_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x90DE, mem_crc:0x1E21, reg_crc:0x7806, cc_crc:0x6B29 +Testing movewl_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x89B9, mem_crc:0x27B8, reg_crc:0x78D7, cc_crc:0xCE04 +Testing moveb_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7A9A, mem_crc:0x8BDB, reg_crc:0x99F0, cc_crc:0x8916 +Testing movewl_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x408F, mem_crc:0xF4FE, reg_crc:0x0802, cc_crc:0x7FAD +Testing moveb_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0361, mem_crc:0xA069, reg_crc:0x5DD9, cc_crc:0x9CB2 +Testing moveb_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5FE6, mem_crc:0x6D86, reg_crc:0x755D, cc_crc:0x659F +Testing moveb_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0CCC, mem_crc:0xE01F, reg_crc:0xD1E1, cc_crc:0xDF79 +Testing movew_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC05F, mem_crc:0xB81B, reg_crc:0xFAEB, cc_crc:0xA684 +Testing movew_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF8E0, mem_crc:0xD6A4, reg_crc:0x174E, cc_crc:0x3A78 +Testing movew_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5967, mem_crc:0xF528, reg_crc:0xC783, cc_crc:0x8529 +Testing movel_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x200F, mem_crc:0xA511, reg_crc:0xC642, cc_crc:0x2537 +Testing movel_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7C51, mem_crc:0x91F7, reg_crc:0x4067, cc_crc:0x4B03 +Testing movel_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0xAE75, mem_crc:0x0B8F, reg_crc:0x4662, cc_crc:0xD88D +Testing movea_reg...2000...4000...6000...8000...10000...done. pre_crc:0x861B, mem_crc:0x0000, reg_crc:0x956A, cc_crc:0x7FE6 +Testing movea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2C5E, mem_crc:0x0000, reg_crc:0xD8CA, cc_crc:0x1007 +Testing movea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6EC4, mem_crc:0x0000, reg_crc:0xA6F5, cc_crc:0x889A +Testing movea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF876, mem_crc:0x0000, reg_crc:0xC45B, cc_crc:0x7B4D +Testing moveaw_const...2000...4000...6000...8000...10000...done. pre_crc:0xB99A, mem_crc:0x0000, reg_crc:0xBEE1, cc_crc:0x70F2 +Testing moveal_const...2000...4000...6000...8000...10000...done. pre_crc:0x0D69, mem_crc:0x0000, reg_crc:0x7F73, cc_crc:0xF5E4 +Testing move_from_ccr_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEEEB, mem_crc:0x0000, reg_crc:0xBFA7, cc_crc:0x6420 +Testing move_from_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x976B, mem_crc:0x0000, reg_crc:0x1A92, cc_crc:0x5F84 +Testing move_from_ccr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF84A, mem_crc:0x0000, reg_crc:0xD16C, cc_crc:0x2B53 +Testing move_to_ccr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2B8A, mem_crc:0x0000, reg_crc:0x601B, cc_crc:0xF93C +Testing move_to_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xEDA3, mem_crc:0x0000, reg_crc:0xB9C1, cc_crc:0xEB9F +Testing movem_to_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9B28, mem_crc:0x975E, reg_crc:0xAF77, cc_crc:0x7507 +Testing movem_to_predec...2000...4000...6000...8000...10000...done. pre_crc:0xD6B7, mem_crc:0xD658, reg_crc:0x2F67, cc_crc:0xBB4D +Testing movem_to_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC8F0, mem_crc:0x8DEB, reg_crc:0xD89F, cc_crc:0x4AD0 +Testing movem_to_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8CEE, mem_crc:0xC6D7, reg_crc:0x1D2E, cc_crc:0x40B5 +Testing movem_from_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86D6, mem_crc:0x0000, reg_crc:0x5ED9, cc_crc:0xF4BF +Testing movem_from_ind...2000...4000...6000...8000...10000...done. pre_crc:0x399F, mem_crc:0x0000, reg_crc:0x281B, cc_crc:0xEAEA +Testing movem_from_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FA0, mem_crc:0x0000, reg_crc:0x6C77, cc_crc:0x4561 +Testing movep_to_mem...2000...4000...6000...8000...10000...done. pre_crc:0x5A5B, mem_crc:0x170F, reg_crc:0xB29A, cc_crc:0xE1C5 +Testing movep_from_mem...2000...4000...6000...8000...10000...done. pre_crc:0x1F11, mem_crc:0x0000, reg_crc:0xCF30, cc_crc:0x3EEF +Testing moveq...2000...4000...6000...8000...10000...done. pre_crc:0xAAF9, mem_crc:0x0000, reg_crc:0xAF6C, cc_crc:0x73FD +Testing mulsw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBCCC, mem_crc:0x0000, reg_crc:0xDEFF, cc_crc:0xD03B +Testing mulsw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE7C9, mem_crc:0x0000, reg_crc:0xED7B, cc_crc:0x72D1 +Testing mulsw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA827, mem_crc:0x0000, reg_crc:0x9D43, cc_crc:0xAE31 +Testing mulsw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA7DD, mem_crc:0x0000, reg_crc:0x01AE, cc_crc:0x6875 +Testing muluw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x0854, cc_crc:0x9A2B +Testing muluw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE9A0, mem_crc:0x0000, reg_crc:0x4188, cc_crc:0xBBAF +Testing muluw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8B1C, mem_crc:0x0000, reg_crc:0xA08E, cc_crc:0x86B9 +Testing muluw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6CC2, mem_crc:0x0000, reg_crc:0x6BA8, cc_crc:0xEE4B +Testing mulsl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1960, mem_crc:0x0000, reg_crc:0x4CF7, cc_crc:0xFEF8 +Testing mulsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFA22, mem_crc:0x0000, reg_crc:0x106E, cc_crc:0x0873 +Testing mulsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2F98, mem_crc:0x0000, reg_crc:0x18EB, cc_crc:0x0665 +Testing mulsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x862F, mem_crc:0x0000, reg_crc:0x8D09, cc_crc:0xF628 +Testing mulul_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA4B9, mem_crc:0x0000, reg_crc:0x7EB2, cc_crc:0x901D +Testing mulul_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3AE0, mem_crc:0x0000, reg_crc:0x6770, cc_crc:0xEEB4 +Testing mulul_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15E9, mem_crc:0x0000, reg_crc:0x6AA6, cc_crc:0x531E +Testing mulul_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FD2, mem_crc:0x0000, reg_crc:0xA831, cc_crc:0xFC59 +Testing nbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA576, mem_crc:0x0000, reg_crc:0x06AA, cc_crc:0x5F8E +Testing nbcd_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0818, mem_crc:0xA922, reg_crc:0xD549, cc_crc:0x08DC +Testing nbcd_d16...2000...4000...6000...8000...10000...done. pre_crc:0x33B4, mem_crc:0x367B, reg_crc:0x8A08, cc_crc:0xF9E4 +Testing nbcd_absl...2000...4000...6000...8000...10000...done. pre_crc:0x419A, mem_crc:0x2567, reg_crc:0xB20C, cc_crc:0x5DE9 +Testing neg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5A85, mem_crc:0x0000, reg_crc:0xDF04, cc_crc:0xB2E4 +Testing negb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x013F, mem_crc:0x58D0, reg_crc:0xA347, cc_crc:0xBE28 +Testing negwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3E95, mem_crc:0xCA00, reg_crc:0x1CC1, cc_crc:0xAC9A +Testing negb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE89F, mem_crc:0x919B, reg_crc:0x3B19, cc_crc:0x0F93 +Testing negwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEF77, mem_crc:0x7349, reg_crc:0x3536, cc_crc:0xABD3 +Testing neg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3A10, mem_crc:0xD22B, reg_crc:0x227E, cc_crc:0xB375 +Testing negx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8C17, mem_crc:0x0000, reg_crc:0x2414, cc_crc:0xCE97 +Testing negxb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x565B, mem_crc:0xA327, reg_crc:0x9285, cc_crc:0xF0BE +Testing negxwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x26BA, mem_crc:0x69F5, reg_crc:0x265B, cc_crc:0x3B45 +Testing negxb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x70FF, mem_crc:0x6704, reg_crc:0x4320, cc_crc:0x4B93 +Testing negxwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x445B, mem_crc:0x6050, reg_crc:0x57DF, cc_crc:0x6055 +Testing negx_absl...2000...4000...6000...8000...10000...done. pre_crc:0x79B4, mem_crc:0xE637, reg_crc:0x9C48, cc_crc:0x364D +Testing nop...2000...4000...6000...8000...10000...done. pre_crc:0x26B8, mem_crc:0x0000, reg_crc:0x153D, cc_crc:0xD96E +Testing not_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0x6134, cc_crc:0x1F29 +Testing notb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x98CD, mem_crc:0x5226, reg_crc:0xB4A3, cc_crc:0x6A11 +Testing notwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x71D8, mem_crc:0x32FE, reg_crc:0xED81, cc_crc:0x6101 +Testing notb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD90C, mem_crc:0x194F, reg_crc:0xBA3E, cc_crc:0x79B3 +Testing notwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1346, mem_crc:0x3234, reg_crc:0x0944, cc_crc:0x3521 +Testing not_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF983, mem_crc:0x0486, reg_crc:0x86FD, cc_crc:0x487D +Testing or_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC936, mem_crc:0x0000, reg_crc:0x86AD, cc_crc:0x0ACA +Testing or_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x9BBE, mem_crc:0x0000, reg_crc:0xCE0B, cc_crc:0xD24E +Testing or_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7387, mem_crc:0x0000, reg_crc:0x61FB, cc_crc:0x62C4 +Testing or_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8E27, mem_crc:0x0000, reg_crc:0xB2EB, cc_crc:0x4144 +Testing orbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8285, mem_crc:0x0000, reg_crc:0xE9BF, cc_crc:0x84C0 +Testing orl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x451E, mem_crc:0x0000, reg_crc:0x231A, cc_crc:0xCCF0 +Testing or_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8A96, mem_crc:0xCB4F, reg_crc:0xED74, cc_crc:0x4FE5 +Testing or_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x599A, mem_crc:0x9475, reg_crc:0x4FD6, cc_crc:0xC2CE +Testing or_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B95, mem_crc:0x6977, reg_crc:0x969A, cc_crc:0x7755 +Testing oribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1EB0, mem_crc:0x0000, reg_crc:0x0324, cc_crc:0x11E8 +Testing oril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDD29, mem_crc:0x0000, reg_crc:0x65DD, cc_crc:0xA9D1 +Testing oribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0857, mem_crc:0x5CCC, reg_crc:0xE658, cc_crc:0xCAFA +Testing oril_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAFAF, mem_crc:0x523B, reg_crc:0x280F, cc_crc:0xFD2A +Testing oribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x36A9, mem_crc:0x2C86, reg_crc:0xE866, cc_crc:0xCB20 +Testing oril_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE846, mem_crc:0x34AD, reg_crc:0xF0D2, cc_crc:0xA396 +Testing oribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC57A, mem_crc:0x8325, reg_crc:0xF4F7, cc_crc:0x085B +Testing oril_absl...2000...4000...6000...8000...10000...done. pre_crc:0x36F9, mem_crc:0xCF27, reg_crc:0xD4C3, cc_crc:0xE5C7 +Testing ori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x1AE9, mem_crc:0x0000, reg_crc:0x51DC, cc_crc:0xF03C +Testing pack_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D52, mem_crc:0x0000, reg_crc:0x18FF, cc_crc:0x6BA2 +Testing pack_mem...2000...4000...6000...8000...10000...done. pre_crc:0xEAC4, mem_crc:0x1F8A, reg_crc:0xCF05, cc_crc:0x1A04 +Testing pea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3BC3, mem_crc:0xDF7C, reg_crc:0xAC77, cc_crc:0x2B8D +Testing pea_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBAB7, mem_crc:0xB7FC, reg_crc:0x2357, cc_crc:0xF82A +Testing pea_absw...2000...4000...6000...8000...10000...done. pre_crc:0x4192, mem_crc:0x3555, reg_crc:0x16C7, cc_crc:0x2F67 +Testing pea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x687D, mem_crc:0x76AE, reg_crc:0xE12D, cc_crc:0x51EA +Testing rol_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x1E89, mem_crc:0x0000, reg_crc:0xDB84, cc_crc:0x2A75 +Testing rol_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x789C, mem_crc:0x0000, reg_crc:0x1E06, cc_crc:0xD7AA +Testing rol_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5100, mem_crc:0x950F, reg_crc:0x638D, cc_crc:0x302E +Testing rol_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9969, mem_crc:0x0275, reg_crc:0x1CE0, cc_crc:0x1531 +Testing rol_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9DEB, mem_crc:0x402C, reg_crc:0x0A63, cc_crc:0xC535 +Testing ror_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x2D9D, mem_crc:0x0000, reg_crc:0xF825, cc_crc:0x1144 +Testing ror_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xCB2E, mem_crc:0x0000, reg_crc:0xB8C0, cc_crc:0xF15D +Testing ror_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3551, mem_crc:0x8FE9, reg_crc:0x6D40, cc_crc:0x70D0 +Testing ror_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86CE, mem_crc:0xC3C5, reg_crc:0xA0C3, cc_crc:0x48CA +Testing ror_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6E9E, mem_crc:0x2250, reg_crc:0x9EF2, cc_crc:0x4537 +Testing roxl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5FFD, mem_crc:0x0000, reg_crc:0x568D, cc_crc:0x5B97 +Testing roxl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8813, mem_crc:0x0000, reg_crc:0xB06B, cc_crc:0x3E79 +Testing roxl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7C26, mem_crc:0xC831, reg_crc:0xD02F, cc_crc:0x3944 +Testing roxl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD251, mem_crc:0x9251, reg_crc:0x5D91, cc_crc:0xB54A +Testing roxl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x71B1, mem_crc:0x7427, reg_crc:0x554E, cc_crc:0xF2A4 +Testing roxr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF819, mem_crc:0x0000, reg_crc:0x2B96, cc_crc:0x383D +Testing roxr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFB96, mem_crc:0x0000, reg_crc:0x878B, cc_crc:0xD24E +Testing roxr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC468, mem_crc:0x2379, reg_crc:0xB711, cc_crc:0x36A3 +Testing roxr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x18E3, mem_crc:0xCDEC, reg_crc:0xEA7F, cc_crc:0x054D +Testing roxr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBA00, mem_crc:0xC879, reg_crc:0xC081, cc_crc:0xC635 +Testing rtd...2000...4000...6000...8000...10000...done. pre_crc:0x8AF7, mem_crc:0x0000, reg_crc:0x544A, cc_crc:0xF560 +Testing rtr...2000...4000...6000...8000...10000...done. pre_crc:0xF73D, mem_crc:0x0000, reg_crc:0xF544, cc_crc:0x36FF +Testing rts...2000...4000...6000...8000...10000...done. pre_crc:0x2E26, mem_crc:0x0000, reg_crc:0x8516, cc_crc:0x27B7 +Testing sbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9195, mem_crc:0x0000, reg_crc:0x62B3, cc_crc:0xC0DD +Testing sbcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x15BA, mem_crc:0x0892, reg_crc:0xF4AE, cc_crc:0xE299 +Testing Scc_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x6816, cc_crc:0x5FCF +Testing Scc_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3142, mem_crc:0x8A4F, reg_crc:0x08A2, cc_crc:0x3996 +Testing Scc_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5CBC, mem_crc:0xE122, reg_crc:0x71F3, cc_crc:0x8F6D +Testing Scc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFD07, mem_crc:0xCE85, reg_crc:0x170A, cc_crc:0xD691 +Testing subb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12EF, mem_crc:0x0000, reg_crc:0x6D97, cc_crc:0xFA88 +Testing subw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x350C, mem_crc:0x0000, reg_crc:0x7B71, cc_crc:0xAA5A +Testing subl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA32C, mem_crc:0x0000, reg_crc:0x6161, cc_crc:0xC151 +Testing sub_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x57B7, mem_crc:0x0000, reg_crc:0xECA2, cc_crc:0xB06E +Testing sub_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC4B8, mem_crc:0x0000, reg_crc:0xD135, cc_crc:0x274B +Testing sub_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x39B4, mem_crc:0x0000, reg_crc:0x6A18, cc_crc:0x2F4A +Testing subb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1B39, mem_crc:0x0000, reg_crc:0x1064, cc_crc:0xB958 +Testing subw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0B2A, mem_crc:0x0000, reg_crc:0xECE9, cc_crc:0xC3D2 +Testing subl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x2A5E, mem_crc:0x0000, reg_crc:0x27A3, cc_crc:0x4205 +Testing sub_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCC3F, mem_crc:0x12A0, reg_crc:0x83BA, cc_crc:0xACB4 +Testing sub_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB34D, mem_crc:0xBD6A, reg_crc:0xE373, cc_crc:0xE694 +Testing sub_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD8BA, mem_crc:0x5ACC, reg_crc:0x910E, cc_crc:0x2824 +Testing subaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xDB02, mem_crc:0x0000, reg_crc:0xE540, cc_crc:0xB02C +Testing subal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xA1B6, mem_crc:0x0000, reg_crc:0x6113, cc_crc:0xB0EC +Testing suba_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0xEE63, mem_crc:0x0000, reg_crc:0x3D52, cc_crc:0x59D8 +Testing suba_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0xE757, mem_crc:0x0000, reg_crc:0x6E64, cc_crc:0x20E3 +Testing suba_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x9132, mem_crc:0x0000, reg_crc:0x8958, cc_crc:0xF9FA +Testing subaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x89AF, mem_crc:0x0000, reg_crc:0x4908, cc_crc:0xD95E +Testing subal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1D3D, mem_crc:0x0000, reg_crc:0xE5C7, cc_crc:0x1F16 +Testing subibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4719, mem_crc:0x0000, reg_crc:0x35E1, cc_crc:0xD1A6 +Testing subil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x66E0, mem_crc:0x0000, reg_crc:0xC969, cc_crc:0xE827 +Testing subibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2431, mem_crc:0xA377, reg_crc:0x4ED2, cc_crc:0x4C68 +Testing subil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3F7D, mem_crc:0xC5A0, reg_crc:0x3226, cc_crc:0xAFED +Testing subibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC774, mem_crc:0xE278, reg_crc:0xA699, cc_crc:0x111D +Testing subil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBF55, mem_crc:0xE409, reg_crc:0xC633, cc_crc:0x97EF +Testing subibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1144, mem_crc:0x73DF, reg_crc:0x5EE6, cc_crc:0x42D7 +Testing subil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7178, mem_crc:0xA603, reg_crc:0x8B59, cc_crc:0x82EB +Testing subq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFCA6, mem_crc:0x0000, reg_crc:0xFA4D, cc_crc:0xC95C +Testing subq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xB2EF, mem_crc:0x0000, reg_crc:0x19C2, cc_crc:0x8142 +Testing subq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CB3, mem_crc:0xF7FD, reg_crc:0xE9F8, cc_crc:0x0289 +Testing subq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8C0D, mem_crc:0x038B, reg_crc:0x8D05, cc_crc:0x47F6 +Testing subq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC055, mem_crc:0x5CE2, reg_crc:0x10B9, cc_crc:0xBE74 +Testing subx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x16E2, mem_crc:0x0000, reg_crc:0x667D, cc_crc:0x54A1 +Testing subx_mem...2000...4000...6000...8000...10000...done. pre_crc:0x261C, mem_crc:0x5A3A, reg_crc:0x5999, cc_crc:0x6C09 +Testing swap...2000...4000...6000...8000...10000...done. pre_crc:0x13BF, mem_crc:0x0000, reg_crc:0x23B6, cc_crc:0x6988 +Testing tas_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB548, mem_crc:0x0000, reg_crc:0xE6B9, cc_crc:0xB4AC +Testing tas_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0CD4, mem_crc:0x1075, reg_crc:0xD830, cc_crc:0x6CD7 +Testing tas_d16...2000...4000...6000...8000...10000...done. pre_crc:0x1C23, mem_crc:0x46C7, reg_crc:0x6AD1, cc_crc:0xCD15 +Testing tas_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF539, mem_crc:0xC180, reg_crc:0xD994, cc_crc:0xFD80 +Testing tstb_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4DEE, mem_crc:0x0000, reg_crc:0xC1B5, cc_crc:0xF630 +Testing tstwl_reg...2000...4000...6000...8000...10000...done. pre_crc:0xDDAF, mem_crc:0x0000, reg_crc:0x9D2A, cc_crc:0x01F8 +Testing tstb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0534, mem_crc:0x0000, reg_crc:0xABCE, cc_crc:0xB8B8 +Testing tstwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF804, mem_crc:0x0000, reg_crc:0x9311, cc_crc:0xABCE +Testing tstb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x15BB, mem_crc:0x0000, reg_crc:0x1F23, cc_crc:0x2610 +Testing tstwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xEE40, mem_crc:0x0000, reg_crc:0xDFEC, cc_crc:0x3708 +Testing tst_absl...2000...4000...6000...8000...10000...done. pre_crc:0x737C, mem_crc:0x0000, reg_crc:0x4B3C, cc_crc:0xC2B0 diff --git a/test/run68k.s b/test/run68k.s new file mode 100644 index 0000000..6b7f68f --- /dev/null +++ b/test/run68k.s @@ -0,0 +1,18 @@ +#NO_APP +.lcomm _saved_regs,64 +.lcomm _jump_address,4 +.text +.globl _run_code_on_68000 +_run_code_on_68000: + link a6,#0 + moveml #0xFFFF,_saved_regs + movel a6@(8),_jump_address + movel a6@(12),a0 + movel #L0,a0@ + moveml _cpu_state,#0xFFFF + jmp @(_jump_address)@(0) +L0: + moveml #0xFFFF,_cpu_state + moveml _saved_regs,#0xFFFF + unlk a6 + rts diff --git a/test/setup.c b/test/setup.c new file mode 100644 index 0000000..f296260 --- /dev/null +++ b/test/setup.c @@ -0,0 +1,94 @@ +#include "syn68k_public.h" +#include "setup.h" +#include "driver.h" +#include +#ifdef NeXT +# include /* To prototype random(). */ +#else + extern int random (void); +#endif + +uint8 *mem; + +static inline int32 +my_random () +{ + static unsigned n = 9; + n = (n * 1233143127) ^ (n >> 13); + return n & 0x7FFFFFFF; +} + + +int32 +randint (int32 low, int32 high) +{ + assert (high >= low); + + return low + (my_random () % (high - low + 1)); +} + + +/* Choose a random 32 bit value. Half the time, choose one + * of the "important" values at random. The important values are more + * likely to elicit rare cc behavior, so we artificially make them more + * likely. This also increases the chances of two values being equal. + */ +int32 +randnum () +{ + static const uint32 important_values[] = { + 0x00000000, 0x00000001, 0x00000080, 0x000000FF, + 0x00000100, 0x00007FFF, 0x00008000, 0x0000FFFF, + 0x00010000, 0x7FFFFFFF, 0x80000000, 0xFFFFFFFF, + 0x00000101, 0x00010001, 0x10000001 + }; + + if (randint (0, 1)) /* 50-50 chance. */ + { + return important_values[randint (0, ((sizeof important_values + / sizeof important_values[0]) + - 1))]; + } + else + { + return my_random (); + } +} + + +void +randomize_mem () +{ + int32 *m = (int32 *)mem; + int i; + + for (i = MEM_SIZE / sizeof (int32); i > 0; i--) + { + int32 n = randint (-1, 6); + if (n <= 0) + *m++ = n; /* 0 or -1 some of the time, no need to byte swap. */ + else + *m++ = SWAPUL_IFLE (my_random ()); + } +} + + +void +randomize_regs (int low_reg, int high_reg, uint32 low_val, uint32 high_val, + uint32 bits_to_mask) +{ + int i; + for (i = low_reg; i <= high_reg; i++) + cpu_state.regs[i].sl.n = randint (low_val, high_val) & ~bits_to_mask; +} + + +void +fully_randomize_regs () +{ + M68kReg *r; + int i; + + for (i = 15, r = cpu_state.regs; i >= 0; r++, i--) + r->sl.n = randnum (); +} diff --git a/test/slow.1 b/test/slow.1 new file mode 100644 index 0000000..56787f3 --- /dev/null +++ b/test/slow.1 @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing moveb_pcd8_dreg...done. pre_crc:0x5F31, mem_crc:0x0000, reg_crc:0x1AE0 +Testing movewl_pcd8_dreg...done. pre_crc:0xC10A, mem_crc:0x0000, reg_crc:0xEBAA +Testing unpk_reg...done. pre_crc:0x5CC2, mem_crc:0x0000, reg_crc:0xA40B +Testing unpk_mem...done. pre_crc:0x81C0, mem_crc:0xE9D6, reg_crc:0x7C94 +Testing unlk...done. pre_crc:0x3300, mem_crc:0x0000, reg_crc:0xB315 +Testing movewl_ind_ind...done. pre_crc:0x2730, mem_crc:0xB7E2, reg_crc:0xB3A8 +Testing divsl_ll_reg...done. pre_crc:0x6D89, mem_crc:0x0000, reg_crc:0xD020 +Testing divsl_ll_ind...done. pre_crc:0x73F0, mem_crc:0x0000, reg_crc:0x0158 +Testing divsl_ll_absl...done. pre_crc:0x0266, mem_crc:0x0000, reg_crc:0xC726 +Testing lea_pc_ind_preix...done. pre_crc:0x3F30, mem_crc:0x0000, reg_crc:0x2520 +Testing lea_pc_ind_postix...done. pre_crc:0x010E, mem_crc:0x0000, reg_crc:0x6DCD +Testing moveb_pc_ind_preix_dreg...done. pre_crc:0x3469, mem_crc:0x0000, reg_crc:0x1398 +Testing moveb_pc_ind_postix_dreg...done. pre_crc:0x5B9D, mem_crc:0x0000, reg_crc:0xA54B +Testing moveb_pcd16_dreg...done. pre_crc:0x7C94, mem_crc:0x0000, reg_crc:0x02F8 +Testing movewl_pcd16_dreg...done. pre_crc:0x9F08, mem_crc:0x0000, reg_crc:0xD362 +Testing moveb_pc_ind_ix_dreg...done. pre_crc:0x5524, mem_crc:0x0000, reg_crc:0x36A9 +Testing movewl_pc_ind_ix_dreg...done. pre_crc:0x950A, mem_crc:0x0000, reg_crc:0x2068 +Testing lea_ind_preix...done. pre_crc:0x5C4A, mem_crc:0x0000, reg_crc:0xB0AD +Testing lea_ind_postix...done. pre_crc:0x7BB1, mem_crc:0x0000, reg_crc:0x3A4D +Testing add_absl_dreg...done. pre_crc:0xC490, mem_crc:0x0000, reg_crc:0xA420 +Testing abcd_reg...done. pre_crc:0x1F55, mem_crc:0x0000, reg_crc:0x586B +Testing abcd_mem...done. pre_crc:0x5636, mem_crc:0x1F54, reg_crc:0xDE2D +Testing addb_dreg_dreg...done. pre_crc:0x7E1B, mem_crc:0x0000, reg_crc:0xE20F +Testing addw_reg_dreg...done. pre_crc:0x1837, mem_crc:0x0000, reg_crc:0x3B6D +Testing addl_reg_dreg...done. pre_crc:0xFB2A, mem_crc:0x0000, reg_crc:0xFD98 +Testing add_d16_dreg...done. pre_crc:0x429B, mem_crc:0x0000, reg_crc:0x4B84 +Testing addb_const_dreg...done. pre_crc:0x1C20, mem_crc:0x0000, reg_crc:0xBABC +Testing addw_const_dreg...done. pre_crc:0x1CC2, mem_crc:0x0000, reg_crc:0xD839 +Testing add_dreg_ind...done. pre_crc:0x8BE2, mem_crc:0x169E, reg_crc:0xE9F4 +Testing add_ind_dreg...done. pre_crc:0x00A3, mem_crc:0x0000, reg_crc:0x1662 +Testing addl_const_dreg...done. pre_crc:0x0BD7, mem_crc:0x0000, reg_crc:0xEBD7 +Testing add_dreg_d16...done. pre_crc:0x7DC4, mem_crc:0xC78C, reg_crc:0x3F24 +Testing add_dreg_absl...done. pre_crc:0xE583, mem_crc:0x15A2, reg_crc:0x9AAF +Testing addaw_reg_areg...done. pre_crc:0xF0D8, mem_crc:0x0000, reg_crc:0x492F +Testing addal_reg_areg...done. pre_crc:0xB728, mem_crc:0x0000, reg_crc:0xAD83 +Testing adda_ind_areg...done. pre_crc:0xFD08, mem_crc:0x0000, reg_crc:0xEA5E +Testing adda_d16_areg...done. pre_crc:0x707D, mem_crc:0x0000, reg_crc:0x9060 +Testing adda_absl_areg...done. pre_crc:0x94A7, mem_crc:0x0000, reg_crc:0xACA0 +Testing addaw_const_areg...done. pre_crc:0xBB14, mem_crc:0x0000, reg_crc:0x9550 +Testing addal_const_areg...done. pre_crc:0x36F1, mem_crc:0x0000, reg_crc:0x89E0 +Testing addibw_dreg...done. pre_crc:0x260E, mem_crc:0x0000, reg_crc:0xC3D8 +Testing addil_dreg...done. pre_crc:0x62BD, mem_crc:0x0000, reg_crc:0x7D30 +Testing addibw_ind...done. pre_crc:0x1434, mem_crc:0x0219, reg_crc:0x211D +Testing addil_ind...done. pre_crc:0x7592, mem_crc:0x91A4, reg_crc:0xEFD0 +Testing addibw_d16...done. pre_crc:0x4A71, mem_crc:0x3497, reg_crc:0xADD6 +Testing addil_d16...done. pre_crc:0x6001, mem_crc:0x1453, reg_crc:0xD540 +Testing addibw_absl...done. pre_crc:0x5139, mem_crc:0x00D1, reg_crc:0x4B60 +Testing addil_absl...done. pre_crc:0xEB1E, mem_crc:0xA5C5, reg_crc:0xA292 +Testing addq_dreg...done. pre_crc:0xD176, mem_crc:0x0000, reg_crc:0xAC06 +Testing addq_areg...done. pre_crc:0xAF2D, mem_crc:0x0000, reg_crc:0x78E7 +Testing addq_ind...done. pre_crc:0x0053, mem_crc:0x1BA5, reg_crc:0x9A0A +Testing addq_d16...done. pre_crc:0xA776, mem_crc:0x7E00, reg_crc:0xFA14 +Testing addq_absl...done. pre_crc:0xFD05, mem_crc:0x2747, reg_crc:0x2778 +Testing addx_reg...done. pre_crc:0x6628, mem_crc:0x0000, reg_crc:0xF02B +Testing addx_mem...done. pre_crc:0xAA3B, mem_crc:0xCDF4, reg_crc:0x4A23 +Testing and_dreg_dreg...done. pre_crc:0xBD22, mem_crc:0x0000, reg_crc:0x7D21 +Testing and_ind_dreg...done. pre_crc:0x475D, mem_crc:0x0000, reg_crc:0xE51F +Testing and_d16_dreg...done. pre_crc:0x6A6C, mem_crc:0x0000, reg_crc:0x35CA +Testing and_absl_dreg...done. pre_crc:0x67B2, mem_crc:0x0000, reg_crc:0xC81C +Testing andbw_const_dreg...done. pre_crc:0x0165, mem_crc:0x0000, reg_crc:0xFF84 +Testing andl_const_dreg...done. pre_crc:0xD8DC, mem_crc:0x0000, reg_crc:0x66C3 +Testing and_dreg_ind...done. pre_crc:0x3B26, mem_crc:0x823F, reg_crc:0xCA47 +Testing and_dreg_d16...done. pre_crc:0x4641, mem_crc:0xD34F, reg_crc:0xD418 +Testing and_dreg_absl...done. pre_crc:0x8354, mem_crc:0xF4B9, reg_crc:0x7BAA +Testing andibw_dreg...done. pre_crc:0x56E9, mem_crc:0x0000, reg_crc:0x5566 +Testing andil_dreg...done. pre_crc:0x3C94, mem_crc:0x0000, reg_crc:0x5704 +Testing andibw_ind...done. pre_crc:0xC9D4, mem_crc:0x6E2C, reg_crc:0xC577 +Testing andil_ind...done. pre_crc:0x5F56, mem_crc:0x79C4, reg_crc:0x4C91 +Testing andibw_d16...done. pre_crc:0xF62C, mem_crc:0x4148, reg_crc:0x7D21 +Testing andil_d16...done. pre_crc:0xB9D2, mem_crc:0x8ED7, reg_crc:0xEACB +Testing andibw_absl...done. pre_crc:0x3D1C, mem_crc:0x02C4, reg_crc:0xBD42 +Testing andil_absl...done. pre_crc:0xB921, mem_crc:0x987A, reg_crc:0xCBD6 +Testing andi_to_ccr...done. pre_crc:0x3F68, mem_crc:0x0000, reg_crc:0x4DD8 +Testing asl_dx_dy...done. pre_crc:0x223C, mem_crc:0x0000, reg_crc:0x5F24 +Testing asl_const_dy...done. pre_crc:0x3313, mem_crc:0x0000, reg_crc:0x833B +Testing asl_ind...done. pre_crc:0x2E7B, mem_crc:0xB30D, reg_crc:0x1BC5 +Testing asl_d16...done. pre_crc:0xAB5F, mem_crc:0x5A95, reg_crc:0x7444 +Testing asl_absl...done. pre_crc:0x21E1, mem_crc:0x5EEA, reg_crc:0x8575 +Testing asr_dx_dy...done. pre_crc:0xDEF4, mem_crc:0x0000, reg_crc:0xFF53 +Testing asr_const_dy...done. pre_crc:0x9019, mem_crc:0x0000, reg_crc:0xC02D +Testing asr_ind...done. pre_crc:0x045F, mem_crc:0xB433, reg_crc:0xA786 +Testing asr_d16...done. pre_crc:0xD44B, mem_crc:0xA53A, reg_crc:0x183C +Testing asr_absl...done. pre_crc:0xF150, mem_crc:0xD295, reg_crc:0x7CFB +Testing lsl_dx_dy...done. pre_crc:0xD75E, mem_crc:0x0000, reg_crc:0x16DA +Testing lsl_const_dy...done. pre_crc:0xFEBB, mem_crc:0x0000, reg_crc:0xE625 +Testing lsl_ind...done. pre_crc:0x31FF, mem_crc:0x8B22, reg_crc:0x4BC0 +Testing lsl_d16...done. pre_crc:0x7673, mem_crc:0xC768, reg_crc:0xEBA6 +Testing lsl_absl...done. pre_crc:0x25E2, mem_crc:0x1B50, reg_crc:0x9FC5 +Testing lsr_dx_dy...done. pre_crc:0x0541, mem_crc:0x0000, reg_crc:0x2EBD +Testing lsr_const_dy...done. pre_crc:0x26C9, mem_crc:0x0000, reg_crc:0x0335 +Testing lsr_ind...done. pre_crc:0xD4B0, mem_crc:0xE943, reg_crc:0x6716 +Testing lsr_d16...done. pre_crc:0x923D, mem_crc:0x6CBB, reg_crc:0xFC14 +Testing lsr_absl...done. pre_crc:0x002C, mem_crc:0x321C, reg_crc:0x47CF +Testing bra_b...done. pre_crc:0x892A, mem_crc:0x0000, reg_crc:0x247D +Testing bhi_b...done. pre_crc:0x6996, mem_crc:0x0000, reg_crc:0xA81F +Testing bls_b...done. pre_crc:0x708C, mem_crc:0x0000, reg_crc:0x47BE +Testing bcc_b...done. pre_crc:0xD3A7, mem_crc:0x0000, reg_crc:0xBE99 +Testing bcs_b...done. pre_crc:0x11D9, mem_crc:0x0000, reg_crc:0x7E65 +Testing bne_b...done. pre_crc:0x2CFC, mem_crc:0x0000, reg_crc:0xB5AE +Testing beq_b...done. pre_crc:0xE18A, mem_crc:0x0000, reg_crc:0x3DA4 +Testing bvc_b...done. pre_crc:0xCD22, mem_crc:0x0000, reg_crc:0x0596 +Testing bvs_b...done. pre_crc:0x204C, mem_crc:0x0000, reg_crc:0xDEFA +Testing bpl_b...done. pre_crc:0x8711, mem_crc:0x0000, reg_crc:0x55D7 +Testing bmi_b...done. pre_crc:0x1736, mem_crc:0x0000, reg_crc:0x7DFA +Testing bge_b...done. pre_crc:0x480E, mem_crc:0x0000, reg_crc:0x8FA8 +Testing blt_b...done. pre_crc:0xECE0, mem_crc:0x0000, reg_crc:0x4769 +Testing bgt_b...done. pre_crc:0x2A70, mem_crc:0x0000, reg_crc:0x4A52 +Testing ble_b...done. pre_crc:0xADB3, mem_crc:0x0000, reg_crc:0x46FB +Testing bra_w...done. pre_crc:0x962F, mem_crc:0x0000, reg_crc:0x6E2A +Testing bhi_w...done. pre_crc:0x0856, mem_crc:0x0000, reg_crc:0x2A6E +Testing bls_w...done. pre_crc:0x972B, mem_crc:0x0000, reg_crc:0xEE60 +Testing bcc_w...done. pre_crc:0x9873, mem_crc:0x0000, reg_crc:0xB144 +Testing bcs_w...done. pre_crc:0x0B72, mem_crc:0x0000, reg_crc:0xA0CF +Testing bne_w...done. pre_crc:0x7717, mem_crc:0x0000, reg_crc:0xCF35 +Testing beq_w...done. pre_crc:0xE339, mem_crc:0x0000, reg_crc:0x1DD1 +Testing bvc_w...done. pre_crc:0x88C7, mem_crc:0x0000, reg_crc:0xF653 +Testing bvs_w...done. pre_crc:0x4DB3, mem_crc:0x0000, reg_crc:0xDA37 +Testing bpl_w...done. pre_crc:0x9D12, mem_crc:0x0000, reg_crc:0x77E4 +Testing bmi_w...done. pre_crc:0xDF78, mem_crc:0x0000, reg_crc:0xABFB +Testing bge_w...done. pre_crc:0x0F7D, mem_crc:0x0000, reg_crc:0x2D4D +Testing blt_w...done. pre_crc:0xCF04, mem_crc:0x0000, reg_crc:0xABF2 +Testing bgt_w...done. pre_crc:0x6345, mem_crc:0x0000, reg_crc:0x07D6 +Testing ble_w...done. pre_crc:0xD85E, mem_crc:0x0000, reg_crc:0x2D96 +Testing bra_l...done. pre_crc:0xFF14, mem_crc:0x0000, reg_crc:0xCB75 +Testing bhi_l...done. pre_crc:0x6C7B, mem_crc:0x0000, reg_crc:0x0678 +Testing bls_l...done. pre_crc:0x86F4, mem_crc:0x0000, reg_crc:0x0AFC +Testing bcc_l...done. pre_crc:0x1C70, mem_crc:0x0000, reg_crc:0xE81E +Testing bcs_l...done. pre_crc:0xCD68, mem_crc:0x0000, reg_crc:0x964B +Testing bne_l...done. pre_crc:0xEC8E, mem_crc:0x0000, reg_crc:0xD414 +Testing beq_l...done. pre_crc:0x34C7, mem_crc:0x0000, reg_crc:0xCD08 +Testing bvc_l...done. pre_crc:0x1152, mem_crc:0x0000, reg_crc:0xFD7A +Testing bvs_l...done. pre_crc:0x174C, mem_crc:0x0000, reg_crc:0xAA88 +Testing bpl_l...done. pre_crc:0xF6B1, mem_crc:0x0000, reg_crc:0x2B12 +Testing bmi_l...done. pre_crc:0x4653, mem_crc:0x0000, reg_crc:0x50F3 +Testing bge_l...done. pre_crc:0x1804, mem_crc:0x0000, reg_crc:0x539C +Testing blt_l...done. pre_crc:0xA540, mem_crc:0x0000, reg_crc:0xD80C +Testing bgt_l...done. pre_crc:0x442F, mem_crc:0x0000, reg_crc:0x902E +Testing ble_l...done. pre_crc:0xBCDA, mem_crc:0x0000, reg_crc:0xF995 +Testing bchg_reg_reg...done. pre_crc:0x079F, mem_crc:0x0000, reg_crc:0x424D +Testing bchg_const_reg...done. pre_crc:0x30E8, mem_crc:0x0000, reg_crc:0xD392 +Testing bchg_reg_ind...done. pre_crc:0xE961, mem_crc:0x21DD, reg_crc:0xDA0D +Testing bchg_const_ind...done. pre_crc:0x2F8E, mem_crc:0xF6AC, reg_crc:0x9935 +Testing bchg_reg_d16...done. pre_crc:0xC74A, mem_crc:0xFE49, reg_crc:0x75C1 +Testing bchg_const_d16...done. pre_crc:0xFE4F, mem_crc:0xBD8B, reg_crc:0x7075 +Testing bchg_reg_absl...done. pre_crc:0x2C28, mem_crc:0x2FFE, reg_crc:0x4C43 +Testing bchg_const_absl...done. pre_crc:0x125E, mem_crc:0x6292, reg_crc:0x258F +Testing bclr_reg_reg...done. pre_crc:0x08D2, mem_crc:0x0000, reg_crc:0x78FA +Testing bclr_const_reg...done. pre_crc:0x5163, mem_crc:0x0000, reg_crc:0x7850 +Testing bclr_reg_ind...done. pre_crc:0xF2C1, mem_crc:0x6A05, reg_crc:0x6DC8 +Testing bclr_const_ind...done. pre_crc:0x1D2F, mem_crc:0x646B, reg_crc:0xABB9 +Testing bclr_reg_d16...done. pre_crc:0xAD30, mem_crc:0x390C, reg_crc:0xCEC4 +Testing bclr_const_d16...done. pre_crc:0x52EE, mem_crc:0xB6EA, reg_crc:0x185C +Testing bclr_reg_absl...done. pre_crc:0xAB6F, mem_crc:0xBB50, reg_crc:0x173A +Testing bclr_const_absl...done. pre_crc:0x0752, mem_crc:0x9710, reg_crc:0xBF70 +Testing bset_reg_reg...done. pre_crc:0x9018, mem_crc:0x0000, reg_crc:0x162F +Testing bset_const_reg...done. pre_crc:0x265C, mem_crc:0x0000, reg_crc:0x4976 +Testing bset_reg_ind...done. pre_crc:0x5599, mem_crc:0xE463, reg_crc:0x6A66 +Testing bset_const_ind...done. pre_crc:0x2C3F, mem_crc:0x282D, reg_crc:0xC6E1 +Testing bset_reg_d16...done. pre_crc:0x3481, mem_crc:0xF292, reg_crc:0x38CB +Testing bset_const_d16...done. pre_crc:0xC7A0, mem_crc:0x8830, reg_crc:0x5C8B +Testing bset_reg_absl...done. pre_crc:0xCD7A, mem_crc:0x328A, reg_crc:0xA0A9 +Testing bset_const_absl...done. pre_crc:0x9FB4, mem_crc:0x29DA, reg_crc:0x93D7 +Testing btst_reg_reg...done. pre_crc:0x6DDC, mem_crc:0x0000, reg_crc:0x1F7F +Testing btst_const_reg...done. pre_crc:0x87FC, mem_crc:0x0000, reg_crc:0x9BF8 +Testing btst_reg_ind...done. pre_crc:0x43B9, mem_crc:0x0000, reg_crc:0xB0DC +Testing btst_const_ind...done. pre_crc:0xC6A1, mem_crc:0x0000, reg_crc:0x100D +Testing btst_reg_d16...done. pre_crc:0x0468, mem_crc:0x0000, reg_crc:0xD472 +Testing btst_const_d16...done. pre_crc:0xD60C, mem_crc:0x0000, reg_crc:0xEEE1 +Testing btst_reg_absl...done. pre_crc:0x267C, mem_crc:0x0000, reg_crc:0x61E9 +Testing btst_const_absl...done. pre_crc:0x8263, mem_crc:0x0000, reg_crc:0x9F8B +Testing bfchg_reg...done. pre_crc:0x8A46, mem_crc:0x0000, reg_crc:0x5990 +Testing bfchg_ind...done. pre_crc:0x954C, mem_crc:0xBB4D, reg_crc:0x570B +Testing bfchg_d16...done. pre_crc:0x9CD2, mem_crc:0x1A10, reg_crc:0xF28A +Testing bfchg_absl...done. pre_crc:0x5B2B, mem_crc:0x8BE2, reg_crc:0x08A2 +Testing bfclr_reg...done. pre_crc:0x3998, mem_crc:0x0000, reg_crc:0x82E8 +Testing bfclr_ind...done. pre_crc:0x7CAA, mem_crc:0x4080, reg_crc:0xD8ED +Testing bfclr_d16...done. pre_crc:0x17AA, mem_crc:0xBA8F, reg_crc:0x98A8 +Testing bfclr_absl...done. pre_crc:0x436E, mem_crc:0x3EC7, reg_crc:0x205B +Testing bfset_reg...done. pre_crc:0x0FD5, mem_crc:0x0000, reg_crc:0xD2ED +Testing bfset_ind...done. pre_crc:0x801C, mem_crc:0x74FA, reg_crc:0xF9DE +Testing bfset_d16...done. pre_crc:0x6DB0, mem_crc:0xEF9B, reg_crc:0xC559 +Testing bfset_absl...done. pre_crc:0xE19E, mem_crc:0x556A, reg_crc:0xC9F9 +Testing bftst_reg...done. pre_crc:0x11D7, mem_crc:0x0000, reg_crc:0xD871 +Testing bftst_ind...done. pre_crc:0xEE93, mem_crc:0x0000, reg_crc:0x3005 +Testing bftst_d16...done. pre_crc:0x0D29, mem_crc:0x0000, reg_crc:0xDD39 +Testing bftst_absl...done. pre_crc:0x4813, mem_crc:0x0000, reg_crc:0x8CC2 +Testing bfexts_reg...done. pre_crc:0x9903, mem_crc:0x0000, reg_crc:0x038B +Testing bfexts_ind...done. pre_crc:0x469E, mem_crc:0x0000, reg_crc:0xE20F +Testing bfexts_d16...done. pre_crc:0x72B1, mem_crc:0x0000, reg_crc:0x0D61 +Testing bfexts_absl...done. pre_crc:0x158D, mem_crc:0x0000, reg_crc:0x3E9B +Testing bfextu_reg...done. pre_crc:0x0D1C, mem_crc:0x0000, reg_crc:0x03C0 +Testing bfextu_ind...done. pre_crc:0xF775, mem_crc:0x0000, reg_crc:0xE193 +Testing bfextu_d16...done. pre_crc:0x7591, mem_crc:0x0000, reg_crc:0x3AC5 +Testing bfextu_absl...done. pre_crc:0x51F0, mem_crc:0x0000, reg_crc:0xB156 +Testing bfffo_reg...done. pre_crc:0x2C35, mem_crc:0x0000, reg_crc:0x004B +Testing bfffo_ind...done. pre_crc:0x608E, mem_crc:0x0000, reg_crc:0x090A +Testing bfffo_d16...done. pre_crc:0x1FD0, mem_crc:0x0000, reg_crc:0xD77B +Testing bfffo_absl...done. pre_crc:0xC105, mem_crc:0x0000, reg_crc:0xF4A4 +Testing bfins_reg...done. pre_crc:0x6AAC, mem_crc:0x0000, reg_crc:0x0832 +Testing bfins_ind...done. pre_crc:0xC791, mem_crc:0x9423, reg_crc:0x1AE5 +Testing bfins_d16...done. pre_crc:0xFF05, mem_crc:0xA802, reg_crc:0xF36C +Testing bfins_absl...done. pre_crc:0x23EE, mem_crc:0x81F5, reg_crc:0xC1E9 +Testing bsr_b...done. pre_crc:0x6953, mem_crc:0x2ABF, reg_crc:0x25A1 +Testing bsr_w...done. pre_crc:0x6C2B, mem_crc:0x5798, reg_crc:0x807C +Testing bsr_l...done. pre_crc:0x8133, mem_crc:0x8717, reg_crc:0x8B41 +Testing cas_ind...done. pre_crc:0xD5D7, mem_crc:0x99EE, reg_crc:0x471E +Testing cas2_areg...done. pre_crc:0xF6F1, mem_crc:0xF68B, reg_crc:0x6757 +Testing cas2_anyreg...done. pre_crc:0x6042, mem_crc:0xAFEB, reg_crc:0x73F1 +Testing clr_reg...done. pre_crc:0x4068, mem_crc:0x0000, reg_crc:0x6B40 +Testing clrb_ind...done. pre_crc:0xC11C, mem_crc:0x7FA1, reg_crc:0x875C +Testing clrwl_ind...done. pre_crc:0x0C52, mem_crc:0xADB6, reg_crc:0xECF8 +Testing clrb_absl...done. pre_crc:0x1671, mem_crc:0x0B49, reg_crc:0x3036 +Testing clrwl_absl...done. pre_crc:0x78E5, mem_crc:0xB13A, reg_crc:0x9152 +Testing cmp_dreg...done. pre_crc:0xC5F9, mem_crc:0x0000, reg_crc:0x281D +Testing cmp_areg...done. pre_crc:0x3101, mem_crc:0x0000, reg_crc:0x6A4E +Testing cmpb_ind...done. pre_crc:0x09D7, mem_crc:0x0000, reg_crc:0x5550 +Testing cmpwl_ind...done. pre_crc:0x9A54, mem_crc:0x0000, reg_crc:0x85C8 +Testing cmpb_d16...done. pre_crc:0x86E9, mem_crc:0x0000, reg_crc:0xCAB1 +Testing cmpwl_d16...done. pre_crc:0x2035, mem_crc:0x0000, reg_crc:0x843A +Testing cmpa_reg...done. pre_crc:0x4044, mem_crc:0x0000, reg_crc:0x6377 +Testing cmpa_ind...done. pre_crc:0x067E, mem_crc:0x0000, reg_crc:0x405E +Testing cmpa_ind2...done. pre_crc:0xD83E, mem_crc:0x0000, reg_crc:0xD36B +Testing cmpa_d16...done. pre_crc:0x80C3, mem_crc:0x0000, reg_crc:0xC49E +Testing cmpa_d16_2...done. pre_crc:0x2D6B, mem_crc:0x0000, reg_crc:0xB847 +Testing cmpa_absl...done. pre_crc:0xCE41, mem_crc:0x0000, reg_crc:0xC918 +Testing cmpibw_reg...done. pre_crc:0xF433, mem_crc:0x0000, reg_crc:0xD48E +Testing cmpil_reg...done. pre_crc:0xDF59, mem_crc:0x0000, reg_crc:0x6E45 +Testing cmpib_ind...done. pre_crc:0x22A3, mem_crc:0x0000, reg_crc:0x9ED3 +Testing cmpiw_ind...done. pre_crc:0xA49F, mem_crc:0x0000, reg_crc:0x520B +Testing cmpil_ind...done. pre_crc:0x1D6F, mem_crc:0x0000, reg_crc:0x408A +Testing cmpmb...done. pre_crc:0xB7AD, mem_crc:0x0000, reg_crc:0xA7F1 +Testing cmpmwl...done. pre_crc:0xF55E, mem_crc:0x0000, reg_crc:0xA01E +Testing cmp2b_ind...done. pre_crc:0xE14E, mem_crc:0x0000, reg_crc:0x3168 +Testing cmp2wl_ind...done. pre_crc:0x47C7, mem_crc:0x0000, reg_crc:0x8DAF +Testing dbcc...done. pre_crc:0xAD8C, mem_crc:0x0000, reg_crc:0x5BA7 +Testing divs_reg...done. pre_crc:0x770F, mem_crc:0x0000, reg_crc:0x3BCE +Testing divs_same_reg...done. pre_crc:0xF63B, mem_crc:0x0000, reg_crc:0x7DFC +Testing divs_ind...done. pre_crc:0xEE5C, mem_crc:0x0000, reg_crc:0x6577 +Testing divs_absl...done. pre_crc:0x986E, mem_crc:0x0000, reg_crc:0x0873 +Testing divu_reg...done. pre_crc:0xD5B4, mem_crc:0x0000, reg_crc:0x40A8 +Testing divu_same_reg...done. pre_crc:0x39CE, mem_crc:0x0000, reg_crc:0x2106 +Testing divu_ind...done. pre_crc:0x1685, mem_crc:0x0000, reg_crc:0x1736 +Testing divu_absl...done. pre_crc:0x87C9, mem_crc:0x0000, reg_crc:0xD63B +Testing divul_ll_reg...done. pre_crc:0x311F, mem_crc:0x0000, reg_crc:0x613B +Testing divul_ll_ind...done. pre_crc:0xA286, mem_crc:0x0000, reg_crc:0xEFD9 +Testing divul_ll_absl...done. pre_crc:0xB02D, mem_crc:0x0000, reg_crc:0xB325 +Testing eor_reg...done. pre_crc:0x77CD, mem_crc:0x0000, reg_crc:0xFB61 +Testing eor_ind...done. pre_crc:0x4975, mem_crc:0xCB67, reg_crc:0x059F +Testing eor_d16...done. pre_crc:0xB12D, mem_crc:0x3D85, reg_crc:0xC486 +Testing eor_absl...done. pre_crc:0x63D1, mem_crc:0xB52C, reg_crc:0xD37F +Testing eoribw_dreg...done. pre_crc:0xC652, mem_crc:0x0000, reg_crc:0x6EF2 +Testing eoril_dreg...done. pre_crc:0xCA96, mem_crc:0x0000, reg_crc:0x601D +Testing eoribw_ind...done. pre_crc:0xEF84, mem_crc:0xE558, reg_crc:0xE20C +Testing eoril_ind...done. pre_crc:0xF171, mem_crc:0xAC47, reg_crc:0x73A1 +Testing eoribw_d16...done. pre_crc:0x9794, mem_crc:0x782D, reg_crc:0x1CF8 +Testing eoril_d16...done. pre_crc:0x933F, mem_crc:0x607B, reg_crc:0x8855 +Testing eoribw_absl...done. pre_crc:0x0B84, mem_crc:0x1866, reg_crc:0x049D +Testing eoril_absl...done. pre_crc:0x8B97, mem_crc:0xB85F, reg_crc:0xE1D7 +Testing eori_to_ccr...done. pre_crc:0x30BF, mem_crc:0x0000, reg_crc:0xA162 +Testing exg...done. pre_crc:0xB2DB, mem_crc:0x0000, reg_crc:0x1A5D +Testing ext...done. pre_crc:0x7326, mem_crc:0x0000, reg_crc:0x3238 +Testing jmp_absl...done. pre_crc:0x7440, mem_crc:0x0000, reg_crc:0xFE68 +Testing jmp_ind...done. pre_crc:0x617C, mem_crc:0x0000, reg_crc:0x3995 +Testing jmp_d16...done. pre_crc:0xB3BE, mem_crc:0x0000, reg_crc:0x3CA6 +Testing jsr_absl...done. pre_crc:0xEF7F, mem_crc:0x149A, reg_crc:0x3191 +Testing jsr_ind...done. pre_crc:0x4945, mem_crc:0xEF61, reg_crc:0x1A08 +Testing jsr_d16...done. pre_crc:0x0903, mem_crc:0x8FA4, reg_crc:0xC479 +Testing lea_ind...done. pre_crc:0xB20B, mem_crc:0x0000, reg_crc:0xFA74 +Testing lea_d16...done. pre_crc:0x02D4, mem_crc:0x0000, reg_crc:0xA462 +Testing lea_absw...done. pre_crc:0x3CD1, mem_crc:0x0000, reg_crc:0xBF9D +Testing lea_absl...done. pre_crc:0x96D2, mem_crc:0x0000, reg_crc:0x9B16 +Testing linkw...done. pre_crc:0x1FB1, mem_crc:0x60C9, reg_crc:0x00E4 +Testing linkl...done. pre_crc:0xC8F5, mem_crc:0x4F54, reg_crc:0x792F +Testing move16_postinc_postinc...done. pre_crc:0x7377, mem_crc:0x2E81, reg_crc:0xB433 +Testing move16_absl_ind...done. pre_crc:0xAC38, mem_crc:0x4CDA, reg_crc:0xF8DF +Testing move16_absl_postinc...done. pre_crc:0x0E78, mem_crc:0x7AA4, reg_crc:0xD4DB +Testing move16_ind_absl...done. pre_crc:0x0B22, mem_crc:0x1D17, reg_crc:0xB3F7 +Testing move16_postinc_absl...done. pre_crc:0x9625, mem_crc:0xA1B6, reg_crc:0xBE22 +Testing moveb_dreg_dreg...done. pre_crc:0x51C0, mem_crc:0x0000, reg_crc:0x85BA +Testing movewl_reg_dreg...done. pre_crc:0xE4DF, mem_crc:0x0000, reg_crc:0x73E3 +Testing moveb_ind_dreg...done. pre_crc:0xCDD0, mem_crc:0x0000, reg_crc:0xE6C4 +Testing movewl_ind_dreg...done. pre_crc:0xACB3, mem_crc:0x0000, reg_crc:0x7BBB +Testing moveb_d16_dreg...done. pre_crc:0x1B10, mem_crc:0x0000, reg_crc:0x3677 +Testing movewl_d16_dreg...done. pre_crc:0xFF9D, mem_crc:0x0000, reg_crc:0x848D +Testing moveb_absl_dreg...done. pre_crc:0x0B31, mem_crc:0x0000, reg_crc:0x645B +Testing movewl_absl_dreg...done. pre_crc:0x08B5, mem_crc:0x0000, reg_crc:0xFA93 +Testing movebw_const_dreg...done. pre_crc:0x348B, mem_crc:0x0000, reg_crc:0x7FD5 +Testing movel_const_dreg...done. pre_crc:0x7CC3, mem_crc:0x0000, reg_crc:0xD629 +Testing moveb_dreg_ind...done. pre_crc:0xF5C9, mem_crc:0x9D2C, reg_crc:0x0972 +Testing movewl_reg_ind...done. pre_crc:0xBAB0, mem_crc:0x2623, reg_crc:0xEBCC +Testing moveb_dreg_d16...done. pre_crc:0x5F5E, mem_crc:0x1BB1, reg_crc:0x42C9 +Testing movewl_reg_d16...done. pre_crc:0x1344, mem_crc:0xAD02, reg_crc:0x25AD +Testing moveb_dreg_absl...done. pre_crc:0x8BF7, mem_crc:0xB0F1, reg_crc:0xBAE5 +Testing movewl_reg_absl...done. pre_crc:0x9AE3, mem_crc:0x180A, reg_crc:0xBB24 +Testing moveb_ind_ind...done. pre_crc:0x11F1, mem_crc:0x73A7, reg_crc:0xA10B +Testing moveb_ind_d16...done. pre_crc:0x04AE, mem_crc:0x912A, reg_crc:0x4BAF +Testing moveb_d16_ind...done. pre_crc:0x6665, mem_crc:0xE4E8, reg_crc:0xB77B +Testing movewl_ind_d16...done. pre_crc:0xF30A, mem_crc:0x0CA9, reg_crc:0x55F9 +Testing movewl_d16_ind...done. pre_crc:0x5455, mem_crc:0xA95F, reg_crc:0x08FB +Testing moveb_d16_d16...done. pre_crc:0x9611, mem_crc:0xC4DF, reg_crc:0x3FAF +Testing movewl_d16_d16...done. pre_crc:0xEBF5, mem_crc:0x2F54, reg_crc:0xE1CF +Testing moveb_ind_absl...done. pre_crc:0x777C, mem_crc:0x8E7E, reg_crc:0x8774 +Testing movewl_ind_absl...done. pre_crc:0xAD85, mem_crc:0x14CC, reg_crc:0x1DFF +Testing moveb_absl_ind...done. pre_crc:0x27C1, mem_crc:0xBF80, reg_crc:0xE2A9 +Testing movewl_absl_ind...done. pre_crc:0x72CF, mem_crc:0xB5C2, reg_crc:0xAEB0 +Testing moveb_absl_absl...done. pre_crc:0x769A, mem_crc:0xF2FB, reg_crc:0x6530 +Testing movewl_absl_absl...done. pre_crc:0xDC5E, mem_crc:0x4501, reg_crc:0x1C61 +Testing moveb_d16_absl...done. pre_crc:0xAC5A, mem_crc:0x6E0D, reg_crc:0x9990 +Testing movewl_d16_absl...done. pre_crc:0x2A4C, mem_crc:0xA8DA, reg_crc:0x5F8D +Testing moveb_absl_d16...done. pre_crc:0x3B4C, mem_crc:0x392B, reg_crc:0x4931 +Testing movewl_absl_d16...done. pre_crc:0x5E40, mem_crc:0x912C, reg_crc:0x45FE +Testing moveb_const_ind...done. pre_crc:0x3CB4, mem_crc:0xCF50, reg_crc:0x86A1 +Testing moveb_const_d16...done. pre_crc:0x5C50, mem_crc:0xEF1C, reg_crc:0xA86B +Testing moveb_const_absl...done. pre_crc:0xB5BE, mem_crc:0xC596, reg_crc:0xD902 +Testing movew_const_ind...done. pre_crc:0xCF72, mem_crc:0x88E1, reg_crc:0x7CFE +Testing movew_const_d16...done. pre_crc:0x8388, mem_crc:0xC0AC, reg_crc:0x9093 +Testing movew_const_absl...done. pre_crc:0xD2F8, mem_crc:0x20FB, reg_crc:0x9E4C +Testing movel_const_ind...done. pre_crc:0xB95B, mem_crc:0xF12C, reg_crc:0x6461 +Testing movel_const_d16...done. pre_crc:0xB462, mem_crc:0xCBCE, reg_crc:0xC3B4 +Testing movel_const_absl...done. pre_crc:0xA419, mem_crc:0xDDB2, reg_crc:0x82FF +Testing movea_reg...done. pre_crc:0xE773, mem_crc:0x0000, reg_crc:0x1510 +Testing movea_ind...done. pre_crc:0x7412, mem_crc:0x0000, reg_crc:0xF5CA +Testing movea_d16...done. pre_crc:0xE6BD, mem_crc:0x0000, reg_crc:0x94A1 +Testing movea_absl...done. pre_crc:0xD6B3, mem_crc:0x0000, reg_crc:0x7FC4 +Testing moveaw_const...done. pre_crc:0x1103, mem_crc:0x0000, reg_crc:0x71E2 +Testing moveal_const...done. pre_crc:0xF54F, mem_crc:0x0000, reg_crc:0x9EA7 +Testing move_from_ccr_dreg...done. pre_crc:0x22A0, mem_crc:0x0000, reg_crc:0x5FA3 +Testing move_from_ccr_ind...done. pre_crc:0xC182, mem_crc:0x0000, reg_crc:0x3886 +Testing move_from_ccr_d16...done. pre_crc:0xC24C, mem_crc:0x0000, reg_crc:0x54D9 +Testing move_to_ccr_reg...done. pre_crc:0x8EB6, mem_crc:0x0000, reg_crc:0xE67A +Testing move_to_ccr_ind...done. pre_crc:0x53A0, mem_crc:0x0000, reg_crc:0x1250 +Testing movem_to_ind...done. pre_crc:0x4017, mem_crc:0x28D1, reg_crc:0xD9B0 +Testing movem_to_predec...done. pre_crc:0x1219, mem_crc:0x4E9A, reg_crc:0x79AE +Testing movem_to_d16...done. pre_crc:0x4288, mem_crc:0x6786, reg_crc:0xB343 +Testing movem_to_absl...done. pre_crc:0xD7D0, mem_crc:0xFDF2, reg_crc:0xC267 +Testing movem_from_d16...done. pre_crc:0x9A59, mem_crc:0x0000, reg_crc:0xE519 +Testing movem_from_ind...done. pre_crc:0xC708, mem_crc:0x0000, reg_crc:0x43F7 +Testing movem_from_absl...done. pre_crc:0x153C, mem_crc:0x0000, reg_crc:0x3440 +Testing movep_to_mem...done. pre_crc:0x31AF, mem_crc:0xF1EC, reg_crc:0x184D +Testing movep_from_mem...done. pre_crc:0x54CA, mem_crc:0x0000, reg_crc:0x34F7 +Testing moveq...done. pre_crc:0x20AF, mem_crc:0x0000, reg_crc:0x1962 +Testing mulsw_dreg...done. pre_crc:0x1EEE, mem_crc:0x0000, reg_crc:0x7A8A +Testing mulsw_ind...done. pre_crc:0x7FBB, mem_crc:0x0000, reg_crc:0x56DD +Testing mulsw_d16...done. pre_crc:0xB850, mem_crc:0x0000, reg_crc:0xCE8C +Testing mulsw_absl...done. pre_crc:0xD9AD, mem_crc:0x0000, reg_crc:0x530A +Testing muluw_dreg...done. pre_crc:0x0408, mem_crc:0x0000, reg_crc:0x464F +Testing muluw_ind...done. pre_crc:0xE4E6, mem_crc:0x0000, reg_crc:0x8B2E +Testing muluw_d16...done. pre_crc:0xF520, mem_crc:0x0000, reg_crc:0x5FF0 +Testing muluw_absl...done. pre_crc:0xDB57, mem_crc:0x0000, reg_crc:0x3A48 +Testing mulsl_dreg...done. pre_crc:0x1014, mem_crc:0x0000, reg_crc:0x9F1B +Testing mulsl_ind...done. pre_crc:0x282C, mem_crc:0x0000, reg_crc:0x1177 +Testing mulsl_d16...done. pre_crc:0x5D41, mem_crc:0x0000, reg_crc:0xFC9F +Testing mulsl_absl...done. pre_crc:0xDA84, mem_crc:0x0000, reg_crc:0x9D6E +Testing mulul_dreg...done. pre_crc:0x89E1, mem_crc:0x0000, reg_crc:0xEBD7 +Testing mulul_ind...done. pre_crc:0xA29B, mem_crc:0x0000, reg_crc:0x15F2 +Testing mulul_d16...done. pre_crc:0x5A4C, mem_crc:0x0000, reg_crc:0xAC05 +Testing mulul_absl...done. pre_crc:0x6690, mem_crc:0x0000, reg_crc:0xECE3 +Testing nbcd_reg...done. pre_crc:0x3F25, mem_crc:0x0000, reg_crc:0x0F88 +Testing nbcd_ind...done. pre_crc:0x9AFB, mem_crc:0x82BD, reg_crc:0x1B56 +Testing nbcd_d16...done. pre_crc:0x5596, mem_crc:0xD93B, reg_crc:0x45B5 +Testing nbcd_absl...done. pre_crc:0x0943, mem_crc:0x3333, reg_crc:0xA955 +Testing neg_reg...done. pre_crc:0x5E41, mem_crc:0x0000, reg_crc:0x568B +Testing negb_ind...done. pre_crc:0xA3F8, mem_crc:0x93DD, reg_crc:0xF53F +Testing negwl_ind...done. pre_crc:0xB1A9, mem_crc:0x45B5, reg_crc:0x4766 +Testing negb_d16...done. pre_crc:0xDDA2, mem_crc:0x2728, reg_crc:0x9725 +Testing negwl_d16...done. pre_crc:0xBF89, mem_crc:0x74D8, reg_crc:0x010D +Testing neg_absl...done. pre_crc:0x16D0, mem_crc:0x934E, reg_crc:0x2545 +Testing negx_reg...done. pre_crc:0xC6B8, mem_crc:0x0000, reg_crc:0xF1DC +Testing negxb_ind...done. pre_crc:0xE647, mem_crc:0x4D84, reg_crc:0x1E78 +Testing negxwl_ind...done. pre_crc:0x5665, mem_crc:0xEBF3, reg_crc:0x911F +Testing negxb_d16...done. pre_crc:0xB859, mem_crc:0xADD3, reg_crc:0xC4C2 +Testing negxwl_d16...done. pre_crc:0x8271, mem_crc:0xC0B8, reg_crc:0xDA2C +Testing negx_absl...done. pre_crc:0x946F, mem_crc:0x53FF, reg_crc:0xEFB5 +Testing nop...done. pre_crc:0xF16E, mem_crc:0x0000, reg_crc:0x333C +Testing not_reg...done. pre_crc:0xA924, mem_crc:0x0000, reg_crc:0xC684 +Testing notb_ind...done. pre_crc:0x2227, mem_crc:0x212E, reg_crc:0x578F +Testing notwl_ind...done. pre_crc:0x7D2A, mem_crc:0x2B55, reg_crc:0xF30F +Testing notb_d16...done. pre_crc:0x8306, mem_crc:0x9E75, reg_crc:0x7B95 +Testing notwl_d16...done. pre_crc:0x4ABE, mem_crc:0xF11F, reg_crc:0x4288 +Testing not_absl...done. pre_crc:0xC2DF, mem_crc:0xB8ED, reg_crc:0x066F +Testing or_dreg_dreg...done. pre_crc:0xCF15, mem_crc:0x0000, reg_crc:0xBE22 +Testing or_ind_dreg...done. pre_crc:0x3ECE, mem_crc:0x0000, reg_crc:0xAE6B +Testing or_d16_dreg...done. pre_crc:0xD891, mem_crc:0x0000, reg_crc:0xB4BD +Testing or_absl_dreg...done. pre_crc:0x8AF3, mem_crc:0x0000, reg_crc:0xB299 +Testing orbw_const_dreg...done. pre_crc:0x8724, mem_crc:0x0000, reg_crc:0x5237 +Testing orl_const_dreg...done. pre_crc:0x2C11, mem_crc:0x0000, reg_crc:0x6292 +Testing or_dreg_ind...done. pre_crc:0x69E4, mem_crc:0x7C62, reg_crc:0x4A02 +Testing or_dreg_d16...done. pre_crc:0xFF69, mem_crc:0x3969, reg_crc:0xA438 +Testing or_dreg_absl...done. pre_crc:0x0375, mem_crc:0xF2B0, reg_crc:0xB3D5 +Testing oribw_dreg...done. pre_crc:0xC232, mem_crc:0x0000, reg_crc:0xB6AD +Testing oril_dreg...done. pre_crc:0xCC77, mem_crc:0x0000, reg_crc:0xF3D2 +Testing oribw_ind...done. pre_crc:0xB593, mem_crc:0xDA9B, reg_crc:0x4C45 +Testing oril_ind...done. pre_crc:0x8460, mem_crc:0x3966, reg_crc:0x8032 +Testing oribw_d16...done. pre_crc:0x1C25, mem_crc:0xBB18, reg_crc:0xAE64 +Testing oril_d16...done. pre_crc:0xB0C5, mem_crc:0x9EA7, reg_crc:0xD623 +Testing oribw_absl...done. pre_crc:0x8FF4, mem_crc:0x1585, reg_crc:0x9BBF +Testing oril_absl...done. pre_crc:0xD927, mem_crc:0xB23A, reg_crc:0x9666 +Testing ori_to_ccr...done. pre_crc:0xD18F, mem_crc:0x0000, reg_crc:0x8664 +Testing pack_reg...done. pre_crc:0xF416, mem_crc:0x0000, reg_crc:0xAF66 +Testing pack_mem...done. pre_crc:0x3310, mem_crc:0xB661, reg_crc:0x2230 +Testing pea_ind...done. pre_crc:0x44F8, mem_crc:0x61A4, reg_crc:0xA180 +Testing pea_d16...done. pre_crc:0xF8AC, mem_crc:0xC4FE, reg_crc:0x4712 +Testing pea_absw...done. pre_crc:0xF361, mem_crc:0x83A1, reg_crc:0xBFB3 +Testing pea_absl...done. pre_crc:0xD7AB, mem_crc:0x1253, reg_crc:0x7765 +Testing rol_dx_dy...done. pre_crc:0x6179, mem_crc:0x0000, reg_crc:0xFBD0 +Testing rol_const_dy...done. pre_crc:0x0A37, mem_crc:0x0000, reg_crc:0x2338 +Testing rol_ind...done. pre_crc:0x2106, mem_crc:0xA132, reg_crc:0x8091 +Testing rol_d16...done. pre_crc:0xE064, mem_crc:0x1E0A, reg_crc:0x4266 +Testing rol_absl...done. pre_crc:0x06A9, mem_crc:0xDABA, reg_crc:0x770C +Testing ror_dx_dy...done. pre_crc:0x6030, mem_crc:0x0000, reg_crc:0x194A +Testing ror_const_dy...done. pre_crc:0x404E, mem_crc:0x0000, reg_crc:0x9041 +Testing ror_ind...done. pre_crc:0x7282, mem_crc:0xCD2A, reg_crc:0x8AF4 +Testing ror_d16...done. pre_crc:0x3867, mem_crc:0x169E, reg_crc:0x4493 +Testing ror_absl...done. pre_crc:0x9B0A, mem_crc:0x1CEF, reg_crc:0x1439 +Testing roxl_dx_dy...done. pre_crc:0xA011, mem_crc:0x0000, reg_crc:0x5880 +Testing roxl_const_dy...done. pre_crc:0xE66F, mem_crc:0x0000, reg_crc:0xA715 +Testing roxl_ind...done. pre_crc:0x561B, mem_crc:0x08DA, reg_crc:0x5885 +Testing roxl_d16...done. pre_crc:0xE870, mem_crc:0x2FEC, reg_crc:0x4D2B +Testing roxl_absl...done. pre_crc:0xB9BA, mem_crc:0xEC2F, reg_crc:0x3804 +Testing roxr_dx_dy...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0xB4C0 +Testing roxr_const_dy...done. pre_crc:0x3130, mem_crc:0x0000, reg_crc:0x8694 +Testing roxr_ind...done. pre_crc:0x854C, mem_crc:0x6492, reg_crc:0x5CF5 +Testing roxr_d16...done. pre_crc:0x4E08, mem_crc:0x388F, reg_crc:0xBA13 +Testing roxr_absl...done. pre_crc:0x9492, mem_crc:0x6E52, reg_crc:0xF58D +Testing rtd...done. pre_crc:0x5AE5, mem_crc:0x0000, reg_crc:0x85B0 +Testing rtr...done. pre_crc:0xB26B, mem_crc:0x0000, reg_crc:0xCBB3 +Testing rts...done. pre_crc:0x3CFF, mem_crc:0x0000, reg_crc:0x1496 +Testing sbcd_reg...done. pre_crc:0x8669, mem_crc:0x0000, reg_crc:0x25F2 +Testing sbcd_mem...done. pre_crc:0xA0C6, mem_crc:0x0B1C, reg_crc:0xA6F6 +Testing Scc_reg...done. pre_crc:0xF0D0, mem_crc:0x0000, reg_crc:0x03F5 +Testing Scc_ind...done. pre_crc:0x2161, mem_crc:0x0B4F, reg_crc:0x92EA +Testing Scc_d16...done. pre_crc:0xC330, mem_crc:0x0880, reg_crc:0xCA65 +Testing Scc_absl...done. pre_crc:0x1EC1, mem_crc:0xF1E6, reg_crc:0x0536 +Testing subb_dreg_dreg...done. pre_crc:0xAF79, mem_crc:0x0000, reg_crc:0x6AB8 +Testing subw_reg_dreg...done. pre_crc:0x4F07, mem_crc:0x0000, reg_crc:0x0AF3 +Testing subl_reg_dreg...done. pre_crc:0x1AC8, mem_crc:0x0000, reg_crc:0x72C5 +Testing sub_ind_dreg...done. pre_crc:0x154D, mem_crc:0x0000, reg_crc:0x766D +Testing sub_d16_dreg...done. pre_crc:0xBD8A, mem_crc:0x0000, reg_crc:0x2373 +Testing sub_absl_dreg...done. pre_crc:0xD9ED, mem_crc:0x0000, reg_crc:0x63BE +Testing subb_const_dreg...done. pre_crc:0x9B21, mem_crc:0x0000, reg_crc:0x2100 +Testing subw_const_dreg...done. pre_crc:0xD248, mem_crc:0x0000, reg_crc:0x9E4F +Testing subl_const_dreg...done. pre_crc:0x0DCF, mem_crc:0x0000, reg_crc:0x071C +Testing sub_dreg_ind...done. pre_crc:0xAA2D, mem_crc:0xB986, reg_crc:0xFC7B +Testing sub_dreg_d16...done. pre_crc:0x8A45, mem_crc:0x09C9, reg_crc:0x092D +Testing sub_dreg_absl...done. pre_crc:0xD81B, mem_crc:0x60F9, reg_crc:0xD67C +Testing subaw_reg_areg...done. pre_crc:0x7519, mem_crc:0x0000, reg_crc:0x6E23 +Testing subal_reg_areg...done. pre_crc:0xD624, mem_crc:0x0000, reg_crc:0x8136 +Testing suba_ind_areg...done. pre_crc:0x18DC, mem_crc:0x0000, reg_crc:0x857C +Testing suba_d16_areg...done. pre_crc:0x312F, mem_crc:0x0000, reg_crc:0xC27F +Testing suba_absl_areg...done. pre_crc:0x4710, mem_crc:0x0000, reg_crc:0x477E +Testing subaw_const_areg...done. pre_crc:0x4E2A, mem_crc:0x0000, reg_crc:0xDA32 +Testing subal_const_areg...done. pre_crc:0xBB4D, mem_crc:0x0000, reg_crc:0x7E35 +Testing subibw_dreg...done. pre_crc:0x38BF, mem_crc:0x0000, reg_crc:0xEF32 +Testing subil_dreg...done. pre_crc:0x2C9D, mem_crc:0x0000, reg_crc:0x52E9 +Testing subibw_ind...done. pre_crc:0x995B, mem_crc:0x5AC6, reg_crc:0xFF59 +Testing subil_ind...done. pre_crc:0x7D61, mem_crc:0x73BC, reg_crc:0xD6DA +Testing subibw_d16...done. pre_crc:0xDA03, mem_crc:0x3AED, reg_crc:0xA410 +Testing subil_d16...done. pre_crc:0xF7EF, mem_crc:0x8589, reg_crc:0xEB2B +Testing subibw_absl...done. pre_crc:0x770E, mem_crc:0xB4DE, reg_crc:0x11F9 +Testing subil_absl...done. pre_crc:0x0C58, mem_crc:0x395A, reg_crc:0xC4A8 +Testing subq_dreg...done. pre_crc:0xAA1A, mem_crc:0x0000, reg_crc:0x3DF4 +Testing subq_areg...done. pre_crc:0xAD9C, mem_crc:0x0000, reg_crc:0xC4F8 +Testing subq_ind...done. pre_crc:0x5778, mem_crc:0xE40A, reg_crc:0xB428 +Testing subq_d16...done. pre_crc:0x8A71, mem_crc:0xD004, reg_crc:0x4A62 +Testing subq_absl...done. pre_crc:0x79BC, mem_crc:0x3A0C, reg_crc:0x41B8 +Testing subx_reg...done. pre_crc:0x343B, mem_crc:0x0000, reg_crc:0xEE3F +Testing subx_mem...done. pre_crc:0xE2E0, mem_crc:0x898A, reg_crc:0x4970 +Testing swap...done. pre_crc:0xBE86, mem_crc:0x0000, reg_crc:0x29D9 +Testing tas_dreg...done. pre_crc:0x4165, mem_crc:0x0000, reg_crc:0x5BAD +Testing tas_ind...done. pre_crc:0x7D07, mem_crc:0xAA66, reg_crc:0xD496 +Testing tas_d16...done. pre_crc:0xB219, mem_crc:0xC9B1, reg_crc:0x8B27 +Testing tas_absl...done. pre_crc:0xA88A, mem_crc:0x0CF0, reg_crc:0x7247 +Testing tstb_dreg...done. pre_crc:0x6E7A, mem_crc:0x0000, reg_crc:0x94B5 +Testing tstwl_reg...done. pre_crc:0x1C0C, mem_crc:0x0000, reg_crc:0x6162 +Testing tstb_ind...done. pre_crc:0xAEE1, mem_crc:0x0000, reg_crc:0x80D5 +Testing tstwl_ind...done. pre_crc:0x0C55, mem_crc:0x0000, reg_crc:0xFF6A +Testing tstb_d16...done. pre_crc:0x82D8, mem_crc:0x0000, reg_crc:0xA186 +Testing tstwl_d16...done. pre_crc:0x3A3F, mem_crc:0x0000, reg_crc:0x4F32 +Testing tst_absl...done. pre_crc:0xE5E7, mem_crc:0x0000, reg_crc:0x6415 diff --git a/test/sorted b/test/sorted new file mode 100644 index 0000000..f472a02 --- /dev/null +++ b/test/sorted @@ -0,0 +1,37 @@ +add_absl_dreg...done. +add_d16_dreg...done. +add_dreg_absl...done. +add_dreg_d16...done. +add_dreg_ind...done. sub_dreg_ind...done. +addibw_absl...done. +addibw_d16...done. +addibw_dreg...done. +addibw_ind...done. subibw_ind...done. +addil_ind...done. subil_ind...done. +add_ind_dreg...done. sub_ind_dreg...done. +addq_ind...done. subq_ind...done. +addw_const_dreg...done. +addw_reg_dreg...done. + +cmpa_absl...done. +cmpa_d16_2...done. +cmpa_d16...done. +cmpa_ind2...done. +cmpa_ind...done. +cmp_areg...done. +cmpa_reg...done. +cmpb_ind...done. +cmp_dreg...done. +cmpib_ind...done. +cmpibw_reg...done. +cmpil_ind...done. +cmpil_reg...done. +cmpiw_ind...done. +cmpmwl...done. +cmpwl_d16...done. +cmpwl_ind...done. + +divsl_ll_absl...done. +divsl_ll_ind...done. +divsl_ll_reg...done. + diff --git a/test/syn68k.moved b/test/syn68k.moved new file mode 100644 index 0000000..fc7ad84 --- /dev/null +++ b/test/syn68k.moved @@ -0,0 +1,480 @@ +mem == 0xAF002000 +Testing unpk_reg...2000...4000...6000...8000...10000...done. pre_crc:0x61C3, mem_crc:0x0000, reg_crc:0xD5BA +Testing unpk_mem...2000...4000...6000...8000...10000...done. pre_crc:0xB860, mem_crc:0x7469, reg_crc:0xC2A2 +Testing unlk...2000...4000...6000...8000...10000...done. pre_crc:0xA410, mem_crc:0x0000, reg_crc:0xB206 +Testing movewl_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x96CB, mem_crc:0xACC5, reg_crc:0x75D3 +Testing divsl_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2290, mem_crc:0x0000, reg_crc:0xFA0F +Testing divsl_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0x67F2, mem_crc:0x0000, reg_crc:0x0773 +Testing divsl_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9B3C, mem_crc:0x0000, reg_crc:0x2ACD +Testing lea_pc_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x911D, mem_crc:0x0000, reg_crc:0x895D +Testing lea_pc_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x7F95, mem_crc:0x0000, reg_crc:0x5E8A +Testing moveb_pc_ind_preix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD498, mem_crc:0x0000, reg_crc:0xF168 +Testing moveb_pc_ind_postix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB983, mem_crc:0x0000, reg_crc:0xAC39 +Testing moveb_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3257, mem_crc:0x0000, reg_crc:0xC384 +Testing movewl_pcd16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x421A, mem_crc:0x0000, reg_crc:0x97DA +Testing moveb_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x393A, mem_crc:0x0000, reg_crc:0x92CD +Testing movewl_pcd8_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x00DE, mem_crc:0x0000, reg_crc:0x0C96 +Testing moveb_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC45E, mem_crc:0x0000, reg_crc:0x0115 +Testing movewl_pc_ind_ix_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x52FC, mem_crc:0x0000, reg_crc:0x435E +Testing lea_ind_preix...2000...4000...6000...8000...10000...done. pre_crc:0x8A82, mem_crc:0x0000, reg_crc:0x85EF +Testing lea_ind_postix...2000...4000...6000...8000...10000...done. pre_crc:0x2959, mem_crc:0x0000, reg_crc:0xCC24 +Testing add_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBEDB, mem_crc:0x0000, reg_crc:0x906C +Testing abcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAE76, mem_crc:0x0000, reg_crc:0xCE34 +Testing abcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0xB7F1, mem_crc:0xFA6F, reg_crc:0xA6E2 +Testing addb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8B43, mem_crc:0x0000, reg_crc:0x00D2 +Testing addw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x48CA, mem_crc:0x0000, reg_crc:0xA571 +Testing addl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD379, mem_crc:0x0000, reg_crc:0x3390 +Testing add_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6F60, mem_crc:0x0000, reg_crc:0x0754 +Testing addb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDC74, mem_crc:0x0000, reg_crc:0x8C3E +Testing addw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0D95, mem_crc:0x0000, reg_crc:0x4D22 +Testing add_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1842, mem_crc:0x3C84, reg_crc:0xA74C +Testing add_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x99BD, mem_crc:0x0000, reg_crc:0x380E +Testing addl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90F9, mem_crc:0x0000, reg_crc:0x8414 +Testing add_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBD85, mem_crc:0x505F, reg_crc:0x569F +Testing add_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3051, mem_crc:0xC02D, reg_crc:0xA720 +Testing addaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0x2B03, mem_crc:0x0000, reg_crc:0x3312 +Testing addal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xBC77, mem_crc:0x0000, reg_crc:0x3996 +Testing adda_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x9DE5, mem_crc:0x0000, reg_crc:0xBB00 +Testing adda_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x8E43, mem_crc:0x0000, reg_crc:0x2781 +Testing adda_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0xC96E, mem_crc:0x0000, reg_crc:0xDD48 +Testing addaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7B7F, mem_crc:0x0000, reg_crc:0x4EF5 +Testing addal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x7738, mem_crc:0x0000, reg_crc:0xCE1C +Testing addibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEF65, mem_crc:0x0000, reg_crc:0x9DDC +Testing addil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD31F, mem_crc:0x0000, reg_crc:0x8741 +Testing addibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF05E, mem_crc:0x3F2B, reg_crc:0x5BFB +Testing addil_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7FD2, mem_crc:0xF944, reg_crc:0x0F4D +Testing addibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x19D4, mem_crc:0xB495, reg_crc:0x485C +Testing addil_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF5AE, mem_crc:0x4F45, reg_crc:0x72FC +Testing addibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB98B, mem_crc:0x19B9, reg_crc:0x934D +Testing addil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9A57, mem_crc:0x243C, reg_crc:0x20FD +Testing addq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7B4F, mem_crc:0x0000, reg_crc:0xD02A +Testing addq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF932, mem_crc:0x0000, reg_crc:0xDCC7 +Testing addq_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA5C9, mem_crc:0xEA7A, reg_crc:0xF34B +Testing addq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x739C, mem_crc:0x2C16, reg_crc:0x4C80 +Testing addq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFE06, mem_crc:0x2F2C, reg_crc:0xF57D +Testing addx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x1E5E, mem_crc:0x0000, reg_crc:0x1520 +Testing addx_mem...2000...4000...6000...8000...10000...done. pre_crc:0xB6C5, mem_crc:0x60C9, reg_crc:0xB288 +Testing and_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB92D, mem_crc:0x0000, reg_crc:0x4212 +Testing and_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE000, mem_crc:0x0000, reg_crc:0x9BDC +Testing and_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7795, mem_crc:0x0000, reg_crc:0x48F6 +Testing and_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF0D7, mem_crc:0x0000, reg_crc:0x9D4C +Testing andbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x74B9, mem_crc:0x0000, reg_crc:0x6201 +Testing andl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8BDA, mem_crc:0x0000, reg_crc:0x347C +Testing and_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1120, mem_crc:0x8E74, reg_crc:0xC80B +Testing and_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3AFB, mem_crc:0xB166, reg_crc:0x2778 +Testing and_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2875, mem_crc:0xB787, reg_crc:0x60BD +Testing andibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7F29, mem_crc:0x0000, reg_crc:0x0AE7 +Testing andil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xE8AF, mem_crc:0x0000, reg_crc:0xB16C +Testing andibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB38, mem_crc:0x8E5C, reg_crc:0x99EB +Testing andil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xABC7, mem_crc:0x8178, reg_crc:0x1784 +Testing andibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF883, mem_crc:0xB744, reg_crc:0x7782 +Testing andil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x314F, mem_crc:0x8459, reg_crc:0x7EDE +Testing andibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5EE5, mem_crc:0xD4B7, reg_crc:0x2433 +Testing andil_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE2BB, mem_crc:0x3279, reg_crc:0xF797 +Testing andi_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x4422, mem_crc:0x0000, reg_crc:0x1799 +Testing asl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFBA3, mem_crc:0x0000, reg_crc:0x72E8 +Testing asl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF2CE, mem_crc:0x0000, reg_crc:0xC9D4 +Testing asl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x601B, mem_crc:0xA52E, reg_crc:0x5DB0 +Testing asl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9E9B, mem_crc:0x305A, reg_crc:0x3D94 +Testing asl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x88CB, mem_crc:0x4DB4, reg_crc:0x03EE +Testing asr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5094, mem_crc:0x0000, reg_crc:0xC3CF +Testing asr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF283, mem_crc:0x0000, reg_crc:0x30C5 +Testing asr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9179, mem_crc:0xAB01, reg_crc:0x4CAD +Testing asr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x50C6, mem_crc:0xE218, reg_crc:0x8795 +Testing asr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFDC3, mem_crc:0x17D4, reg_crc:0x8DA0 +Testing lsl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x6A33, mem_crc:0x0000, reg_crc:0x7FBC +Testing lsl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xA5F0, mem_crc:0x0000, reg_crc:0x2F4F +Testing lsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2018, mem_crc:0xBBFA, reg_crc:0x010B +Testing lsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xDAA5, mem_crc:0x07D6, reg_crc:0xE3AE +Testing lsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5593, mem_crc:0xE907, reg_crc:0xC577 +Testing lsr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5610, mem_crc:0x0000, reg_crc:0x7B5A +Testing lsr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8E56, mem_crc:0x0000, reg_crc:0xA335 +Testing lsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBAD2, mem_crc:0x449F, reg_crc:0xB67C +Testing lsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD659, mem_crc:0xB3A2, reg_crc:0x5978 +Testing lsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x502D, mem_crc:0x8383, reg_crc:0xDB30 +Testing bra_b...2000...4000...6000...8000...10000...done. pre_crc:0x14AC, mem_crc:0x0000, reg_crc:0xB6B3 +Testing bhi_b...2000...4000...6000...8000...10000...done. pre_crc:0x02E8, mem_crc:0x0000, reg_crc:0x7CA8 +Testing bls_b...2000...4000...6000...8000...10000...done. pre_crc:0xA40B, mem_crc:0x0000, reg_crc:0x19B0 +Testing bcc_b...2000...4000...6000...8000...10000...done. pre_crc:0x17F7, mem_crc:0x0000, reg_crc:0xEF25 +Testing bcs_b...2000...4000...6000...8000...10000...done. pre_crc:0xE14B, mem_crc:0x0000, reg_crc:0x197C +Testing bne_b...2000...4000...6000...8000...10000...done. pre_crc:0x6EFE, mem_crc:0x0000, reg_crc:0xEF37 +Testing beq_b...2000...4000...6000...8000...10000...done. pre_crc:0x9E62, mem_crc:0x0000, reg_crc:0x494F +Testing bvc_b...2000...4000...6000...8000...10000...done. pre_crc:0x8A64, mem_crc:0x0000, reg_crc:0x00D2 +Testing bvs_b...2000...4000...6000...8000...10000...done. pre_crc:0xDB88, mem_crc:0x0000, reg_crc:0x64CB +Testing bpl_b...2000...4000...6000...8000...10000...done. pre_crc:0x1227, mem_crc:0x0000, reg_crc:0x83A8 +Testing bmi_b...2000...4000...6000...8000...10000...done. pre_crc:0x8F4F, mem_crc:0x0000, reg_crc:0x6D04 +Testing bge_b...2000...4000...6000...8000...10000...done. pre_crc:0xCA78, mem_crc:0x0000, reg_crc:0xCAF3 +Testing blt_b...2000...4000...6000...8000...10000...done. pre_crc:0xFE2D, mem_crc:0x0000, reg_crc:0xC70B +Testing bgt_b...2000...4000...6000...8000...10000...done. pre_crc:0x38BD, mem_crc:0x0000, reg_crc:0xE949 +Testing ble_b...2000...4000...6000...8000...10000...done. pre_crc:0x8833, mem_crc:0x0000, reg_crc:0x212B +Testing bra_w...2000...4000...6000...8000...10000...done. pre_crc:0x67E5, mem_crc:0x0000, reg_crc:0x15C4 +Testing bhi_w...2000...4000...6000...8000...10000...done. pre_crc:0x8AAD, mem_crc:0x0000, reg_crc:0xE5C1 +Testing bls_w...2000...4000...6000...8000...10000...done. pre_crc:0x8F5F, mem_crc:0x0000, reg_crc:0x9AE8 +Testing bcc_w...2000...4000...6000...8000...10000...done. pre_crc:0xBD81, mem_crc:0x0000, reg_crc:0x490D +Testing bcs_w...2000...4000...6000...8000...10000...done. pre_crc:0xAE6B, mem_crc:0x0000, reg_crc:0x9C59 +Testing bne_w...2000...4000...6000...8000...10000...done. pre_crc:0xC407, mem_crc:0x0000, reg_crc:0xD7E2 +Testing beq_w...2000...4000...6000...8000...10000...done. pre_crc:0x9EC5, mem_crc:0x0000, reg_crc:0xD640 +Testing bvc_w...2000...4000...6000...8000...10000...done. pre_crc:0xA01E, mem_crc:0x0000, reg_crc:0xBBF5 +Testing bvs_w...2000...4000...6000...8000...10000...done. pre_crc:0x4FF2, mem_crc:0x0000, reg_crc:0xD8C3 +Testing bpl_w...2000...4000...6000...8000...10000...done. pre_crc:0x8CA2, mem_crc:0x0000, reg_crc:0x620D +Testing bmi_w...2000...4000...6000...8000...10000...done. pre_crc:0x954B, mem_crc:0x0000, reg_crc:0x51DF +Testing bge_w...2000...4000...6000...8000...10000...done. pre_crc:0x4AB1, mem_crc:0x0000, reg_crc:0x884D +Testing blt_w...2000...4000...6000...8000...10000...done. pre_crc:0x2CE3, mem_crc:0x0000, reg_crc:0x77E4 +Testing bgt_w...2000...4000...6000...8000...10000...done. pre_crc:0x6ECF, mem_crc:0x0000, reg_crc:0xD4E2 +Testing ble_w...2000...4000...6000...8000...10000...done. pre_crc:0x1BB2, mem_crc:0x0000, reg_crc:0x52DC +Testing bra_l...2000...4000...6000...8000...10000...done. pre_crc:0x10D5, mem_crc:0x0000, reg_crc:0xD174 +Testing bhi_l...2000...4000...6000...8000...10000...done. pre_crc:0xDECC, mem_crc:0x0000, reg_crc:0x0DC7 +Testing bls_l...2000...4000...6000...8000...10000...done. pre_crc:0x84FD, mem_crc:0x0000, reg_crc:0x5457 +Testing bcc_l...2000...4000...6000...8000...10000...done. pre_crc:0x0B65, mem_crc:0x0000, reg_crc:0xE5F2 +Testing bcs_l...2000...4000...6000...8000...10000...done. pre_crc:0xCD11, mem_crc:0x0000, reg_crc:0x687C +Testing bne_l...2000...4000...6000...8000...10000...done. pre_crc:0x3618, mem_crc:0x0000, reg_crc:0x0B3E +Testing beq_l...2000...4000...6000...8000...10000...done. pre_crc:0x27F0, mem_crc:0x0000, reg_crc:0xA617 +Testing bvc_l...2000...4000...6000...8000...10000...done. pre_crc:0x6F17, mem_crc:0x0000, reg_crc:0x66A0 +Testing bvs_l...2000...4000...6000...8000...10000...done. pre_crc:0x1100, mem_crc:0x0000, reg_crc:0xA26D +Testing bpl_l...2000...4000...6000...8000...10000...done. pre_crc:0x020D, mem_crc:0x0000, reg_crc:0x3A7B +Testing bmi_l...2000...4000...6000...8000...10000...done. pre_crc:0xAEEA, mem_crc:0x0000, reg_crc:0xA4D3 +Testing bge_l...2000...4000...6000...8000...10000...done. pre_crc:0x34FB, mem_crc:0x0000, reg_crc:0x23AD +Testing blt_l...2000...4000...6000...8000...10000...done. pre_crc:0x7495, mem_crc:0x0000, reg_crc:0x4507 +Testing bgt_l...2000...4000...6000...8000...10000...done. pre_crc:0xA52F, mem_crc:0x0000, reg_crc:0xE50D +Testing ble_l...2000...4000...6000...8000...10000...done. pre_crc:0x9B33, mem_crc:0x0000, reg_crc:0x6113 +Testing bchg_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x817C, mem_crc:0x0000, reg_crc:0xD9FE +Testing bchg_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC24E, mem_crc:0x0000, reg_crc:0xB8AA +Testing bchg_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCB52, mem_crc:0xE1AA, reg_crc:0x3B67 +Testing bchg_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x606B, mem_crc:0xFFC5, reg_crc:0xFDB3 +Testing bchg_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD274, mem_crc:0x6FD1, reg_crc:0x24D4 +Testing bchg_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFAD1, mem_crc:0x6C71, reg_crc:0x1E8E +Testing bchg_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0xADD7, mem_crc:0x543E, reg_crc:0xFAA3 +Testing bchg_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9797, mem_crc:0xE6E3, reg_crc:0x9F11 +Testing bclr_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF8DC, mem_crc:0x0000, reg_crc:0x8D11 +Testing bclr_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9388, mem_crc:0x0000, reg_crc:0x3C39 +Testing bclr_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4029, mem_crc:0xC2A4, reg_crc:0xC55F +Testing bclr_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFE59, mem_crc:0x38BA, reg_crc:0x12C9 +Testing bclr_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF23F, mem_crc:0xBE81, reg_crc:0x4FC2 +Testing bclr_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFFBD, mem_crc:0x4D28, reg_crc:0xDC0E +Testing bclr_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2B42, mem_crc:0x23D6, reg_crc:0xCD20 +Testing bclr_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x983A, mem_crc:0x432F, reg_crc:0xA4D9 +Testing bset_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0xB74E, mem_crc:0x0000, reg_crc:0xCED0 +Testing bset_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x760C, mem_crc:0x0000, reg_crc:0x8A3E +Testing bset_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB00, mem_crc:0x4537, reg_crc:0xCDB5 +Testing bset_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC22B, mem_crc:0xAAF0, reg_crc:0x0BEC +Testing bset_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9768, mem_crc:0xB3C1, reg_crc:0x2DE1 +Testing bset_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF00C, mem_crc:0x7046, reg_crc:0x24CC +Testing bset_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2A2D, mem_crc:0x6D5E, reg_crc:0x4874 +Testing bset_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7B08, mem_crc:0xC603, reg_crc:0xABA4 +Testing btst_reg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x63BF, mem_crc:0x0000, reg_crc:0xAAC6 +Testing btst_const_reg...2000...4000...6000...8000...10000...done. pre_crc:0x0B62, mem_crc:0x0000, reg_crc:0xE81D +Testing btst_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6A6B, mem_crc:0x0000, reg_crc:0x3E9B +Testing btst_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6131, mem_crc:0x0000, reg_crc:0x23CD +Testing btst_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD92, mem_crc:0x0000, reg_crc:0xB827 +Testing btst_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCD57, mem_crc:0x0000, reg_crc:0x4667 +Testing btst_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2C06, mem_crc:0x0000, reg_crc:0x6082 +Testing btst_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3EEE, mem_crc:0x0000, reg_crc:0xFF5F +Testing bfchg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x7DBD, mem_crc:0x0000, reg_crc:0x6A90 +Testing bfchg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4024, mem_crc:0xD748, reg_crc:0x94C2 +Testing bfchg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9CD0, mem_crc:0x62EA, reg_crc:0x51EA +Testing bfchg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x321A, mem_crc:0x909A, reg_crc:0xB5C4 +Testing bfclr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x56A8, mem_crc:0x0000, reg_crc:0xC25D +Testing bfclr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x301F, mem_crc:0xFBE6, reg_crc:0xD8B7 +Testing bfclr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xAD07, mem_crc:0x7A15, reg_crc:0xCE38 +Testing bfclr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA49F, mem_crc:0x2943, reg_crc:0x79B6 +Testing bfset_reg...2000...4000...6000...8000...10000...done. pre_crc:0xFE05, mem_crc:0x0000, reg_crc:0x9E04 +Testing bfset_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC18C, mem_crc:0x5ECB, reg_crc:0x3535 +Testing bfset_d16...2000...4000...6000...8000...10000...done. pre_crc:0x8DCE, mem_crc:0xBB59, reg_crc:0xF55C +Testing bfset_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x46CE, reg_crc:0xAA55 +Testing bftst_reg...2000...4000...6000...8000...10000...done. pre_crc:0x48E0, mem_crc:0x0000, reg_crc:0xCD52 +Testing bftst_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0900, mem_crc:0x0000, reg_crc:0x1E71 +Testing bftst_d16...2000...4000...6000...8000...10000...done. pre_crc:0x128F, mem_crc:0x0000, reg_crc:0x3189 +Testing bftst_absl...2000...4000...6000...8000...10000...done. pre_crc:0xD6CD, mem_crc:0x0000, reg_crc:0xB997 +Testing bfexts_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2979, mem_crc:0x0000, reg_crc:0x6E5D +Testing bfexts_ind...2000...4000...6000...8000...10000...done. pre_crc:0x92A8, mem_crc:0x0000, reg_crc:0x94E9 +Testing bfexts_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C37, mem_crc:0x0000, reg_crc:0x3639 +Testing bfexts_absl...2000...4000...6000...8000...10000...done. pre_crc:0xACBE, mem_crc:0x0000, reg_crc:0x8D5C +Testing bfextu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x28E9, mem_crc:0x0000, reg_crc:0x23FD +Testing bfextu_ind...2000...4000...6000...8000...10000...done. pre_crc:0x37D5, mem_crc:0x0000, reg_crc:0xD13A +Testing bfextu_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFC47, mem_crc:0x0000, reg_crc:0x40C2 +Testing bfextu_absl...2000...4000...6000...8000...10000...done. pre_crc:0x2531, mem_crc:0x0000, reg_crc:0xD0D9 +Testing bfffo_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6524, mem_crc:0x0000, reg_crc:0xDE17 +Testing bfffo_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA128, mem_crc:0x0000, reg_crc:0x53DB +Testing bfffo_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2A65, mem_crc:0x0000, reg_crc:0xD811 +Testing bfffo_absl...2000...4000...6000...8000...10000...done. pre_crc:0xDCD2, mem_crc:0x0000, reg_crc:0xC1C8 +Testing bfins_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8117, mem_crc:0x0000, reg_crc:0x5FEE +Testing bfins_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0861, mem_crc:0x7877, reg_crc:0x9BE5 +Testing bfins_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE778, mem_crc:0x5D89, reg_crc:0x1664 +Testing bfins_absl...2000...4000...6000...8000...10000...done. pre_crc:0x167B, mem_crc:0x557B, reg_crc:0x6F7B +Testing bsr_b...2000...4000...6000...8000...10000...done. pre_crc:0xD922, mem_crc:0x439B, reg_crc:0x7340 +Testing bsr_w...2000...4000...6000...8000...10000...done. pre_crc:0x2AFB, mem_crc:0x375D, reg_crc:0x868C +Testing bsr_l...2000...4000...6000...8000...10000...done. pre_crc:0xC330, mem_crc:0x4F97, reg_crc:0xEF57 +Testing cas_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE827, mem_crc:0x36E2, reg_crc:0x00F9 +Testing cas2_areg...2000...4000...6000...8000...10000...done. pre_crc:0x6918, mem_crc:0x982A, reg_crc:0x8730 +Testing cas2_anyreg...2000...4000...6000...8000...10000...done. pre_crc:0xA593, mem_crc:0xAB85, reg_crc:0xE8B2 +Testing clr_reg...2000...4000...6000...8000...10000...done. pre_crc:0xAFA3, mem_crc:0x0000, reg_crc:0x9BAE +Testing clrb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA997, mem_crc:0x7D2D, reg_crc:0x933F +Testing clrwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA9D3, mem_crc:0x8B3F, reg_crc:0xB7ED +Testing clrb_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B5D, mem_crc:0xBC40, reg_crc:0xC43D +Testing clrwl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x123D, mem_crc:0x836E, reg_crc:0xED8E +Testing cmp_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4761, mem_crc:0x0000, reg_crc:0x588F +Testing cmp_areg...2000...4000...6000...8000...10000...done. pre_crc:0xF2A1, mem_crc:0x0000, reg_crc:0xBA67 +Testing cmpb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xD326, mem_crc:0x0000, reg_crc:0xD398 +Testing cmpwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5D2E, mem_crc:0x0000, reg_crc:0xD585 +Testing cmpb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6B6E, mem_crc:0x0000, reg_crc:0xB35D +Testing cmpwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5E42, mem_crc:0x0000, reg_crc:0x3AD7 +Testing cmpa_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE4A5, mem_crc:0x0000, reg_crc:0x1A62 +Testing cmpa_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE1A7, mem_crc:0x0000, reg_crc:0x9EBC +Testing cmpa_ind2...2000...4000...6000...8000...10000...done. pre_crc:0x02BD, mem_crc:0x0000, reg_crc:0x3382 +Testing cmpa_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4606, mem_crc:0x0000, reg_crc:0xA987 +Testing cmpa_d16_2...2000...4000...6000...8000...10000...done. pre_crc:0x7123, mem_crc:0x0000, reg_crc:0x7F2F +Testing cmpa_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC595, mem_crc:0x0000, reg_crc:0xD6CE +Testing cmpibw_reg...2000...4000...6000...8000...10000...done. pre_crc:0xF401, mem_crc:0x0000, reg_crc:0x543D +Testing cmpil_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBC0C, mem_crc:0x0000, reg_crc:0x0A41 +Testing cmpib_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF26F, mem_crc:0x0000, reg_crc:0x0164 +Testing cmpiw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x466C, mem_crc:0x0000, reg_crc:0xF900 +Testing cmpil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xE48B, mem_crc:0x0000, reg_crc:0xB646 +Testing cmpmb...2000...4000...6000...8000...10000...done. pre_crc:0x3A81, mem_crc:0x0000, reg_crc:0x3F3C +Testing cmpmwl...2000...4000...6000...8000...10000...done. pre_crc:0x5F34, mem_crc:0x0000, reg_crc:0x29F4 +Testing cmp2b_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2B18, mem_crc:0x0000, reg_crc:0xE8D2 +Testing cmp2wl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8595, mem_crc:0x0000, reg_crc:0x5A95 +Testing dbcc...2000...4000...6000...8000...10000...done. pre_crc:0xE667, mem_crc:0x0000, reg_crc:0x2DC6 +Testing divs_reg...2000...4000...6000...8000...10000...done. pre_crc:0x90C6, mem_crc:0x0000, reg_crc:0x198F +Testing divs_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA2A8, mem_crc:0x0000, reg_crc:0xE0B3 +Testing divs_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC891, mem_crc:0x0000, reg_crc:0x0B45 +Testing divs_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFCC1, mem_crc:0x0000, reg_crc:0xA49B +Testing divu_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2D15, mem_crc:0x0000, reg_crc:0x1FE3 +Testing divu_same_reg...2000...4000...6000...8000...10000...done. pre_crc:0xC71D, mem_crc:0x0000, reg_crc:0x716F +Testing divu_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7228, mem_crc:0x0000, reg_crc:0x221E +Testing divu_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA203, mem_crc:0x0000, reg_crc:0x309F +Testing divul_ll_reg...2000...4000...6000...8000...10000...done. pre_crc:0xE0F6, mem_crc:0x0000, reg_crc:0x43C2 +Testing divul_ll_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA3A8, mem_crc:0x0000, reg_crc:0xED6C +Testing divul_ll_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6919, mem_crc:0x0000, reg_crc:0x3116 +Testing eor_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5EA4, mem_crc:0x0000, reg_crc:0x5917 +Testing eor_ind...2000...4000...6000...8000...10000...done. pre_crc:0x69C2, mem_crc:0x9990, reg_crc:0xE567 +Testing eor_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7761, mem_crc:0x4351, reg_crc:0xFA93 +Testing eor_absl...2000...4000...6000...8000...10000...done. pre_crc:0xE1FA, mem_crc:0x68F4, reg_crc:0x87A9 +Testing eoribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6129, mem_crc:0x0000, reg_crc:0x7D47 +Testing eoril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7000, mem_crc:0x0000, reg_crc:0x6F09 +Testing eoribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA987, mem_crc:0x60B7, reg_crc:0x9179 +Testing eoril_ind...2000...4000...6000...8000...10000...done. pre_crc:0x5908, mem_crc:0xBAAB, reg_crc:0xDA9E +Testing eoribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xC0FC, mem_crc:0x4CA1, reg_crc:0x920D +Testing eoril_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3A9A, mem_crc:0x455D, reg_crc:0xC262 +Testing eoribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC3EB, mem_crc:0xC318, reg_crc:0xCF53 +Testing eoril_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB1C2, mem_crc:0x5A24, reg_crc:0x7923 +Testing eori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0xB8B4, mem_crc:0x0000, reg_crc:0x1F4A +Testing exg...2000...4000...6000...8000...10000...done. pre_crc:0x3636, mem_crc:0x0000, reg_crc:0xD45C +Testing ext...2000...4000...6000...8000...10000...done. pre_crc:0x7020, mem_crc:0x0000, reg_crc:0xDD11 +Testing jmp_absl...2000...4000...6000...8000...10000...done. pre_crc:0x264A, mem_crc:0x0000, reg_crc:0xFF05 +Testing jmp_ind...2000...4000...6000...8000...10000...done. pre_crc:0x689F, mem_crc:0x0000, reg_crc:0x9723 +Testing jmp_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0E91, mem_crc:0x0000, reg_crc:0x7722 +Testing jsr_absl...2000...4000...6000...8000...10000...done. pre_crc:0x64EE, mem_crc:0x7EA0, reg_crc:0xB7FF +Testing jsr_ind...2000...4000...6000...8000...10000...done. pre_crc:0xC52D, mem_crc:0xA6EE, reg_crc:0xD9EA +Testing jsr_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCB29, mem_crc:0x9470, reg_crc:0x0780 +Testing lea_ind...2000...4000...6000...8000...10000...done. pre_crc:0x9516, mem_crc:0x0000, reg_crc:0xC452 +Testing lea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4E75, mem_crc:0x0000, reg_crc:0xFEC4 +Testing lea_absw...2000...4000...6000...8000...10000...done. pre_crc:0xA64A, mem_crc:0x0000, reg_crc:0x25A8 +Testing lea_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6527, mem_crc:0x0000, reg_crc:0x9410 +Testing linkw...2000...4000...6000...8000...10000...done. pre_crc:0x4B3C, mem_crc:0x26CD, reg_crc:0x694E +Testing linkl...2000...4000...6000...8000...10000...done. pre_crc:0x7C8C, mem_crc:0x4607, reg_crc:0xD8C6 +Testing move16_postinc_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x9CCF, mem_crc:0x6858, reg_crc:0xF648 +Testing move16_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x556F, mem_crc:0x52C8, reg_crc:0x9C69 +Testing move16_absl_postinc...2000...4000...6000...8000...10000...done. pre_crc:0x3CF6, mem_crc:0x2C89, reg_crc:0x4DCF +Testing move16_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x04D3, mem_crc:0x45BC, reg_crc:0x6F7B +Testing move16_postinc_absl...2000...4000...6000...8000...10000...done. pre_crc:0x61EE, mem_crc:0xB2B2, reg_crc:0xF7C8 +Testing moveb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xCCB7, mem_crc:0x0000, reg_crc:0xA491 +Testing movewl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x90B6, mem_crc:0x0000, reg_crc:0xC556 +Testing moveb_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFF93, mem_crc:0x0000, reg_crc:0xED63 +Testing movewl_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF205, mem_crc:0x0000, reg_crc:0x49DC +Testing moveb_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8353, mem_crc:0x0000, reg_crc:0xF9B4 +Testing movewl_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x6BBD, mem_crc:0x0000, reg_crc:0xC50A +Testing moveb_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x7C87, mem_crc:0x0000, reg_crc:0xC6D2 +Testing movewl_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xD859, mem_crc:0x0000, reg_crc:0xBC01 +Testing movebw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF4C1, mem_crc:0x0000, reg_crc:0xA810 +Testing movel_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x3D02, mem_crc:0x0000, reg_crc:0xE48B +Testing moveb_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA19D, mem_crc:0x375D, reg_crc:0x1373 +Testing movewl_reg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x3797, mem_crc:0x00DE, reg_crc:0xD2F6 +Testing moveb_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x71D4, mem_crc:0xB35D, reg_crc:0x3873 +Testing movewl_reg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2BE3, mem_crc:0x3F2E, reg_crc:0x0D2C +Testing moveb_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1650, mem_crc:0x866E, reg_crc:0xDE4E +Testing movewl_reg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x619A, mem_crc:0xC43E, reg_crc:0x725A +Testing moveb_ind_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7EE5, mem_crc:0x4AC7, reg_crc:0xDE2B +Testing moveb_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0x86CE, mem_crc:0x6123, reg_crc:0xA401 +Testing moveb_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0x2C3A, mem_crc:0x9BB5, reg_crc:0x6802 +Testing movewl_ind_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE9A0, mem_crc:0x2842, reg_crc:0x5457 +Testing movewl_d16_ind...2000...4000...6000...8000...10000...done. pre_crc:0x50FF, mem_crc:0x7E93, reg_crc:0xB5E0 +Testing moveb_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5951, mem_crc:0x8236, reg_crc:0xA5A0 +Testing movewl_d16_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE6EC, mem_crc:0xF08D, reg_crc:0x6ED3 +Testing moveb_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x000F, mem_crc:0x741B, reg_crc:0xEDF3 +Testing movewl_ind_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7D7A, mem_crc:0xA314, reg_crc:0x574C +Testing moveb_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xCCC6, mem_crc:0x27DD, reg_crc:0x05D4 +Testing movewl_absl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA04B, mem_crc:0x9918, reg_crc:0x2FB9 +Testing moveb_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5B5C, mem_crc:0x384A, reg_crc:0xECF1 +Testing movewl_absl_absl...2000...4000...6000...8000...10000...done. pre_crc:0xB400, mem_crc:0x913D, reg_crc:0x077C +Testing moveb_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1BDD, mem_crc:0x1E21, reg_crc:0xF162 +Testing movewl_d16_absl...2000...4000...6000...8000...10000...done. pre_crc:0x02BA, mem_crc:0x27B8, reg_crc:0x7DAC +Testing moveb_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF199, mem_crc:0x8BDB, reg_crc:0x3099 +Testing movewl_absl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCB8C, mem_crc:0xF4FE, reg_crc:0x5F55 +Testing moveb_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8862, mem_crc:0xA069, reg_crc:0xA243 +Testing moveb_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD4E5, mem_crc:0x6D86, reg_crc:0xFF74 +Testing moveb_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0CCC, mem_crc:0xE01F, reg_crc:0xEA85 +Testing movew_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4B5C, mem_crc:0xB81B, reg_crc:0xEFE6 +Testing movew_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0x73E3, mem_crc:0xD6A4, reg_crc:0xCC33 +Testing movew_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0x5967, mem_crc:0xF528, reg_crc:0x2C92 +Testing movel_const_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAB0C, mem_crc:0xA511, reg_crc:0xC66F +Testing movel_const_d16...2000...4000...6000...8000...10000...done. pre_crc:0xF752, mem_crc:0x91F7, reg_crc:0xE9DF +Testing movel_const_absl...2000...4000...6000...8000...10000...done. pre_crc:0xAE75, mem_crc:0x0B8F, reg_crc:0x4BB8 +Testing movea_reg...2000...4000...6000...8000...10000...done. pre_crc:0x861B, mem_crc:0x0000, reg_crc:0x7FE6 +Testing movea_ind...2000...4000...6000...8000...10000...done. pre_crc:0xA75D, mem_crc:0x0000, reg_crc:0x852F +Testing movea_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE5C7, mem_crc:0x0000, reg_crc:0xE99B +Testing movea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF876, mem_crc:0x0000, reg_crc:0x7B4D +Testing moveaw_const...2000...4000...6000...8000...10000...done. pre_crc:0xB99A, mem_crc:0x0000, reg_crc:0x70F2 +Testing moveal_const...2000...4000...6000...8000...10000...done. pre_crc:0x0D69, mem_crc:0x0000, reg_crc:0xF5E4 +Testing move_from_ccr_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xEEEB, mem_crc:0x0000, reg_crc:0x6420 +Testing move_from_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x1C68, mem_crc:0x0000, reg_crc:0x906A +Testing move_from_ccr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x7349, mem_crc:0x0000, reg_crc:0xE4BD +Testing move_to_ccr_reg...2000...4000...6000...8000...10000...done. pre_crc:0x2B8A, mem_crc:0x0000, reg_crc:0x041F +Testing move_to_ccr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x66A0, mem_crc:0x0000, reg_crc:0x6F77 +Testing movem_to_ind...2000...4000...6000...8000...10000...done. pre_crc:0xB9A0, mem_crc:0xC0D2, reg_crc:0xBC08 +Testing movem_to_predec...2000...4000...6000...8000...10000...done. pre_crc:0xECC5, mem_crc:0x8C80, reg_crc:0x94A7 +Testing movem_to_d16...2000...4000...6000...8000...10000...done. pre_crc:0x267E, mem_crc:0x299E, reg_crc:0xF5B8 +Testing movem_to_absl...2000...4000...6000...8000...10000...done. pre_crc:0x8CEE, mem_crc:0xC6D7, reg_crc:0x40B5 +Testing movem_from_d16...2000...4000...6000...8000...10000...done. pre_crc:0xE5B6, mem_crc:0x0000, reg_crc:0xB601 +Testing movem_from_ind...2000...4000...6000...8000...10000...done. pre_crc:0x61F2, mem_crc:0x0000, reg_crc:0x2877 +Testing movem_from_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FA0, mem_crc:0x0000, reg_crc:0x4561 +Testing movep_to_mem...2000...4000...6000...8000...10000...done. pre_crc:0xD158, mem_crc:0x170F, reg_crc:0x2E2B +Testing movep_from_mem...2000...4000...6000...8000...10000...done. pre_crc:0x9412, mem_crc:0x0000, reg_crc:0xF101 +Testing moveq...2000...4000...6000...8000...10000...done. pre_crc:0xAAF9, mem_crc:0x0000, reg_crc:0xEA32 +Testing mulsw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xBCCC, mem_crc:0x0000, reg_crc:0xAD40 +Testing mulsw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x6CCA, mem_crc:0x0000, reg_crc:0x0C56 +Testing mulsw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x2324, mem_crc:0x0000, reg_crc:0xD256 +Testing mulsw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xA7DD, mem_crc:0x0000, reg_crc:0x0ACF +Testing muluw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4F2B, mem_crc:0x0000, reg_crc:0x092D +Testing muluw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x62A3, mem_crc:0x0000, reg_crc:0x9151 +Testing muluw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x001F, mem_crc:0x0000, reg_crc:0x709E +Testing muluw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6CC2, mem_crc:0x0000, reg_crc:0x32EA +Testing mulsl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1960, mem_crc:0x0000, reg_crc:0x2946 +Testing mulsl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7121, mem_crc:0x0000, reg_crc:0x3145 +Testing mulsl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xA49B, mem_crc:0x0000, reg_crc:0xE313 +Testing mulsl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x862F, mem_crc:0x0000, reg_crc:0xA8DA +Testing mulul_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA4B9, mem_crc:0x0000, reg_crc:0x6C3C +Testing mulul_ind...2000...4000...6000...8000...10000...done. pre_crc:0xB1E3, mem_crc:0x0000, reg_crc:0x260E +Testing mulul_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9EEA, mem_crc:0x0000, reg_crc:0x0390 +Testing mulul_absl...2000...4000...6000...8000...10000...done. pre_crc:0x0FD2, mem_crc:0x0000, reg_crc:0x1811 +Testing nbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0xA576, mem_crc:0x0000, reg_crc:0x887B +Testing nbcd_ind...2000...4000...6000...8000...10000...done. pre_crc:0x831B, mem_crc:0xA922, reg_crc:0x815A +Testing nbcd_d16...2000...4000...6000...8000...10000...done. pre_crc:0xB8B7, mem_crc:0x367B, reg_crc:0x7685 +Testing nbcd_absl...2000...4000...6000...8000...10000...done. pre_crc:0x419A, mem_crc:0x2567, reg_crc:0x0A77 +Testing neg_reg...2000...4000...6000...8000...10000...done. pre_crc:0x5A85, mem_crc:0x0000, reg_crc:0xF8E5 +Testing negb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8A3C, mem_crc:0x58D0, reg_crc:0xA783 +Testing negwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xB596, mem_crc:0xCA00, reg_crc:0x2BB2 +Testing negb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x639C, mem_crc:0x919B, reg_crc:0xA07E +Testing negwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6474, mem_crc:0x7349, reg_crc:0xC033 +Testing neg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x3A10, mem_crc:0xD22B, reg_crc:0x06F0 +Testing negx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8C17, mem_crc:0x0000, reg_crc:0x58C2 +Testing negxb_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDD58, mem_crc:0xA327, reg_crc:0x6555 +Testing negxwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xADB9, mem_crc:0x69F5, reg_crc:0x7B53 +Testing negxb_d16...2000...4000...6000...8000...10000...done. pre_crc:0xFBFC, mem_crc:0x6704, reg_crc:0xF21A +Testing negxwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0xCF58, mem_crc:0x6050, reg_crc:0x9677 +Testing negx_absl...2000...4000...6000...8000...10000...done. pre_crc:0x79B4, mem_crc:0xE637, reg_crc:0xB94A +Testing nop...2000...4000...6000...8000...10000...done. pre_crc:0x26B8, mem_crc:0x0000, reg_crc:0xD96E +Testing not_reg...2000...4000...6000...8000...10000...done. pre_crc:0xBDF3, mem_crc:0x0000, reg_crc:0xF34B +Testing notb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x13CE, mem_crc:0x5226, reg_crc:0x2F23 +Testing notwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xFADB, mem_crc:0x32FE, reg_crc:0x61F8 +Testing notb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x520F, mem_crc:0x194F, reg_crc:0x5861 +Testing notwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9845, mem_crc:0x3234, reg_crc:0x8C9B +Testing not_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF983, mem_crc:0x0486, reg_crc:0x2C0E +Testing or_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xC936, mem_crc:0x0000, reg_crc:0x68B6 +Testing or_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x10BD, mem_crc:0x0000, reg_crc:0x4380 +Testing or_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xF884, mem_crc:0x0000, reg_crc:0xF149 +Testing or_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8E27, mem_crc:0x0000, reg_crc:0x1ADA +Testing orbw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x8285, mem_crc:0x0000, reg_crc:0x743A +Testing orl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x451E, mem_crc:0x0000, reg_crc:0xDC5D +Testing or_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x0195, mem_crc:0xCB4F, reg_crc:0x474E +Testing or_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD299, mem_crc:0x9475, reg_crc:0x93FA +Testing or_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x4B95, mem_crc:0x6977, reg_crc:0x679E +Testing oribw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1EB0, mem_crc:0x0000, reg_crc:0xE22D +Testing oril_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDD29, mem_crc:0x0000, reg_crc:0xC197 +Testing oribw_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8354, mem_crc:0x5CCC, reg_crc:0x4C52 +Testing oril_ind...2000...4000...6000...8000...10000...done. pre_crc:0x24AC, mem_crc:0x523B, reg_crc:0x9B58 +Testing oribw_d16...2000...4000...6000...8000...10000...done. pre_crc:0xBDAA, mem_crc:0x2C86, reg_crc:0xE9C4 +Testing oril_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6345, mem_crc:0x34AD, reg_crc:0x3E49 +Testing oribw_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC57A, mem_crc:0x8325, reg_crc:0x835D +Testing oril_absl...2000...4000...6000...8000...10000...done. pre_crc:0x36F9, mem_crc:0xCF27, reg_crc:0xBFDA +Testing ori_to_ccr...2000...4000...6000...8000...10000...done. pre_crc:0x1AE9, mem_crc:0x0000, reg_crc:0x1D82 +Testing pack_reg...2000...4000...6000...8000...10000...done. pre_crc:0x8D52, mem_crc:0x0000, reg_crc:0x6BA2 +Testing pack_mem...2000...4000...6000...8000...10000...done. pre_crc:0x61C7, mem_crc:0x1F8A, reg_crc:0xD5EA +Testing pea_ind...2000...4000...6000...8000...10000...done. pre_crc:0xED7F, mem_crc:0x3F3C, reg_crc:0x4B59 +Testing pea_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6C0B, mem_crc:0x5E0D, reg_crc:0x98FE +Testing pea_absw...2000...4000...6000...8000...10000...done. pre_crc:0x972E, mem_crc:0x3555, reg_crc:0x4FB3 +Testing pea_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBEC1, mem_crc:0x76AE, reg_crc:0x313E +Testing rol_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x1E89, mem_crc:0x0000, reg_crc:0xAF69 +Testing rol_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x789C, mem_crc:0x0000, reg_crc:0x99B4 +Testing rol_ind...2000...4000...6000...8000...10000...done. pre_crc:0xDA03, mem_crc:0x950F, reg_crc:0x15DF +Testing rol_d16...2000...4000...6000...8000...10000...done. pre_crc:0x126A, mem_crc:0x0275, reg_crc:0x34CD +Testing rol_absl...2000...4000...6000...8000...10000...done. pre_crc:0x9DEB, mem_crc:0x402C, reg_crc:0xE2EB +Testing ror_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x2D9D, mem_crc:0x0000, reg_crc:0x3E86 +Testing ror_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xCB2E, mem_crc:0x0000, reg_crc:0xCDFE +Testing ror_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBE52, mem_crc:0x8FE9, reg_crc:0x5BBA +Testing ror_d16...2000...4000...6000...8000...10000...done. pre_crc:0x0DCD, mem_crc:0xC3C5, reg_crc:0xCD89 +Testing ror_absl...2000...4000...6000...8000...10000...done. pre_crc:0x6E9E, mem_crc:0x2250, reg_crc:0xABBC +Testing roxl_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0x5FFD, mem_crc:0x0000, reg_crc:0x4AD0 +Testing roxl_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0x8813, mem_crc:0x0000, reg_crc:0x1C3D +Testing roxl_ind...2000...4000...6000...8000...10000...done. pre_crc:0xF725, mem_crc:0xC831, reg_crc:0xFE6B +Testing roxl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x5952, mem_crc:0x9251, reg_crc:0xDFE3 +Testing roxl_absl...2000...4000...6000...8000...10000...done. pre_crc:0x71B1, mem_crc:0x7427, reg_crc:0xD81B +Testing roxr_dx_dy...2000...4000...6000...8000...10000...done. pre_crc:0xF819, mem_crc:0x0000, reg_crc:0x8C46 +Testing roxr_const_dy...2000...4000...6000...8000...10000...done. pre_crc:0xFB96, mem_crc:0x0000, reg_crc:0x11AA +Testing roxr_ind...2000...4000...6000...8000...10000...done. pre_crc:0x4F6B, mem_crc:0x2379, reg_crc:0x1BA0 +Testing roxr_d16...2000...4000...6000...8000...10000...done. pre_crc:0x93E0, mem_crc:0xCDEC, reg_crc:0x5C6F +Testing roxr_absl...2000...4000...6000...8000...10000...done. pre_crc:0xBA00, mem_crc:0xC879, reg_crc:0xAE6E +Testing rtd...2000...4000...6000...8000...10000...done. pre_crc:0x5C4B, mem_crc:0x0000, reg_crc:0x95B4 +Testing rtr...2000...4000...6000...8000...10000...done. pre_crc:0x2181, mem_crc:0x0000, reg_crc:0xBD06 +Testing rts...2000...4000...6000...8000...10000...done. pre_crc:0xF89A, mem_crc:0x0000, reg_crc:0x4763 +Testing sbcd_reg...2000...4000...6000...8000...10000...done. pre_crc:0x9195, mem_crc:0x0000, reg_crc:0x9267 +Testing sbcd_mem...2000...4000...6000...8000...10000...done. pre_crc:0x9EB9, mem_crc:0x0892, reg_crc:0xAD68 +Testing Scc_reg...2000...4000...6000...8000...10000...done. pre_crc:0x6541, mem_crc:0x0000, reg_crc:0x5FCF +Testing Scc_ind...2000...4000...6000...8000...10000...done. pre_crc:0xBA41, mem_crc:0x8A4F, reg_crc:0xF678 +Testing Scc_d16...2000...4000...6000...8000...10000...done. pre_crc:0xD7BF, mem_crc:0xE122, reg_crc:0x4083 +Testing Scc_absl...2000...4000...6000...8000...10000...done. pre_crc:0xFD07, mem_crc:0xCE85, reg_crc:0xD691 +Testing subb_dreg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x12EF, mem_crc:0x0000, reg_crc:0xCF72 +Testing subw_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x350C, mem_crc:0x0000, reg_crc:0x89D3 +Testing subl_reg_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA32C, mem_crc:0x0000, reg_crc:0xB029 +Testing sub_ind_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xDCB4, mem_crc:0x0000, reg_crc:0x2B65 +Testing sub_d16_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4FBB, mem_crc:0x0000, reg_crc:0xB386 +Testing sub_absl_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB2B7, mem_crc:0x0000, reg_crc:0xAF27 +Testing subb_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x1B39, mem_crc:0x0000, reg_crc:0x64A2 +Testing subw_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x0B2A, mem_crc:0x0000, reg_crc:0x4E8E +Testing subl_const_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xA15D, mem_crc:0x0000, reg_crc:0xF804 +Testing sub_dreg_ind...2000...4000...6000...8000...10000...done. pre_crc:0x473C, mem_crc:0x12A0, reg_crc:0x77C9 +Testing sub_dreg_d16...2000...4000...6000...8000...10000...done. pre_crc:0x384E, mem_crc:0xBD6A, reg_crc:0xE094 +Testing sub_dreg_absl...2000...4000...6000...8000...10000...done. pre_crc:0x53B9, mem_crc:0x5ACC, reg_crc:0x7545 +Testing subaw_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xDB02, mem_crc:0x0000, reg_crc:0xB02C +Testing subal_reg_areg...2000...4000...6000...8000...10000...done. pre_crc:0xA1B6, mem_crc:0x0000, reg_crc:0xB0EC +Testing suba_ind_areg...2000...4000...6000...8000...10000...done. pre_crc:0x6560, mem_crc:0x0000, reg_crc:0x1946 +Testing suba_d16_areg...2000...4000...6000...8000...10000...done. pre_crc:0x6C54, mem_crc:0x0000, reg_crc:0x968B +Testing suba_absl_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1A31, mem_crc:0x0000, reg_crc:0x8654 +Testing subaw_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x89AF, mem_crc:0x0000, reg_crc:0xD95E +Testing subal_const_areg...2000...4000...6000...8000...10000...done. pre_crc:0x1D3D, mem_crc:0x0000, reg_crc:0x1F16 +Testing subibw_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4719, mem_crc:0x0000, reg_crc:0x7C10 +Testing subil_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x66E0, mem_crc:0x0000, reg_crc:0xB3F2 +Testing subibw_ind...2000...4000...6000...8000...10000...done. pre_crc:0xAF32, mem_crc:0xA377, reg_crc:0xCA0F +Testing subil_ind...2000...4000...6000...8000...10000...done. pre_crc:0xB47E, mem_crc:0xC5A0, reg_crc:0xADD0 +Testing subibw_d16...2000...4000...6000...8000...10000...done. pre_crc:0x4C77, mem_crc:0xE278, reg_crc:0xF843 +Testing subil_d16...2000...4000...6000...8000...10000...done. pre_crc:0x3456, mem_crc:0xE409, reg_crc:0x8F1F +Testing subibw_absl...2000...4000...6000...8000...10000...done. pre_crc:0x1144, mem_crc:0x73DF, reg_crc:0x0AD1 +Testing subil_absl...2000...4000...6000...8000...10000...done. pre_crc:0x7178, mem_crc:0xA603, reg_crc:0x17BD +Testing subq_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xFCA6, mem_crc:0x0000, reg_crc:0x67EF +Testing subq_areg...2000...4000...6000...8000...10000...done. pre_crc:0xB2EF, mem_crc:0x0000, reg_crc:0x8142 +Testing subq_ind...2000...4000...6000...8000...10000...done. pre_crc:0x87B0, mem_crc:0xF7FD, reg_crc:0xB296 +Testing subq_d16...2000...4000...6000...8000...10000...done. pre_crc:0x070E, mem_crc:0x038B, reg_crc:0x557D +Testing subq_absl...2000...4000...6000...8000...10000...done. pre_crc:0xC055, mem_crc:0x5CE2, reg_crc:0x71C9 +Testing subx_reg...2000...4000...6000...8000...10000...done. pre_crc:0x16E2, mem_crc:0x0000, reg_crc:0xABC4 +Testing subx_mem...2000...4000...6000...8000...10000...done. pre_crc:0xAD1F, mem_crc:0x5A3A, reg_crc:0x1B35 +Testing swap...2000...4000...6000...8000...10000...done. pre_crc:0x13BF, mem_crc:0x0000, reg_crc:0xD1F6 +Testing tas_dreg...2000...4000...6000...8000...10000...done. pre_crc:0xB548, mem_crc:0x0000, reg_crc:0x0D51 +Testing tas_ind...2000...4000...6000...8000...10000...done. pre_crc:0x87D7, mem_crc:0x1075, reg_crc:0x1409 +Testing tas_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9720, mem_crc:0x46C7, reg_crc:0xC0F9 +Testing tas_absl...2000...4000...6000...8000...10000...done. pre_crc:0xF539, mem_crc:0xC180, reg_crc:0x1D6A +Testing tstb_dreg...2000...4000...6000...8000...10000...done. pre_crc:0x4DEE, mem_crc:0x0000, reg_crc:0x16A7 +Testing tstwl_reg...2000...4000...6000...8000...10000...done. pre_crc:0xDDAF, mem_crc:0x0000, reg_crc:0xF785 +Testing tstb_ind...2000...4000...6000...8000...10000...done. pre_crc:0x8E37, mem_crc:0x0000, reg_crc:0xEBB4 +Testing tstwl_ind...2000...4000...6000...8000...10000...done. pre_crc:0x7307, mem_crc:0x0000, reg_crc:0xF38B +Testing tstb_d16...2000...4000...6000...8000...10000...done. pre_crc:0x9EB8, mem_crc:0x0000, reg_crc:0x8AFE +Testing tstwl_d16...2000...4000...6000...8000...10000...done. pre_crc:0x6543, mem_crc:0x0000, reg_crc:0x6A4D +Testing tst_absl...2000...4000...6000...8000...10000...done. pre_crc:0x737C, mem_crc:0x0000, reg_crc:0x5CDD diff --git a/test/testall.sh b/test/testall.sh new file mode 100755 index 0000000..c55d52e --- /dev/null +++ b/test/testall.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +set -o errexit -o nounset -o noclobber + +function die () +{ + echo $* 1>&2 + exit 1 +} + +function main () +{ + + local test_count + local crc + local noncc + local notnative + + for ((test_count=1; test_count<1000000000; test_count*=10)); do + for crc in "" "-crc"; do + for noncc in "" "-noncc"; do + for notnative in "" "-notnative"; do + #echo $crc $noncc $notnative > /tmp/pg.$$ + ./tst-i486-linux-glibc.PROBABLY_GOOD $test_count $crc $noncc $notnative >| /tmp/pg.$$ + ./tst-i486-linux-glibc $test_count $crc $noncc $notnative >| /tmp/br.$$ + diff /tmp/pg.$$ /tmp/br.$$ || die $test_count $crc $noncc $notnative + done + done + done + done + +} + +main "$@" diff --git a/test/testqsort.c b/test/testqsort.c new file mode 100644 index 0000000..3fea3c1 --- /dev/null +++ b/test/testqsort.c @@ -0,0 +1,68 @@ +#include "testqsort.h" +#include "callemulator.h" +#include "syn68k_public.h" +#include +#include + +#define ARRAY_SIZE 103 + +#if defined(mc68000) +static int emulator_array[ARRAY_SIZE], real_array[ARRAY_SIZE]; + +/* qsort helper function. */ +static int +compare_ints (const void *n1, const void *n2) +{ + return *(const int *)n1 - *(const int *)n2; +} +#endif + +#ifdef USE_STUB +static void +stub () +{ + qsort (emulator_array, sizeof emulator_array / sizeof emulator_array[0], + sizeof emulator_array[0], compare_ints); +} +#endif + + +void +test_qsort () +{ +#ifndef mc68000 + fputs ("You can't test qsort on a non-68000.\n", stderr); +#else + int i; + + + /* Randomize the array. */ + for (i = 0; i < sizeof real_array / sizeof real_array[0]; i++) + emulator_array[i] = real_array[i] = rand (); + + /* Sort it on the real CPU. */ + qsort (real_array, sizeof real_array / sizeof real_array[0], + sizeof real_array[0], compare_ints); + +#ifndef USE_STUB + /* Sort it under the emulator. */ + call_emulator ((int (*)())qsort, emulator_array, + sizeof emulator_array / sizeof emulator_array[0], + sizeof emulator_array[0], compare_ints); +#else + { + char stack[8192]; + EM_A7 = EM_A6 = &stack[6000]; + CALL_EMULATOR ((syn68k_addr_t) stub); + } +#endif + + + /* Compare the results. */ + if (memcmp (real_array, emulator_array, sizeof real_array)) + fprintf (stderr, "test_qsort failed; emulator gets different " + "results than the real 680x0.\n"); + else + fprintf (stderr, "test_qsort succeeded.\n"); +#endif /* mc68000 */ +} diff --git a/test/testrt.c b/test/testrt.c new file mode 100644 index 0000000..51ab841 --- /dev/null +++ b/test/testrt.c @@ -0,0 +1,95 @@ +/* This file tests the range tree. It has to include private header files + * belonging to the runtime system because there is no official outside + * interface to blocks or to the range tree; don't do this at home. + */ + +#define DEBUG +#include "../runtime/include/block.h" +#include "../runtime/include/rangetree.h" +#include "../runtime/include/destroyblock.h" +#include "../runtime/include/hash.h" +#include "../runtime/include/deathqueue.h" +#include "testrt.h" +#include +#include +#include + +#define MAX_BLOCKS 4096 + +#if defined (__MINGW32__) + +int +random (void) +{ + unsigned int i1, i2, i3; + int retval; + + i1 = (rand () >> 5) & 0x7ff; + i2 = (rand () >> 5) & 0x7ff; + i3 = (rand () >> 5) & 0x7ff; + retval = (i1 << 22) | (i2 << 11) | i3; + return retval; +} + +#endif + +void +test_rangetree () +{ + int i; + + for (i = 1; i <= 1000000; i++) + { + Block *b, *b2; + + if (i % 50 == 0) + printf ("%d...", i), fflush (stdout); + + if (i % 5 == 0) + { + destroy_blocks (0, ~0); +/* range_tree_verify (); */ + } + + b = block_new (); + + b->m68k_code_length = 2; + do + { + b->m68k_start_address = rand () & ~1; + } + while (range_tree_find_first_at_or_after (b->m68k_start_address) != NULL); + + /* Add this block to the end of the death queue. */ + death_queue_enqueue (b); + + b->num_children = 0; + + range_tree_insert (b); + hash_insert (b); + + if (random () & 1) + { + b2 = range_tree_find_first_at_or_after (random ()); + if (b2 != NULL && !b2->immortal) + { + b->child[0] = b2; + block_add_parent (b2, b); + b->num_children = 1; + + if (random () & 1) + { + b2 = range_tree_find_first_at_or_after (random ()); + if (b2 != NULL && b2 != b->child[0] && !b2->immortal) + { + b->child[1] = b2; + block_add_parent (b2, b); + b->num_children = 2; + } + } + } + } + +/* range_tree_verify (); */ + } +} diff --git a/test/tests.c b/test/tests.c new file mode 100644 index 0000000..5df3317 --- /dev/null +++ b/test/tests.c @@ -0,0 +1,4105 @@ +#include "syn68k_public.h" +#include "driver.h" +#include "setup.h" +#include + + +#define TEST(f, cc_mask, size, changes_memory, max_calls) void f (uint16 *code) +#define MEM (US_TO_SYN68K (&mem[0])) +#define MEMEND (US_TO_SYN68K (&mem[MEM_SIZE - 1])) +#define MEMMID (US_TO_SYN68K (&mem[(MEM_SIZE) / 2])) + +#define GNUC_LOSES_WITH_EXPONENTIAL_GROWTH +#ifdef GNUC_LOSES_WITH_EXPONENTIAL_GROWTH +static inline int +MASK (const char *s, int c) +{ + int i, ret; + + for (i = 0, ret = 0; i < 16; i++) + ret |= ((s[i] == c) << (15 - i)); + return ret; +} +#else +#define MASK(s,c) (( (s[0 ] == (c)) << 15) | ((s[1 ] == (c)) << 14) \ + | ((s[2 ] == (c)) << 13) | ((s[3 ] == (c)) << 12) \ + | ((s[4 ] == (c)) << 11) | ((s[5 ] == (c)) << 10) \ + | ((s[6 ] == (c)) << 9) | ((s[7 ] == (c)) << 8) \ + | ((s[8 ] == (c)) << 7) | ((s[9 ] == (c)) << 6) \ + | ((s[10] == (c)) << 5) | ((s[11] == (c)) << 4) \ + | ((s[12] == (c)) << 3) | ((s[13] == (c)) << 2) \ + | ((s[14] == (c)) << 1) | ((s[15] == (c)))) +#endif +#define B(s) MASK(s, '1') +#define R(s) (B(s) | (MASK(s, 'r') & randint (0, 65535))) + +#define NOP_OPCODE 0x4E71 + +#define RANDOM_SIZE() (randint (0, 2) << 6) + +/* The WRITE4 macro does not write out values in big-endian! Rather, it + * writes out the words in big endian format and leaves the bytes within + * each word in whatever format. This is because we always byte swap + * words later, if appropriate. + */ +#define WRITE4(c,n) \ +{ \ + uint32 tmp = (n); \ + code[c] = tmp >> 16; \ + code[(c) + 1] = tmp; \ +} + + + +TEST (unpk_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr110000rrr"); + code[1] = randnum (); +} + + +TEST (unpk_mem, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1000rrr110001rrr"); + code[1] = randnum (); +} + + +TEST (unlk, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint8 *p; + + for (p = mem; p < mem + MEM_SIZE; ) + { + uint32 addr = randint (MEM + 50, MEMEND - 50) & ~1; + *p++ = addr >> 24; + *p++ = addr >> 16; + *p++ = addr >> 8; + *p++ = addr; + } + + /* NOTE: "unlk a7" wedges my 68040 NeXT, so I am skipping that test here. + * "unlk a7" works on a 68030 NeXT, so it may be worth modifying this + * code to test that case when we run it on a non-68040 based machine. + */ + + /* WARNING! Assumes that mem is aligned % 4 */ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 3); + code[0] = R ("0100111001011000") | randint (0, 6); +} + +TEST (movewl_ind_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("001rrrr000000rrr") /* Randomly either word or long. */ + | (randint (2, 4) << 6) /* Random amode [2, 4] */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (divsl_ll_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int divisor_reg = randint (0, 7); + do { EM_DREG (divisor_reg) = randnum ();} while (EM_DREG (divisor_reg) == 0); + code[0] = B ("0100110001000000") | divisor_reg; + code[1] = R ("0rrr1r0000000rrr"); +} + + +TEST (divsl_ll_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("0100110001000rrr") | (randint (2, 4) << 3); + code[1] = R ("0rrr1r0000000rrr"); +} + + +TEST (divsl_ll_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = B ("0100110001111001"); + code[1] = R ("0rrr1r0000000rrr"); + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (lea_pc_ind_preix, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (2, 3), od_size = randint (1, 3); + int scale = randint (0, 3); + + randomize_mem (); + randomize_regs (0, 15, 0, 8 >> scale, (4 >> scale) - 1); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + /* Output the main opcode. */ + code[i] = R ("0100rrr111111011"); + code[i + 1] = (R ("rrrrr0010r000000") | (scale << 9) + | (bd_size << 4) | od_size); + i += 2; + + /* Output the base displacement. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (lea_pc_ind_postix, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (2, 3), od_size = randint (1, 3); + int scale = randint (0, 3); + + randomize_mem (); + randomize_regs (0, 15, -6, 6, 0); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + /* Output the main opcode. */ + code[i] = R ("0100rrr111111011"); + code[i + 1] = (R ("rrrrr0010r000100") | (scale << 9) + | (bd_size << 4) | od_size); + i += 2; + + /* Output the base displacement. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 100, MEMEND - 100)); +} + + +TEST (moveb_pc_ind_preix_dreg, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (2, 3), od_size = randint (1, 3); + int scale = randint (0, 3); + + randomize_mem (); + randomize_regs (0, 15, 0, 8 >> scale, (4 >> scale) - 1); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + /* Output the main opcode. */ + code[i] = R ("0001rrr000111011"); + code[i + 1] = (R ("rrrrr0010r000000") | (scale << 9) + | (bd_size << 4) | od_size); + i += 2; + + /* Output the base displacement. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (moveb_pc_ind_postix_dreg, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (2, 3), od_size = randint (1, 3); + int scale = randint (0, 3); + + randomize_mem (); + randomize_regs (0, 15, -6, 6, 0); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + /* Output the main opcode. */ + code[i] = R ("0001rrr000111011"); + code[i + 1] = (R ("rrrrr0010r000100") | (scale << 9) + | (bd_size << 4) | od_size); + i += 2; + + /* Output the base displacement. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 100, MEMEND - 100)); +} + + +TEST (moveb_pcd16_dreg, ALL_CCS, 6, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = NOP_OPCODE; /* nop */ + code[1] = NOP_OPCODE; /* nop */ + code[2] = R ("0001rrr000111010"); + code[3] = randint (-4, 4); + code[4] = NOP_OPCODE; /* nop */ + code[5] = NOP_OPCODE; /* nop */ +} + + +TEST (movewl_pcd16_dreg, ALL_CCS, 6, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = NOP_OPCODE; /* nop */ + code[1] = NOP_OPCODE; /* nop */ + code[2] = R ("001rrrr000111010"); + code[3] = randint (-4, 4) & ~1; + code[4] = NOP_OPCODE; /* nop */ + code[5] = NOP_OPCODE; /* nop */ +} + + +TEST (moveb_pcd8_dreg, ALL_CCS, 40, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int long_ix = randint (0, 1); /* Are we using a index reg as a long? */ + + randomize_mem (); + randomize_regs (0, 15, -2, 2, 0); + + /* If we have a word sized index, blow away high word of all regs so + * that we know the high word is being properly ignored. + */ + if (!long_ix) + { + for (i = 0; i < 16; i++) + cpu_state.regs[i].ul.n = ((cpu_state.regs[i].ul.n & 0xFFFF) + | (randnum () << 16)); + } + + for (i = 0; i < 20; i++) + code[i] = NOP_OPCODE; /* nop */ + code[i] = R ("0001rrr000111011"); + code[i + 1] = (R ("rrrr0rr000000000") | (long_ix << 11) + | (randint (-4, 4) & 0xFF)); + for (i += 2; i < 40; i++) + code[i] = NOP_OPCODE; /* nop */ +} + + +TEST (movewl_pcd8_dreg, ALL_CCS, 40, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + + randomize_mem (); + randomize_regs (0, 15, -2, 2, 1); + + for (i = 0; i < 20; i++) + code[i] = NOP_OPCODE; /* nop */ + code[i] = R ("001rrrr000111011"); + code[i + 1] = R ("rrrrrrr000000000") | (randint (-4, 4) & 0xFE); + for (i += 2; i < 40; i++) + code[i] = NOP_OPCODE; /* nop */ +} + + +TEST (moveb_pc_ind_ix_dreg, ALL_CCS, 40, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (1, 3); + + randomize_mem (); + randomize_regs (0, 15, -2, 2, 0); + + for (i = 0; i < 20; i++) + code[i] = NOP_OPCODE; /* nop */ + code[i] = R ("0001rrr000111011"); + code[i + 1] = R ("rrrrrrr10r000000") | (bd_size << 4); + switch (bd_size) { + case 1: + i += 2; + break; + case 2: + code[i + 2] = randint (-4, 4); + i += 3; + break; + case 3: + WRITE4 (i + 2, randint (-4, 4)); + i += 4; + break; + } + + for (; i < 40; i++) + code[i] = NOP_OPCODE; /* nop */ +} + + +TEST (movewl_pc_ind_ix_dreg, ALL_CCS, 40, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size = randint (1, 3); + + randomize_mem (); + randomize_regs (0, 15, -2, 2, 1); + + for (i = 0; i < 20; i++) + code[i] = NOP_OPCODE; /* nop */ + code[i] = R ("001rrrr000111011"); + code[i + 1] = R ("rrrrrrr10r000000") | (bd_size << 4); + switch (bd_size) { + case 1: + i += 2; + break; + case 2: + code[i + 2] = randint (-4, 4) & ~1; + i += 3; + break; + case 3: + WRITE4 (i + 2, randint (-4, 4) & ~1); + i += 4; + break; + } + + for (; i < 40; i++) + code[i] = NOP_OPCODE; /* nop */ +} + + +TEST (lea_ind_preix, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size, od_size = randint (1, 3); + int scale = randint (0, 3); + int base_address_reg = randint (0, 7); + int base_suppress = randint (0, 1); + int ixreg_specifier; + + randomize_mem (); + randomize_regs (0, 15, 0, 8 >> scale, (4 >> scale) - 1); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + /* Determine the index reg. Make sure it's not the same as our base reg. */ + do + { + ixreg_specifier = randint (0, 15); + } + while ((ixreg_specifier & 8) && (ixreg_specifier & 7) == base_address_reg); + + if (base_suppress) + bd_size = 3; + else + bd_size = randint (2, 3); + + /* Output the main opcode. */ + code[i] = R ("0100rrr111110000") | base_address_reg; + code[i + 1] = (R ("0000r0010r000000") | (ixreg_specifier << 12) + | (base_suppress << 7) | (scale << 9) | (bd_size << 4) + | od_size); + i += 2; + + /* Put the address of a block of random memory into our base register. */ + cpu_state.regs[8 + base_address_reg].ul.n + = randint (MEM + 32, MEM + 128) & ~1; + + /* Output the base displacement. */ + if (!base_suppress) + { + /* Since we aren't suppressing the base, make this a small offset. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + } + else /* base_suppress */ + { + /* Since we're suppressing the base, we must make it larger and + * point directly to the base of the addresses in which we + * are interested. + */ + WRITE4 (i, MEM + 32 + (randint (0, 50) * 4)); + i += 2; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (lea_ind_postix, ALL_CCS, 50, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int i; + int bd_size, od_size = randint (1, 3); + int scale = randint (0, 3); + int base_address_reg = randint (0, 7); + int base_suppress = randint (0, 1); + int ixreg_specifier = randint (0, 15); + + randomize_mem (); + randomize_regs (0, 15, -1024, 1024, 1); + + /* Put out some initial NOPs */ + for (i = 0; i < 4; i++) + code[i] = NOP_OPCODE; /* nop */ + + if (base_suppress) + bd_size = 3; + else + bd_size = randint (2, 3); + + /* Output the main opcode. */ + code[i] = R ("0100rrr111110000") | base_address_reg; + code[i + 1] = (R ("0000r0010r000100") | (ixreg_specifier << 12) + | (base_suppress << 7) | (scale << 9) | (bd_size << 4) + | od_size); + i += 2; + + /* Put the address of a block of random memory into our base register. */ + cpu_state.regs[8 + base_address_reg].ul.n + = randint (MEM + 32, MEMEND - 128) & ~1; + + /* Output the base displacement. */ + if (!base_suppress) + { + /* Since we aren't suppressing the base, make this a small offset. */ + switch (bd_size) { + case 2: + code[i] = (5 + (od_size - 1)) * 2 + (randint (0, 5) * 4); + i++; + break; + case 3: + WRITE4 (i, (6 + (od_size - 1)) * 2 + (randint (0, 5) * 4)); + i += 2; + break; + } + } + else /* base_suppress */ + { + /* Since we're suppressing the base, we must make it larger and + * point directly to the base of the addresses in which we + * are interested. + */ + WRITE4 (i, MEM + 32 + (randint (0, 50) * 4)); + i += 2; + } + + /* Output outer displacement (if any). */ + switch (od_size) { + case 1: + break; + case 2: + code[i] = randint (-20, 20); + i++; + break; + case 3: + WRITE4 (i, randint (-20, 20)); + i += 2; + break; + } + + /* Skip over array of addresses. */ + code[i] = 0x4EF9; /* jmp absl */ + WRITE4 (i + 1, (unsigned long) (code - (MEMORY_OFFSET / 2) + 50)); + + for (i += 3; i < 49; i += 2) + WRITE4 (i, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (add_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1101rrr000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 8, MEMEND - 8) & ~1); +} + + +TEST (abcd_reg, C_BIT | Z_BIT | X_BIT, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr100000rrr"); +} + + +TEST (abcd_mem, C_BIT | Z_BIT | X_BIT, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1100rrr100001rrr"); +} + + +TEST (addb_dreg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr000000rrr"); +} + + +TEST (addw_reg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr00100rrrr"); +} + + +TEST (addl_reg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr01000rrrr"); +} + + +TEST (add_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrr000101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (addb_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr000111100"); + code[1] = randint (0, 65535); +} + + +TEST (addw_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr001111100"); + code[1] = randint (0, 65535); +} + + +TEST (add_dreg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1101rrr100000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (add_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1101rrr000000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + +TEST (addl_const_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrr010111100"); + WRITE4 (1, randnum ()); +} + + +TEST (add_dreg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (add_dreg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (addaw_reg_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr01100rrrr"); +} + + +TEST (addal_reg_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr11100rrrr"); +} + + +TEST (adda_ind_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1101rrrr11000rrr") /* Random size. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4]; */ +} + + +TEST (adda_d16_areg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrrr11101rrr"); /* Random size. */ + code[1] = randint (-290, 290) & ~1; +} + + +TEST (adda_absl_areg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1101rrrr11111001"); /* Random size. */ + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (addaw_const_areg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr011111100"); + code[1] = randint (0, 65535); +} + + +TEST (addal_const_areg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr111111100"); + code[1] = randint (0, 65535); + code[2] = randint (0, 65535); +} + + +TEST (addibw_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000001100r000rrr"); /* Randomly either byte or word */ + code[1] = randnum (); +} + + +TEST (addil_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000011010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (addibw_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("000001100r000rrr") /* Randomly either byte or word. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ + code[1] = randnum (); +} + + +TEST (addil_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0000011010000rrr") + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ + WRITE4 (1, randnum ()); +} + + +TEST (addibw_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000001100r101rrr"); /* Randomly either byte or word. */ + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (addil_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000011010101rrr"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (addibw_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000001100r111001"); /* Randomly either byte or word. */ + code[1] = randnum (); + + WRITE4 (2, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (addil_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000011010111001"); /* Randomly either byte or word. */ + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (addq_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr000000rrr") | RANDOM_SIZE (); +} + + +TEST (addq_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr000001rrr") | (randint (1, 2) << 6); /* word or long */ +} + + +TEST (addq_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0101rrr000000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* random amode [2, 4] */ +} + + +TEST (addq_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0101rrr000101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (addq_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (addx_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1101rrr100000rrr") | RANDOM_SIZE (); +} + + +TEST (addx_mem, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1101rrr100001rrr") | RANDOM_SIZE (); +} + + +TEST (and_dreg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr000000rrr") | RANDOM_SIZE (); +} + + +TEST (and_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1100rrr000000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); +} + + +TEST (and_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1100rrr000101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (and_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1100rrr000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (andbw_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr00r111100"); /* randomly byte or word */ + code[1] = randnum (); +} + + +TEST (andl_const_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr010111100"); + WRITE4 (1, randnum ()); +} + + +TEST (and_dreg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1100rrr100000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); +} + + +TEST (and_dreg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1100rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (and_dreg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (andibw_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000000100r000rrr"); + code[1] = randnum (); +} + + +TEST (andil_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000001010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (andibw_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000000100r000rrr") | (randint (2, 4) << 3); + code[1] = randnum (); +} + + +TEST (andil_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000001010000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randnum ()); +} + + +TEST (andibw_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000000100r101rrr"); /* randomly either byte or word. */ + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (andil_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000001010101rrr"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (andibw_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000000100r111001"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (andil_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0000001010111001"); + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (andi_to_ccr, ALL_CCS, 2, WONT_CHANGE_MEMORY, 32) +{ + code[0] = B ("0000001000111100"); + code[1] = times_called; +} + + +TEST (asl_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100100rrr") | RANDOM_SIZE (); +} + + +TEST (asl_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100000rrr") | RANDOM_SIZE (); +} + + +TEST (asl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110000111000rrr") | (randint (2, 4) << 3); +} + + +TEST (asl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110000111101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (asl_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110000111111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (asr_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000100rrr") | RANDOM_SIZE (); +} + + +TEST (asr_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000000rrr") | RANDOM_SIZE (); +} + + +TEST (asr_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110000011000rrr") | (randint (2, 4) << 3); +} + + +TEST (asr_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110000011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (asr_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110000011111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (lsl_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100101rrr") | RANDOM_SIZE (); +} + + +TEST (lsl_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100001rrr") | RANDOM_SIZE (); +} + + +TEST (lsl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110001111000rrr") | (randint (2, 4) << 3); +} + + +TEST (lsl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110001111101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (lsl_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110001111111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (lsr_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000101rrr") | RANDOM_SIZE (); +} + + +TEST (lsr_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000001rrr") | RANDOM_SIZE (); +} + + +TEST (lsr_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110001011000rrr") | (randint (2, 4) << 3); +} + + +TEST (lsr_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110001011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (lsr_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110001011111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +#define BCC_TEST_B(bits) \ + code[0] = 0x6004 | ((bits) << 8); /* b?? * + 4 */ \ + code[1] = B ("0111000000000000"); /* moveq #0,d0 */ \ + code[2] = 0x6002; /* bra * + 2 */ \ + code[3] = B ("0111000000000001"); /* moveq #1,d0 */ \ + code[4] = NOP_OPCODE /* nop */ + +TEST (bra_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x0); } +/* 0x1 is reserved for bsr */ +TEST (bhi_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x2); } +TEST (bls_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x3); } +TEST (bcc_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x4); } +TEST (bcs_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x5); } +TEST (bne_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x6); } +TEST (beq_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x7); } +TEST (bvc_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x8); } +TEST (bvs_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0x9); } +TEST (bpl_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xA); } +TEST (bmi_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xB); } +TEST (bge_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xC); } +TEST (blt_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xD); } +TEST (bgt_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xE); } +TEST (ble_b, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) { BCC_TEST_B (0xF); } + +#undef BCC_TEST_B + +#define BCC_TEST_W(bits) \ + code[0] = 0x6000 | ((bits) << 8); /* b?? * + 8 */ \ + code[1] = 0x0006; /* (offset) */ \ + code[2] = B ("0111000000000000"); /* moveq #0,d0 */ \ + code[3] = 0x6002; /* bra * + 2 */ \ + code[4] = B ("0111000000000001"); /* moveq #1,d0 */ \ + code[5] = NOP_OPCODE /* nop */ + +TEST (bra_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x0); } +/* 0x1 is reserved for bsr */ +TEST (bhi_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x2); } +TEST (bls_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x3); } +TEST (bcc_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x4); } +TEST (bcs_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x5); } +TEST (bne_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x6); } +TEST (beq_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x7); } +TEST (bvc_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x8); } +TEST (bvs_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0x9); } +TEST (bpl_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xA); } +TEST (bmi_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xB); } +TEST (bge_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xC); } +TEST (blt_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xD); } +TEST (bgt_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xE); } +TEST (ble_w, ALL_CCS, 6, WONT_CHANGE_MEMORY, 2) { BCC_TEST_W (0xF); } + +#undef BCC_TEST_W + +#define BCC_TEST_L(bits) \ + code[0] = 0x60FF | ((bits) << 8); /* b?? * + 8 */ \ + code[1] = 0x0000; /* (offset hi) */ \ + code[2] = 0x0008; /* (offset lo) */ \ + code[3] = B ("0111000000000000"); /* moveq #0,d0 */ \ + code[4] = 0x6002; /* bra * + 2 */ \ + code[5] = B ("0111000000000001"); /* moveq #1,d0 */ \ + code[6] = NOP_OPCODE /* nop */ + +TEST (bra_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x0); } +/* 0x1 is reserved for bsr */ +TEST (bhi_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x2); } +TEST (bls_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x3); } +TEST (bcc_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x4); } +TEST (bcs_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x5); } +TEST (bne_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x6); } +TEST (beq_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x7); } +TEST (bvc_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x8); } +TEST (bvs_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0x9); } +TEST (bpl_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xA); } +TEST (bmi_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xB); } +TEST (bge_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xC); } +TEST (blt_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xD); } +TEST (bgt_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xE); } +TEST (ble_l, ALL_CCS, 7, WONT_CHANGE_MEMORY, 2) { BCC_TEST_L (0xF); } + +#undef BCC_TEST_L + + +TEST (bchg_reg_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr101000rrr"); +} + + +TEST (bchg_const_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100001000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bchg_reg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000rrr101000rrr") | (randint (2, 4) << 3); +} + + +TEST (bchg_const_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000100001000rrr") | (randint (2, 4) << 3); + code[1] = randint (0, 65535); +} + + +TEST (bchg_reg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr101101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (bchg_const_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000100001101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-290, 290); +} + + +TEST (bchg_reg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr101111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bchg_const_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100001111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bclr_reg_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr110000rrr"); +} + + +TEST (bclr_const_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100010000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bclr_reg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000rrr110000rrr") | (randint (2, 4) << 3); +} + + +TEST (bclr_const_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000100010000rrr") | (randint (2, 4) << 3); + code[1] = randint (0, 65535); +} + + +TEST (bclr_reg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr110101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (bclr_const_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000100010101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-290, 290); +} + + +TEST (bclr_reg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr110111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bclr_const_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100010111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bset_reg_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr111000rrr"); +} + + +TEST (bset_const_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100011000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bset_reg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000rrr111000rrr") | (randint (2, 4) << 3); +} + + +TEST (bset_const_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000100011000rrr") | (randint (2, 4) << 3); + code[1] = randint (0, 65535); +} + + +TEST (bset_reg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr111101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (bset_const_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000100011101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-290, 290); +} + + +TEST (bset_reg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr111111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bset_const_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100011111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (btst_reg_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000rrr100000rrr"); +} + + +TEST (btst_const_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000100000000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (btst_reg_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000rrr100000rrr") | (randint (2, 4) << 3); +} + + +TEST (btst_const_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0000100000000rrr") | (randint (2, 4) << 3); + code[1] = randint (0, 65535); +} + + +TEST (btst_reg_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr100101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (btst_const_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000100000101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-290, 290); +} + + +TEST (btst_reg_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("0000rrr100111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (btst_const_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = B ("0000100000111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 4, MEMEND - 4)); +} + + +TEST (bfchg_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110101011000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfchg_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110101011010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfchg_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110101011101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfchg_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110101011111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfclr_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110110011000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfclr_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110110011010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfclr_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110110011101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfclr_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110110011111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfset_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110111011000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfset_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110111011010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfset_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110111011101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfset_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110111011111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bftst_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110100011000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bftst_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110100011010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bftst_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110100011101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bftst_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110100011111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfexts_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110101111000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfexts_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110101111010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfexts_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110101111101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfexts_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110101111111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfextu_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110100111000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfextu_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110100111010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfextu_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110100111101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfextu_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110100111111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfffo_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110110111000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfffo_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110110111010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfffo_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110110111101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfffo_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_mem (); + code[0] = B ("1110110111111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bfins_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110111111000rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfins_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -250 * 8, 250 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110111111010rrr"); + code[1] = randint (0, 65535); +} + + +TEST (bfins_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); /* Base */ + code[0] = R ("1110111111101rrr"); + code[1] = randint (0, 65535); + code[2] = randint (-130, 130); +} + + +TEST (bfins_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7, -130 * 8, 130 * 8, 0); /* Offset/width */ + code[0] = B ("1110111111111001"); + code[1] = randint (0, 65535); + WRITE4 (2, randint (MEM + 200, MEMEND - 200)); +} + + +TEST (bsr_b, ALL_CCS, 6, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (15, 15, MEM + 50, MEMEND - 50, 1); /* random sp */ + code[0] = 0x6104; /* bsr * + 4 */ + code[1] = 0x5280; /* addql #1,d0 */ + code[2] = 0x6004; /* bra * + 4 */ + code[3] = R ("01110000rrrrrrrr"); /* moveq #,d0 */ + code[4] = 0x4E75; /* rts */ + code[5] = NOP_OPCODE; /* nop */ +} + + +TEST (bsr_w, ALL_CCS, 7, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (15, 15, MEM + 50, MEMEND - 50, 1); /* random sp */ + code[0] = 0x6100; /* bsr * + 6 */ + code[1] = 0x0006; + code[2] = 0x5280; /* addql #1,d0 */ + code[3] = 0x6004; /* bra * + 4 */ + code[4] = R ("01110000rrrrrrrr"); /* moveq #,d0 */ + code[5] = 0x4E75; /* rts */ + code[6] = NOP_OPCODE; /* nop */ +} + + +TEST (bsr_l, ALL_CCS, 8, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (15, 15, MEM + 50, MEMEND - 50, 1); /* random sp */ + code[0] = 0x61FF; /* bsr * + 8 */ + code[1] = 0x0000; + code[2] = 0x0008; + code[3] = 0x5280; /* addql #1,d0 */ + code[4] = 0x6004; /* bra * + 4 */ + code[5] = R ("01110000rrrrrrrr"); /* moveq #,d0 */ + code[6] = 0x4E75; /* rts */ + code[7] = NOP_OPCODE; /* nop */ +} + + +TEST (cas_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0000100011000rrr") + | (randint (1, 3) << 9) /* Random size */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ + code[1] = randint (0, 65535); +} + + +TEST (cas2_areg, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 1); + code[0] = R ("000011r011111100"); /* Randomly either word or long. */ + code[1] = R ("1rrr000rrr000rrr"); + code[2] = R ("1rrr000rrr000rrr"); +} + + +TEST (cas2_anyreg, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (0, 7 + 8, MEM + 50, MEMEND - 50, 1); + code[0] = R ("000011r011111100"); /* Randomly either word or long. */ + code[1] = R ("rrrr000rrr000rrr"); + code[2] = R ("rrrr000rrr000rrr"); +} + + +TEST (clr_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100001000000rrr") | RANDOM_SIZE (); +} + + +TEST (clrb_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100001000000rrr") | (randint (2, 4) << 3); +} + + +TEST (clrwl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0100001000000rrr") + | (randint (1, 2) << 6) /* Randomly either word or long. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (clrb_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100001000111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (clrwl_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100001000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (cmp_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1011rrr000000rrr") | RANDOM_SIZE (); +} + + +TEST (cmp_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1011rrr000001rrr") | RANDOM_SIZE (); +} + + +TEST (cmpb_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1011rrr000000rrr") | (randint (2, 4) << 3); +} + + +TEST (cmpwl_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (7, 7 + 8, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1011rrr000000rrr") + | (randint (1, 2) << 6) /* Randomly either word or long. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (cmpb_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("1011rrr000101rrr"); + code[1] = randint (-250, 250); +} + + +TEST (cmpwl_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1011rrr000101rrr") | (randint (1, 2) << 6); + code[1] = randint (-250, 250) & ~1; +} + + +TEST (cmpa_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1011rrrr1100rrrr"); +} + + +TEST (cmpa_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1011rrrr11000rrr") | (randint (2, 4) << 3); +} + + +/* This compares an arbitrary value in a0 vs. memory indirected through + * some odd register, as opposed to comparing a legitimate address with memory. + */ +TEST (cmpa_ind2, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (9, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1011000r11000rr1") | (randint (2, 4) << 3); +} + + +TEST (cmpa_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1011rrrr11101rrr"); + code[1] = randint (-250, 250) & ~1; +} + + +/* This compares an arbitrary value in a0 vs. memory indirected through + * some odd register, as opposed to comparing a legitimate address with memory. + */ +TEST (cmpa_d16_2, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (9, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1011000r11101rr1"); + code[1] = randint (-250, 250) & ~1; +} + + +TEST (cmpa_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1011rrrr11111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (cmpibw_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000011000r000rrr"); /* Randomly either byte or word. */ + code[1] = randnum (); +} + + +TEST (cmpil_reg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000110010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (cmpib_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + randomize_mem (); + code[0] = R ("0000110000000rrr") | (randint (2, 4) << 3); + code[1] = randnum (); +} + + +TEST (cmpiw_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + randomize_mem (); + code[0] = R ("0000110001000rrr") | (randint (2, 4) << 3); + code[1] = randnum (); +} + + +TEST (cmpil_ind, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + randomize_mem (); + code[0] = R ("0000110010000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randnum ()); +} + + +TEST (cmpmb, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1011rrr100001rrr"); +} + + +TEST (cmpmwl, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1011rrr100001rrr") | (randint (1, 2) << 6); /* Word or long */ +} + + +TEST (cmp2b_ind, X_BIT | Z_BIT | C_BIT, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + randomize_mem (); + code[0] = R ("0000000011010rrr"); + code[1] = randint (0, 15) << 12; +} + + +TEST (cmp2wl_ind, X_BIT | Z_BIT | C_BIT, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + randomize_mem (); + code[0] = R ("0000000011010rrr") | (randint (1, 2) << 9); + code[1] = randint (0, 15) << 12; +} + + +TEST (dbcc, ALL_CCS, 3, WONT_CHANGE_MEMORY, 16) +{ + code[0] = 0x5480; /* addql #2,d0 */ + code[1] = (R ("0101000011001000") /* dbra *-4 */ + | randint (1, 7) + | ((times_called & 0xF) << 8)); + code[2] = -4; +} + + +/* NOTE! All div's are special cased in the test driver so that if the V bit + * is set by the real CPU, the N and Z bits are ignored. + */ +TEST (divs_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1, r2; + + r1 = randint (0, 7); + r2 = (r1 + randint (1, 7)) & 7; + EM_DREG (r1) = randnum (); + do { EM_DREG (r2) = randnum (); } while (cpu_state.regs[r2].uw.n == 0); + code[0] = B ("1000000111000000") | (r1 << 9) | r2; +} + + +TEST (divs_same_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1; + r1 = randint (0, 7); + + do { EM_DREG (r1) = randnum (); } while (cpu_state.regs[r1].uw.n == 0); + code[0] = B ("1000000111000000") | (r1 << 9) | r1; +} + + +TEST (divs_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("1000rrr111000rrr") | (randint (2, 4) << 3); +} + + +TEST (divs_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("1000rrr111111001") | (randint (2, 4) << 3); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (divu_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1, r2; + + r1 = randint (0, 7); + r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + EM_DREG (r1) = randnum (); + do { EM_DREG (r2) = randnum (); } while (cpu_state.regs[r2].uw.n == 0); + code[0] = B ("1000000011000000") | (r1 << 9) | r2; +} + + +TEST (divu_same_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1; + r1 = randint (0, 7); + do { EM_DREG (r1) = randnum (); } while (cpu_state.regs[r1].uw.n == 0); + code[0] = B ("1000000011000000") | (r1 << 9) | r1; +} + + +TEST (divu_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("1000rrr011000rrr") | (randint (2, 4) << 3); +} + + +TEST (divu_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("1000rrr011111001") | (randint (2, 4) << 3); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (divul_ll_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int divisor_reg = randint (0, 7); + do + { + EM_DREG (divisor_reg) = randnum (); + } + while (EM_DREG (divisor_reg) == 0); + code[0] = B ("0100110001000000") | divisor_reg; + code[1] = R ("0rrr0r0000000rrr"); +} + + +TEST (divul_ll_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = R ("0100110001000rrr") | (randint (2, 4) << 3); + code[1] = R ("0rrr0r0000000rrr"); +} + + +TEST (divul_ll_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint16 *p; + int i; + + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + for (i = 0, p = (uint16 *)mem; i < MEM_SIZE / sizeof (uint16); i++) + *p++ = SWAPUW_IFLE (randint (1, 65535)); + code[0] = B ("0100110001111001"); + code[1] = R ("0rrr0r0000000rrr"); + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (eor_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1011rrr100000rrr") | RANDOM_SIZE (); +} + + +TEST (eor_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1011rrr100000rrr") + | RANDOM_SIZE () + | randint (2, 4) << 3); +} + + +TEST (eor_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1011rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-250, 250) & ~1; +} + + +TEST (eor_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1011rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (eoribw_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000010100r000rrr"); + code[1] = randnum (); +} + + +TEST (eoril_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000101010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (eoribw_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000010100r000rrr") | (randint (2, 4) << 3); + code[1] = randnum (); +} + + +TEST (eoril_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000101010000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randnum ()); +} + + +TEST (eoribw_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000010100r101rrr"); /* randomly either byte or word. */ + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (eoril_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000101010101rrr"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (eoribw_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000010100r111001"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (eoril_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0000101010111001"); + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (eori_to_ccr, ALL_CCS, 2, WONT_CHANGE_MEMORY, 32) +{ + code[0] = B ("0000101000111100"); + code[1] = times_called; +} + + +TEST (exg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + static int mode[] = { 8, 9, 17 }; + code[0] = R ("1100rrr100000rrr") | (mode[randint (0, 2)] << 3); +} + + +TEST (ext, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + static int mode[] = { 2, 3, 7 }; + code[0] = R ("0100100000000rrr") | (mode[randint (0, 2)] << 6); +} + + +TEST (jmp_absl, ALL_CCS, 5, WONT_CHANGE_MEMORY, 2) +{ + code[0] = B ("0100111011111001"); + WRITE4 (1, US_TO_SYN68K (&code[4])); + code[3] = 0x5480; /* addql #2,d0 */ + code[4] = 0x5480; /* addql #2,d0 */ +} + + +TEST (jmp_ind, ALL_CCS, 3, WONT_CHANGE_MEMORY, 8) +{ + EM_AREG (times_called & 7) = US_TO_SYN68K (&code[2]); + code[0] = B ("0100111011010000") | (times_called & 7); + code[1] = 0x5480; /* addql #2,d0 */ + code[2] = 0x5480; /* addql #2,d0 */ +} + + +TEST (jmp_d16, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_AREG (times_called & 7) = randint (US_TO_SYN68K (&code[3] - 100), + US_TO_SYN68K (&code[3] + 100)) & ~1; + code[0] = B ("0100111011101000") | (times_called & 7); + code[1] = US_TO_SYN68K (&code[3]) - EM_AREG (times_called & 7); + code[2] = 0x5480; /* addql #2,d0 */ + code[3] = 0x5480; /* addql #2,d0 */ +} + + +TEST (jsr_absl, ALL_CCS, 7, MIGHT_CHANGE_MEMORY, 2) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = B ("0100111010111001"); + WRITE4 (1, US_TO_SYN68K (&code[6])); + code[3] = 0x5480; /* addql #2,d0 */ + code[4] = 0x5480; /* addql #2,d0 */ + code[5] = 0x6002; /* bra *+2 */ + code[6] = 0x4E75; /* rts */ +} + + +TEST (jsr_ind, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, 8) +{ + EM_AREG (times_called % 7) = US_TO_SYN68K (&code[4]); + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = B ("0100111010010000") | (times_called % 7); + code[1] = 0x5480; /* addql #2,d0 */ + code[2] = 0x5480; /* addql #2,d0 */ + code[3] = 0x6002; /* bra *+2 */ + code[4] = 0x4E75; /* rts */ +} + + +TEST (jsr_d16, ALL_CCS, 6, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_AREG (times_called % 7) = randint (US_TO_SYN68K (&code[5] - 100), + US_TO_SYN68K (&code[5] + 100)) & ~1; + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = B ("0100111010101000") | (times_called % 7); + code[1] = US_TO_SYN68K (&code[5]) - EM_AREG (times_called % 7); + code[2] = 0x5480; /* addql #2,d0 */ + code[3] = 0x5480; /* addql #2,d0 */ + code[4] = 0x6002; /* bra *+2 */ + code[5] = 0x4E75; /* rts */ +} + + +TEST (lea_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100rrr111010rrr"); +} + + +TEST (lea_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100rrr111101rrr"); + code[1] = randnum (); +} + + +TEST (lea_absw, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100rrr111111000"); + code[1] = randnum (); +} + + +TEST (lea_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100rrr111111001"); + WRITE4 (1, randnum ()); +} + + +TEST (linkw, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = R ("0100111001010rrr"); + code[1] = randnum (); +} + + +TEST (linkl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = R ("0100100000001rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (move16_postinc_postinc, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1111011000100rrr"); + code[1] = R ("1rrr000000000000"); +} + + +TEST (move16_absl_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1111011000011rrr"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (move16_absl_postinc, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1111011000001rrr"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (move16_ind_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1111011000010rrr"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (move16_postinc_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1111011000000rrr"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (moveb_dreg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0001rrr000000rrr"); +} + + +TEST (movewl_reg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("001rrrr00000rrrr"); /* Randomly either word or long. */ +} + + +TEST (moveb_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = (R ("0001rrr000000rrr") + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (movewl_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("001rrrr000000rrr") /* Randomly word or long. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (moveb_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (movewl_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr000101rrr"); /* Randomly either word or long. */ + code[1] = randint (-290, 290) & ~1; +} + + +TEST (moveb_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("0001rrr000111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("001rrrr000111001"); /* Randomly either word or long. */ + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (movebw_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("00r1rrr000111100"); /* Randomly either byte or word. */ + code[1] = randnum (); +} + + +TEST (movel_const_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0010rrr000111100"); + WRITE4 (1, randnum ()); +} + + +TEST (moveb_dreg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = (R ("0001rrr000000rrr") + | (randint (2, 4) << 6)); /* Random amode [2, 4] */ +} + + +TEST (movewl_reg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("001rrrr00000rrrr") /* Randomly word or long. */ + | (randint (2, 4) << 6)); /* Random amode [2, 4] */ +} + + +TEST (moveb_dreg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr101000rrr"); + code[1] = randint (-290, 290); +} + + +TEST (movewl_reg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr10100rrrr"); /* Randomly either word or long. */ + code[1] = randint (-290, 290) & ~1; +} + + +TEST (moveb_dreg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0001001111000rrr"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_reg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("001r00111100rrrr"); /* Randomly either word or long. */ + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveb_ind_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = (R ("0001rrr000000rrr") + | (randint (2, 4) << 6) + | (randint (2, 4) << 3)); +} + + +TEST (moveb_ind_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr101000rrr") | (randint (2, 4) << 3); + code[1] = randint (-290, 290); +} + + +TEST (moveb_d16_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr000101rrr") | (randint (2, 4) << 6); + code[1] = randint (-290, 290); +} + + +TEST (movewl_ind_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr101000rrr") | (randint (2, 4) << 3); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (movewl_d16_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr000101rrr") | (randint (2, 4) << 6); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (moveb_d16_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr101101rrr"); + code[1] = randint (-290, 290); + code[2] = randint (-290, 290); +} + + +TEST (movewl_d16_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr101101rrr"); + code[1] = randint (-290, 290) & ~1; + code[2] = randint (-290, 290) & ~1; +} + + +TEST (moveb_ind_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0001001111000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_ind_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("001r001111000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveb_absl_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0001rrr000111001") | (randint (2, 4) << 6); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_absl_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("001rrrr000111001") | (randint (2, 4) << 6); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveb_absl_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0001001111111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); + WRITE4 (3, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_absl_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("001r001111111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); + WRITE4 (3, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveb_d16_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001001111101rrr"); + code[1] = randint (-290, 290); + WRITE4 (2, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (movewl_d16_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001r001111101rrr"); + code[1] = randint (-290, 290) & ~1; + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveb_absl_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr101111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); + code[3] = randint (-290, 290); +} + + +TEST (movewl_absl_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr101111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (moveb_const_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0001rrr000111100") | (randint (2, 4) << 6); + code[1] = randnum (); +} + + +TEST (moveb_const_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0001rrr101111100"); + code[1] = randnum (); + code[2] = randint (-290, 290); +} + + +TEST (moveb_const_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0001001111111100"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (movew_const_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0011rrr000111100") | (randint (2, 4) << 6); + code[1] = randnum (); +} + + +TEST (movew_const_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0011rrr101111100"); + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (movew_const_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0011001111111100"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (movel_const_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0010rrr000111100") | (randint (2, 4) << 6); + WRITE4 (1, randnum ()); +} + + +TEST (movel_const_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0010rrr101111100"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (movel_const_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0010001111111100"); + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (movea_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("001rrrr00100rrrr"); +} + + +TEST (movea_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("001rrrr001000rrr") | (randint (2, 4) << 3); +} + + +TEST (movea_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("001rrrr001101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (movea_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("001rrrr001111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (moveaw_const, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0011rrr001111100"); + code[1] = randnum (); +} + + +TEST (moveal_const, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0010rrr001111100"); + WRITE4 (1, randnum ()); +} + + +TEST (move_from_ccr_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100001011000rrr"); +} + + +TEST (move_from_ccr_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0100001011000rrr") | (randint (2, 4) << 3); +} + + +TEST (move_from_ccr_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0100001011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (move_to_ccr_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100010011000rrr"); +} + + +TEST (move_to_ccr_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0100010011000rrr") | (randint (2, 4) << 3); +} + + +TEST (movem_to_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + int indreg = randint (0, 7); + EM_AREG (indreg) = randint (MEM + 100, MEMEND - 100) & ~1; + code[0] = R ("010010001r010000") | indreg; + code[1] = randnum (); +} + + +TEST (movem_to_predec, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + int indreg = randint (0, 7); + EM_AREG (indreg) = randint (MEM + 100, MEMEND - 100) & ~1; + code[0] = R ("010010001r100000") | indreg; + code[1] = randnum (); +} + + +TEST (movem_to_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + int indreg = randint (0, 7); + EM_AREG (indreg) = randint (MEM + 500, MEMEND - 500) & ~1; + code[0] = R ("010010001r101000") | indreg; + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (movem_to_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("010010001r111001"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 100, MEMEND - 100) & ~1); +} + + +TEST (movem_from_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int indreg = randint (0, 7); + randomize_mem (); + EM_AREG (indreg) = randint (MEM + 500, MEMEND - 500) & ~1; + code[0] = R ("010011001r101000") | indreg; + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (movem_from_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int indreg = randint (0, 7); + randomize_mem (); + EM_AREG (indreg) = randint (MEM + 100, MEMEND - 100) & ~1; + code[0] = R ("010011001r01r000") | indreg; /* Randomly an@ or an@+ */ + code[1] = randnum (); +} + + +TEST (movem_from_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("010011001r111001"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 100, MEMEND - 100) & ~1); +} + + +TEST (movep_to_mem, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr11r001rrr"); + code[1] = randint (-290, 290); +} + + +TEST (movep_from_mem, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0000rrr10r001rrr"); + code[1] = randint (-290, 290); +} + + +TEST (moveq, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0111rrr0rrrrrrrr"); +} + + +TEST (mulsw_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr111000rrr"); +} + + +TEST (mulsw_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1100rrr111000rrr") | (randint (2, 4) << 3); +} + + +TEST (mulsw_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1100rrr111101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (mulsw_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1100rrr111111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (muluw_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1100rrr011000rrr"); +} + + +TEST (muluw_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1100rrr011000rrr") | (randint (2, 4) << 3); +} + + +TEST (muluw_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1100rrr011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (muluw_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1100rrr011111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (mulsl_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + code[0] = R ("0100110000000rrr"); + code[1] = R ("00001r0000000000") | (r1 << 12) | r2; +} + + +TEST (mulsl_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0100110000000rrr") | (randint (2, 4) << 3); + code[1] = R ("00001r0000000000") | (r1 << 12) | r2; +} + + +TEST (mulsl_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0100110000101rrr"); + code[1] = R ("00001r0000000000") | (r1 << 12) | r2; + code[2] = randint (-290, 290) & ~1; +} + + +TEST (mulsl_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + code[0] = B ("0100110000111001"); + code[1] = R ("00001r0000000000") | (r1 << 12) | r2; + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (mulul_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + code[0] = R ("0100110000000rrr"); + code[1] = R ("00000r0000000000") | (r1 << 12) | r2; +} + + +TEST (mulul_ind, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("0100110000000rrr") | (randint (2, 4) << 3); + code[1] = R ("00000r0000000000") | (r1 << 12) | r2; +} + + +TEST (mulul_d16, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0100110000101rrr"); + code[1] = R ("00000r0000000000") | (r1 << 12) | r2; + code[2] = randint (-290, 290) & ~1; +} + + +TEST (mulul_absl, ALL_CCS, 4, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + int r1 = randint (0, 7); + int r2 = (r1 + randint (1, 7)) & 7; /* Assure r1 != r2 */ + randomize_mem (); + code[0] = R ("0100110000111001"); + code[1] = R ("00000r0000000000") | (r1 << 12) | r2; + WRITE4 (2, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (nbcd_reg, X_BIT | Z_BIT | C_BIT, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100100000000rrr"); +} + + +TEST (nbcd_ind, X_BIT | Z_BIT | C_BIT, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100100000000rrr") | (randint (2, 4) << 3); +} + + +TEST (nbcd_d16, X_BIT | Z_BIT | C_BIT, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100100000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (nbcd_absl, X_BIT | Z_BIT | C_BIT, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100100000111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (neg_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100010000000rrr") | RANDOM_SIZE (); +} + + +TEST (negb_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100010000000rrr") | (randint (2, 4) << 3); +} + + +TEST (negwl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0100010000000rrr") + | (randint (2, 4) << 3) + | (randint (1, 2) << 6)); +} + + +TEST (negb_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100010000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (negwl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = (R ("0100010000101rrr") | (randint (1, 2) << 6)); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (neg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100010000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (negx_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100000000000rrr") | RANDOM_SIZE (); +} + + +TEST (negxb_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100000000000rrr") | (randint (2, 4) << 3); +} + + +TEST (negxwl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0100000000000rrr") + | (randint (2, 4) << 3) + | (randint (1, 2) << 6)); +} + + +TEST (negxb_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100000000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (negxwl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = (R ("0100000000101rrr") | (randint (1, 2) << 6)); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (negx_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100000000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (nop, ALL_CCS, 1, WONT_CHANGE_MEMORY, 1) +{ + code[0] = B ("0100111001110001"); +} + + +TEST (not_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100011000000rrr") | RANDOM_SIZE (); +} + + +TEST (notb_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100011000000rrr") | (randint (2, 4) << 3); +} + + +TEST (notwl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0100011000000rrr") + | (randint (2, 4) << 3) + | (randint (1, 2) << 6)); +} + + +TEST (notb_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100011000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (notwl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = (R ("0100011000101rrr") | (randint (1, 2) << 6)); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (not_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100011000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} + + +TEST (or_dreg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr000000rrr") | RANDOM_SIZE (); +} + + +TEST (or_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1000rrr000000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); +} + + +TEST (or_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1000rrr000101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (or_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("1000rrr000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (orbw_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr00r111100"); /* randomly byte or word */ + code[1] = randnum (); +} + + +TEST (orl_const_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr010111100"); + WRITE4 (1, randnum ()); +} + + +TEST (or_dreg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1000rrr100000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); +} + + +TEST (or_dreg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1000rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (or_dreg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (oribw_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000000000r000rrr"); + code[1] = randnum (); +} + + +TEST (oril_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000000010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (oribw_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000000000r000rrr") | (randint (2, 4) << 3); + code[1] = randnum (); +} + + +TEST (oril_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000000010000rrr") | (randint (2, 4) << 3); + WRITE4 (1, randnum ()); +} + + +TEST (oribw_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000000000r101rrr"); /* randomly either byte or word. */ + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (oril_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000000010101rrr"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (oribw_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000000000r111001"); + code[1] = randnum (); + WRITE4 (2, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (oril_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0000000010111001"); + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (ori_to_ccr, ALL_CCS, 2, WONT_CHANGE_MEMORY, 32) +{ + code[0] = B ("0000000000111100"); + code[1] = times_called; +} + + +TEST (pack_reg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr101000rrr"); + code[1] = randnum (); +} + + +TEST (pack_mem, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1000rrr101001rrr"); + code[1] = randnum (); +} + + +TEST (pea_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = R ("0100100001010rrr"); +} + + +TEST (pea_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = R ("0100100001101rrr"); + code[1] = randnum (); +} + + +TEST (pea_absw, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = B ("0100100001111000"); + code[1] = randnum (); +} + + +TEST (pea_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + code[0] = B ("0100100001111001"); + WRITE4 (1, randnum ()); +} + + +TEST (rol_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100111rrr") | RANDOM_SIZE (); +} + + +TEST (rol_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100011rrr") | RANDOM_SIZE (); +} + + +TEST (rol_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110011111000rrr") | (randint (2, 4) << 3); +} + + +TEST (rol_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110011111101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (rol_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110011111111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (ror_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000111rrr") | RANDOM_SIZE (); +} + + +TEST (ror_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000011rrr") | RANDOM_SIZE (); +} + + +TEST (ror_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110011011000rrr") | (randint (2, 4) << 3); +} + + +TEST (ror_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110011011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (ror_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110011011111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (roxl_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100110rrr") | RANDOM_SIZE (); +} + + +TEST (roxl_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr100010rrr") | RANDOM_SIZE (); +} + + +TEST (roxl_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110010111000rrr") | (randint (2, 4) << 3); +} + + +TEST (roxl_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110010111101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (roxl_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110010111111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (roxr_dx_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000110rrr") | RANDOM_SIZE (); +} + + +TEST (roxr_const_dy, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1110rrr000010rrr") | RANDOM_SIZE (); +} + + +TEST (roxr_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1110010011000rrr") | (randint (2, 4) << 3); +} + + +TEST (roxr_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1110010011101rrr"); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (roxr_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("1110010011111001"); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (rtd, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint32 addr; + randomize_mem (); + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + addr = US_TO_SYN68K (&code[2]); + ((uint8 *)(SYN68K_TO_US (EM_A7)))[0] = addr >> 24; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[1] = addr >> 16; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[2] = addr >> 8; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[3] = addr; + code[0] = B ("0100111001110100"); + code[1] = randnum (); +} + + +TEST (rtr, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint32 addr, randcc; + randomize_mem (); + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + + addr = US_TO_SYN68K (&code[1]); + randcc = randnum (); + + ((uint8 *)(SYN68K_TO_US (EM_A7)))[0] = randcc >> 8; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[1] = randcc; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[2] = addr >> 24; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[3] = addr >> 16; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[4] = addr >> 8; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[5] = addr; + code[0] = B ("0100111001110111"); +} + + +TEST (rts, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + uint32 addr; + randomize_mem (); + EM_A7 = randint (MEM + 50, MEMEND - 50) & ~1; + addr = US_TO_SYN68K (&code[1]); + ((uint8 *)(SYN68K_TO_US (EM_A7)))[0] = addr >> 24; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[1] = addr >> 16; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[2] = addr >> 8; + ((uint8 *)(SYN68K_TO_US (EM_A7)))[3] = addr; + code[0] = B ("0100111001110101"); +} + + +TEST (sbcd_reg, X_BIT | Z_BIT | C_BIT, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1000rrr100000rrr"); +} + + +TEST (sbcd_mem, X_BIT | Z_BIT | C_BIT, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("1000rrr100001rrr"); +} + + +TEST (Scc_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrrr11000rrr"); +} + + +TEST (Scc_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0101rrrr11000rrr") | (randint (2, 4) << 3); +} + + +TEST (Scc_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0101rrrr11101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (Scc_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrrr11111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (subb_dreg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr000000rrr"); +} + + +TEST (subw_reg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr00100rrrr"); +} + + +TEST (subl_reg_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr01000rrrr"); +} + + +TEST (sub_ind_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1001rrr000000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (sub_d16_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrr000101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (sub_absl_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrr000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subb_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr000111100"); + code[1] = randint (0, 65535); +} + + +TEST (subw_const_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr001111100"); + code[1] = randint (0, 65535); +} + + +TEST (subl_const_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrr010111100"); + code[1] = randint (0, 65535); + code[2] = randint (0, 65535); +} + + +TEST (sub_dreg_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1001rrr100000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (sub_dreg_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (sub_dreg_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subaw_reg_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr01100rrrr"); +} + + +TEST (subal_reg_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr11100rrrr"); +} + + +TEST (suba_ind_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("1001rrrr11000rrr") /* Random size. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4]; */ +} + + +TEST (suba_d16_areg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrrr11101rrr"); /* Random size. */ + code[1] = randint (-290, 290) & ~1; +} + + +TEST (suba_absl_areg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("1001rrrr11111001"); /* Random size. */ + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subaw_const_areg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr011111100"); + code[1] = randint (0, 65535); +} + + +TEST (subal_const_areg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr111111100"); + code[1] = randint (0, 65535); + code[2] = randint (0, 65535); +} + + +TEST (subibw_dreg, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000001000r000rrr"); /* Randomly either byte or word */ + code[1] = randnum (); +} + + +TEST (subil_dreg, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000010010000rrr"); + WRITE4 (1, randnum ()); +} + + +TEST (subibw_ind, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("000001000r000rrr") /* Randomly either byte or word. */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ + code[1] = randnum (); +} + + +TEST (subil_ind, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0000010010000rrr") + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ + WRITE4 (1, randnum ()); +} + + +TEST (subibw_d16, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("000001000r101rrr"); /* Randomly either byte or word. */ + code[1] = randnum (); + code[2] = randint (-290, 290) & ~1; +} + + +TEST (subil_d16, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0000010010101rrr"); + WRITE4 (1, randnum ()); + code[3] = randint (-290, 290) & ~1; +} + + +TEST (subibw_absl, ALL_CCS, 4, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("000001000r111001"); /* Randomly either byte or word. */ + code[1] = randnum (); + + WRITE4 (2, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subil_absl, ALL_CCS, 5, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0000010010111001"); /* Randomly either byte or word. */ + WRITE4 (1, randnum ()); + WRITE4 (3, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subq_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr100000rrr") | RANDOM_SIZE (); +} + + +TEST (subq_areg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr100001rrr") | (randint (1, 2) << 6); /* word or long */ +} + + +TEST (subq_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0101rrr100000rrr") + | RANDOM_SIZE () + | (randint (2, 4) << 3)); /* random amode [2, 4] */ +} + + +TEST (subq_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0101rrr100101rrr") | RANDOM_SIZE (); + code[1] = randint (-290, 290) & ~1; +} + + +TEST (subq_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0101rrr100111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 4, MEMEND - 4) & ~1); +} + + +TEST (subx_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("1001rrr100000rrr") | RANDOM_SIZE (); +} + + +TEST (subx_mem, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = R ("1001rrr100001rrr") | RANDOM_SIZE (); +} + + +TEST (swap, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100100001000rrr"); +} + + +TEST (tas_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = R ("0100101011000rrr"); +} + + +TEST (tas_ind, ALL_CCS, 1, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100101011000rrr") | (randint (2, 4) << 3); +} + + +TEST (tas_d16, ALL_CCS, 2, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100101011101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (tas_absl, ALL_CCS, 3, MIGHT_CHANGE_MEMORY, NO_LIMIT) +{ + code[0] = B ("0100101011111001"); + WRITE4 (1, randint (MEM + 50, MEMEND - 50)); +} + + +TEST (tstb_dreg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("0100101000000rrr"); +} + + +TEST (tstwl_reg, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = R ("010010100000rrrr") | (randint (1, 2) << 6); +} + + +TEST (tstb_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 0); + code[0] = R ("0100101000000rrr") | (randint (2, 4) << 3); +} + + +TEST (tstwl_ind, ALL_CCS, 1, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 50, MEMEND - 50, 1); + code[0] = (R ("0100101000000rrr") + | (randint (1, 2) << 6) /* Randomly word or long */ + | (randint (2, 4) << 3)); /* Random amode [2, 4] */ +} + + +TEST (tstb_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 0); + code[0] = R ("0100101000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (tstwl_d16, ALL_CCS, 2, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + randomize_regs (8, 8 + 7, MEM + 300, MEMEND - 300, 1); + code[0] = R ("0100101000101rrr"); + code[1] = randint (-290, 290); +} + + +TEST (tst_absl, ALL_CCS, 3, WONT_CHANGE_MEMORY, NO_LIMIT) +{ + randomize_mem (); + code[0] = B ("0100101000111001") | RANDOM_SIZE (); + WRITE4 (1, randint (MEM + 50, MEMEND - 50) & ~1); +} diff --git a/test/testtrap.c b/test/testtrap.c new file mode 100644 index 0000000..53fefc4 --- /dev/null +++ b/test/testtrap.c @@ -0,0 +1,75 @@ +#include "testtrap.h" +#include "syn68k_public.h" +#include "callemulator.h" +#include + +#ifdef mc68000 +static void test_aline_traps (void); +#endif +static void test_callbacks (void); + +void +test_traps () +{ +#ifdef mc68000 + test_aline_traps (); +#endif + test_callbacks (); +} + + +static uint32 +handle_callback (uint32 addr, void *arg) +{ + printf ("Callback: addr == 0x%08lX, arg == %p\n", addr, arg); + return MAGIC_EXIT_EMULATOR_ADDRESS; +} + + +static void +test_callbacks () +{ + uint32 callback_addr[10]; + int i, j; + + for (i = 0; i < 10; i++) + callback_addr[i] = callback_install (handle_callback, (void *) i); + + for (j = 0; j < 2; j++) + for (i = 0; i < 10; i++) + interpret_code (hash_lookup_code_and_create_if_needed + (callback_addr[i])); +} + +#ifdef mc68000 +static uint32 +catch_aline_trap (uint32 m68k_addr, void *unused) +{ + printf ("Hit a-line trap 0x%04X\n", + (unsigned)*(uint16 *)(SYN68K_TO_US (m68k_addr))); + return m68k_addr + 2; +} + + +static int +aline_trap_death () +{ + int i, result = 91; + asm (".word 0xA000"); + for (i = 0; i < 5; i++) + { + asm (".word 0xA003"); + result += i * 3; + } + asm (".word 0xA001"); + return result; +} + + +static void +test_aline_traps () +{ + trap_install_handler (10, catch_aline_trap, NULL); + call_emulator (aline_trap_death); +} +#endif