From eac71db4886803fcbccc07f4f9bdd4c2a713ab5c Mon Sep 17 00:00:00 2001 From: "Clifford T. Matthews" Date: Fri, 26 Sep 2008 08:25:10 -0600 Subject: [PATCH] Syn68k from an svn export --- AUTHORS | 5 + COPYING | 24 + ChangeLog | 6 + Makefile.am | 3 + Makefile.common.in | 488 ++ NEWS | 6 + README | 6 + TODO | 41 + TODO.variables | 42 + autogen.sh | 10 + config/Makefile.common.alpha | 24 + config/Makefile.common.alpha.orig | 7 + config/Makefile.common.i386-msdos-go32 | 18 + .../Makefile.common.i386-next-mach-o.dynamic | 17 + .../Makefile.common.i386-next-mach-o.static | 17 + config/Makefile.common.i386-pc-mingw32 | 18 + config/Makefile.common.i486-cygwin32 | 18 + config/Makefile.common.i486-cygwin32.debug | 21 + config/Makefile.common.i486-linux-a.out | 17 + config/Makefile.common.i486-linux-a.out-debug | 23 + config/Makefile.common.i486-linux-elf | 17 + .../Makefile.common.i486-linux-elf-nonnative | 20 + config/Makefile.common.i486-linux-elf.debug | 17 + config/Makefile.common.i486-linux-glibc | 18 + config/Makefile.common.i486-linux-glibc-ccr8 | 19 + config/Makefile.common.i486-linux-glibc-debug | 19 + ...Makefile.common.i486-linux-glibc-nonnative | 20 + .../Makefile.common.i486-linux-glibc-slowccr | 19 + config/Makefile.common.i486-linux-slam | 25 + config/Makefile.common.i486-new-cygwin32 | 18 + .../Makefile.common.i486-new-cygwin32.debug | 21 + config/Makefile.common.i486-next-ns3 | 17 + config/Makefile.common.i586-cygwin32 | 18 + config/Makefile.common.i586-cygwin32.debug | 18 + config/Makefile.common.i860 | 5 + config/Makefile.common.m68k-next-ns3 | 13 + config/Makefile.common.powerpc-linux-glibc | 21 + .../Makefile.common.powerpc-linux-glibc-debug | 21 + configure.ac | 143 + include/safe_alloca.h | 55 + include/syn68k_private.h.in | 290 + include/syn68k_public.h | 681 ++ profile/Makefile.am | 15 + profile/amode.c | 37 + profile/frequency.c | 43 + profile/include/amode.h | 6 + profile/include/bucket.h | 16 + profile/include/frequency.h | 6 + profile/include/readprofile.h | 9 + profile/main.c | 23 + profile/makebucket.c | 147 + profile/readprofile.c | 39 + runtime/68k.defines.scm | 412 ++ runtime/68k.scm | 6525 +++++++++++++++++ runtime/Makefile.am | 78 + runtime/TODO | 6 + runtime/alloc.c | 60 + runtime/backpatch.c | 119 + runtime/block.c | 312 + runtime/blockinfo.c | 283 + runtime/callback.c | 186 + runtime/checksum.c | 11 + runtime/deathqueue.c | 49 + runtime/destroyblock.c | 268 + runtime/diagnostics.c | 83 + runtime/dosinterrupts.c | 48 + runtime/fold.pl | 177 + runtime/hash.c | 227 + runtime/i486-cleanup.pl | 36 + runtime/i486-optimize.pl | 69 + runtime/include/alloc.h | 10 + runtime/include/backpatch.h | 21 + runtime/include/block.h | 62 + runtime/include/blockinfo.h | 18 + runtime/include/callback.h | 23 + runtime/include/ccfuncs.h | 252 + runtime/include/checksum.h | 68 + runtime/include/deathqueue.h | 10 + runtime/include/destroyblock.h | 10 + runtime/include/diagnostics.h | 13 + runtime/include/hash.h | 28 + runtime/include/interrupt.h | 8 + runtime/include/mapping.h | 9 + runtime/include/native.h | 300 + runtime/include/profile.h | 13 + runtime/include/rangetree.h | 20 + runtime/include/recompile.h | 26 + runtime/include/translate.h | 30 + runtime/include/trap.h | 61 + runtime/init.c | 128 + runtime/interrupt.c | 103 + runtime/native.c | 684 ++ runtime/native/i386/Makefile.am | 80 + runtime/native/i386/analyze.c | 844 +++ runtime/native/i386/host-native.c | 617 ++ runtime/native/i386/host-native.h | 84 + runtime/native/i386/i386-aux.c | 3105 ++++++++ runtime/native/i386/i386-aux.h | 660 ++ runtime/native/i386/i386-isa.h | 665 ++ runtime/native/i386/main.c | 89 + runtime/native/i386/process.c | 494 ++ runtime/native/i386/process.h | 10 + runtime/native/i386/template.c | 1557 ++++ runtime/native/i386/template.h | 51 + runtime/native/i386/xlate-aux.c | 1697 +++++ runtime/native/i386/xlate-aux.h | 138 + runtime/native/i386/xlate.c | 1396 ++++ runtime/native/i386/xlate.h | 61 + runtime/native/i386/xlatemain.c | 187 + runtime/native/i386/xlatetable.c | 383 + runtime/native/null/Makefile | 5 + runtime/native/null/host-native.h | 0 runtime/profile.c | 73 + runtime/rangetree.c | 637 ++ runtime/recompile.c | 195 + runtime/reg | 64 + runtime/sched.pl | 319 + runtime/syn68k_header.c | 1059 +++ runtime/translate.c | 1279 ++++ runtime/trap.c | 213 + runtime/x86_recog.pl | 357 + syngen/CAVEATS | 16 + syngen/INSTALL | 1 + syngen/Makefile.am | 12 + syngen/SYNOP_LAYOUT | 16 + syngen/TODO | 55 + syngen/bitstring.c | 215 + syngen/boolean.c | 412 ++ syngen/byteorder.c | 869 +++ syngen/defopcode.c | 1884 +++++ syngen/error.c | 116 + syngen/generatecode.c | 1316 ++++ syngen/hash.c | 160 + syngen/include/bitstring.h | 23 + syngen/include/boolean.h | 20 + syngen/include/byteorder.h | 16 + syngen/include/common.h | 20 + syngen/include/defopcode.h | 40 + syngen/include/error.h | 19 + syngen/include/generatecode.h | 13 + syngen/include/hash.h | 38 + syngen/include/list.h | 43 + syngen/include/macro.h | 16 + syngen/include/parse.h | 11 + syngen/include/reduce.h | 10 + syngen/include/token.h | 136 + syngen/include/tokenlist.h | 597 ++ syngen/include/uniquestring.h | 7 + syngen/list.c | 263 + syngen/macro.c | 354 + syngen/main.c | 147 + syngen/parse.c | 640 ++ syngen/reduce.c | 622 ++ syngen/test.scm | 22 + syngen/token.c | 693 ++ syngen/uniquestring.c | 37 + test/.gdbinit | 2 + test/68k.noncc.1000 | 480 ++ test/68k.out.1000 | 480 ++ test/Makefile.am | 27 + test/TODO | 8 + test/alpha-redhat-linux.1.cc.new | 36 + test/alpha-redhat-linux.1.nocc | 0 test/alpha-redhat-linux.1.noncc | 480 ++ test/alpha-redhat-linux.10.noncc | 480 ++ test/alpha-redhat-linux.1000.noncc | 480 ++ test/alpha.64 | 480 ++ test/alpha.cc.noncc | 480 ++ test/alpha.new.noncc | 480 ++ test/callemulator.s | 21 + test/ccr8.1 | 480 ++ test/crc.c | 134 + test/diff | 39 + test/diff2 | 37 + test/diff3 | 37 + test/diff4 | 37 + test/driver.c | 482 ++ test/dump-68k-100-cc | 480 ++ test/dump-68k-100-noncc | 480 ++ test/dump-i486-linux-100-cc | 480 ++ test/dump-i486-linux-100-noncc | 480 ++ test/dump-nonnative-100-cc | 480 ++ test/dump-nonnative-100-noncc | 480 ++ test/freq | 9 + test/glibc.1 | 480 ++ test/glibc.10 | 2 + test/glibc.100 | 480 ++ test/glibc.1000 | 31 + test/glibc.10000 | 2 + test/glibc.16 | 480 ++ test/glibc.200 | 480 ++ test/glibc.250 | 480 ++ test/glibc.32 | 480 ++ test/glibc.4 | 480 ++ test/glibc.64 | 480 ++ test/glibc.64.alpha_modded_source_native | 480 ++ test/glibc.64.alpha_modded_source_notnative | 480 ++ test/glibc.64.alpha_plus_one_native | 480 ++ test/glibc.64.alpha_plus_one_notnative | 480 ++ test/glibc.64.fresh_built_native | 480 ++ test/glibc.64.fresh_built_notnative | 480 ++ test/glibc.64.intermeidate_source_native | 480 ++ test/glibc.64.intermeidate_source_notnative | 480 ++ test/glibc.64.latest_native | 480 ++ test/glibc.64.latest_notnative | 236 + test/glibc.64.new | 480 ++ test/glibc.64.new_test_notnative | 480 ++ test/glibc.64.newer_define_native | 480 ++ test/glibc.64.newer_define_notnative | 480 ++ test/glibc.64.noncc | 480 ++ test/glibc.64.old_source_native | 480 ++ test/glibc.64.old_source_notnative | 480 ++ test/glibc.64.test_native | 480 ++ test/glibc.64.test_notnative | 480 ++ test/glibc.8 | 480 ++ test/glibc.cc.noncc | 480 ++ test/i486-linux-elf-debug.1.noncc | 480 ++ test/i486-linux-elf-debug.10.noncc | 480 ++ test/i486-linux-elf-debug.1000.noncc | 480 ++ test/include/callemulator.h | 6 + test/include/crc.h | 7 + test/include/driver.h | 21 + test/include/run68k.h | 8 + test/include/setup.h | 17 + test/include/testbattery.h | 30 + test/include/testqsort.h | 6 + test/include/testrt.h | 6 + test/include/testtrap.h | 6 + test/main.c | 86 + test/maketestbattery.pl | 20 + test/new | 39 + test/new.1000 | 480 ++ test/new.noncc.1000 | 480 ++ test/newest.10000 | 6 + test/newest.noncc.10000 | 6 + test/old | 41 + test/powerpc.64.new | 480 ++ test/powerpc.cc.noncc | 480 ++ test/run68k.s | 18 + test/setup.c | 94 + test/slow.1 | 480 ++ test/sorted | 37 + test/syn68k.moved | 480 ++ test/testall.sh | 34 + test/testqsort.c | 68 + test/testrt.c | 95 + test/tests.c | 4105 +++++++++++ test/testtrap.c | 75 + 248 files changed, 69602 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 Makefile.am create mode 100644 Makefile.common.in create mode 100644 NEWS create mode 100644 README create mode 100644 TODO create mode 100644 TODO.variables create mode 100755 autogen.sh create mode 100644 config/Makefile.common.alpha create mode 100644 config/Makefile.common.alpha.orig create mode 100644 config/Makefile.common.i386-msdos-go32 create mode 100644 config/Makefile.common.i386-next-mach-o.dynamic create mode 100644 config/Makefile.common.i386-next-mach-o.static create mode 100644 config/Makefile.common.i386-pc-mingw32 create mode 100644 config/Makefile.common.i486-cygwin32 create mode 100644 config/Makefile.common.i486-cygwin32.debug create mode 100644 config/Makefile.common.i486-linux-a.out create mode 100644 config/Makefile.common.i486-linux-a.out-debug create mode 100644 config/Makefile.common.i486-linux-elf create mode 100644 config/Makefile.common.i486-linux-elf-nonnative create mode 100644 config/Makefile.common.i486-linux-elf.debug create mode 100644 config/Makefile.common.i486-linux-glibc create mode 100644 config/Makefile.common.i486-linux-glibc-ccr8 create mode 100644 config/Makefile.common.i486-linux-glibc-debug create mode 100644 config/Makefile.common.i486-linux-glibc-nonnative create mode 100644 config/Makefile.common.i486-linux-glibc-slowccr create mode 100644 config/Makefile.common.i486-linux-slam create mode 100644 config/Makefile.common.i486-new-cygwin32 create mode 100644 config/Makefile.common.i486-new-cygwin32.debug create mode 100644 config/Makefile.common.i486-next-ns3 create mode 100644 config/Makefile.common.i586-cygwin32 create mode 100644 config/Makefile.common.i586-cygwin32.debug create mode 100644 config/Makefile.common.i860 create mode 100644 config/Makefile.common.m68k-next-ns3 create mode 100644 config/Makefile.common.powerpc-linux-glibc create mode 100644 config/Makefile.common.powerpc-linux-glibc-debug create mode 100644 configure.ac create mode 100644 include/safe_alloca.h create mode 100644 include/syn68k_private.h.in create mode 100644 include/syn68k_public.h create mode 100644 profile/Makefile.am create mode 100644 profile/amode.c create mode 100644 profile/frequency.c create mode 100644 profile/include/amode.h create mode 100644 profile/include/bucket.h create mode 100644 profile/include/frequency.h create mode 100644 profile/include/readprofile.h create mode 100644 profile/main.c create mode 100644 profile/makebucket.c create mode 100644 profile/readprofile.c create mode 100644 runtime/68k.defines.scm create mode 100644 runtime/68k.scm create mode 100644 runtime/Makefile.am create mode 100644 runtime/TODO create mode 100644 runtime/alloc.c create mode 100644 runtime/backpatch.c create mode 100644 runtime/block.c create mode 100644 runtime/blockinfo.c create mode 100644 runtime/callback.c create mode 100644 runtime/checksum.c create mode 100644 runtime/deathqueue.c create mode 100644 runtime/destroyblock.c create mode 100644 runtime/diagnostics.c create mode 100644 runtime/dosinterrupts.c create mode 100755 runtime/fold.pl create mode 100644 runtime/hash.c create mode 100755 runtime/i486-cleanup.pl create mode 100755 runtime/i486-optimize.pl create mode 100644 runtime/include/alloc.h create mode 100644 runtime/include/backpatch.h create mode 100644 runtime/include/block.h create mode 100644 runtime/include/blockinfo.h create mode 100644 runtime/include/callback.h create mode 100644 runtime/include/ccfuncs.h create mode 100644 runtime/include/checksum.h create mode 100644 runtime/include/deathqueue.h create mode 100644 runtime/include/destroyblock.h create mode 100644 runtime/include/diagnostics.h create mode 100644 runtime/include/hash.h create mode 100644 runtime/include/interrupt.h create mode 100644 runtime/include/mapping.h create mode 100644 runtime/include/native.h create mode 100644 runtime/include/profile.h create mode 100644 runtime/include/rangetree.h create mode 100644 runtime/include/recompile.h create mode 100644 runtime/include/translate.h create mode 100644 runtime/include/trap.h create mode 100644 runtime/init.c create mode 100644 runtime/interrupt.c create mode 100644 runtime/native.c create mode 100644 runtime/native/i386/Makefile.am create mode 100644 runtime/native/i386/analyze.c create mode 100644 runtime/native/i386/host-native.c create mode 100644 runtime/native/i386/host-native.h create mode 100644 runtime/native/i386/i386-aux.c create mode 100644 runtime/native/i386/i386-aux.h create mode 100644 runtime/native/i386/i386-isa.h create mode 100644 runtime/native/i386/main.c create mode 100644 runtime/native/i386/process.c create mode 100644 runtime/native/i386/process.h create mode 100644 runtime/native/i386/template.c create mode 100644 runtime/native/i386/template.h create mode 100644 runtime/native/i386/xlate-aux.c create mode 100644 runtime/native/i386/xlate-aux.h create mode 100644 runtime/native/i386/xlate.c create mode 100644 runtime/native/i386/xlate.h create mode 100644 runtime/native/i386/xlatemain.c create mode 100644 runtime/native/i386/xlatetable.c create mode 100644 runtime/native/null/Makefile create mode 100644 runtime/native/null/host-native.h create mode 100644 runtime/profile.c create mode 100644 runtime/rangetree.c create mode 100644 runtime/recompile.c create mode 100644 runtime/reg create mode 100755 runtime/sched.pl create mode 100644 runtime/syn68k_header.c create mode 100644 runtime/translate.c create mode 100644 runtime/trap.c create mode 100755 runtime/x86_recog.pl create mode 100644 syngen/CAVEATS create mode 100644 syngen/INSTALL create mode 100644 syngen/Makefile.am create mode 100644 syngen/SYNOP_LAYOUT create mode 100644 syngen/TODO create mode 100644 syngen/bitstring.c create mode 100644 syngen/boolean.c create mode 100644 syngen/byteorder.c create mode 100644 syngen/defopcode.c create mode 100644 syngen/error.c create mode 100644 syngen/generatecode.c create mode 100644 syngen/hash.c create mode 100644 syngen/include/bitstring.h create mode 100644 syngen/include/boolean.h create mode 100644 syngen/include/byteorder.h create mode 100644 syngen/include/common.h create mode 100644 syngen/include/defopcode.h create mode 100644 syngen/include/error.h create mode 100644 syngen/include/generatecode.h create mode 100644 syngen/include/hash.h create mode 100644 syngen/include/list.h create mode 100644 syngen/include/macro.h create mode 100644 syngen/include/parse.h create mode 100644 syngen/include/reduce.h create mode 100644 syngen/include/token.h create mode 100644 syngen/include/tokenlist.h create mode 100644 syngen/include/uniquestring.h create mode 100644 syngen/list.c create mode 100644 syngen/macro.c create mode 100644 syngen/main.c create mode 100644 syngen/parse.c create mode 100644 syngen/reduce.c create mode 100644 syngen/test.scm create mode 100644 syngen/token.c create mode 100644 syngen/uniquestring.c create mode 100644 test/.gdbinit create mode 100644 test/68k.noncc.1000 create mode 100644 test/68k.out.1000 create mode 100644 test/Makefile.am create mode 100644 test/TODO create mode 100644 test/alpha-redhat-linux.1.cc.new create mode 100644 test/alpha-redhat-linux.1.nocc create mode 100644 test/alpha-redhat-linux.1.noncc create mode 100644 test/alpha-redhat-linux.10.noncc create mode 100644 test/alpha-redhat-linux.1000.noncc create mode 100644 test/alpha.64 create mode 100644 test/alpha.cc.noncc create mode 100644 test/alpha.new.noncc create mode 100644 test/callemulator.s create mode 100644 test/ccr8.1 create mode 100644 test/crc.c create mode 100644 test/diff create mode 100644 test/diff2 create mode 100644 test/diff3 create mode 100644 test/diff4 create mode 100644 test/driver.c create mode 100644 test/dump-68k-100-cc create mode 100644 test/dump-68k-100-noncc create mode 100644 test/dump-i486-linux-100-cc create mode 100644 test/dump-i486-linux-100-noncc create mode 100644 test/dump-nonnative-100-cc create mode 100644 test/dump-nonnative-100-noncc create mode 100644 test/freq create mode 100644 test/glibc.1 create mode 100644 test/glibc.10 create mode 100644 test/glibc.100 create mode 100644 test/glibc.1000 create mode 100644 test/glibc.10000 create mode 100644 test/glibc.16 create mode 100644 test/glibc.200 create mode 100644 test/glibc.250 create mode 100644 test/glibc.32 create mode 100644 test/glibc.4 create mode 100644 test/glibc.64 create mode 100644 test/glibc.64.alpha_modded_source_native create mode 100644 test/glibc.64.alpha_modded_source_notnative create mode 100644 test/glibc.64.alpha_plus_one_native create mode 100644 test/glibc.64.alpha_plus_one_notnative create mode 100644 test/glibc.64.fresh_built_native create mode 100644 test/glibc.64.fresh_built_notnative create mode 100644 test/glibc.64.intermeidate_source_native create mode 100644 test/glibc.64.intermeidate_source_notnative create mode 100644 test/glibc.64.latest_native create mode 100644 test/glibc.64.latest_notnative create mode 100644 test/glibc.64.new create mode 100644 test/glibc.64.new_test_notnative create mode 100644 test/glibc.64.newer_define_native create mode 100644 test/glibc.64.newer_define_notnative create mode 100644 test/glibc.64.noncc create mode 100644 test/glibc.64.old_source_native create mode 100644 test/glibc.64.old_source_notnative create mode 100644 test/glibc.64.test_native create mode 100644 test/glibc.64.test_notnative create mode 100644 test/glibc.8 create mode 100644 test/glibc.cc.noncc create mode 100644 test/i486-linux-elf-debug.1.noncc create mode 100644 test/i486-linux-elf-debug.10.noncc create mode 100644 test/i486-linux-elf-debug.1000.noncc create mode 100644 test/include/callemulator.h create mode 100644 test/include/crc.h create mode 100644 test/include/driver.h create mode 100644 test/include/run68k.h create mode 100644 test/include/setup.h create mode 100644 test/include/testbattery.h create mode 100644 test/include/testqsort.h create mode 100644 test/include/testrt.h create mode 100644 test/include/testtrap.h create mode 100644 test/main.c create mode 100755 test/maketestbattery.pl create mode 100644 test/new create mode 100644 test/new.1000 create mode 100644 test/new.noncc.1000 create mode 100644 test/newest.10000 create mode 100644 test/newest.noncc.10000 create mode 100644 test/old create mode 100644 test/powerpc.64.new create mode 100644 test/powerpc.cc.noncc create mode 100644 test/run68k.s create mode 100644 test/setup.c create mode 100644 test/slow.1 create mode 100644 test/sorted create mode 100644 test/syn68k.moved create mode 100755 test/testall.sh create mode 100644 test/testqsort.c create mode 100644 test/testrt.c create mode 100644 test/tests.c create mode 100644 test/testtrap.c 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